diff --git a/.gitattributes b/.gitattributes index 6825630198..f8edc7ef43 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,3 +18,4 @@ research/coordinated-frames-and-entrance-banks/** -text -whitespace # Frozen PR210 package and round-nine evidence retain their audited bytes. research/five-stage-source527-banks/** -text -whitespace research/community-round9-audit/** -text -whitespace +research/p10b-cross49-pr327/** -text diff --git a/.github/workflows/p10b-cross49-pr327.yml b/.github/workflows/p10b-cross49-pr327.yml new file mode 100644 index 0000000000..32e3217f34 --- /dev/null +++ b/.github/workflows/p10b-cross49-pr327.yml @@ -0,0 +1,35 @@ +name: p10b cross49 and PR327 +on: + pull_request: + paths: + - 'research/p10b-cross49-pr327/**' + - '.github/workflows/p10b-cross49-pr327.yml' + push: + paths: + - 'research/p10b-cross49-pr327/**' + - '.github/workflows/p10b-cross49-pr327.yml' + workflow_dispatch: +permissions: + contents: read +jobs: + verify: + runs-on: ubuntu-latest + timeout-minutes: 45 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + - run: sudo apt-get update && sudo apt-get install -y libboost-dev + - run: python -m pip install -r research/p10b-cross49-pr327/requirements.txt + - name: Replay complete immutable construction + run: python -B research/p10b-cross49-pr327/verify.py --output "$RUNNER_TEMP/p10b-cross49-pr327-proof" --cxx g++ --boost-include /usr/include + - uses: actions/upload-artifact@v4 + if: always() + with: + name: p10b-cross49-pr327-verification + path: | + ${{ runner.temp }}/p10b-cross49-pr327-proof/VERIFICATION.json + ${{ runner.temp }}/p10b-cross49-pr327-proof/CERTIFICATE.json + ${{ runner.temp }}/p10b-cross49-pr327-proof/FAILURE.json + ${{ runner.temp }}/p10b-cross49-pr327-proof/logs/ diff --git a/research/p10b-cross49-independent-audit/ASSEMBLY-AUDIT.json b/research/p10b-cross49-independent-audit/ASSEMBLY-AUDIT.json new file mode 100644 index 0000000000..42c4227514 --- /dev/null +++ b/research/p10b-cross49-independent-audit/ASSEMBLY-AUDIT.json @@ -0,0 +1,9 @@ +{ + "status": "PASS_INDEPENDENT_CLOSED_FORM_BOOTSTRAP_COMPLEX_CLIPPING_AND_OUTER_GRID", + "kappa": "15530440182068588987397/20000000000000000000000000", + "complex_b": "779597612622781/1000000000000000000", + "ordinary_saving": "388562732065080618635079/500000000000000000000000000", + "bootstrap_levels": 8, + "refinement_sha256": "4627536c1c9fee5cc8f07da79f0c8ec0f28e6c21ec0e9d0a834cabcfe8b486af", + "scope": "Independently recomputed all finite recurrence levels by closed form, their cutoffs, strict complex cap, seven outer margins and final grid; full structural and moment admission remain the complete verifier responsibility." +} diff --git a/research/p10b-cross49-independent-audit/BOUND-RESULT.json b/research/p10b-cross49-independent-audit/BOUND-RESULT.json new file mode 100644 index 0000000000..9d7436086c --- /dev/null +++ b/research/p10b-cross49-independent-audit/BOUND-RESULT.json @@ -0,0 +1,269 @@ +{ + "banks_per_stage": 422739, + "canonical_native_tiling_sha256": "d81f2728ae0870a2c9f38de2dc38c013ee1480c92e47a170b0c7308d9e1f2236", + "copies": 20, + "deleted_roles": 0, + "endpoint_rank_mass_per_replica": 140913, + "erasures": 20, + "forward_wrong_rows": 0, + "independent_tiling_sha256": "2fcc222f22a45ca7d00f241246a46eae3067b6c293866a05d0f1b3302827e594", + "input_hashes": { + "249-states.json": "7b4f8766ed4ba097acfa7acd363e6ce4e72c0666ffc84534f63f878239ca20ee", + "COHORT249-FINAL.json": "c0a539ec94b18de3a4cb495476ae6412f5a9a7308c8668353a44336b27c98ee6", + "COHORT249-FRAMES.json": "3093a035867cdf08252fdf9ab404dbdc8c11036b0ca61857551dd18b7e2c9973", + "COHORT249-INITIAL.json": "32857dfa816afb56d2b1cfb354d8e78e3a082be377b9272ec70a5050e01a428e", + "COHORT249-RECORDS.bin": "ad45a7f132ea4bdd8e37a228d4d52673d17c224c9fa9a4a9c70f2e79271da82d", + "COHORT249-SELECTION.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356", + "frames.json": "908a6801c1dd11dd1b0ff8f505b5cd09878cbb85ca336b9818480bad14de9fbf", + "physical.json": "06231ee2d742183826f50f28c5e4613547c8dcd6567982527133518ab39a2686" + }, + "inverse_wrong_rows": 0, + "literal_stock": 3265695, + "moves": 50136, + "normalized_stock": 653139, + "omission_wrong_rows": 1130, + "paid_calls": 48057, + "paid_histogram": [ + [ + 1, + 23650 + ], + [ + 2, + 8726 + ], + [ + 3, + 5029 + ], + [ + 4, + 1392 + ], + [ + 5, + 999 + ], + [ + 6, + 994 + ], + [ + 7, + 656 + ], + [ + 8, + 166 + ], + [ + 9, + 319 + ], + [ + 10, + 228 + ], + [ + 11, + 80 + ], + [ + 12, + 1006 + ], + [ + 13, + 2 + ], + [ + 14, + 344 + ], + [ + 16, + 360 + ], + [ + 17, + 3496 + ], + [ + 18, + 610 + ] + ], + "paid_rank_mass": 177753, + "records": 373620, + "reflected_histogram": [ + [ + 1, + 23650 + ], + [ + 2, + 8726 + ], + [ + 3, + 5029 + ], + [ + 4, + 1392 + ], + [ + 5, + 999 + ], + [ + 6, + 994 + ], + [ + 7, + 656 + ], + [ + 8, + 166 + ], + [ + 9, + 319 + ], + [ + 10, + 228 + ], + [ + 11, + 80 + ], + [ + 12, + 1006 + ], + [ + 13, + 2 + ], + [ + 14, + 344 + ], + [ + 16, + 360 + ], + [ + 17, + 3496 + ], + [ + 18, + 610 + ] + ], + "required_histogram": [ + [ + 1, + 23650 + ], + [ + 2, + 8726 + ], + [ + 3, + 5029 + ], + [ + 4, + 1392 + ], + [ + 5, + 999 + ], + [ + 6, + 994 + ], + [ + 7, + 656 + ], + [ + 8, + 166 + ], + [ + 9, + 319 + ], + [ + 10, + 228 + ], + [ + 11, + 80 + ], + [ + 12, + 1006 + ], + [ + 13, + 2 + ], + [ + 14, + 344 + ], + [ + 16, + 360 + ], + [ + 17, + 3496 + ], + [ + 18, + 610 + ] + ], + "residual_census": { + "12": 5, + "13": 2, + "15": 3, + "16": 8, + "18": 27, + "19": 1292, + "20": 5553, + "3": 240, + "4": 960 + }, + "scalar_ADDs": 323444, + "scope": "Independent actual binary and endpoint ledger audit; finite prime chart and exact price checked in native pipeline.", + "signed_coefficients": [ + [ + -3, + 960 + ], + [ + -1, + 289554 + ], + [ + 1, + 32930 + ] + ], + "source_bytes_unchanged": true, + "status": "PASS_INDEPENDENT_LITERAL_COMBINED_WORD_ENDPOINTS_REFLECTIONS_T_ADAPTED_CENSUS", + "unique_nonsame_frame_pairs": 43277, + "word_sha256": "ad45a7f132ea4bdd8e37a228d4d52673d17c224c9fa9a4a9c70f2e79271da82d" +} diff --git a/research/p10b-cross49-independent-audit/MINOR-AUDIT.json b/research/p10b-cross49-independent-audit/MINOR-AUDIT.json new file mode 100644 index 0000000000..f7ebf813f8 --- /dev/null +++ b/research/p10b-cross49-independent-audit/MINOR-AUDIT.json @@ -0,0 +1,13 @@ +{ + "status": "PASS_INDEPENDENT_MODULAR_DETERMINANTS_WITH_EXACT_HADAMARD_LIFT", + "frames": 13917, + "witnesses": 27834, + "distinct_minor_matrices": 10887, + "prime": 170141183460469231731687303715884105727, + "max_abs_determinant": 1062882, + "max_squared_hadamard_bound": "4000000000000", + "input_sha256": "908a6801c1dd11dd1b0ff8f505b5cd09878cbb85ca336b9818480bad14de9fbf", + "witness_sha256": "49f76ca07fadbd4e78a66ff9ec470de0e440509b95b1e16fa126af061e07f867", + "seconds": 1.3438892080448568, + "proof": "Hadamard gives abs(actual determinant)0 and cut*delta**2>=36 and cut*delta>=2*(4+(C-1).bit_length()) + if levelcap +assert len(r['assembly']['strict_constraints'])==47 and all(F(v)>0 for v in r['assembly']['strict_constraints'].values()) +result=dict(status='PASS_INDEPENDENT_CLOSED_FORM_BOOTSTRAP_COMPLEX_CLIPPING_AND_OUTER_GRID',kappa=str(cap),complex_b=str(b),ordinary_saving=str(s),bootstrap_levels=levels,refinement_sha256=hashlib.sha256(raw).hexdigest(),scope='Independently recomputed all finite recurrence levels by closed form, their cutoffs, strict complex cap, seven outer margins and final grid; full structural and moment admission remain the complete verifier responsibility.') +assert not args.output.exists();args.output.write_text(json.dumps(result,indent=2)+'\n');print(result['status'],str(cap)) diff --git a/research/p10b-cross49-independent-audit/audit.cpp b/research/p10b-cross49-independent-audit/audit.cpp new file mode 100644 index 0000000000..098e2d9230 --- /dev/null +++ b/research/p10b-cross49-independent-audit/audit.cpp @@ -0,0 +1,23 @@ +// Independent literal audit adapted with OpenAI Codex assistance; Apache-2.0. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std;using J=nlohmann::json;using Row=vector;struct F{int d;vectorB,A;};struct E{int op,x,y,c,f,z;}; +void ck(bool b,string s){if(!b)throw runtime_error(s);}J rd(string p){ifstream in(p);J j;in>>j;return j;} +int main(int argc,char**argv){ck(argc==5,"arguments");string p=argv[1],out=argv[2],pkg=argv[3];J st=rd(p+"/249-states.json"),frames=rd(p+"/frames.json")["frames"],ini=rd(p+"/COHORT249-INITIAL.json"),fin=rd(p+"/COHORT249-FINAL.json"),tiling=rd(pkg+"/stages/bank-tiling.json");int n=st["n"],v=st["v"],h=rd(p+"/frames.json")["h"];int T=tiling.at("physical_replicas"),m=5*h;mapfs;for(auto it=frames.begin();it!=frames.end();++it){F f;f.d=it.value()["dim"];f.A=it.value()["A"].get>();f.B=it.value()["B"].get>();ck(f.A.size()+f.B.size()==h&&f.B.size()==f.d,"frame dimensions");for(auto rows:{f.A,f.B})for(auto row:rows){ck(row.size()==h,"row width");for(int x:row)ck(abs(x)<=7,"coefficient guard");}fs.emplace(stoi(it.key()),f);}ifstream raw(p+"/COHORT249-RECORDS.bin",ios::binary);raw.seekg(0,ios::end);auto bytes=raw.tellg();raw.seekg(0);ck(bytes%24==0,"record width");vectores(bytes/24);raw.read((char*)es.data(),bytes);ck(raw.good(),"read"); +mapinitial,final,state;for(auto it=ini.begin();it!=ini.end();++it)initial[stoi(it.key())]=it.value();for(auto it=fin.begin();it!=fin.end();++it)final[stoi(it.key())]=it.value();ck(initial.size()==n&&final.size()==n,"role census");state=initial; +set>pairs;auto subset=[&](int a,int b){if(a==b)return;pairpr{a,b};if(!pairs.insert(pr).second)return;F&A=fs.at(a),&B=fs.at(b);ck(A.d<=B.d,"nonnested dimension");for(auto x:A.B)for(auto y:B.A){int dot=0;for(int k=0;kpaid,required,reflected;vector>needs(n);mapcoeff;long long adds=0,moves=0,copies=0,erasures=0;int temp=-1;for(auto e:es){if(e.op==0){ck(state.at(e.x)==e.y,"MOVE predecessor");subset(e.y,e.c);ck(fs.at(e.c).d-fs.at(e.y).d==e.f,"MOVE gap");ck(fs.at(e.y).A.size()-fs.at(e.c).A.size()==e.f,"reflected MOVE gap");state[e.x]=e.c;if(e.f)paid[e.f]++;moves++;}else if(e.op==1){ck(e.x!=e.y&&(e.c%2)!=0,"scalar contract");ck(e.x=0)ck(e.x!=temp,"borrowed source mutated");ck(state.at(e.x)==e.f&&state.at(e.y)==e.f,"common frame");needs[e.x].push_back(e.f);if(e.y=0&&e.f==int(st["ZERO"]),"temp read");coeff[e.c]++;adds++;}else if(e.op==2){ck(temp==-1&&e.y==n&&state.at(e.x)==e.c&&e.f==int(st["ZERO"])&&e.z==h-2,"COPY contract");state[e.y]=e.f;needs[e.x].push_back(e.c);temp=e.x;copies++;paid[e.z]++;required[e.z]++;reflected[e.z]++;}else if(e.op==3){ck(temp==e.x&&e.y==n&&state.at(e.x)==e.c&&state.at(n)==e.f,"ERASE contract");state.erase(n);temp=-1;erasures++;}else throw runtime_error("opcode");}ck(temp==-1&&state==final,"actual endpoints"); +for(int r=0;rpath{initial.at(r)};path.insert(path.end(),needs[r].begin(),needs[r].end());path.push_back(final.at(r));for(int k=1;k0;k--){int a=path[k],b=path[k-1];subset(b,a);int d=int(fs.at(b).A.size())-int(fs.at(a).A.size());ck(d>=0,"reflected required gap");if(d)reflected[d]++;}}ck(required==paid&&reflected==paid,"independent required ledger census"); +int nw=(n+1+63)/64;auto replay=[&](bool rev,bool omit){vector>rows(n+1,vector(nw));for(int r=0;r<=n;r++)rows[r][r/64]|=1ull<<(r%64);int borrowed=-1;int restoreCat=atoi(argv[4]);for(int k=0;k=v&&r<2*v)rows[r][(r-v)/64]^=1ull<<((r-v)%64);bool wrong=any_of(rows[r].begin(),rows[r].end(),[](uint64_t x){return x;});bad+=wrong;}ck(borrowed==-1,"temp replay complete");if(omit)ck(bad>0,"restoration omission must fail");else ck(bad==0,"all-column endpoint");return bad;};int fw=replay(false,false),iv=replay(true,false),om=replay(false,true); +mapcensus;int deleted=0;long long rankMass=0;for(int r=2*v;rslots;int banks=0;for(auto pat:tiling["patterns"]){int count=pat["count"],width=0;for(int w:pat["widths"]){slots[w]+=count;width+=w;}ck(width==m,"bank width");banks+=count;}for(auto[r,c]:census)if(r)ck(slots[r]==1ll*T*c,"T_ADAPTED exact supply");ck(rankMass*T==1ll*m*banks,"bank conservation");long long stock=4ll*v*T+5ll*banks;mappaidCounts=paid;long long paidcalls=0,paidmass=0;for(auto[r,c]:paid){paidcalls+=c;paidmass+=r*c;}J result={{"status","PASS_INDEPENDENT_LITERAL_COMBINED_WORD_ENDPOINTS_REFLECTIONS_T_ADAPTED_CENSUS"},{"records",es.size()},{"scalar_ADDs",adds},{"signed_coefficients",coeff},{"moves",moves},{"copies",copies},{"erasures",erasures},{"paid_calls",paidcalls},{"paid_rank_mass",paidmass},{"paid_histogram",paid},{"required_histogram",required},{"reflected_histogram",reflected},{"unique_nonsame_frame_pairs",pairs.size()},{"forward_wrong_rows",fw},{"inverse_wrong_rows",iv},{"omission_wrong_rows",om},{"residual_census",censusJ},{"deleted_roles",deleted},{"endpoint_rank_mass_per_replica",rankMass},{"banks_per_stage",banks},{"literal_stock",stock},{"normalized_stock",stock/5},{"scope","Independent actual binary and endpoint ledger audit; finite prime chart and exact price checked in native pipeline."}};ofstream(out+"/RESULT.json")<0 and sum(widths)==100 + for w,n in Counter(widths).items(): + remaining[w]-=count*n;assert remaining[w]>=0 + patterns.append(dict(count=count,widths=widths)) +# Intentionally different from the native canonical packing. +use([19,19,19,3,20,20],300) +for w,group,filler in [(19,4,[20,4]),(18,4,[20,4,4]),(16,5,[20]),(15,4,[20,20]),(13,4,[20,20,4,4]),(12,5,[20,20]),(3,20,[20,20])]: + assert remaining[w]%group==0 + if remaining[w]:use([w]*group+filler,remaining[w]//group) +for w in (20,4): + assert remaining[w]%(100//w)==0 + if remaining[w]:use([w]*(100//w),remaining[w]//(100//w)) +assert all(n==0 for n in remaining.values()) +assert 100*sum(p['count']for p in patterns)==300*sum(w*n for w,n in census.items()) +out=dict(census=dict(sorted(census.items())),physical_replicas=300,patterns=patterns,scope='Independent exact packing from current actual endpoint ranks, including an alternate mixed19/3 pattern.') +dest=args.output;dest.parent.mkdir(parents=True,exist_ok=True);dest.write_text(json.dumps(out,indent=2)+'\n') +print('PASS distinct actual-endpoint tiling',sum(p['count']for p in patterns),census) diff --git a/research/p10b-cross49-pr327/LICENSE b/research/p10b-cross49-pr327/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p10b-cross49-pr327/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/p10b-cross49-pr327/MANIFEST.json b/research/p10b-cross49-pr327/MANIFEST.json new file mode 100644 index 0000000000..b3bb13f0cc --- /dev/null +++ b/research/p10b-cross49-pr327/MANIFEST.json @@ -0,0 +1,404 @@ +{ + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "bc0fa50459336dc25b05e125163ba928bfeb6ae11c2b6c2a69282f9957e417de", + "PROOF.md": "805fdaa0c26e2c12942ed7e427f03f3f050511aa6b755860317b6c255b0ab8c0", + "README.md": "ed326a53a049aab3c31ad1bd7f0b36fafcd2af3350b636b44cf5cd223dc66d93", + "REFINEMENT-PROOF.md": "4d8ed4a6f5b3449f29990fc8f39546fa01915b0646cbde189579d7d7f909a392", + "SOURCE.json": "6e1769f8d7e4def1658546649a65aecf596cfd990c41a2d5d0da137fd3f38e90", + "code/admit_geometry.py": "c16c29e7d09aa9693ab7fb4330c8f1136146378c5391b3d3c14253a7b3afbbd6", + "code/banks.cpp": "5b85c63ebc95708b1ec61dbf407a0d7899707c0858c7ddc5393b3c49c2f9583f", + "code/changed-charts.cpp": "a19f24ef975010b2df78cc993e60acf9e27ab252d7817a4be048933f5281d3d8", + "code/columns.cpp": "34c8df52a3e1ed15d2507338c2e0c5dea66083045f62592289e96522d2432cab", + "code/export_native.py": "cc7e7833189ff16e97af0c2524705820800be7bb6b4ebbda836246e0d735b0ff", + "code/finish.py": "838d9924d5a11e3bb87e01b8a56163416a98cc4e4799fdb35551b5a05cedc7e7", + "code/frame_prime_minors.py": "15b70e8b069d128033fbac1713a75323fcaf2c7746ceec2e1c896c24e193aa76", + "code/future_supplier.py": "89304eaa137b928fb74fc2431fc2e2016c991bf10169c9cc2bba38d4d6cc7c44", + "code/invoice.cpp": "08125712b112201b81576d7763fcbb80a982f8a8f2fdb91c07328b46ffcc799f", + "code/legality.cpp": "786c5f5ddbc152fad2eb9f637a1d394640789030fe5936ea2fa607242d3fa085", + "code/materialize.py": "89a90e02c705e3d8b73031417e1ab93068a5b27cfd3ebf29b40285cfec3e8516", + "code/price.py": "c727571f10d421540931127ddda80960654aee97c6b1f567514f9370757ee9c5", + "code/source_tiling.py": "89754753a514fa3fdb2bff51e9ce030356afb6c83176d53a10653228f6040714", + "code/threshold_bootstrap.py": "32da9b1d29f4eec9dc47f077274189ee27075f1d8d91154daee744bc0e5d842d", + "code/tiling.py": "9e650b5325d55f30e0de10cdc973819c3482faeb7bc2de8b3334e48ddd95bb6b", + "code/upstream-pr321-fixed_prime.py": "b1bb60a4e8a96aa27507b4759dff7d59fc8612e74a3bdad01657d51d6fd1ffb4", + "discovery/build_reorder_selection.py": "fd3935ed50aecfba031ecbae419eb5c8d1202685b639a7fd9ab3d89795e3a41a", + "discovery/phi-hex.json": "fa654c171718310674c4557d8c72f486880b220074efe3b172227b7b795c8d89", + "engines/descent2_transform.py": "384fcaa91f6f0618bc4ff54f9668dbc6d9154308680f066a9a373b7649df9da7", + "engines/descent_transform.py": "7a2e3fbb4bf01e0702baaa285c9641fd8c99d793254bd8e3875fa41bf6c03b9f", + "engines/kernel_transform.py": "8ca8f07e2ee73569a3222a9172e19ccccda88ba9a9657fcc00b01878c8a84902", + "engines/reorder_transform.py": "dfb2759314eba6e713696bd1622e7d0be21f203f00c2c7fa88b1f443d93a8935", + "engines/restore_transform.py": "8ae804aba73fe6ec14c484503af02f1ef4dc6af073c9d39377f22b511896ab21", + "engines/sink_transform.py": "39c573a6404a4f76f1bca3a1721f3afe0a3937c4543d6eaadbc3ae881b632b22", + "engines/target_transform.py": "0955daa2a15dc58b27a6b57aad029c0e97a417400c7c2d7eba8e54a34b974d69", + "requirements.txt": "f7308e5b60ea62603b458da5fadbb55614b46fbb4d083200fa2cc9843085ceef", + "stages/descent-selection.json": "d273acc94a6f8137f4d9985c0c36a8c636fb0c419d77a4e875679a53ded8fb0f", + "stages/descent2-selection.json": "2155cde834a48845f1f4fe702ef4abfbe85398fc88a4e263b0f43f49cabd2956", + "stages/kernel-selection.json": "763ce62c4e238bb91acbfafb723cbfb3e1fefaf92a101a566cab9d2823fcf712", + "stages/reorder-selection.json": "d8bad3edd129ae40ac691df3903474fa0f6ee86ffb64515595e39a1b6b612911", + "stages/restore-selection.json": "efd4b176cb8b690cbf9c11932b7533c1379450ff04146480dbd82c1cb0f96d4c", + "stages/sink-selection.json": "b75843809b5d76fc441887d62ad02a6cc27fecb33bd11df1e1b65ae75c56a75f", + "stages/target-selection.json": "30f0066a66068322b50e953ac12a95bad3993ed6b804ac84d0d0df26ad31d9bd", + "vendor/complex-reserve/DERIVATION.json": "395e7d39b50d5aeb1cb83ce01bbccd80fee5b7fe3b540ed0741fa8ba626bbafa", + "vendor/complex-reserve/GEOMETRY.json": "dee2bc3c443a3847e433b0ad719ab6ef7c7c4798272cfe34899f91edbcd5a7c0", + "vendor/complex-reserve/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/complex-reserve/MANIFEST.json": "b80813244bb9fa5cb4a1b5008768a3cc143bdd01a331ea4e23213bd5bf0891d4", + "vendor/complex-reserve/NOTICE.md": "4c2a6d85a3ec06568022c9826be2f6abbc2f2ae94183ccdee906dd96dbfba2a5", + "vendor/complex-reserve/README.md": "17d65551304e48a5385da9f5a47723fd03a836884921f368a3018d32c4d53a5b", + "vendor/complex-reserve/SOURCE.json": "9e593b603f578d5aa8d6d9fc28fdf67cfdf652e2dc650f9ed0a7fb7135eb1bdc", + "vendor/complex-reserve/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/complex-reserve/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/complex-reserve/code/complex_labels.py": "6094a8114c599b3826a914e0f63c7d9cdae7b8b9a9cc26be9b685447698fae9c", + "vendor/complex-reserve/code/complex_scalars.py": "a1b5701f4d6ef42ee5ea8168235b6e0eab0a3f786f57bb9023738e094787e0b3", + "vendor/complex-reserve/code/complex_splice.py": "06125aecb0cd17db8c8832887c9a8640333f69b9b083dba82b9fddd989ef0384", + "vendor/complex-reserve/derive_checkers.py": "362a6049efb16d548f9b6d92aedcf61ecae289faf638bd80fa0facbff2221e97", + "vendor/complex-reserve/finite_guard.py": "130af319e40767af714106ad4a0b7afd9a159c5b5c315bc8b495dd5e90496771", + "vendor/complex-reserve/requirements.txt": "1668a3152e33680d94637b13421c15e68bd97cd8701f7f555c691f5bc5c0b9f3", + "vendor/complex-reserve/sources/Work__BridgeGeom__B2.lean": "ea4f37c283b6070577f5b4f644fdc2232ae1114f480b85cd765209dfc863de8d", + "vendor/complex-reserve/vendor/neutral/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/complex-reserve/vendor/neutral/MANIFEST.json": "dce8987eca4c22b3b7fb0bc4e2f1c21851fdfc73f8b7757f4c27f2442b677837", + "vendor/complex-reserve/vendor/neutral/NOTICE.md": "80a48119c4417c86aabe7bf5f4c6446fb538f1d76d2a32ff2c840c3663acec47", + "vendor/complex-reserve/vendor/neutral/PROOF.md": "d6f5ddee8fdb2877eeac90020c8348c1fbf8b3e73dffed8ee4d5f417a005f217", + "vendor/complex-reserve/vendor/neutral/README.md": "461ec7bc3075da9da8ad0b15be6a28c60523f4bb4ad155c477c29f2a3566544c", + "vendor/complex-reserve/vendor/neutral/SOURCE.json": "9c37a9bb608b199c29d9d9eb39425fcb97f569e37995ce67d48d04eaa2bfbe7f", + "vendor/complex-reserve/vendor/neutral/frame_retime.py": "1a59055c867cdf21711aff6cd958473472a9140f6217a199d0e761463b8b746a", + "vendor/complex-reserve/vendor/neutral/plateau_retime.py": "ceef31f7fe4b18bf9fd233096939d6d423c13acdb6279ea0aca86ee5198dfde1", + "vendor/complex-reserve/vendor/neutral/portable-code/DERIVATION.json": "485ed65227a8ee286491886cebaf64e32bc76c8f0ca3223ad583bf42de6c4e4f", + "vendor/complex-reserve/vendor/neutral/portable-code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/complex-reserve/vendor/neutral/portable-code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/complex-reserve/vendor/neutral/portable-code/complex_labels.py": "265de648d956281d8081a938886cadefad6aafa3a693e329d7517f4d5c5011b5", + "vendor/complex-reserve/vendor/neutral/portable-code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/complex-reserve/vendor/neutral/portable-code/complex_splice.py": "9dee45f4731c861c07502062fcdf993df332762978fb69c6636e57ed45a4ef44", + "vendor/complex-reserve/vendor/neutral/portable-code/portable_complex.py": "198b5c123c3572a231612b79988776d6601af5e08c6cd3813ac6f180796498e3", + "vendor/complex-reserve/vendor/neutral/stages/component-selection.json": "b977093e39dfaf1d23f2eda2b4a78061fb36c96f726a18c0dae509c148ffdcc3", + "vendor/complex-reserve/vendor/neutral/stages/neutral-down-selection.json": "85101e196604cde43a478c573077bfc208763c95ddc72391f2876624660ae3d1", + "vendor/complex-reserve/vendor/neutral/stages/neutral-up-selection.json": "eaf35b14e2af56c095468ed5d6406ee00efd698eaf6dd02be876d4784807ecb3", + "vendor/complex-reserve/vendor/neutral/stages/single-selection.json": "72e2ec3b827c8b9a3bbe00ebff444c5d1ea43f7f0b350a1e367e368fb85939ac", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/BANK-PROOF.md": "07b6f3ef808a8a98428a8b14709f16cb40bcc2c93943dd57932b80d62206963a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/MANIFEST.json": "3474a31b64a6647a558a0f07e60a3e7364b59f9bb792ba8f69fe85dfecfd68f9", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/NOTICE.md": "2c709df433e7c8e1090d032015c85cf1b0a4beb9c51d13e239282456fbffb7e7", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/PR-STATEMENT.md": "cf8f0341e4ab6e45bd58176aeb8628bfe0bc439c1a6083084125f868426ff93e", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/PROOF.md": "8670879444ff0536a80eaa66a421c6c819ab77b38941e38aa86e697ffe86db2f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/README.md": "3139213c18924fd5925fe92ef7bedb3bb6c15a4ee0dc8e2056a3082f9ff68eab", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-NOTICE.md": "ce978c8dfc8a2b36eed7a53014b1a792248b22ef4cee3edd8adab825a571c429", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-PROOF.md": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bank_check.py": "b67d1e5870239a456a732caa8e56b836d3fa472f451790700276ce706bed1da8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bank_template.py": "8c131d76ebfa7788f18020d4b7a8b5dbf84c1387c6879a0046bd158cff840016", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/NOTICE-PR200": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/README.md": "1d4fe7b5300f3c2fc2f3a1276a73f58c01afba72ae13d0c5e75644b13a0dc175", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/bit/base_word.py": "9fe3a81b7561d2b09c086f63fac4626e88a32369ef8bc5579c94878de1218a89", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/bit/word.py": "88554981690cb43c4286fd962dddf0f20c58cf0c6cd58f0b8081ac88b16531ff", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/arcs_p10.json": "ac4555382b2cf4e6adbeabbdabb15c79f1485877ec169a49dc1fa49d5a614185", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/local_design_p10.json": "5309396966a9886906cf9efc3f71aee4441e24a222cc39f1fcf3407d7fde5ec3", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/pm_p10.json": "7a734a0f4a20d38a15d2e88dfc4c0498ceec38400143125855b39b0446d1db2a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/qmod_p10.json": "40ffb168466bc016bc18a2bbdde65d38b7fd1b406d8a4026f1a6e517fe153459", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/descent.py": "873fdf8d1281e034a238e09968ee66d77dcc236616305893c1aaee2b516299ff", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/make_physical.py": "ac929030b1f465d5b4e9073635782a9f7c9ac22398cc101c66c8af771e9759cf", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/paired_cube_bit_word.py": "1a24e1d57d92579801d9bd2048dc7804801faac0566bebed790281775cd808ce", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/regenerate.py": "2929047b40a3a2dcbadd7df95c8cba0a7fc68abb705f878b6767a41f90fac02e", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/SOURCE.json": "21a412177c9309d89472aabf4c67618d7a546811f7e68a5904304ae46a98d27c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/frames_p10.json.gz": "f191ca102966c77e6865e18751d8a17922ce46015dcbb42789ad735925886ec8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/graph_p10.json": "41e50cb6ccb5a61ff48c8d9ec2a9014f2dcdff87afd3c42bba9cd02b92605a3f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/kchron_p10.json": "228b7e2343d31191cb054c29b1c253ffdb53b768a60cb34ab3db1c1df0abb518", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/profile_p10.json": "5bbfa6a9e60095d77d6569f49a2d250d812fcbb8d9f25f57c15c4c7f13e4fabb", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/word_p10.json.gz": "12c19c65991a12790b3f1ac772a219c58d439dd9ed655d3eefee9562502e004c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_labels.py": "0c288a7923ff5923f8b3a1bb425b17679633e02284a8c32898bbb2fc24ca131a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_splice.py": "b1b4847652a9968d7afb8dd529bc371b656afa240f2e393f03c187dca250c4ce", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/geometry527.py": "734cb349cc109fc7fe6b074ecb77ff80544f630dee331000f4d0ab79e77ac4f3", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/global_lowering.py": "53b7a45006893218e6eb7fed026ef2e51809f8f04ef25a07cf4e1ca563de30fa", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/code/physical527.py": "4d4bf47ee083d3864f76907428f4e813a147f7ea6ab0b8cd1536adcd2c469395", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/REPIN.md": "74140b755d66647b83115247a278a7e1009efff6e49995a16fcc1528cc43eed7", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/repin.py": "8bd21ad00c07d2f9cbde3a882721882d12e0e50851c720799b449599f205654f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/finite_check.py": "7383f1cea130244e5b35fc8c707d132091b5c81943f7e61fd4c9a778c77344ee", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE-PR304": "319165f41cf97f37b587c92351289db2d287ca7a90845338318086d5ff447e84", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/NOTICE": "c39fddd8a76cd7b14fd19e71a903eebd62e21fd7c00e76e658a190d96074020b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/exact_result.json": "250aa8f9037e9b6fd59291a9c98ff3c7242ec384c6129c95bf5223dc6c9e77a9", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json": "d5a171674141bd2a4ac2e099c9f19dee3600482f06d4f83245a427f402c6b19b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json": "cb71db4928088f0e20913dfe33df215c2a00e2bc33968d8d501f4f647cc920bc", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/tmod_final.json": "3ed4ffb275c3b7fc609d617a2c2b60d761306a1fe306492dc1d9ea9940c41073", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz": "bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/source-pins.json": "c32bb00a73aa82043ee9727d9d7eda9aedb6518e55cc638df53cf6611e54e146", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/math_check.py": "e9372d61a9d7841bbf3a61a44603627f2a7703b6304106640a83f26c8f899058", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/PR210-coordinated-crossover-NOTICE": "9fc5561c0995892dbdde777c713899486920c32d3562392f5f72377a4953bf98", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/PR230-NOTICE": "7dfbad087ee49b74fd5075d517eaa263c5dd3d4fbd4c69bfba34ee1cb55e837f", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/PR230-PROVENANCE.json": "19957e28a8ad26281bfe8bfaf8ae16191be53e729a8870a6154671b3384959d4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/README.md": "d1fcf4e4209d5966282ac8202cf461bd575119a7aaf2ca64e8746810fe5259b8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/base-bit-PR200-PR202-NOTICE": "c9850418622aea8d1382a230306c940947b5da818f4854b4b272ed60cf239f6c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/notices/source527-loader-NOTICE.md": "ee632728cc4d89565292d288f8289f483ac794b5d02cc6e42c2b2c43c43ff1d8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/parity_transform.py": "e068874694fc15135a0950b7361e537f48688d9ac9f0a05c2372f1deb813d085", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/portable_bit.py": "368ef679009f7272fffd30fe18aeb12722e00612e040aa6eb2a4dbd019486a5a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/portable_complex.py": "a09d19a4efa54c0646b06ccb5393e3f1eb928b2e002738bb2a2af2a2ba7efb3a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/prepare.py": "c1a215713f47b954c28a3f0d48490a055fb75f6af31a0e6b5248802d6951a09b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/prime_check.py": "045831f41b9f4208538ba4b17c9354c125acb33b5f538f7a30f4813c2948c57c", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/FINITE_BIT_ACCOUNTING.md": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/INTEGRATED_PROOF.md": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/PARITY-CONTRACT.md": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/README.md": "435c699dc07400366b84fe43d981cd2f6c95a4837e636fff8fe6a25897d853c4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/03-motifs.tex": "ed76761194988a01af77ead0ea6469cb5dcd29690ab985a0b5a4006b0f2b69bb", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/PROVENANCE.md": "dd9054c58aa92c44b0ef5f691ad4dc52b8ead2f20a9843d4399d6c300d616023", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/UPSTREAM-README.md": "8d1ceff898a4e0e681679f91c4def485820be9e99f04e4861f2ce601a364723e", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/raw_ledger.py": "782c2aef0b6225b0e99f73abbc98681d21125c17c024ab0b8a0e4d0382182ef0", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/requirements.txt": "25f9f1fb1988b230147a1d3092d34e09c069eb7a6c6d6df46b3973b9f2d36efc", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar/word.py": "e675d4eb9d90ff0b44279fae0b46f1a8b39f65421cc38454b70a6b75d0e10b42", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar_check.py": "520c4549de9200811dd594d15cdf73de28f287b04778965491b2c5b3f6d6ed5a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/verify.py": "b0d2a2cf1e348545dbace3c5f3e98b1c91c1f7773969decdc76ca4240c174599", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/virtual_check.py": "ec952d99c151e6e336631210e598d58478293491ca01842fd4c9d0a4b57b4e5a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/word-pins.json": "25c33dbc59c4add386777e9e88c079cbfe14ea77ec821eef8e47659ea2c1c67a", + "vendor/complex-reserve/vendor/neutral/vendor/pr315/word_pins.py": "3cc2662630af62aaabb6966f03b5d01a2f06a5f3490c6979a3e54daf550958b4", + "vendor/complex-reserve/vendor/neutral/verify.py": "303e17014e231a35338f5891b650d1d3f671a6c8050acff47b44f5c8bbfa6302", + "vendor/complex-reserve/vendor/neutral/verify_supplier.py": "2388a2a43da5b7e8fa3b4126abb647eff03469facf62e4a92f72cb92dd590eb5", + "vendor/complex-reserve/vendor/pr327/NOTICE": "193a094dbd9a881d8fe4f4e6f0bf535506b2761cdad696919b60fc6af5256855", + "vendor/complex-reserve/vendor/pr327/PROOF.md": "43fba6fac93277c70e527e7f872553518c8f53485b7d8519ca6e340588885055", + "vendor/complex-reserve/vendor/pr327/README.md": "a4eaa092c479fd0a44ffe296b15869a2b33a17be61ff87d7bd9be43f115b1fa5", + "vendor/complex-reserve/vendor/pr327/SOURCE.json": "c01b6121956aa03fde78f27c969b66107b68e8d7d70684d6fb999d00c77e090e", + "vendor/complex-reserve/vendor/pr327/aligned_word_p.py": "bca04f6027c6c6696c1593767487dffa0965cbd7c9fc83493552de4569857757", + "vendor/complex-reserve/vendor/pr327/centre46.py": "40e36dbb4b8a6a2ddb7c947433522d31efbb1ed92969eab7b9da03dacf4e8f9b", + "vendor/complex-reserve/vendor/pr327/certificate/expected.json": "c39c5ad6c40fcead0522db883bc8fde44b06caf7ec5076a0fd897854d83b3103", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-mw-flow.json.gz": "117d1cf1ad9c0ab3fac42557cf4aa4f7166700e8c005eb3f928b187544f23f49", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-parity-flow.json.gz": "cad6f6fb057d154eeb8f380c69d1361b6d788c8a27991c4d217543534b253832", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz": "274d1bd671eb74d4fa8f63bb7048d929d6b51f6275a5ff6f69e04588f03d5c7a", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-parity-flow.json.gz": "854d95b11da82335d9b3e0843b0885eb21c0170bb05f6d430d809da4868bb09e", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz": "d927d0120af36e8d3699c1c53010cdd293e19a484825905e0946b14c0c0912cf", + "vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz": "d98660ef9cfb6700271a1eccbdec4b1a49c378b03e6ffa88f7fc8f0b97f2f2e4", + "vendor/complex-reserve/vendor/pr327/discovery/README.md": "76204389ae61bac9c27672dda3a17ecab6b44df732a1171665b438b29ccc51c7", + "vendor/complex-reserve/vendor/pr327/discovery/add_centre.py": "891c89f436ebe9e785c98b5e48b85a875dcf18c08fe5f6aac754b59b36502512", + "vendor/complex-reserve/vendor/pr327/discovery/extend_floor.py": "6762dd49b801f2419416bcf2c60b6390605a382d252b30679cf53a024aaa8126", + "vendor/complex-reserve/vendor/pr327/discovery/make_layer_p.py": "ea339b774109bbfb4ca5c00ff164d7ddff4c3c97433ab064b0a8d78744c3469e", + "vendor/complex-reserve/vendor/pr327/discovery/pairs_mw_p.py": "7f619d53d1109626f8f3307b1735606572645518d07ac4f423b851939ff56382", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/README.md": "1bd628da0afbccfd9baafc2d51cd96a51a4e46c782b783a1c16bea04fd88d98c", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/bundles.py": "71c81bc858e62e03e2a5230c16c4c199a027c24402cdc937bd4ded60f4ee3286", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/joint.py": "e4857418f6e16d6fbb1815d3c4148116e35a6b9940cb57acb2b563da5621b92c", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/matching.py": "59d1cd30e67d3511cf799140eb248e785e77aaccff7c47a22a0feef8fb6f021e", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/pairs_mw.py": "aa927718ad27bebcfa2bddeb3704d4721433c2d4e6b6e218ceb9d28a07cd6c83", + "vendor/complex-reserve/vendor/pr327/discovery/pr233/physical_opt.py": "cbfd06026a44df30944781262848c88ec987ca5e80381e35ae7ad715a9db1fce", + "vendor/complex-reserve/vendor/pr327/gcert_emit.py": "10d2fc3f1f3d8cda5f0b07720f51b5a6fd40cfc1490d361939ff93e5470805d3", + "vendor/complex-reserve/vendor/pr327/gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/complex-reserve/vendor/pr327/gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/complex-reserve/vendor/pr327/layers/anneal/matching-arcs.json": "96c87aac70b6ef0671872d142ccba66448ffa8f5f42c35f32c0f655668251f02", + "vendor/complex-reserve/vendor/pr327/layers/anneal/physical-frames.json": "7b24c9d5498bcdf96a72a061a95ff7b4ff2cda0bef5d7c7307afe72685959422", + "vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-mw.json": "2af485c88a240c1c96d0c5b5a31851587eb99a8513e18becd49b3a7e74bcf3a8", + "vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-parity.json": "0bff907fa41409fb1269323001a2ef313fcfaf03937597af7a63f6c4dc6854e4", + "vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/complex-reserve/vendor/pr327/layers/centre/matching-arcs.json": "ea7300db2cdb324ddf680bee6d447e9a9994e0b77bf2cf7fbf25e7cd1f6cb16e", + "vendor/complex-reserve/vendor/pr327/layers/centre/physical-frames.json": "1f9813eee92459b341fd437f4ec3a87ae9b440384a277450f483112481381b12", + "vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-mw.json": "6c910a4ed8fe325547d9da065edbe8176969048724c0f96ee43a075b2813bd53", + "vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-parity.json": "1ad1c36760848259270ab1710bb2ce0dea877195d3a763e0c9fb5c7624a751bc", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-parity.json": "d063546163d14e380747210cd0a060519d47061df1726aeb4707efc400c2a550", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/matching-arcs.json": "22a28397c5c249438c36d087c14a16e99379891d45b2ad941af38944c971e166", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-frames.json": "8a1ae36d0d99d4dc9ee82a76422bcbd902dce360fcdd55a7a23fc17e4aa801c4", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-mw.json": "d12efcdd3091134c7506eed3e53c02dab1fa566d30bc3a0ad96559f767036dd3", + "vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-parity.json": "5451e37e128850c6ae440ffda2010bd28d7fe8c127865387b662b4efd92cd744", + "vendor/complex-reserve/vendor/pr327/module_cut.py": "4004cce8e4b392d90db02862e1d631aca586483a59532de9eca426504ff1293f", + "vendor/complex-reserve/vendor/pr327/modules/pmod46_pc1_p10.json": "7f0bfd151e7ec0b2a74bc6fd994acde477e23f1425f4da798202f510489b6a3c", + "vendor/complex-reserve/vendor/pr327/modules/pmod_p3_p10.json": "5bb49c8befbbeb2f38a50c5b2ac836261074ef578a0a5697a8267b23551e96ab", + "vendor/complex-reserve/vendor/pr327/modules/pmod_pr168_p10.json": "36053689bec46354916a6f412b891dd5b510edcb546ea6cf9bcbaddd34c1fe28", + "vendor/complex-reserve/vendor/pr327/modules/qmod_pr168_p10.json": "c62504c96cb68658c4eade0f81cfb3a3733674519ebf7ddda1acbc18176e092b", + "vendor/complex-reserve/vendor/pr327/modules/qmod_sa1_p10.json": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6", + "vendor/complex-reserve/vendor/pr327/modules/tmod_pr168_p10.json": "a81da2ba642ccf448a542825b02d678d430c9078e22f8a80813d409ae3c5cb48", + "vendor/complex-reserve/vendor/pr327/modules/tmod_t2_p10.json": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04", + "vendor/complex-reserve/vendor/pr327/normalize_scatter.py": "403ef1db92bafcb973857063bc96ec9ac326838b7595af642d5f11fef3350211", + "vendor/complex-reserve/vendor/pr327/paircheck.py": "acde7bef664c2b0aa9f0c99424053ff4cf5091e4eb7bba7e048f5a51e0933b31", + "vendor/complex-reserve/vendor/pr327/references/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/NOTICE": "5826b9f155b70d496d729cbaddeadb881abfb68da77f82dfc1746ddfc753313b", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/SOURCE.json": "9ad0549ba2403e8d84d7c0c8e71e5ca952a0604ad626f403426164bd4bc2982c", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/baseline-pr202.tar.gz": "5d08386f71c421d2b83b21020e3b74198e9d0c75884d7d81987307740d98883f", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/certificate.json": "691cb0aaeb0d6b993e1e1e5116ae7a5c57af058a8c413249016347d1b40d3b90", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/verify.py": "cd61a8c61462b4eee95c0858335a9a11bdf1ff8e8e63ebb1e488da29f061ca71", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/kernel-pairs.json": "e33b753fc4519170373207b0527b9cb53e0b552e2a27f48f72381a881c7a227f", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-frames.json": "1a6c215cdc58216f7ec96fb898a471e25d094fd86de085f6c06e86fd8997bfad", + "vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-pairs.json": "e6409fffbf5f3b1ac6434acf2e426503de3a8a18537b8fee761fc4fc931fb896", + "vendor/complex-reserve/vendor/pr327/references/sussman/pr193-blocks.json": "4049d066f71119fa72bbc37f7db753ce1e79ae5a69aef9cd2651d618bea5c855", + "vendor/complex-reserve/vendor/pr327/scripts/moment.py": "0c7c68122cea18503e973ccf0d244adf8fa0edab95f104393528c6c57f24863a", + "vendor/complex-reserve/vendor/pr327/scripts/source527/NOTICE": "c461d8aef9a0c1ec5015a300bdbf37e566610d50139d730ba677eb0df5d7ffe0", + "vendor/complex-reserve/vendor/pr327/scripts/source527/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/complex-reserve/vendor/pr327/scripts/source527/moment.py": "9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7", + "vendor/complex-reserve/vendor/pr327/verify.py": "05d72330a82453520f755a7834caf5dd2c9eaae31a9aab7c5d3db5d1775d341d", + "vendor/complex-reserve/verify.py": "aaf8c9adbd463e091fd9ceb1f7d6511869a5b1c8ca81b57e0010eb874628fdf5", + "vendor/complex-reserve/verify_supplier.py": "a16ec0de0b75bb406edb5daae620793dc292250cb3b26f47df4352b69cea355e", + "vendor/native/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "vendor/predecessor/BANK-PROOF.md": "a5f5a7707fab610c05a182fa3f80eb05c343eacd3d7e25f3c449e7c789d503eb", + "vendor/predecessor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/predecessor/MANIFEST.json": "dfbb1190533dd8fb52eeafc2483f7992bdc3909607097947960ffa830bf373f6", + "vendor/predecessor/NOTICE.md": "1607ec1f620c1f5188b2166539e037e43a489427a506dcf4f92934cbbdcf521c", + "vendor/predecessor/PR-STATEMENT.md": "211fcfe39971fc6de63a844f4c4a5a28539949c81c39d59f9304d0896fc1f472", + "vendor/predecessor/PROOF.md": "b1187cf1e943ddcd44e8cf096935a0406444199d464ed0df04c983fe9582371e", + "vendor/predecessor/README.md": "495768c2289929a319883c976003b9c80ca6b6cd58386693adbc7d1482b8cc9e", + "vendor/predecessor/UPSTREAM-PR234-NOTICE.md": "ce978c8dfc8a2b36eed7a53014b1a792248b22ef4cee3edd8adab825a571c429", + "vendor/predecessor/UPSTREAM-PR234-PROOF.md": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "vendor/predecessor/bank_check.py": "b67d1e5870239a456a732caa8e56b836d3fa472f451790700276ce706bed1da8", + "vendor/predecessor/bank_template.py": "8c131d76ebfa7788f18020d4b7a8b5dbf84c1387c6879a0046bd158cff840016", + "vendor/predecessor/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/predecessor/bitword/NOTICE-PR200": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "vendor/predecessor/bitword/README.md": "5c5100382411b8a09ed3f485e2e2fe1ce925e51df997d475dcdf9976084da84a", + "vendor/predecessor/bitword/bit/base_word.py": "9fe3a81b7561d2b09c086f63fac4626e88a32369ef8bc5579c94878de1218a89", + "vendor/predecessor/bitword/bit/word.py": "88554981690cb43c4286fd962dddf0f20c58cf0c6cd58f0b8081ac88b16531ff", + "vendor/predecessor/bitword/producer/data/arcs_p10.json": "8d4d1339ff69150d0892f30d66fb5108802c633c69a8e1f511bbfd5a2ed78a7d", + "vendor/predecessor/bitword/producer/data/cube_orient_p10.json": "cb0c503be9e4a9696f01a7f18b92383e8be118adca29a19b43a472489ffbc0af", + "vendor/predecessor/bitword/producer/data/local_design_p10.json": "374803215ffb55e7c77c816b7c53e8e031cb6850d4d369f77b3528a9365d1b9d", + "vendor/predecessor/bitword/producer/data/pm_p10.json": "8d71f5004acb0ea902ad594a7d298f8d2099114e5d6d42c6357f09c44ab3ce87", + "vendor/predecessor/bitword/producer/data/qmod_p10.json": "40ffb168466bc016bc18a2bbdde65d38b7fd1b406d8a4026f1a6e517fe153459", + "vendor/predecessor/bitword/producer/descent.py": "873fdf8d1281e034a238e09968ee66d77dcc236616305893c1aaee2b516299ff", + "vendor/predecessor/bitword/producer/make_physical.py": "854640404e8fc5c7d7b1089e1291ee98c7c21056f6d1baae04a57ea6928e8db9", + "vendor/predecessor/bitword/producer/paired_cube_bit_word.py": "ca512704f85dcce0a58a4da64c141b9bc0a74ffa3743ed7d2b16e9e8074b22e1", + "vendor/predecessor/bitword/producer/regenerate.py": "2929047b40a3a2dcbadd7df95c8cba0a7fc68abb705f878b6767a41f90fac02e", + "vendor/predecessor/bitword/references/pr168-v4/SOURCE.json": "21a412177c9309d89472aabf4c67618d7a546811f7e68a5904304ae46a98d27c", + "vendor/predecessor/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "vendor/predecessor/bitword/selected/bit/frames_p10.json.gz": "fec07e983f81459c45747dfaa4eecabc3429e84d4685f385771904dee4c4fbc0", + "vendor/predecessor/bitword/selected/bit/graph_p10.json": "4a43116c8d154e61be795ca76b3a550c9f5bb579a5fe3fb88a09279512aab174", + "vendor/predecessor/bitword/selected/bit/kchron_p10.json": "1ce62b85b496cbec17fe9eb9e81152126cb90708577cc2e3bcece9b2796ef31c", + "vendor/predecessor/bitword/selected/bit/profile_p10.json": "177ff70a322f152ccc6c12471aced7a207062e445f9f64c7d3bd96e6f18c6f63", + "vendor/predecessor/bitword/selected/bit/word_p10.json.gz": "601da0e6a67715011a4bbc44f6977f13625c5833d4d40443c10b0d5a9da1896d", + "vendor/predecessor/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/predecessor/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/predecessor/code/complex_labels.py": "0c288a7923ff5923f8b3a1bb425b17679633e02284a8c32898bbb2fc24ca131a", + "vendor/predecessor/code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/predecessor/code/complex_splice.py": "b1b4847652a9968d7afb8dd529bc371b656afa240f2e393f03c187dca250c4ce", + "vendor/predecessor/code/geometry527.py": "734cb349cc109fc7fe6b074ecb77ff80544f630dee331000f4d0ab79e77ac4f3", + "vendor/predecessor/code/global_lowering.py": "53b7a45006893218e6eb7fed026ef2e51809f8f04ef25a07cf4e1ca563de30fa", + "vendor/predecessor/code/physical527.py": "4d4bf47ee083d3864f76907428f4e813a147f7ea6ab0b8cd1536adcd2c469395", + "vendor/predecessor/discovery/REPIN.md": "7f1f381c640c0db2c3805973e8d17c81a9fb007eb4397d072b64928e6a177285", + "vendor/predecessor/discovery/repin.py": "8bd21ad00c07d2f9cbde3a882721882d12e0e50851c720799b449599f205654f", + "vendor/predecessor/finite_check.py": "7383f1cea130244e5b35fc8c707d132091b5c81943f7e61fd4c9a778c77344ee", + "vendor/predecessor/inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/predecessor/inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "vendor/predecessor/inputs/complex/NOTICE-PR304": "319165f41cf97f37b587c92351289db2d287ca7a90845338318086d5ff447e84", + "vendor/predecessor/inputs/complex/centre-mw/NOTICE": "c39fddd8a76cd7b14fd19e71a903eebd62e21fd7c00e76e658a190d96074020b", + "vendor/predecessor/inputs/complex/centre-mw/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/predecessor/inputs/complex/centre-mw/exact_result.json": "250aa8f9037e9b6fd59291a9c98ff3c7242ec384c6129c95bf5223dc6c9e77a9", + "vendor/predecessor/inputs/complex/centre-mw/pmod46_ptc1_final.json": "d5a171674141bd2a4ac2e099c9f19dee3600482f06d4f83245a427f402c6b19b", + "vendor/predecessor/inputs/complex/centre-mw/qmod_q1_snap1.json": "cb71db4928088f0e20913dfe33df215c2a00e2bc33968d8d501f4f647cc920bc", + "vendor/predecessor/inputs/complex/centre-mw/tmod_final.json": "3ed4ffb275c3b7fc609d617a2c2b60d761306a1fe306492dc1d9ea9940c41073", + "vendor/predecessor/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz": "bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34", + "vendor/predecessor/inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "vendor/predecessor/inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "vendor/predecessor/inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "vendor/predecessor/inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "vendor/predecessor/inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/predecessor/inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "vendor/predecessor/inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "vendor/predecessor/inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "vendor/predecessor/inputs/complex/source-pins.json": "c32bb00a73aa82043ee9727d9d7eda9aedb6518e55cc638df53cf6611e54e146", + "vendor/predecessor/inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "vendor/predecessor/inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "vendor/predecessor/inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "vendor/predecessor/inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "vendor/predecessor/inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "vendor/predecessor/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "vendor/predecessor/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "vendor/predecessor/inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "vendor/predecessor/inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "vendor/predecessor/inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "vendor/predecessor/inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/predecessor/inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "vendor/predecessor/inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "vendor/predecessor/inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/predecessor/math_check.py": "e9372d61a9d7841bbf3a61a44603627f2a7703b6304106640a83f26c8f899058", + "vendor/predecessor/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/predecessor/notices/PR210-coordinated-crossover-NOTICE": "9fc5561c0995892dbdde777c713899486920c32d3562392f5f72377a4953bf98", + "vendor/predecessor/notices/PR230-NOTICE": "7dfbad087ee49b74fd5075d517eaa263c5dd3d4fbd4c69bfba34ee1cb55e837f", + "vendor/predecessor/notices/PR230-PROVENANCE.json": "19957e28a8ad26281bfe8bfaf8ae16191be53e729a8870a6154671b3384959d4", + "vendor/predecessor/notices/README.md": "d1fcf4e4209d5966282ac8202cf461bd575119a7aaf2ca64e8746810fe5259b8", + "vendor/predecessor/notices/base-bit-PR200-PR202-NOTICE": "c9850418622aea8d1382a230306c940947b5da818f4854b4b272ed60cf239f6c", + "vendor/predecessor/notices/source527-loader-NOTICE.md": "ee632728cc4d89565292d288f8289f483ac794b5d02cc6e42c2b2c43c43ff1d8", + "vendor/predecessor/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/predecessor/parity_transform.py": "e068874694fc15135a0950b7361e537f48688d9ac9f0a05c2372f1deb813d085", + "vendor/predecessor/portable_bit.py": "368ef679009f7272fffd30fe18aeb12722e00612e040aa6eb2a4dbd019486a5a", + "vendor/predecessor/portable_complex.py": "a09d19a4efa54c0646b06ccb5393e3f1eb928b2e002738bb2a2af2a2ba7efb3a", + "vendor/predecessor/prepare.py": "c1a215713f47b954c28a3f0d48490a055fb75f6af31a0e6b5248802d6951a09b", + "vendor/predecessor/prime_check.py": "045831f41b9f4208538ba4b17c9354c125acb33b5f538f7a30f4813c2948c57c", + "vendor/predecessor/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/predecessor/proof/FINITE_BIT_ACCOUNTING.md": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "vendor/predecessor/proof/INTEGRATED_PROOF.md": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "vendor/predecessor/proof/PARITY-CONTRACT.md": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "vendor/predecessor/proof/README.md": "435c699dc07400366b84fe43d981cd2f6c95a4837e636fff8fe6a25897d853c4", + "vendor/predecessor/proof/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/predecessor/proof/primary/03-motifs.tex": "ed76761194988a01af77ead0ea6469cb5dcd29690ab985a0b5a4006b0f2b69bb", + "vendor/predecessor/proof/primary/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/predecessor/proof/primary/PROVENANCE.md": "dd9054c58aa92c44b0ef5f691ad4dc52b8ead2f20a9843d4399d6c300d616023", + "vendor/predecessor/proof/primary/UPSTREAM-README.md": "8d1ceff898a4e0e681679f91c4def485820be9e99f04e4861f2ce601a364723e", + "vendor/predecessor/proof/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "vendor/predecessor/proof/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "vendor/predecessor/raw_ledger.py": "782c2aef0b6225b0e99f73abbc98681d21125c17c024ab0b8a0e4d0382182ef0", + "vendor/predecessor/requirements.txt": "25f9f1fb1988b230147a1d3092d34e09c069eb7a6c6d6df46b3973b9f2d36efc", + "vendor/predecessor/scalar/word.py": "e675d4eb9d90ff0b44279fae0b46f1a8b39f65421cc38454b70a6b75d0e10b42", + "vendor/predecessor/scalar_check.py": "520c4549de9200811dd594d15cdf73de28f287b04778965491b2c5b3f6d6ed5a", + "vendor/predecessor/verify.py": "b0d2a2cf1e348545dbace3c5f3e98b1c91c1f7773969decdc76ca4240c174599", + "vendor/predecessor/virtual_check.py": "ec952d99c151e6e336631210e598d58478293491ca01842fd4c9d0a4b57b4e5a", + "vendor/predecessor/word-pins.json": "f3a21b85364d601f9c561dc8739de0d081ddea181416b182d837456dd789300c", + "vendor/predecessor/word_pins.py": "3cc2662630af62aaabb6966f03b5d01a2f06a5f3490c6979a3e54daf550958b4", + "verify.py": "57384abc7785d2daa0aa2108c6f1962ae2ba1195216eef27e4213294ac556805" + }, + "schema": "immutable-source-bound-p10b-structural-pr327-t300/1" +} diff --git a/research/p10b-cross49-pr327/NOTICE.md b/research/p10b-cross49-pr327/NOTICE.md new file mode 100644 index 0000000000..4c6e08bcff --- /dev/null +++ b/research/p10b-cross49-pr327/NOTICE.md @@ -0,0 +1,57 @@ +# Attribution and immutable provenance + +This package and its new selection, validation and integration work were prepared +with substantial OpenAI Codex assistance. Apache-2.0 applies; LICENSE is retained. + +`vendor/predecessor` is the full immutable 124-file PR325 package by DreamingOfClouds, +including the p10b reanneal, local-design, orientation and reuse construction. +Its inherited transcript machinery credits Chafik Boukhalfa (chafreaky) and +other upstream contributors; their Anthropic Claude disclosures and all +upstream notices are preserved. PR325 head is c4f1b74bd580fc5a18fec6f12ab498dca01b5533; +its MANIFEST SHA256 is dfbb1190533dd8fb52eeafc2483f7992bdc3909607097947960ffa830bf373f6. +It is regenerated directly. No changed predecessor or unpublished intermediate +package substitutes for that source. + +`engines` preserves the existing descent, target, kernel, restoration, sink and +reorder mechanisms byte for byte, including their named provenance headers. +The additional `descent2_transform.py` is an explicitly adapted copy of the +inherited descent engine: it replaces the blanket full-helper endpoint assertion +with equality to the predecessor endpoint map and nondegeneracy, as required +after early restoration. That adaptation and the49 constructed selections were +prepared with substantial OpenAI Codex assistance. The original descent engine +is retained alongside it, making the change directly reviewable. +The new PR325-specific selections are frozen separately under `stages`. +`discovery/build_reorder_selection.py` retains the inherited selection algorithm +and its provenance; its core is executed against the new producer in a fresh +output directory. The wrapper explicitly preserves Python 3.11 left-to-right +float summation for discovery ranking ties on every supported Python version. +The discovery-only phi values for ranks 0 through 20 are frozen as exact IEEE +hexadecimal floats in discovery/phi-hex.json; replacing just that one scoring +definition avoids platform libm changes in mathematically tied rankings. +All selected moves, their source incidences and the complete output word remain +subject to exact admission, independently of floating discovery scores. Upstream mechanisms descend from the public PR275/279/280/283 +family and subsequent source-preserving p10 adaptations. All upstream claims +remain conditional on their stated theorem interfaces. + +`vendor/complex-reserve` is the entire immutable portable operational transfer +of PR327's public p10 complex supplier. PR327's modules, producer pipeline and +certificates are authored by DreamingOfClouds with Anthropic Claude assistance. +The transfer was prepared with substantial OpenAI Codex assistance; its complete +NOTICE preserves DreamingOfClouds, Jacob Sussman and all other upstream credits. +Manifest SHA256 is b80813244bb9fa5cb4a1b5008768a3cc143bdd01a331ea4e23213bd5bf0891d4. +Its complete public source and operational scalar/frame/guard admission are +regenerated on every outer run; the adapter reconstructs its histogram and +rechecks both rational roots. The nested neutral package supplies byte-preserved +reference code and provenance, not its older candidate word. + +`code/upstream-pr321-fixed_prime.py` is a byte-preserved copy from PR321 head +c76247701762feb2c5bea5bcf302b010eb7d1bc3, including its original line endings. +Only its exact arithmetic and cutoff primitives are used; no word-specific +invoice or source admission is inherited from it. `code/source_tiling.py` +retains the exact PR320/PR322 full tiling algorithm with provenance in its +header; PR325's restricted tiler does not cover the new multirank census. +Native auditors and their literal-word generalization retain their original +headers. The vendored JSON header retains its license. + +Published predecessor PRs are left immutable. This package is a new combined +construction, not an update to an earlier result or a sum of unrelated gains. diff --git a/research/p10b-cross49-pr327/PROOF.md b/research/p10b-cross49-pr327/PROOF.md new file mode 100644 index 0000000000..053eacaf52 --- /dev/null +++ b/research/p10b-cross49-pr327/PROOF.md @@ -0,0 +1,88 @@ +# Conditional p10b structural and PR327 complex assembly + +The immutable bit source is PR325 at c4f1b74bd580fc5a18fec6f12ab498dca01b5533. +Its complete nine-stage verifier runs first. A second producer reconstructs +its original parity word byte for byte before applying any new stage. +The complex source is PR327 at40ed0456ab1990beb3440e61bb883ccf95fdcea4; +its complete public replay and p10 operational transfer also run afresh. +No discovery receipt substitutes for this source admission. + +## Actual word and reflected geometry + +The first480 descent retimings preserve each scalar and copied-center projection. +The120 target groups verify literal prefix dependencies and full forward/inverse +formal columns. The1337 entrance families have actual cuts, source relations, +untouched helpers, prefix responses, setup and restores checked on the executed +stream. Their total entrance rank is1447. The240 early restorations check single +remaining incidences and unchanged donors across every crossed gate. The10 +terminal sinks have disjoint target sets and surviving-role compaction. The130 +reorderings check crossed intervals and operand-source spans. + +The final49 retimings are admitted against this exact regenerated predecessor. +Their frames contain the exact integer source span of every non-target operand. +The adapted inherited descent engine derives the original endpoint map from the +actual MOVE stream, then preserves every endpoint, including240 helper endpoints +at proper nondegenerate frames. Its predecessor engine's blanket full-helper +endpoint assertion would be incorrect after restoration. No scalar instruction, +COPY interface or rank mass changes. Both reflected frame ledgers are rebuilt +from actual gate needs; the scalar and COPY projections remain byte-identical. + +The final word has 323444 odd-coefficient ADDs, 325364 unit-expanded ADDs, +20 temporary copies, 48057 paid calls and mass177753. +Every one of11930 global formal input columns, including arbitrary helper dirt, +is replayed through five stages and six bridges. The actual cancellation-free +signed prefix bound is64138669896010157270862826752, requiring96bits. Signed +shear induction gives the inverse interpretation over every coefficient ring; +the lifted decoder and prime/recovery interfaces remain inherited assumptions. +Omission controls reject missing target setup and kernel setup/restoration. + +The original parity stream supplies the old MOVE-pair census. Its endpoints +are compacted by physical register identity after sink removal. The final word +is separately replayed on10010 surviving local registers. Fresh geometry admits +5935 projector charts, 1074 new frame charts, +maximum278 factors and 1577 changed helper +endpoints. All13917 current frames and annihilators have exact nonzero +integer minors below2^80, exact orthogonality and independent zero-row rejection. +There are27834 minor witnesses; maximum absolute minor1062882. + +## Complete bank inventory and finite invoice + +The residual census is `{12: 5, 13: 2, 15: 3, 16: 8, 18: 27, 19: 1292, 20: 5553, 3: 240, 4: 960}`. AtT=300 the exact width100 tiling uses +422739 banks per stage with no padding, enumerating all +5*T*8090=12135000 role assignments. Literal stock is3265695; normalized +stock is653139. The full literal histogram is1500 times the local +histogram plus576000 at each rank4,19,38,42. It has74389500 children, +rank mass325957500, maximum rank42 and deficit612000. + +Normalizer ceiling787 covers every inherited and new chart. WithJ=31182000, +paid bank selector calls are1919846082000. Recomputing every primitive term +from actual coefficients gives126185730445433501. All rank-one fallback calls +remain charged. Internal row coefficient10001 and complex row coefficient20161 +remain unchanged. The cutoff rule retains every inherited primitive and preceding +bootstrap constant. No discount is inferred from a histogram alone. + +## PR327 operational supplier and exact coupling + +The vendored portable PR327 transfer regenerates all four public anchors and six +programs byte for byte, then checks both actual scalar/frame splice orientations, +gx/gxcore mirrors, the p10 finite row/precision guard and all22 controls. Its +candidate SHA256 is370fae730670b375dd864b8a3fdfacfb166e5d59f215b78e524ba9a8a53923ff. +The adapter verifies the manifest, source bytes, both successful supplier stages, +actual candidate and receipt hashes, rebuilds the full histogram and recomputes +both rational roots. Its m100,W10295 profile has247575 calls, rank mass1027460, +deficit2040 and maximum child42. The admitted full-fallback saving is +b=779597612622781/10^18. The physical guard has16771 inventory rows per vertex, +live row coefficient15124, physical overcharge15125, retained coefficient20161 +and induction gap115B. Forward/backward scalar bills are1198416 and1237146. + +The refined bit root is388562732065080618635079/500000000000000000000000000, below(1-10^-9)b, so it is the +actual ordinary saving. Native assembly givesκ=194130501432393/250000000000000000. The +prime-threshold refinement reruns both moment engines at the actual ordinary +saving. 8 finite bootstrap levels, eta10^-24, all47 strict +outer inequalities, seven margins and adjacent-grid rejections give +κ=15530440182068588987397/20000000000000000000000000. Supplier savings are never added. + +All all-size compiler, weighted selector, common-ancestor chart, restored-row, +routing, prime-supply, precision/recovery, complex-symbolic and analytic +interfaces remain conditional assumptions. No new Lean build, unconditional +theorem or fixed-modulus machine is claimed. diff --git a/research/p10b-cross49-pr327/README.md b/research/p10b-cross49-pr327/README.md new file mode 100644 index 0000000000..2e5a181a7a --- /dev/null +++ b/research/p10b-cross49-pr327/README.md @@ -0,0 +1,56 @@ +κ = 0.00077652200910342944936985 + +Exact value: `15530440182068588987397/20000000000000000000000000`. + +This source-bound conditional finite construction combines a new literal p10b +bit word with the operational transfer of the public [PR327](https://github.com/CrocSwap/integer-mult-bounds/pull/327) +complex supplier. The bit source is the immutable [PR325](https://github.com/CrocSwap/integer-mult-bounds/pull/325) +package at `c4f1b74bd580fc5a18fec6f12ab498dca01b5533`. The independent supplier +is pinned at `40ed0456ab1990beb3440e61bb883ccf95fdcea4`. All inherited all-size +compiler, weighted selector, common-ancestor chart, restored-row, routing, +prime-supply, precision/recovery, complex-symbolic and analytic interfaces +remain assumptions. No unconditional multiplication theorem is claimed. + +The actual word applies 480 descent retimings, 120 target groups, 1337 kernel +entrance families of total rank1447, 240 early restorations, 10 terminal sink +removals, 130 reorderings and 49 additional frame retimings. It contains +323444 ADDs, 325364 unit-expanded ADDs, 48057 local paid calls, +rank mass 177753, 10010 local registers and 8090 independent dirty helpers. +The final raw SHA256 is `ad45a7f132ea4bdd8e37a228d4d52673d17c224c9fa9a4a9c70f2e79271da82d`. + +The full T300 assembly has literal stock 3265695, 74389500 +paid children, rank mass 325957500, deficit612000, 1919846082000 paid +selector calls and counted primitive coefficient 126185730445433501. +All 12135000 helper assignments are enumerated. Residual widths are +`{12: 5, 13: 2, 15: 3, 16: 8, 18: 27, 19: 1292, 20: 5553, 3: 240, 4: 960}`. The bit moment root binds below PR327's full-fallback complex +saving `779597612622781/10^18`. 8 finite bootstrap levels attain +the displayed κ with all47 strict outer inequalities and adjacent-grid rejection. + +Run from any directory, writing only to a fresh external output directory: + +```sh +python -m pip install -r requirements.txt +python -B verify.py --output /tmp/p10b-structural-pr327-proof +``` + +Requirements: Python3.11+, the exact NumPy, SciPy and SymPy versions in +`requirements.txt`, a C++17 compiler and Boost headers. Supply a local Boost +include directory using `--boost-include` if needed. Native JSON headers are +vendored. The verifier consumes no network, Git checkout, external discovery +dump, pickle, old receipt or precompiled binary. Outputs are created outside +the package. `VERIFICATION.json` is emitted only after every stage exits +successfully and the input manifest is unchanged; a failure emits `FAILURE.json`. + +The verifier freshly replays all nine PR325 stages and the complete public +PR327 source plus its scalar/frame/precision operational transfer. It reconstructs +all seven appended bit stages, checks scalar forward/inverse columns, arbitrary +dirty restoration, copy lifetimes, both reflected frame ledgers and the complete +finite invoice. It admits 5935 changed projector charts, +1074 new frame charts and exact minors for all 13917 current frames +and their annihilators. Five native checkers are freshly compiled. Both rational +moment engines are recomputed. The prime threshold still permits growing primes. + +See `PROOF.md`, `REFINEMENT-PROOF.md`, `SOURCE.json`, `NOTICE.md` and the +byte-preserved upstream packages for provenance and theorem interfaces. The +new selection, validation and integration work was prepared with substantial +OpenAI Codex assistance. All inherited named author and AI disclosures are retained. diff --git a/research/p10b-cross49-pr327/REFINEMENT-PROOF.md b/research/p10b-cross49-pr327/REFINEMENT-PROOF.md new file mode 100644 index 0000000000..f76014daa4 --- /dev/null +++ b/research/p10b-cross49-pr327/REFINEMENT-PROOF.md @@ -0,0 +1,99 @@ +# Source-bound prime threshold and finite bootstrap + +This arithmetic refinement follows PR321 at commit +`c76247701762feb2c5bea5bcf302b010eb7d1bc3`. The copied +`upstream-pr321-fixed_prime.py` is retained byte for byte. Its rational +root-enclosure and cutoff primitives are used directly; the word-specific +PR321 invoice and source assumptions are not reused. This adaptation and +its literal-word invoice reconstruction were prepared with substantial +OpenAI Codex assistance under Apache-2.0. All inherited named credits, +licenses and theorem interfaces remain in the enclosing package. + +The arithmetic stage is an input-bound receipt, not an independent +structural admission. The enclosing full verifier freshly constructs and +admits the literal word, global columns, restored rows, geometry, all frame +minors, bank assignments, fresh immutable complex reserve and complete invoice. +Its finish stage binds those exact receipts together with the arithmetic +receipt and both rational engines. Every consumed file and engine has a +SHA256 in the arithmetic receipt. A stand-alone source-bound mode additionally +checks the complete native verifier's manifest and final certificate. + +For m=100 let Q=2^127-1. Trial division proves the exponent 127 prime and +125 Lucas–Lehmer iterations give residue zero, so Q is prime. The inherited +all-size prime-supply regime still chooses growing primes q; this refinement +only increases the eventual lower threshold to q>=Q. Every actual frame +basis and annihilator minor, weighted projector pivot and bank normalizer +has its nonzero numerator/denominator or integer minor magnitude below +2^80. These exclusions therefore vanish for every permitted prime above Q. +The 96-bit signed-prefix payload, physical stock plus centre, and complete +primitive coefficient are also below Q. The internal row coefficient stays +10001 and the inherited complex row coefficient stays 20161. + +The source theorem bounds each edge type's bad fraction by 2m^3/q. Thus +rho=2m^3/Q is a uniform upper bound throughout the growing-prime regime. +For the normalized histogram H and stock W, the conservative moment is + + M(a) = sum_r H[r]/W * (r/m)^(1-a) + + rho * 32*m^2*sum_r H[r]/W * (1/m)^(1-a). + +The entire 32m^2 rank-one fallback is retained for every paid child; no good +contribution is subtracted. Two separately implemented rational moment +engines enclose M at adjacent points c and c+10^-27, with both proving +M(c)<1 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +using namespace std;using J=nlohmann::json;using Q=boost::multiprecision::cpp_rational;using Z=boost::multiprecision::cpp_int;using M=vector>; +J ld(string p){ifstream f(p);if(!f)throw runtime_error("missing "+p);J j;f>>j;return j;} +Q rat(J j){return j.is_string()?Q(j.get()):Q(j.get());}M eye(int n){M a(n,vector(n));for(int i=0;i(a.size()));for(int i=0;i(b[0].size()));for(int i=0;i=(Z(1)<<80)||d>=(Z(1)<<80))throw runtime_error("finite prime guard exceeded");} +M inverse(M a,int &ops,Q &det){int n=a.size();M b=eye(n);det=1;ops=0;for(int k=0;kpiv;for(int col=0;colv(n);v[free]=1;for(int i=0;iw;int count;}; +int main(int ac,char**av){if(ac!=8)throw runtime_error("args: baseline_export initial_json new_frames_json output_dir label tiling_json final_json");auto tiling=ld(av[6]);string inp=av[1],out=av[4];auto st=ld(inp+"/249-states.json"),fj=ld(inp+"/frames.json")["frames"],ini=ld(av[2]),nf=ld(av[3]),fin=ld(av[7]);int n=st["n"],v=st["v"],h=20,m=100,T=300;if(tiling["physical_replicas"]!=T)throw runtime_error("replica binding");mapdims;for(auto it=fj.begin();it!=fj.end();it++)dims[stoi(it.key())]=it.value()["dim"];for(auto it=nf.begin();it!=nf.end();it++)dims[stoi(it.key())]=it.value()["dim"]; +M G=eye(h);for(auto&r:G)for(auto&q:r)q-=Q(1)/9;J charts=J::array();int maxops=0;for(auto it=nf.begin();it!=nf.end();it++){int d=it.value()["dim"];M U;for(auto row:it.value()["B"]){vectorr;for(auto x:row)r.push_back(rat(x));U.push_back(r);}if(U.size()!=d)throw runtime_error("dim");auto UG=mul(U,G);auto V=nullspace(UG);M B=tr(V);for(int i=0;i548)throw runtime_error("inherited factor budget exceeded"); +map>fam;int sumdim=0,changed=0,deleted=0; +for(int i=0;i())*a[k].get();if(dot!=0)throw runtime_error("nonnested helper endpoints");} + sumdim+=(dims.at(oldend)-dims.at(old))-r;changed+=f!=old||end!=oldend; + if(r==0){deleted++;continue;}fam[r].push_back(physical); +} +mapexpected;for(auto it=tiling["census"].begin();it!=tiling["census"].end();++it)expected[stoi(it.key())]=it.value();int wantDeleted=tiling["deleted"],wantRank=tiling["entrance_rank"]; +if(fam.size()!=expected.size()||deleted!=wantDeleted||sumdim!=wantRank)throw runtime_error("actual residual census or saved rank"); +for(auto[r,k]:expected)if(fam[r].size()!=k)throw runtime_error("actual residual count"); +vectorpat;auto add=[&](vectorw,int count){if(count<0||accumulate(w.begin(),w.end(),0)!=m)throw runtime_error("pattern");if(count)pat.push_back({w,count});}; +auto rep=[](int r,int k){return vector(k,r);};auto mix=[&](int r,int k,int four){auto w=rep(r,k);w.insert(w.end(),four,4);return w;}; +for(auto pp:tiling["patterns"])add(pp["widths"].get>(),pp["count"]); +struct Slot{int bank,off,r,block;};map>slots;int banks=0,maxblock=0;J pj=J::array();for(auto pp:pat){maxblock=max(maxblock,(int)pp.w.size());pj.push_back({{"widths",pp.w},{"count",pp.count}});for(int b=0;b()-sumdim))throw runtime_error("bank stock invariant");uint64_t hash=1469598103934665603ull;auto hm=[&](uint64_t x){for(int j=0;j<8;j++){hash^=(x>>(8*j))&255;hash*=1099511628211ull;}};long long assignments=0,mass=0,columns=0,controls=0;for(int stage=0;stage<5;stage++){vector>occ(banks);for(auto[r,rows]:fam)for(int i=0;is{};s[col]=1;vector>bl;int o=0;for(int r:pp.w){bl.push_back({o,r});o+=r;}if(rev)reverse(bl.begin(),bl.end());for(auto[o,r]:bl)for(int j=o;js{};s[col]=1;int o=0;for(int b=0;b +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std;using J=nlohmann::json;using Q=boost::multiprecision::cpp_rational;using Z=boost::multiprecision::cpp_int;using M=vector>; +J ld(string p){ifstream f(p);if(!f)throw runtime_error("missing "+p);J j;f>>j;return j;} +Q rat(J j){return j.is_string()?Q(j.get()):Q(j.get());}M eye(int n){M a(n,vector(n));for(int i=0;i(a.size()));for(int i=0;i(b[0].size()));for(int i=0;i=(Z(1)<<80)||d>=(Z(1)<<80))throw runtime_error("finite prime guard exceeded");} +M inverse(M a,int &ops,Q &det){int n=a.size();M b=eye(n);det=1;ops=0;for(int k=0;kpiv;for(int col=0;colv(n);v[free]=1;for(int i=0;i piv;M copy=a;for(int c=0;cpiv;for(int col=0;colv(n);v[free]=1;for(int i=0;iprojectors;auto proj=[&](int f)->M{if(projectors.count(f))return projectors[f];int d=fs.at(to_string(f))["dim"];if(d==h)return projectors[f]=eye(h);if(!d)return projectors[f]=M(h,vector(h));M B;for(auto row:fs.at(to_string(f))["B"]){vectorr;for(auto x:row)r.push_back(rat(x));B.push_back(r);}int ops;Q det;M BG=mul(B,G), gram=mul(BG,tr(B)), inv=inverse(gram,ops,det);return projectors[f]=mul(mul(tr(B),inv),BG);};set>pairs,oldpairs;int endpoints=0; +auto events=[&](string path){ifstream f(path,ios::binary);if(!f)throw runtime_error("missing word");f.seekg(0,ios::end);size_t size=f.tellg();f.seekg(0);if(size%sizeof(Ev))throw runtime_error("word shape");vectorv(size/sizeof(Ev));f.read((char*)v.data(),size);return v;}; +for(auto e:events(base+"/COHORT249-RECORDS.bin"))if(e.op==0&&e.r)oldpairs.insert({e.b,e.c,e.r}); +for(auto e:events(candidate+"/COHORT249-RECORDS.bin"))if(e.op==0&&e.r&&!oldpairs.count({e.b,e.c,e.r}))pairs.insert({e.b,e.c,e.r}); +J oldstate=ld(base+"/249-states.json");int v=oldstate["v"],n=oldstate["n"]; +for(int a=2*v;a()||after!=oldstate["final"][role].get()){int rank=fs.at(to_string(after))["dim"].get()-fs.at(to_string(before))["dim"].get();pairs.insert({before,after,rank});endpoints++;}} + +int maxops=0,checked=0;J charts=J::array();for(auto[before,after,r]:pairs){M E=sub(proj(after),proj(before));if(mul(E,E)!=E)throw runtime_error("not projector");M C=independent_columns(E);if(C[0].size()!=r)throw runtime_error("rank mismatch");M K=kernel_general(E);if(K.size()!=h-r)throw runtime_error("nullity mismatch");for(int i=0;i548)throw runtime_error("factor budget exceeded");J receipt={{"status","PASS_EXACT_CHANGED_ENDPOINT_AND_MOVE_CHARTS"},{"retired_endpoints",endpoints},{"unique_projectors_checked",checked},{"max_factors",maxops},{"max_numerator",maxnum.str()},{"max_denominator",maxden.str()},{"all_entries_below_two_to_80",true}};ofstream(output+"/COMBINED-CHART-AUDIT.json")< +#include +using boost::multiprecision::cpp_int; +#include +#include +#include +#include +#include +#include +#include +using J=nlohmann::json; +struct E{int kind,dst,src,c;}; +void need(bool x,const char*s){if(!x)throw std::runtime_error(s);} +int main(int argc,char**argv){try{ +need(argc==6,"usage RAW6_RECORDS OUTPUT V HELPERS H");std::string pre=argv[1];int h=std::stoi(argv[5]),v=std::stoi(argv[3]),r=std::stoi(argv[4]),loc=2*v+r,global=4*v+r,temp=global;need(v>0 && r>=0,"dimensions"); +struct Raw{int op,a,b,c,f,z;};std::ifstream f(pre,std::ios::binary|std::ios::ate);size_t sz=f.tellg();need(sz%sizeof(Raw)==0,"stream alignment");std::vectorp(sz/sizeof(Raw));f.seekg(0);f.read((char*)p.data(),sz);std::vectore;std::mapH;for(auto q:p){if(q.op==0){if(q.f)H[q.f]++;}else if(q.op==1)e.push_back({0,q.a,q.b,q.c});else if(q.op==2){H[q.z]++;e.push_back({1,loc,q.a,0});}else if(q.op==3)e.push_back({2,loc,q.a,0});else need(false,"opcode");} +J prefix=J::array();cpp_int largestF=0,largestB=0;for(int rev=0;rev<2;rev++){std::vectornorms(loc+1,1);cpp_int maxrow=1;bool isopen=false;for(size_t z=0;zmaxrow)maxrow=norms[q.dst];}else if(k==1){need(!isopen,"boundcopy");norms[loc]=norms[q.src];isopen=true;}else {need(isopen,"bounderase");norms[loc]=0;isopen=false;}}need(!isopen,"prefix copy closure");if(rev)largestB=maxrow;else largestF=maxrow;prefix.push_back({{"reverse",bool(rev)},{"cancellation_free_signed_row_l1_upper",maxrow.convert_to()},{"bits",boost::multiprecision::msb(maxrow)+1}});} +cpp_int payload=64*largestF*largestF*largestF*largestB*largestB;need(payload>0,"positive finite prefix"); // Exact width is reported and must be included in the separate finite invoice. +long long copies=0,adds=0,odd=0;bool open=false;int center=-1;long long reverseCopies=0; +for(auto q:e){need(q.kind>=0&&q.kind<=2,"kind");need(q.dst>=0&&q.dst<=loc,"local dst");if(q.kind==0){need(q.src>=0&&q.src<=loc&&q.dst!=q.src,"source distinct");need(q.dst!=loc,"copy immutable");need(q.src!=loc||open,"temp not open");if(open)need(q.dst!=center,"source changes inside copied-center block");adds++;odd+=q.c&1;} +else if(q.kind==1){need(!open&&q.dst==loc&&q.src>=0&&q.srca((size_t)(global+1)*words);auto row=[&](int i){return a.data()+(size_t)i*words;};for(int i=0;i=v&&i<2*v&&w==(size_t)(i-v)/64)want^=1ull<<((i-v)%64);need(x[w]==want,"local defining-decoder full formal column");}}} +if(stage==1||stage==2||stage==4){int b=stage==1?0:stage==2?1:2;for(auto q:bridges[b])for(int i=0;i(std::chrono::steady_clock::now()-t0).count()<<"s\n";} +for(int bank=0;bank<4;bank+=2)for(int i=0;i()},{"payload_prefix_bits",boost::multiprecision::msb(payload)+1},{"local_raw_H",H},{"negative_controls",controls},{"seconds",std::chrono::duration(std::chrono::steady_clock::now()-t0).count()}};std::ofstream(argv[2])<0 for c in r['scalar']['controls']) + receipts.append('materialized/'+name+'/'+('descent' if name=='descent2' else name)+'.json') + assert stages['descent']['selected_gate_count']==480 and stages['target']['selected_groups']==120 and stages['target']['negative_control'] + assert stages['target']['literal_prefix_dependencies_checked'] and stages['target']['producer_context_unchanged'] + assert all(stages['target'][k]['all_source_and_dirty_restored'] and stages['target'][k]['arbitrary_target_contents_preserved'] and stages['target'][k]['all_formal_columns']==10020 for k in ('forward','inverse')) + assert stages['kernel']['selected_entries']==pin['stage_bindings']['kernel']['selected_entries'] and stages['kernel']['rank_drop']==1447 + assert stages['descent2']['selected_gate_count']==49 and stages['descent2']['operand_source_spans_contained'] and stages['descent2']['unchanged_all_input_output_frames'] + assert stages['restore']['selected']==stages['restore']['endpoint_rank_saving']==240 + assert stages['sink']['selected']==10 and stages['sink']['physical_R']==8090 and stages['reorder']['selected']==130 + assert stages['reorder']['integer_replay']['identical'] and stages['reorder']['all_gate_frames_contain_operand_source_spans'] + assert st['n']==oldst['n']==10010 and st['v']==oldst['v']==960 and st['h']==20 and st['regs']==oldst['regs'] and len(set(st['regs']))==8090 + H,adds,units,copies,records=census(candidate/'COHORT249-RECORDS.bin') + assert adds==E['adds'] and units==E['units'] and copies==20 and records==E['records'] and sum(H.values())==E['paid_calls'] and sum(r*n for r,n in H.items())==E['rank_mass'] + legal=read(out/'LEGALITY.json');cols=read(out/'COLUMNS.json');bank=read(out/'BANK.json');price=read(out/'PRICE.json');inv=read(out/'INVOICE.json');tiling=read(out/'TILING.json');prime=read(out/'FRAME-PRIMES.json');fs=read(candidate/'frames.json')['frames'] + assert legal['status']=='PASS_INDEPENDENT_COHORT_LEGALITY_SOURCE_OWNERS_AND_LIFECYCLE' and legal['all_final_frames_pass'] and legal['copies']==legal['erasures']==20 and legal['common_frame_ADDs']==adds and legal['rank_mass']==E['rank_mass'] and {int(r):n for r,n in legal['paid_histogram']}==H + assert cols['status']=='PASS_GENERIC_FIVE_STAGE_FORMAL_COLUMNS_AND_COMPUTED_PREFIX' and cols['formal_columns_checked']==11930 and cols['independent_dirty_registers']==8090 and cols['local_scalar_additions']==adds and cols['fresh_center_copies']==100 and cols['copied_center_original_source_immutable'] + assert len(cols['negative_controls'])==6 and all(c['rejected']for c in cols['negative_controls']) + assert H=={int(r):n for r,n in cols['local_raw_H']}=={int(r):n for r,n in price['local_histogram'].items()} + assert prime['status']=='PASS_EXACT_FRAME_AND_ANNIHILATOR_MINORS_FOR_ALL_PRIMES_ABOVE_2_POWER_80' and prime['input_sha256']==sha(candidate/'frames.json') and prime['zero_row_control_rejected'] + assert prime['frames']==len(fs)==E['frames'] and prime['basis_witnesses']==2*len(fs) and int(prime['max_abs_minor'])==1062882<2**80 and prime['max_minor_bits']==21 + assert bank['status']=='PASS_GENERIC_EXACT_CHARTS_ACTUAL_BANK_ALLOCATION' and bank['all_new_ordinary_annihilators_full_rank'] and 'saved_literal_banks'not in bank + assert bank['new_exact_charts']==E['new_charts'] and bank['changed_projector_charts']==E['changed_projectors'] and bank['max_new_chart_factors']==E['max_chart_factors'] and bank['changed_helper_endpoints']==E['changed_helper_endpoints'] and bank['actual_helper_roles']==8090 and bank['deleted_inert_roles']==0 + assert bank['physical_replicas']==tiling['physical_replicas']==inv['physical_replicas']==pin['physical_replicas']==300 + assert bank['literal_stock']==E['literal_stock'] and bank['normalized_stock']==E['normalized_stock'] and bank['banks_per_stage']==E['banks_per_stage'] and bank['actual_role_replica_stage_assignments']==12135000 and bank['new_endpoint_saved_rank']==E['endpoint_saved_rank'] + expected={int(r):n for r,n in E['residual_families'].items()};assert {int(r):n for r,n in bank['residual_families'].items()}==expected=={int(r):n for r,n in tiling['census'].items()} + used=Counter() + for pattern in bank['bank_patterns']: + assert sum(pattern['widths'])==100 + for r in pattern['widths']:used[r]+=pattern['count'] + assert used=={r:300*n for r,n in expected.items()} and len(bank['bank_patterns'])==E['bank_patterns'] and sum(p['count']for p in bank['bank_patterns'])==E['banks_per_stage'] + assert bank['endpoint_address_columns']==E['endpoint_columns'] and bank['nonzero_omission_repeat_control_columns']==E['endpoint_columns'] and bank['normalizer_factor_ceiling']==787 + oldbank=read(pred/'banks.json')['banks'];assert oldbank['normalizer_factor_bound']==349 and oldbank['max_chart_factors']==150 and max(oldbank['max_chart_factors'],bank['max_new_chart_factors'])+99+100<=787 + literal={r:1500*n for r,n in H.items()} + for r in (4,19,38,42):literal[r]=literal.get(r,0)+576000 + assert literal=={int(r):int(n)for r,n in inv['literal_histogram'].items()}=={int(r):5*n for r,n in price['cohort_candidate']['histogram'].items()} + mass=sum(r*n for r,n in literal.items());calls=sum(literal.values());stock=bank['literal_stock'];assert mass==E['literal_mass'] and calls==E['literal_calls'] and stock*100-mass==612000 + J=300*(24*960+10*8090);K=2*5*300*((stock-1)+8090*100*787);coeff=300*(5*units+6*960)+J*16*(10000+1)**2+J*(stock+20)+calls*(8*10000+8)+calls*128*200**3+16*100**3+100*300+calls+K+1 + assert inv['status']=='PASS_COHORT_LITERAL_FIVE_STAGE_FINITE_INVOICE_AND_POSITIVE_CUTOFFS' and coeff==E['coefficient']==int(inv['full_counted_primitive_coefficient']) and K==E['selector']==int(inv['extra_selector_calls'])==bank['selector_charge'] + assert coeff<2**80 and K<2**41 and inv['payload_bits']==cols['payload_prefix_bits']==E['payload_bits']<104 + assert price['status']=='PASS_ACTUAL_P10_COMPOSED_WORD_TWO_MOMENTS_AND_47_CONSTRAINTS' and Q(price['kappa'])==Q(pin['native_kappa']) and price['source_word_sha256']==pin['final_word_sha256'] and price['local_rank_mass']==E['rank_mass'] and price['residual']==E['residual'] + assert all(Q(price[k][1])<1 for k in ('first_interval','second_interval')) and all(Q(price[k][0])>1 for k in ('first_next','second_next')) + assert len(price['ordinary_gaps'])==3 and all(min(map(Q,g.values()))>0 for g in price['ordinary_gaps']) and len(price['assembly']['strict_constraints'])==47 and min(map(Q,price['assembly']['strict_constraints'].values()))>0 and price['adjacent_rejected'] and price['full_fallback_retained'] and price['complex_binds']==E['complex_binds'] + reserve=price['complex_reserve'];cv=read(out/'complex-reserve/VERIFICATION.json');supplier=price['complex_supplier'];binding=supplier['source_binding'] + assert Path(reserve['package'])==(ROOT/'vendor/complex-reserve').resolve() and Path(reserve['proof'])==(out/'complex-reserve').resolve() + assert reserve['binding']==binding and binding['manifest_sha256']==sha(ROOT/'vendor/complex-reserve/MANIFEST.json')==pin['complex_reserve']['manifest_sha256'] + assert cv['status']=='PASS_PORTABLE_PUBLIC_PR327_P10_COMPLEX_SUPPLIER_TRANSFER' and cv['inputs_unchanged'] and cv['candidate_sha256']==pin['complex_reserve']['candidate_sha256'] and len(cv['fresh_stages'])==2 + assert Q(price['complex_saving'])==Q(cv['complex_coarse'])==Q(pin['complex_reserve']['coarse']) + assert supplier['finite_guard']['retained_row_coefficient']==20161 and binding['inputs_unchanged'] and binding['all_supplier_stages_fresh'] and binding['adapter_sha256']==sha(ROOT/'code/future_supplier.py') + for name,digest in binding['receipt_hashes'].items():assert sha(out/'complex-reserve'/name)==digest;receipts.append('complex-reserve/'+name) + refine=read(out/'REFINEMENT.json') + assert refine['status']=='PASS_P10_PRIME_THRESHOLD_FULL_INVOICE_TWO_MOMENTS_FINITE_BOOTSTRAP_OUTER47' + assert Q(refine['native_kappa'])==Q(price['kappa'])==Q(pin['native_kappa'])=Q(ordinary['value']) + assert refine['bootstrap']['levels']==E['bootstrap_levels'] and len(refine['bootstrap']['gaps'])==E['bootstrap_levels'] and all(min(map(Q,g['gaps'].values()))>0 for g in refine['bootstrap']['gaps']) + assert len(refine['assembly']['strict_constraints'])==47 and min(map(Q,refine['assembly']['strict_constraints'].values()))>0 and len(refine['negative_controls'])==12 + assert refine['complete_literal_invoice']['coefficient']==coeff and refine['complete_literal_invoice']['rank_mass']==mass and refine['complete_literal_invoice']['positive_rank_children']==calls + result=dict(status='PASS_SOURCE_BOUND_P10B_STRUCTURAL_PR327_T300_CONDITIONAL_CONSTRUCTION',kappa=refine['kappa'],native_kappa=price['kappa'],predecessor_kappa=pin['base_kappa'],kappa_gain=str(Q(refine['kappa'])-Q(pin['base_kappa'])),word_sha256=pin['final_word_sha256'],source_regenerated=True,entrance_families=pin['stage_bindings']['kernel']['selected_entries'],entrance_rank=1447,final_descent_gates=49,restored_helpers=240,terminal_sinks=10,reordered_gates=130,physical_replicas=300,literal_stock=stock,normalized_stock=E['normalized_stock'],helper_assignments=12135000,new_frame_charts=E['new_charts'],changed_projector_charts=E['changed_projectors'],new_chart_factor_max=E['max_chart_factors'],normalizer=787,finite_coefficient=coeff,selector_charge=K,payload_bits=E['payload_bits'],complex_reserve={k:v for k,v in binding.items()if k!='receipt_hashes'},scope=refine['scope']) + receipts+=['LEGALITY.json','COLUMNS.json','BANK.json','PRICE.json','INVOICE.json','TILING.json','FRAME-PRIMES.json','REFINEMENT.json'] + result['fresh_receipt_hashes']={n:sha(out/n)for n in receipts};(out/'CERTIFICATE.json').write_text(json.dumps(result,sort_keys=True,indent=2)+'\n');print('PASS integrated p10b structural PR327 T300 '+refine['kappa'],flush=True) +if __name__=='__main__':finish(sys.argv[1]) diff --git a/research/p10b-cross49-pr327/code/frame_prime_minors.py b/research/p10b-cross49-pr327/code/frame_prime_minors.py new file mode 100644 index 0000000000..2105355a44 --- /dev/null +++ b/research/p10b-cross49-pr327/code/frame_prime_minors.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +"""Exact full-row-rank witnesses for actual new frame bases and annihilators. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +A nonzero integer minor of magnitude below 2^80 stays nonzero over every +prime field of characteristic greater than 2^80. No factorization oracle. +""" +import sys +if not __debug__:raise SystemExit('Assertions required') +sys.dont_write_bytecode=True +import argparse,hashlib,json +from pathlib import Path +P=2147483647 + +def columns(rows): + if not rows:return [] + a=[[int(x)%P for x in row]for row in rows];m=len(a);n=len(a[0]);r=0;cols=[] + for c in range(n): + k=next((k for k in range(r,m)if a[k][c]),None) + if k is None:continue + a[k],a[r]=a[r],a[k];iv=pow(a[r][c],-1,P);a[r]=[iv*x%P for x in a[r]] + for k in range(r+1,m): + if a[k][c]:z=a[k][c];a[k]=[(x-z*y)%P for x,y in zip(a[k],a[r])] + cols.append(c);r+=1 + if r==m:return cols + raise AssertionError('Frame rows fail independent modular witness') + +def determinant(a): + n=len(a) + if not n:return 1 + a=[list(row)for row in a];sign=1;prev=1 + for k in range(n-1): + pivot=next((i for i in range(k,n)if a[i][k]),None) + if pivot is None:return 0 + if pivot!=k:a[k],a[pivot]=a[pivot],a[k];sign=-sign + p=a[k][k] + for i in range(k+1,n): + for j in range(k+1,n): + value=a[i][j]*p-a[i][k]*a[k][j];assert value%prev==0;a[i][j]=value//prev + a[i][k]=0 + prev=p + return sign*a[-1][-1] + +def witness(rows): + c=columns(rows);d=determinant([[int(row[k])for k in c]for row in rows]);assert 0 +#include "json.hpp" +#include +#include +#include +#include +#include +#include +using namespace std;using namespace boost::multiprecision;using J=nlohmann::json;using I=cpp_int;using Q=cpp_rational; +void need(bool x,const char*s){if(!x)throw runtime_error(s);}J load(string p){ifstream f(p);need(bool(f),"missing input");J j;f>>j;return j;} +Q rat(string s){auto p=s.find('/');return p==string::npos?Q(I(s)):Q(I(s.substr(0,p)))/I(s.substr(p+1));}I ceilQ(Q x){return (numerator(x)+denominator(x)-1)/denominator(x);}struct E{int op,a,b,c,f,z;}; +int main(int argc,char**argv){try{need(argc==6,"usage RECORDS ROOT_PRICE BANK_RECEIPT FIVE_STAGE_RECEIPT OUTPUT");ifstream f(argv[1],ios::binary|ios::ate);size_t bytes=f.tellg();need(bytes%sizeof(E)==0,"ABI");vectorev(bytes/sizeof(E));f.seekg(0);f.read((char*)ev.data(),bytes);J price=load(argv[2])["cohort_candidate"],bank=load(argv[3]),global=load(argv[4]);mapH;I adds=0,units=0,copies=0;for(auto e:ev){if(e.op==0&&e.f)H[e.f]++;else if(e.op==1){adds++;units+=abs(e.c);}else if(e.op==2){H[e.z]++;copies++;}}need(copies==20&&adds>0&&units>=adds,"actualword inventory");int m=100,v=960,R=bank["actual_helper_roles"],T=300,N=2*m,d=m*m,stock=bank["literal_stock"];need(bank["physical_replicas"]==T,"replica binding");need(stock==bank["normalized_stock"].get()*5&&bank["actual_role_replica_stage_assignments"]==5*T*R,"actualbanks");need(bank["new_exact_charts"].get()>0&&bank["max_new_chart_factors"]<=548&&I(bank["max_intermediate_denominator"].get())<(I(1)<<80)&&I(bank["max_intermediate_numerator"].get())<(I(1)<<80),"newchart invoice");mapL;for(auto[r,n]:H)L[r]+=5*T*n;for(int r:{4,19,38,42})L[r]+=T*2*v;I Ecount=0,mass=0;J hh=J::object();for(auto[r,n]:L){Ecount+=n;mass+=r*n;need(r<50,"half-shrink");hh[to_string(r)]=n.convert_to();need(n==5*price["histogram"][to_string(r)].get(),"fullH versusnormalizedprice");}need(m*I(stock)-mass==612000,"physicaldeficit");need(price["stock"].get()*5==stock,"literalstock notnormalized");Q mu=rat(price["moment_upper"]);need(mu<1,"strict moment");Q c=rat(price["coarse"]),deltaTau=1-mu,deltaLin=1-Q(mass)/(m*stock)-Q(32*m)*Ecount/(I("10000000000000000")*stock);need(deltaLin>0,"linear fallback");I Jroute=T*(24*v+10*R),good=8*m*m+8,high=16*I(d+1)*(d+1),K=2*5*T*(I(stock-1)+I(R)*100*787),weighted=T*(5*adds+6*v),unit=T*(5*units+6*v);need(K==bank["selector_charge"].get()&&K<(I(1)<<41),"all selector factors");I F=I(global["signed_lift_prefix"][0]["cancellation_free_signed_row_l1_upper"].get()),B=I(global["signed_lift_prefix"][1]["cancellation_free_signed_row_l1_upper"].get()),payload=64*F*F*F*B*B;need(payload<(I(1)<<104),"payload prefix");I coeff=unit+Jroute*high+Jroute*(stock+20)+Ecount*good+Ecount*(128*I(N)*N*N)+16*I(m)*m*m+100*T+Ecount+K+1;need(coeff<(I(1)<<80)&&2*I(m)*m*m*I("10000000000000000")<(I(1)<<80),"fixed coefficient below prime threshold");need(I(stock+20)<(I(1)<<80),"stocklessprime");Q previous=rat("384599/10000000000");J cuts=J::array();for(int stage=0;stage<3;stage++){Q a=(1-c)*c+c*previous;vectorgaps={c-a,1-a-c,1-a-c*(1-previous),1-c};Q gap=*min_element(gaps.begin(),gaps.end());need(gap>0,"ordinary cutoff gap");I L1=ceilQ(36/(gap*gap)),L2=ceilQ(2*(4+msb(coeff)+1)/gap),cut=max(I(1),max(L1,L2));need(Q(cut)*gap*gap>=36&&Q(cut)*gap>=2*(4+msb(coeff)+1),"cutoff inequality");cuts.push_back({{"stage",stage+1},{"minimum_gap",gap.str()},{"counted_coefficient_cutoff_log2",cut.convert_to()},{"general_rule","For full inherited constants C_full>=counted coefficient, replace C by C_full in max(1,ceil(36/delta^2),ceil(2*(4+ceil(log2 C))/delta))."}});previous=a;} +J out={{"status","PASS_COHORT_LITERAL_FIVE_STAGE_FINITE_INVOICE_AND_POSITIVE_CUTOFFS"},{"physical_replicas",T},{"literal_stock",stock},{"normalized_stock",price["stock"]},{"positive_rank_children",Ecount.convert_to()},{"literal_rank_mass",mass.convert_to()},{"literal_deficit",612000},{"literal_histogram",hh},{"global_weighted_additions",weighted.convert_to()},{"global_unit_expanded_additions",unit.convert_to()},{"route_families",Jroute.convert_to()},{"normalizer_factor_bound",787},{"new_chart_factor_max",bank["max_new_chart_factors"]},{"extra_selector_calls",K.convert_to()},{"full_counted_primitive_coefficient",coeff.convert_to()},{"primitive_coefficient_bits",msb(coeff)+1},{"payload_signed_prefix_upper",payload.convert_to()},{"payload_bits",msb(payload)+1},{"internal_row_coefficient",10001},{"external_complex_row_coefficient",20161},{"simultaneous_extra_work_streams",1},{"strict_moment_slack",deltaTau.str()},{"linear_moment_slack",deltaLin.str()},{"ordinary_cutoffs",cuts},{"scope","Sufficient finite invoice for the literal new cohort word, 300 physical replicas and fully admitted bank stock; original 40dim route, retained odd-prime rational address grid, common-ancestor compiler and complex recovery interfaces are inherited unchanged. No Lean or independent certification of those underlying public theorems asserted."}};ofstream(argv[5])< +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +using namespace std;using nlohmann::json;struct Ev{int k,a,b,c,f,z;};struct F{int d;vector>B,A;};json ld(string p){json j;ifstream(p)>>j;return j;}int main(int ac,char**av){if(ac!=4)return 2;string in=av[1],out=av[2];auto st=ld(in+"/249-states.json"),fj=ld(in+"/frames.json"),nf=ld(out+"/COHORT249-FRAMES.json"),ii=ld(out+"/COHORT249-INITIAL.json"),sel=ld(out+"/COHORT249-SELECTION.json");int n=st["n"],v=st["v"],h=fj["h"],zero=st["ZERO"];mapfs;long long maxabs=0;int oldmax=0;for(auto it=fj["frames"].begin();it!=fj["frames"].end();++it){int k=stoi(it.key());oldmax=max(oldmax,k);F f{it.value()["dim"],it.value()["B"],it.value()["A"]};for(auto M:{f.B,f.A})for(auto r:M)for(auto x:r)maxabs=max(maxabs,llabs(x));fs[k]=f;}for(auto it=nf.begin();it!=nf.end();++it){int k=stoi(it.key());if(fs.count(k))throw runtime_error("new frame collides");fs[k]={it.value()["dim"],it.value()["B"],it.value()["A"]};}map,bool>cache;long long contain=0;auto sub=[&](int a,int b){if(!fs.count(a)||!fs.count(b))throw runtime_error("unknown frame");auto k=make_pair(a,b);if(cache.count(k))return cache[k];contain++;bool ok=fs[a].d<=fs[b].d;for(auto r:fs[a].B)for(auto s:fs[b].A){boost::multiprecision::cpp_int d=0;for(int i=0;ichosen;auto final=ld(out+"/COHORT249-FINAL.json");setrestored; +for(int r=0;rstate(n+1,zero);for(auto it=ii.begin();it!=ii.end();++it)state[stoi(it.key())]=it.value();bool copied=false;int copySource=-1;long long mov=0,adds=0,cop=0,era=0,mass=0;maphist;Ev e;ifstream f(out+"/COHORT249-RECORDS.bin",ios::binary);long long records=0;while(f.read((char*)&e,sizeof e)){records++;if(e.a<0||e.a>n||(e.k!=0&&(e.b<0||e.b>n)))throw runtime_error("bad role id");if(e.k==0){if(e.a==n&&!copied)throw runtime_error("move inactive temporary");if(state[e.a]!=e.b||!sub(e.b,e.c)||fs[e.c].d-fs[e.b].d!=e.f)throw runtime_error("illegal or mispriced MOVE");state[e.a]=e.c;if(e.f){hist[e.f]++;mass+=e.f;}mov++;}else if(e.k==1){if(state[e.a]!=e.f||state[e.b]!=e.f)throw runtime_error("ADD not in common frame");if((e.a==n||e.b==n)&&!copied)throw runtime_error("ADD inactive temporary");if(e.a==e.b)throw runtime_error("self ADD");if(copied&&(e.a==copySource||e.a==n))throw runtime_error("copied source or temporary mutated inside COPY window");adds++;}else if(e.k==2){if(copied||e.b!=n||state[e.a]!=e.c)throw runtime_error("invalid COPY lifecycle");if(e.z!=fs[e.c].d)throw runtime_error("COPY rank");copied=true;copySource=e.a;state[n]=e.f;hist[e.z]++;mass+=e.z;cop++;}else if(e.k==3){if(!copied||e.b!=n||e.a!=copySource||state[e.a]!=e.c||state[n]!=e.f)throw runtime_error("invalid ERASE lifecycle");copied=false;era++;}else throw runtime_error("unknown event");}if(copied||cop!=h||era!=h)throw runtime_error("unclosed COPY");for(int s=0;s0 + residual=sum(fs[str(st['final'][str(i)])]['dim']-fs[str(st['initial'][str(i)])]['dim'] for i in range(2*st["v"],st["n"])) + stock=bank['normalized_stock'];assert bank['physical_replicas']==300;assert bank['literal_stock']==5*stock and 100*bank['banks_per_stage']==300*residual + assert bank['literal_stock']==4*960*300+5*bank['banks_per_stage'] + hist={r:300*n for r,n in H.items()} + for r in (4,19,38,42):hist[r]=hist.get(r,0)+115200 + calls=sum(hist.values());mass=sum(r*n for r,n in hist.items());assert 100*stock-mass==122400 and max(hist)==42 + cost=load('composition_cost',SRC/'moment.py');other=load('composition_other',SRC/'base_two_moment.py');outer=load('composition_outer',SRC/'outer.py');upmath=load('composition_upmath',SRC/'math_check.py') + root=cost.certify(hist,100,stock,True);coarse=Q(int(Q(root['lower'])*10**18),10**18);step=Q(1,10**18) + first=cost.moment(hist,100,stock,coarse,True);first_next=cost.moment(hist,100,stock,coarse+step,True);assert first[1]<10;chain.append(new);gaps.append(row) + leaf=chain[-1];bridge=dict(proof='vendor/pr315/PROOF.md',representation='Exact powers with source-bound finite overcharges',semantic=dict(G=dict(base=2,exponent=30000),E=dict(base=2,exponent=100000),B_upper=dict(base=2,exponent=100001),C0=dict(base=2,exponent=210000),C1=1,strict_literal_gap=1,induction_gap_lower=1),rows=dict(coefficient=20161,degree=10**6,suffix_slope=4*10**6,degree_gap=Q(10**6)-Q(51*20161,25))) + q=leaf*(1-2*eta);minimum=(1-eta)*q/(1+q);ticks=minimum*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18);assembly=outer.assembly(leaf,b,bridge,k,eta=eta,beta=beta) + assert len(assembly['strict_constraints'])==47 and min(assembly['strict_constraints'].values())>0 + try:outer.assembly(leaf,b,bridge,k+step,eta=eta,beta=beta) + except AssertionError:pass + else:raise AssertionError('adjacent kappa admitted') + result=dict(complex_reserve=dict(package=str(Path(complex_reserve).resolve()),proof=str(Path(complex_reserve_proof).resolve()),binding=supplier['source_binding']) if complex_reserve else None,status='PASS_ACTUAL_P10_COMPOSED_WORD_TWO_MOMENTS_AND_47_CONSTRAINTS',source_word_sha256=digest,adds=adds,unit_adds=units,local_histogram=dict(H),local_rank_mass=sum(r*n for r,n in H.items()),residual=residual,cohort_candidate=dict(stock=stock,histogram=hist,calls=calls,rank_mass=mass,deficit=122400,coarse=s,moment_upper=first[1] if s==coarse else cost.moment(hist,100,stock,s,True)[1],kappa=k),first_interval=first,first_next=first_next,second_interval=second,second_next=second_next,ordinary_chain=chain,ordinary_gaps=gaps,assembly=assembly,kappa=k,bit_root=coarse,complex_saving=b,complex_supplier=supplier,complex_binds=s left[f]: continue + rest = dict(left); rest[f] -= q*b + t + found = search(i + 1, rest, out + ([(tuple([w]*a + [f]*b), q)] if q else []) + ([(tuple([w]*r + [f]*t), 1)] if r else [])) + if found is not None: return found + return None + out = search(0, {w: n for w, n in blocks.items() if not m % w}, []) + if out is None: out = economy_tile(blocks, m) + assert all(sum(widths) == m and count > 0 for widths, count in out) + used = Counter() + for widths, count in out: + for x in widths: used[x] += count + assert used == Counter(blocks), 'every block used exactly once' + return tuple(out) + + +def economy_tile(blocks, m): + """Exact zero-padding tiling used when the filler search of tile() runs out of filler blocks (the kernel pivots + and early restorations of the stage stack add many residual widths that do not divide m; the PR #299 analogue at + p = 12 was the (r^4, 24, 4^(24-r)) re-tiling). The fillers are the two most numerous widths dividing m (here the + full helper width h and the rank-4 entrance residual). Each other width w, in decreasing order, gets the bank + w^a F^c f^b (w*a + F*c + f*b = m) that spends the fewest narrow fillers f per w block (then the largest a), plus + at most one bank w^r F^c' f^b' for the remainder r = n mod a. The leftover fillers fill pure banks F^(m/F), + f^(m/f) and y residue banks F^j f^k. Every bank sums to m and every block is used exactly once (no padding).""" + from fractions import Fraction + blocks = {w: n for w, n in blocks.items() if n} + div = sorted((w for w in blocks if m % w == 0), key=lambda w: (-blocks[w], w)) + assert len(div) >= 2, ('economy tiling needs two filler widths', blocks) + F, f = sorted(div[:2], reverse=True) + + def fill(rest): + """(c, b) with F*c + f*b = rest, c maximal (fewest narrow fillers); None if impossible.""" + return next(((c, (rest - F*c)//f) for c in range(rest//F, -1, -1) if (rest - F*c) % f == 0), None) + + left = {F: blocks[F], f: blocks[f]}; out = [] + for w in sorted((x for x in blocks if x not in (F, f)), reverse=True): + n = blocks[w] + opts = [(Fraction(cb[1], a), -a, a, cb) for a in range(m//w, 0, -1) for cb in [fill(m - w*a)] if cb] + assert opts, ('no bank for width', w) + _, _, a, (c, b) = min(opts); q, r = divmod(n, a) + if q: out.append(((w,)*a + (F,)*c + (f,)*b, q)); left[F] -= q*c; left[f] -= q*b + if r: + cb = fill(m - w*r); assert cb, ('no remainder bank', w, r) + out.append(((w,)*r + (F,)*cb[0] + (f,)*cb[1], 1)); left[F] -= cb[0]; left[f] -= cb[1] + assert left[F] >= 0 and left[f] >= 0, ('fillers exhausted', left) + pF, pf = m//F, m//f + for y in range((pF*pf) + 1): + for j in range(1 if y else 0, pF if y else 1): + if (m - F*j) % f: continue + k = (m - F*j)//f; aF, af = left[F] - y*j, left[f] - y*k + if aF >= 0 and af >= 0 and aF % pF == 0 and af % pf == 0: + out += ([((F,)*j + (f,)*k, y)] if y else []) + ([((F,)*pF, aF//pF)] if aF else []) + ([((f,)*pf, af//pf)] if af else []) + return out + raise AssertionError(('no exact zero-padding tiling', blocks, m)) + + diff --git a/research/p10b-cross49-pr327/code/threshold_bootstrap.py b/research/p10b-cross49-pr327/code/threshold_bootstrap.py new file mode 100644 index 0000000000..7d1628ba21 --- /dev/null +++ b/research/p10b-cross49-pr327/code/threshold_bootstrap.py @@ -0,0 +1,168 @@ +#!/usr/bin/env python3 +"""Source-bound prime-threshold and finite bootstrap on a fully replayed p10 T300 word. +Arithmetic enclosure primitives: PR321 c76247701762feb2c5bea5bcf302b010eb7d1bc3, +prepared with OpenAI Codex assistance. Literal-word rebinding and invoice reconstruction +prepared with OpenAI Codex assistance. Apache-2.0. All inherited hypotheses remain. +""" +import sys +assert __debug__ +sys.dont_write_bytecode=True +sys.set_int_max_str_digits(0) +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import argparse,hashlib,importlib.util,json,struct +ROOT=Path(__file__).resolve().parent +P=(1<<127)-1; GRID=10**27; ETA=Q(1,10**24); BETA=Q(1,10**9); INITIAL=Q(384599,10**10) +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +def read(path):return json.loads(Path(path).read_text()) +def load(name,path): + s=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +def serial(x): + if isinstance(x,Q):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return list(map(serial,x)) + return x + +def census(path): + H=Counter();adds=units=copies=erasures=records=0 + data=Path(path).read_bytes();assert len(data)%24==0 + for op,a,b,c,f,z in struct.iter_unpack('<6i',data): + records+=1 + if op==0 and f:H[f]+=1 + elif op==1:adds+=1;units+=abs(c) + elif op==2:H[z]+=1;copies+=1 + elif op==3:erasures+=1 + else:assert op==0 + assert copies==erasures==20 + return H,adds,units,records + +def invoice(word,bank,columns,price,inv): + m=100;h=20;v=960;T=bank['physical_replicas'];assert T>0 and T%5==0 + R=bank['actual_helper_roles'];stock=bank['literal_stock'];norm=bank['normalizer_factor_ceiling'] + assert bank['actual_role_replica_stage_assignments']==5*T*R + assert stock==4*v*T+5*bank['banks_per_stage']==5*bank['normalized_stock'] + residual={int(r):n for r,n in bank['residual_families'].items()};used=Counter() + for row in bank['bank_patterns']: + assert sum(row['widths'])==m and row['count']>0 + for r in row['widths']:used[r]+=row['count'] + assert used=={r:T*n for r,n in residual.items()} and sum(residual.values())==R + assert sum(row['count']for row in bank['bank_patterns'])==bank['banks_per_stage'] + H,adds,units,nrecords=census(word);literal=Counter({r:5*T*n for r,n in H.items()}) + for r in (4,19,38,42):literal[r]+=2*v*T + E=sum(literal.values());mass=sum(r*n for r,n in literal.items()) + assert max(literal)==42 and m*stock-mass==2040*T + assert dict(literal)=={int(r):int(n)for r,n in inv['literal_histogram'].items()}=={int(r):5*n for r,n in price['cohort_candidate']['histogram'].items()} + assert price['adds']==adds and price['unit_adds']==units and price['local_rank_mass']==sum(r*n for r,n in H.items()) + assert dict(H)=={int(r):n for r,n in price['local_histogram'].items()}==dict(columns['local_raw_H']) + assert columns['independent_dirty_registers']==R and columns['local_scalar_additions']==adds + assert columns['fresh_center_copies']==100 and columns['copied_center_original_source_immutable'] + assert len(columns['negative_controls'])==6 and all(c['rejected']for c in columns['negative_controls']) + N=2*m;d=m*m;J=T*(24*v+10*R);K=2*5*T*((stock-1)+R*m*norm) + weighted=T*(5*adds+6*v);unit=T*(5*units+6*v) + components=dict(unit_expanded_additions=unit,high_affine_factors=J*16*(d+1)**2,low_transposition_coefficient=J*(stock+h),generic_wrappers=E*(8*m*m+8),matrix_preparation=E*128*N**3,selector_preparation=16*m**3,copy_erase_episodes=5*h*T,paid_children=E,extra_bank_selector_calls=K,one_extra_work_stream=1) + C=sum(components.values()) + assert norm==int(inv['normalizer_factor_bound']) and K==bank['selector_charge']==int(inv['extra_selector_calls']) + assert T==inv['physical_replicas'] and stock==inv['literal_stock'] and 5*price['cohort_candidate']['stock']==stock + assert E==int(inv['positive_rank_children']) and mass==int(inv['literal_rank_mass']) and inv['literal_deficit']==2040*T + assert weighted==int(inv['global_weighted_additions']) and unit==int(inv['global_unit_expanded_additions']) and J==int(inv['route_families']) + assert C==int(inv['full_counted_primitive_coefficient']) and C<2**80

Q(price['bit_root']) + complex_saving=Q(price['complex_saving']);complex_limit=(1-BETA)*complex_saving;limit_ticks=complex_limit*GRID;strict_complex_cap=Q((limit_ticks.numerator-1)//limit_ticks.denominator,GRID) + coarse=min(bitcoarse,strict_complex_cap);admit_first=primitive.moment(H,m,W,coarse,cost,rho);admit_second=primitive.second(H,m,W,coarse,other,rho);assert admit_first[1]<1 and admit_second[1]<1 and coarse0 + delta=min(ds.values());cut=primitive.cutoff(delta,C);assert cut*delta**2>=36 and cut*delta>=2*(4+(C-1).bit_length());chain.append(a);gaps.append(dict(level=level,gaps=ds,minimum_gap=delta,primitive_coefficient_cutoff_log2=cut)) + if primitive.gridk(a)==cap:break + else:raise AssertionError('finite bootstrap budget exhausted') + bridge=read(parent/'math.json')['mathematics']['finite_bridge'];bridge['rows']['degree_gap']=Q(bridge['rows']['degree_gap']);complex_saving=Q(price['complex_saving']);assert coarse<(1-BETA)*complex_saving + assembly=outer.assembly(chain[-1],complex_saving,bridge,cap,eta=ETA,beta=BETA);assert len(assembly['strict_constraints'])==47 and len(assembly['margins'])==7 and min(assembly['strict_constraints'].values())>0 + controls=[] + def reject(label,fn): + try:fn() + except(AssertionError,ValueError):controls.append(label) + else:raise AssertionError('mutation accepted '+label) + for leaf in (chain[-1],coarse):reject('adjacent kappa',lambda leaf=leaf:outer.assembly(leaf,complex_saving,bridge,cap+Q(1,GRID),eta=ETA,beta=BETA)) + for key in ('full_counted_primitive_coefficient','global_unit_expanded_additions','literal_stock','positive_rank_children','literal_rank_mass','extra_selector_calls','normalizer_factor_bound','payload_signed_prefix_upper'): + bad=dict(inv);bad[key]=str(int(bad[key])-1)if isinstance(bad[key],str)else bad[key]-1 + reject('undercharged '+key,lambda bad=bad:invoice(word,bank,columns,price,bad)) + reject('zero cutoff gap',lambda:primitive.cutoff(Q(0),C));reject('zero coefficient',lambda:primitive.cutoff(Q(1,2),0)) + tau=1-admit_first[1];linear=1-Q(bill['rank_mass'],m*bill['literal_stock'])-rho*Q(32*m*bill['positive_rank_children'],bill['literal_stock']);assert tau>0 and linear>0 + external={} + if price.get('complex_reserve'): + cr=price['complex_reserve'];binding=cr['binding'];assert sha(Path(cr['package'])/'MANIFEST.json')==binding['manifest_sha256'];assert binding['inputs_unchanged'] and binding['all_supplier_stages_fresh'];engine_hashes['future_supplier.py']=sha(ROOT/'future_supplier.py');assert engine_hashes['future_supplier.py']==binding['adapter_sha256'] + for name,digest in binding['receipt_hashes'].items(): + path=Path(cr['proof'])/name;assert sha(path)==digest;external[str(path)]=digest + result=dict(status='PASS_P10_PRIME_THRESHOLD_FULL_INVOICE_TWO_MOMENTS_FINITE_BOOTSTRAP_OUTER47',kappa=cap,kappa_decimal=format(float(cap),'.18e'),native_kappa=native,exact_gain=cap-native,source=dict(word_sha256=expected_word,external_receipt_hashes=external,receipt_hashes=receipt_hashes,engine_hashes=engine_hashes,arithmetic_source_pr='https://github.com/CrocSwap/integer-mult-bounds/pull/321',arithmetic_source_head='c76247701762feb2c5bea5bcf302b010eb7d1bc3',structural_admission='Consumed only; the enclosing full verifier must bind and admit these exact structural receipts.'),prime_threshold=dict(Q=P,lucas_lehmer_residue=ll,density=rho,growing_prime_regime_retained=True,all_permitted_primes_q_at_least_Q=True,current_frame_and_bank_exclusions_below_2_power_80=True),complete_literal_invoice=bill,bit_profile=dict(m=m,W=W,histogram=H),ordinary_saving=dict(value=coarse,complex_limit=complex_limit,strict_complex_cap=strict_complex_cap,complex_binds=coarse0 + patterns=tile({r:300*n for r,n in census.items()},100) + result=dict(physical_replicas=300,original_residual=original,census=dict(census),deleted=deleted,entrance_rank=saved,changed_helpers=changed,patterns=[dict(widths=w,count=n)for w,n in patterns],note='entrance_rank is total initial/final endpoint residual saving') + Path(output).write_text(json.dumps(result,sort_keys=True,indent=2)+'\n');print('PASS exact tiling',sum(n for w,n in patterns),'banks',dict(census),flush=True) +if __name__=='__main__': + ap=argparse.ArgumentParser();ap.add_argument('base');ap.add_argument('candidate');ap.add_argument('output');ap.add_argument('--source-root');a=ap.parse_args();run(a.base,a.candidate,a.output,a.source_root) diff --git a/research/p10b-cross49-pr327/code/upstream-pr321-fixed_prime.py b/research/p10b-cross49-pr327/code/upstream-pr321-fixed_prime.py new file mode 100644 index 0000000000..edac35ef8b --- /dev/null +++ b/research/p10b-cross49-pr327/code/upstream-pr321-fixed_prime.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python3 +"""Exact p10 fixed-prime/full-fallback arithmetic on freshly admitted PR320 outputs.""" +assert __debug__, 'Assertions required' +import sys +sys.dont_write_bytecode=True +sys.set_int_max_str_digits(0) +import argparse,hashlib,importlib.util,json +from decimal import Decimal,ROUND_FLOOR,localcontext +from fractions import Fraction as Q +from pathlib import Path +ROOT=Path(__file__).resolve().parent +GRID=10**27 +PRIME=(1<<127)-1 +ETA=Q(1,10**24) +BETA=Q(1,10**9) +BASE=Q(384599485948493,5*10**17) +INITIAL=Q(384599,10**10) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def ld(p):return json.loads(p.read_text(encoding='utf-8')) +def serial(x): + if isinstance(x,Q):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return list(map(serial,x)) + return x +def load(n,p): + s=importlib.util.spec_from_file_location('p10_fixed_'+n,p);v=importlib.util.module_from_spec(s);s.loader.exec_module(v);return v +def gridk(a,eta=ETA): + q=a*(1-2*eta);v=(1-eta)*q/(1+q)*GRID + return Q((v.numerator-1)//v.denominator,GRID) +def moment(H,m,W,a,cost,rho): + lo,hi=cost.moment(H,m,W,a,False);l,u=cost.logarithm(Q(m));e,f=cost.exponential(a*l,a*u) + w=Q(32*m*sum(H.values()),W)*rho + return cost.floor(lo+w*e),cost.ceil(hi+w*f) +def second(H,m,W,a,other,rho): + lo,hi=other.moment(m,W,list(H.items()),a);l,u=other.log_bounds(Q(m)) + w=Q(32*m*sum(H.values()),W)*rho + return lo+w*other.exp_bounds(a*l)[0],hi+w*other.exp_bounds(a*u)[1] +def certify(H,m,W,cost,other,rho): + with localcontext()as c: + c.prec=90 + terms=[(Decimal(r*n)/Decimal(m*W),(Decimal(m)/Decimal(r)).ln())for r,n in H.items()] + f=Decimal(32*m*sum(H.values()))/Decimal(W)*Decimal(rho.numerator)/Decimal(rho.denominator) + lm=Decimal(m).ln();lo=Decimal(0);hi=Decimal('.003') + for _ in range(270): + a=(lo+hi)/2 + if sum(p*(a*l).exp()for p,l in terms)+f*(a*lm).exp()<1:lo=a + else:hi=a + a=Q(int(((lo+hi)/2*GRID).to_integral_value(rounding=ROUND_FLOOR)),GRID) + b=a+Q(1,GRID);x=moment(H,m,W,a,cost,rho);y=moment(H,m,W,b,cost,rho);u=second(H,m,W,a,other,rho);v=second(H,m,W,b,other,rho) + assert x[1]<10 + return max(1,ceilq(36/delta**2),ceilq(2*(4+(C-1).bit_length())/delta)) +def validate_invoice(i,bp,p): + m=i['m'];T=i['physical_replicas'];stock=i['literal_stock'];E=i['positive_rank_children'];mass=i['rank_mass'];N=2*m + assert(m,T)==(100,60) and bp['m']==m + assert stock==bp['literal_stock']==5*bp['W'] and E==bp['literal_children']==5*bp['calls'] + assert mass==bp['literal_rank_mass']==5*bp['rank_mass'] and m*stock-mass==T*2040 + assert i['fallback_per_child']==32*m*m and i['simultaneous_extra_work_streams']==1 + assert i['generic_wrappers']==E*(8*m*m+8) and i['matrix_preparation']==E*128*N**3 + assert i['copy_erase_episodes']==5*20*T and i['bridge_additions']==T*6*960 + assert i['route_families']==T*(24*960+10*8223) + assert i['high_affine_factors']==i['route_families']*16*(m*m+1)**2 + assert i['low_transposition_coefficient']==i['route_families']*(stock+20) + C=i['unit_expanded_additions']+i['high_affine_factors']+i['low_transposition_coefficient']+i['generic_wrappers']+i['matrix_preparation']+16*m**3+i['copy_erase_episodes']+E+i['extra_bank_selector_calls']+1 + assert C==p['coefficient'] and C<2**802**80 and all(PRIME%d for d in(2,3,5,7,11,13,17,19,23,29,31)) + bp=ma['bit_profile'];H={int(k):int(n)for k,n in bp['histogram'].items()};m=bp['m'];W=bp['W'];rho=Q(2*m**3,PRIME) + assert m==100 and sum(H.values())==bp['calls'] and sum(r*n for r,n in H.items())==bp['rank_mass'] + assert m*W-bp['rank_mass']==24480 and max(H)==42Q(ma['bit_root']) + cap=gridk(coarse);chain=[INITIAL];gaps=[] + for level in range(1,21): + old=chain[-1];a=(1-coarse)*coarse+coarse*old + ds=dict(atom=coarse-a,borrowing=1-a-coarse,remainder=1-a-coarse*(1-old),stock=1-coarse) + assert old0 + delta=min(ds.values());L=cutoff(delta,C) + assert Q(L)*delta**2>=36 and Q(L)*delta>=2*(4+(C-1).bit_length()) + chain.append(a);gaps.append(dict(level=level,gaps=ds,minimum_gap=delta,cutoff_log2_at_charged_coefficient=L)) + if gridk(a)==cap:break + else:raise AssertionError('Finite bootstrap budget20 exhausted') + bridge=ma['finite_bridge'];bridge['rows']['degree_gap']=Q(bridge['rows']['degree_gap']) + complex_saving=Q(ma['complex_coarse']);assert coarse<(1-BETA)*complex_saving + assembly=outer.assembly(chain[-1],complex_saving,bridge,cap,eta=ETA,beta=BETA) + assert len(assembly['strict_constraints'])==47 and len(assembly['margins'])==7 and min(assembly['strict_constraints'].values())>0 and cap>BASE + controls=[] + def reject(name,fn): + try:fn() + except(AssertionError,ValueError):controls.append(name) + else:raise AssertionError('Mutationaccepted '+name) + for a in(chain[-1],coarse):reject('adjacent kappa at '+('finite leaf'if a==chain[-1]else'coarse cap'),lambda a=a:outer.assembly(a,complex_saving,bridge,cap+Q(1,GRID),eta=ETA,beta=BETA)) + for key in('fallback_per_child','matrix_preparation','generic_wrappers','literal_stock','copy_erase_episodes','high_affine_factors','low_transposition_coefficient'): + bad=dict(fin['paid_inventory']);bad[key]-=1 + reject('undercharged '+key,lambda bad=bad:validate_invoice(bad,bp,fin['q_power_bound'])) + reject('zero finite cutoff gap',lambda:cutoff(Q(0),C));reject('zero invoice coefficient',lambda:cutoff(Q(1,2),0)) + tau=1-x[1];linear=1-Q(bp['rank_mass'],m*W)-rho*Q(32*m*bp['calls'],W);assert tau>0 and linear>0 + oldeta=gridk(coarse,Q(1,10**12)) + result=dict(status='PASS_SOURCE_BOUND_FIVE_NEW_KERNELS_P10_PRIME_THRESHOLD_FULL_FALLBACK_BOOTSTRAP_OUTER47',kappa=cap,kappa_scientific=format(float(cap),'.17e'),baseline_kappa=BASE,candidate_native_kappa=Q(pin['supplier_kappa']),candidate_native_gain_over_public_parent=Q(pin['supplier_kappa'])-BASE,exact_gain=cap-BASE,additional_threshold_bootstrap_gain=cap-Q(pin['supplier_kappa']),binding='bit',conditional=True,lean_certificate=False,supplier_reused_stages=reuse,new_kernel_entries=5,kernel_entries_total=780,new_kernel_selection_sha256=pin['new_kernel_selection_sha256'], + source=dict(public_pr=pin['public_pr'],public_parent_head=pin['public_parent_head'],derived_source=True,manifest_sha256=vr['manifest_sha256'],compressed_source_word_sha256=sha(source/'bitword/selected/bit/word_p10.json.gz'),emitted_global_program_sha256=fin['source_binding']['global_program'],local_tagged_word_sha256=fin['source_binding']['tagged'],replay_certificate_sha256=sha(replay/'certificate.json'),replay_verification_sha256=sha(replay/'verification.json'),source_unchanged_during_checked_replay=True), + fixed_prime=dict(minimum_prime_threshold=PRIME,policy='Every prime q at least this threshold; retain the source all-size q-growth and prime-supply regime. No replacement by a constant-modulus machine.',uniform_density_upper_bound=True,exponent=127,lucas_lehmer_iterations=125,lucas_lehmer_residue=ll,density=rho,density_formula='2*m^3/q',actual_basis_inventory_sha256=pr['basis_inventory_sha256'],actual_unique_bases=pr['unique_bases'],retained_residual_upper=2**80,named_factors_upper=31), + bit_profile=bp,whole_literal_invoice=fin['paid_inventory'],finite_coefficient=C,full_fallback_retained=True, + root=dict(lower=coarse,upper=nextcoarse,first_lower=x,first_upper=y,second_lower=u,second_upper=v), + complex_supplier_unchanged=ma['complex_coarse'],ordinary_bootstrap=dict(initial=INITIAL,seed_justification='The freshly verified baseline ordinary leaf is stronger than INITIAL; use its weaker admitted bound as the seed.',verified_baseline_leaf=baseline_leaf,seed_gap=baseline_leaf-INITIAL,levels=level,chain=chain,gaps=gaps,eta=ETA,beta=BETA,grid=GRID,coarse_grid_cap=cap,eta_1e_12_cap=oldeta), + moment_gaps=dict(delta_tau=tau,delta_linear=linear),growing_prime_regime=dict(retained=True,all_primes_above_threshold=True,coefficient_below_threshold=C= threshold, each exact basis denominator and bank-normalizer factor is a unit, rho(q)=2m^3/q <= the priced threshold envelope, and C*q^10000 < q^10001. The unchanged supplier prime-supply and asymptotic q regime are retained.'),assembly=assembly,finite_bridge=bridge,negative_controls=controls, + scope='Conditional sufficient finite construction under the unchanged PR320 public all-size compiler, weighted-selector, common-ancestor-chart, restored-row, routing, prime-supply, recovery and complex analytic interfaces. The derived complete p10 word, regenerated banks, geometry and full finite invoice are freshly admitted; only the source-identical complex supplier is inherited unchanged. No universal machine or Lean certificate is asserted.', + cutoff_scope='Displayed cutoffs use the freshly charged primitive coefficient. As in PR320, the full asymptotic cutoff also multiplies every inherited primitive, wrapper and preceding ordinary-level constant; those retained public interfaces remain conditions.') + output.write_text(json.dumps(serial(result),indent=2,sort_keys=True)+'\n',encoding='utf-8');print(result['status'],str(cap),format(float(cap),'.17e'),'levels',level,flush=True) + return result +if __name__=='__main__': + p=argparse.ArgumentParser();p.add_argument('replay',type=Path);p.add_argument('output',type=Path);p.add_argument('--source',type=Path);a=p.parse_args();run(a.replay,a.output,a.source) diff --git a/research/p10b-cross49-pr327/discovery/build_reorder_selection.py b/research/p10b-cross49-pr327/discovery/build_reorder_selection.py new file mode 100644 index 0000000000..f80140a0b3 --- /dev/null +++ b/research/p10b-cross49-pr327/discovery/build_reorder_selection.py @@ -0,0 +1,82 @@ +"""Freeze reorder-selection.json: run the pipeline through the sink stage, screen every ADD whose frame is a strict +breakpoint of an operand path, try it at the frame of each of the six previous/next ADD incidences of either operand +(admitted when no crossed gate reads a or writes b, no COPY/ERASE of a is crossed and both rebuilt frame chains stay +nested), price the change of both operand paths with phi(r) = r ln(120/r), and keep a greedy disjoint set of +negative moves; moves whose result breaks the source-span rule of any gate are dropped. Round r screens the word +after the previous rounds. Not run by verify.py. +Usage: python3 -B discovery/build_reorder_selection.py TAG [PREVIOUS_TAG ...] (reorder, then reorder2 reorder)""" +import sys,json,importlib.util,hashlib,math,bisect +from collections import Counter,defaultdict +from pathlib import Path +ROOT=Path(__file__).resolve().parent.parent;sys.path.insert(0,str(ROOT)) +def load(name,path): + s=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(s);sys.modules[name]=m;s.loader.exec_module(m);return m +ctx=load('portable527_prepare',ROOT/'prepare.py').prepare() +producer=load('portable527_physical',ROOT/'code/physical527.py').run(dict(ctx),ctx['SOURCE_TEXT'],output_dir=None) +run=load('portable527_parity',ROOT/'parity_transform.py').run(producer) +TAG=sys.argv[1];rm=load('portable527_reorder',ROOT/'reorder_transform.py') +# The stages before the reorder rounds, in portable_bit.STAGES order (the package's own stage list). +STAGES=load('portable527_bitstages',ROOT/'portable_bit.py').STAGES;assert TAG in STAGES +for st in STAGES[:STAGES.index(TAG)]: + run=rm.run(run,tag=st)if st.startswith('reorder')else load('portable527_'+st,ROOT/'kernel_transform.py').run(run,tag=st)if st.startswith('kernel')else load('portable527_'+st,ROOT/(st+'_transform.py')).run(run) +W,C=run['W'],run['C'];old=run['records'];v=W.v;n=2*v+len(run['context']['regs']);init=dict(run['initial_state']);final=dict(run['final_state']) +cats=list(run['physical']['category_names']);ev=[tuple(old[k:k+6])for k in range(0,len(old),6)] +phi=lambda r:r*math.log(100/r)if r else 0.0 +incf=defaultdict(list);reads=defaultdict(list);writes=defaultdict(list) +for i,(op,a,b,c,f,z)in enumerate(ev): + if op==1: + incf[a].append((i,f,True));writes[a].append(i) + if b!=n:incf[b].append((i,f,True));reads[b].append(i) + elif op==2:incf[a].append((i,c,False));reads[a].append(i) + elif op==3:reads[a].append(i) +inct={s:[t for t,f,x in L]for s,L in incf.items()} +def cost(fs):return sum(phi(C.dimf[b]-C.dimf[a])for a,b in zip(fs,fs[1:])if a!=b) +def legal(fs):return all(C.sub(a,b)for a,b in zip(fs,fs[1:])) +def path(r,dele=None,add=None): + L=[(t,f)for t,f,x in incf[r]if t!=dele]+([add]if add else []);L.sort() + return [init[r]]+[f for t,f in L]+[final[r]] +def count(L,lo,hi):return bisect.bisect_left(L,hi)-bisect.bisect_left(L,lo) +cands=[] +for i,(op,a,b,c,f,z)in enumerate(ev): + if op!=1 or b==n:continue + def bp(r): + L=inct[r];k=bisect.bisect_left(L,i);pf=incf[r][k-1][1]if k else init[r];nf=incf[r][k+1][1]if k+10 + final=dict(initial) + for k in range(0,len(old),6): + if old[k]==0:final[old[k+1]]=old[k+3] + # Exact integer source spans of every non-target operand, from the actual + # scalar word. Each gate frame must contain the span after the gate. + columns=[{i:1} if i=0 + out.extend((0,s,before,f,gap,0));state[s]=f + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6] + if op==0:continue + if op==1: + g=chosen.get(k//6,f) + if copy is not None:assert a!=copy[0] and b!=copy[0] or k//6 not in chosen + move(a,g) + if b==n:assert g==f==producer['ZERO'] and copy is not None + else:move(b,g) + out.extend((op,a,b,c,g,z)) + elif op==2: + assert copy is None and b==n;move(a,c);state[b]=f;copy=(a,b,c);out.extend((op,a,b,c,f,z)) + else: + assert op==3 and copy==(a,b,c) and state[a]==c and state[b]==f + out.extend((op,a,b,c,f,z));del state[b];copy=None + assert copy is None + for s in sorted(final):move(s,final[s]) + assert state==final + def projection(a): + result=array('i') + for k in range(0,len(a),6): + op,x,y,c,f,z=a[k:k+6] + if op:result.extend((op,x,y,c,z)) + return result.tobytes() + assert projection(old)==projection(out) + return out,final,changed,spans,hashlib.sha256(projection(out)).hexdigest() + +def run(producer,output_dir=None,selection_path=None): + begun=time.monotonic();W,C=producer['W'],producer['C'];v=W.v;n=len(producer['initial_state']) + path=Path(selection_path)if selection_path else HERE/'descent-selection.json' + selection=json.loads(path.read_text());old=producer['records'];oldmeta=producer['physical'];initial=producer['initial_state'];ZERO,FULL=producer['ZERO'],producer['FULL'] + out,final,changed,spans,projection=transform(producer,selection) + # Prior restoration can leave helpers at proper nondegenerate frames. + # Derive the predecessor endpoint map from its actual MOVE stream and + # require every endpoint, including all helper frames, to be unchanged. + predecessor_final=dict(initial) + for k in range(0,len(old),6): + if old[k]==0: + assert predecessor_final[old[k+1]]==old[k+2] + predecessor_final[old[k+1]]=old[k+3] + assert final==predecessor_final + assert all(final[i]==FULL for i in initial if i=2*v) + for t in range(v): + f=final[v+t];assert C.dimf[f]==_H-1 and all(W.module.dot(C.cov[t],b)==0 for b in C.B[f]) + # Census is independently rebuilt only from actual surviving ADD needs, + # frozen COPY source frames, and fixed endpoints, ignoring emitted MOVEs. + needs={i:[] for i in initial};copies=Counter();copy=None + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==1: + assert c%2;needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert copy is not None and f==ZERO + elif op==2: + assert copy is None;copy=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert copy==(a,b,c);copy=None + assert copy is None and copies=={_CR:_NC} + census=Counter(copies);per_role={};pairs=set() + for s,before in initial.items(): + H=Counter() + for f in needs[s]+[final[s]]: + assert C.sub(before,f);rank=C.dimf[f]-C.dimf[before] + if rank:H[rank]+=1 + pairs.add((before,f));before=f + per_role[s]=H;census.update(H) + endpoint_frames={f for pair in pairs for f in pair};nondeg_bases=set() + for f in endpoint_frames: + assert len(C.B[f])==C.dimf[f] and len(C.A[f])+C.dimf[f]==_H + key=tuple(map(tuple,C.B[f])) + if key not in nondeg_bases:assert C.nondeg(f);nondeg_bases.add(key) + for a,b in pairs: + assert len(C.A[b])<=len(C.A[a]) + assert all(W.module.dot(x,y)==0 for x in C.A[b]for y in C.B[a]) + assert len(C.A[a])-len(C.A[b])==C.dimf[b]-C.dimf[a] + state=dict(initial);copy=None;used=set(initial.values());hist=Counter();cat=Counter();coeff=Counter();centers=[];count=0 + scalar=hashlib.sha256();tagged=hashlib.sha256();category_names=oldmeta['category_names'] + def event(d,row):d.update(json.dumps(row,separators=(',',':')).encode());d.update(b'\n') + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c) and C.dimf[c]-C.dimf[b]==f + assert (_H-C.dimf[b])-(_H-C.dimf[c])==f + state[a]=c;used.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert c%2 and state[a]==state[b]==f and a!=b + kind=category_names[z];source=copy['source']if b==n else b + event(scalar,[a,source,c]);event(tagged,[a,b,c,f,kind]);count+=1;cat[kind]+=1;coeff[abs(c)]+=1;used.add(f) + elif op==2: + assert copy is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;copy=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and copy is not None and (a,b,c)==(copy['source'],copy['temporary'],copy['frame']) and state[a]==c and state[b]==f==ZERO + copy.update(after_event=count,scatter_reads=count-copy['first_event']);assert copy['scatter_reads']==_SCAT + centers.append(copy);copy=None;del state[b] + assert copy is None and state==final and hist==census + assert count==oldmeta['weighted_scalar_events']==selection['expected_scalar_additions'] and coeff==dict((int(k),v)for k,v in oldmeta['coefficient_histogram'].items()) and len(centers)==_NC + assert scalar.hexdigest()==oldmeta['scalar_projection_sha256'] + delta=Counter(hist);delta.subtract(Counter({int(r):c for r,c in oldmeta['paid_histogram'].items()}));delta={r:c for r,c in delta.items()if c} + assert delta=={int(r):c for r,c in selection['expected_local_histogram_delta'].items()},('combined local delta',delta) + assert sum(r*c for r,c in hist.items())==oldmeta['paid_rank_mass']==selection['expected_rank_mass'] + assert sum(hist.values())==oldmeta['positive_rank_moves']+_NC-selection['expected_removed_calls'] + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for i,H in per_role.items():(sourceH if i0 + final=dict(initial) + for k in range(0,len(old),6): + if old[k]==0:final[old[k+1]]=old[k+3] + # Exact integer source spans of every non-target operand, from the actual + # scalar word. Each gate frame must contain the span after the gate. + columns=[{i:1} if i=0 + out.extend((0,s,before,f,gap,0));state[s]=f + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6] + if op==0:continue + if op==1: + g=chosen.get(k//6,f) + if copy is not None:assert a!=copy[0] and b!=copy[0] or k//6 not in chosen + move(a,g) + if b==n:assert g==f==producer['ZERO'] and copy is not None + else:move(b,g) + out.extend((op,a,b,c,g,z)) + elif op==2: + assert copy is None and b==n;move(a,c);state[b]=f;copy=(a,b,c);out.extend((op,a,b,c,f,z)) + else: + assert op==3 and copy==(a,b,c) and state[a]==c and state[b]==f + out.extend((op,a,b,c,f,z));del state[b];copy=None + assert copy is None + for s in sorted(final):move(s,final[s]) + assert state==final + def projection(a): + result=array('i') + for k in range(0,len(a),6): + op,x,y,c,f,z=a[k:k+6] + if op:result.extend((op,x,y,c,z)) + return result.tobytes() + assert projection(old)==projection(out) + return out,final,changed,spans,hashlib.sha256(projection(out)).hexdigest() + +def run(producer,output_dir=None,selection_path=None): + begun=time.monotonic();W,C=producer['W'],producer['C'];v=W.v;n=len(producer['initial_state']) + path=Path(selection_path)if selection_path else HERE/'descent-selection.json' + selection=json.loads(path.read_text());old=producer['records'];oldmeta=producer['physical'];initial=producer['initial_state'];ZERO,FULL=producer['ZERO'],producer['FULL'] + out,final,changed,spans,projection=transform(producer,selection) + assert all(final[i]==FULL for i in initial if i=2*v) + for t in range(v): + f=final[v+t];assert C.dimf[f]==_H-1 and all(W.module.dot(C.cov[t],b)==0 for b in C.B[f]) + # Census is independently rebuilt only from actual surviving ADD needs, + # frozen COPY source frames, and fixed endpoints, ignoring emitted MOVEs. + needs={i:[] for i in initial};copies=Counter();copy=None + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==1: + assert c%2;needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert copy is not None and f==ZERO + elif op==2: + assert copy is None;copy=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert copy==(a,b,c);copy=None + assert copy is None and copies=={_CR:_NC} + census=Counter(copies);per_role={};pairs=set() + for s,before in initial.items(): + H=Counter() + for f in needs[s]+[final[s]]: + assert C.sub(before,f);rank=C.dimf[f]-C.dimf[before] + if rank:H[rank]+=1 + pairs.add((before,f));before=f + per_role[s]=H;census.update(H) + endpoint_frames={f for pair in pairs for f in pair};nondeg_bases=set() + for f in endpoint_frames: + assert len(C.B[f])==C.dimf[f] and len(C.A[f])+C.dimf[f]==_H + key=tuple(map(tuple,C.B[f])) + if key not in nondeg_bases:assert C.nondeg(f);nondeg_bases.add(key) + for a,b in pairs: + assert len(C.A[b])<=len(C.A[a]) + assert all(W.module.dot(x,y)==0 for x in C.A[b]for y in C.B[a]) + assert len(C.A[a])-len(C.A[b])==C.dimf[b]-C.dimf[a] + state=dict(initial);copy=None;used=set(initial.values());hist=Counter();cat=Counter();coeff=Counter();centers=[];count=0 + scalar=hashlib.sha256();tagged=hashlib.sha256();category_names=oldmeta['category_names'] + def event(d,row):d.update(json.dumps(row,separators=(',',':')).encode());d.update(b'\n') + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c) and C.dimf[c]-C.dimf[b]==f + assert (_H-C.dimf[b])-(_H-C.dimf[c])==f + state[a]=c;used.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert c%2 and state[a]==state[b]==f and a!=b + kind=category_names[z];source=copy['source']if b==n else b + event(scalar,[a,source,c]);event(tagged,[a,b,c,f,kind]);count+=1;cat[kind]+=1;coeff[abs(c)]+=1;used.add(f) + elif op==2: + assert copy is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;copy=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and copy is not None and (a,b,c)==(copy['source'],copy['temporary'],copy['frame']) and state[a]==c and state[b]==f==ZERO + copy.update(after_event=count,scatter_reads=count-copy['first_event']);assert copy['scatter_reads']==_SCAT + centers.append(copy);copy=None;del state[b] + assert copy is None and state==final and hist==census + assert count==oldmeta['weighted_scalar_events']==selection['expected_scalar_additions'] and coeff==dict((int(k),v)for k,v in oldmeta['coefficient_histogram'].items()) and len(centers)==_NC + assert scalar.hexdigest()==oldmeta['scalar_projection_sha256'] + delta=Counter(hist);delta.subtract(Counter({int(r):c for r,c in oldmeta['paid_histogram'].items()}));delta={r:c for r,c in delta.items()if c} + assert delta=={int(r):c for r,c in selection['expected_local_histogram_delta'].items()},('combined local delta',delta) + assert sum(r*c for r,c in hist.items())==oldmeta['paid_rank_mass']==selection['expected_rank_mass'] + assert sum(hist.values())==oldmeta['positive_rank_moves']+_NC-selection['expected_removed_calls'] + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for i,H in per_role.items():(sourceH if i= 1 (basis rows), nondegenerate for 9I-J and inside every member's first frame. The entry +cut is the later of the members' last initial (frame-ZERO) compensation reads, bound by content. At the cut each +donor pays d += p at E (kernel_setup); at the end each pays d -= p at the full frame (kernel_restore); the pivot +starts at E and loses its initial reads. A donor may serve several entries along a nested entrance chain (the +emitted MOVEs are checked nested). Correctness is the F2 replay of every formal column, forward and inverse, with +both omission controls; the prefix relation (pivot response = XOR of donor responses) is checked on the literal +prefix; every required frame path is rebuilt from scalar/COPY events independently of the emitted MOVEs. +Prepared with Anthropic Claude assistance; Apache-2.0. +p = 10 port (Chafik Boukhalfa (chafreaky), Anthropic Claude assistance): h, v, centre copies and scatter reads come +from word_pins.shape and the stage counts are pinned in word-pins.json; the mechanism and checks are unchanged. +""" +from array import array +from collections import Counter +from copy import copy +from pathlib import Path +import gzip,hashlib,json,time,sys +sys.dont_write_bytecode=True +if not __debug__:raise SystemExit('assertions required') +HERE=Path(__file__).resolve().parent +from word_pins import shape as _shape +_S=_shape();_H=_S['h'];_V=_S['v'];_M=_S['m'];_CR=_S['center_rank'];_NC=_S['centers'];_SCAT=_S['scatter_reads'];_DEF=_S['deficit'] +sha=lambda b:hashlib.sha256(b).hexdigest() + +def transform(producer,selection,tag='kernel'): + W,C=producer['W'],producer['C'];old=producer['records'];initial=dict(producer['initial_state']);context=producer['context'];v=W.v;n=2*v+len(context['regs']);ZERO=producer['ZERO'];FULL=producer['FULL'] + assert n==selection['n'] and v==selection['v'] + assert sha(old.tobytes())==selection['input_raw_sha256'] + assert producer['physical']['scalar_projection_sha256']==selection['input_scalar_sha256'] + cats=list(producer['physical']['category_names']);readcat=cats.index('dirty_read') + assert tag+'_setup' not in cats and tag+'_restore' not in cats + setupcat=len(cats);restorecat=setupcat+1;cats+=[tag+'_setup',tag+'_restore'] + final=dict(initial) + for k in range(0,len(old),6): + if old[k]==0:final[old[k+1]]=old[k+3] + raw_entries=[dict(pivot=p['a'],donors=[p['b']],cut_read=p['cut_read'],rank=p['rank'],basis=p['basis'],kind='pair')for p in selection['pairs']] + raw_entries+=[dict(pivot=f['pivot'],donors=list(f['donors']),cut_read=f['cut_read'],rank=f['rank'],basis=f['basis'],kind=f.get('kind','family'))for f in selection.get('families',[])] + assert len(raw_entries)==selection['selected_pairs']+selection.get('selected_families',0) + members=set();pivots=set();donorset=set() + for e in raw_entries: + p=e['pivot'];assert p not in pivots and 2*v<=p0 + cut=max(lastread[s]for s in ms);assert [old[6*cut+j]for j in(1,2,3)]==e['cut_read'],('cut read differs',e['pivot']) + assert cut=1 and C.nondeg(f),('entrance',e['pivot']) + for s in ms:assert C.sub(f,firsttouch[s][1]),('entrance not inside first frame',s) + row=dict(e,cut=cut,frame=f,role=context['regs'][e['pivot']-2*v],first_frames={str(s):firsttouch[s][1]for s in ms},removed_reads=reads[e['pivot']]) + entries.append(row);chosen[e['pivot']]=row;bycut.setdefault(cut,[]).append(row);initial[e['pivot']]=f + for s in ms:memcut[s]=max(memcut.get(s,-1),cut) + for cut in bycut:bycut[cut].sort(key=lambda r:(r['rank'],r['pivot'])) + # Prefix relation on the literal prefix up to the latest cut: pivot response = XOR of donor responses, confined + # to targets and own coordinates. + latest=max(bycut);bit={s:1<>sorted(members).index(p))&1 if False else bool(col&bit[p]) + y=0 + for d in row['donors']:y^=bool(col&bit[d]) + assert x==y,('prefix relation fails',p,t) + if x:support.append(t) + assert support;row['prefix_response_targets']=support;relations+=1 + state=dict(initial);out=array('i');temporary=None;skipped=[] + def move(s,f): + before=state[s] + if before==f:return + assert C.sub(before,f),('kernel nonnested actual use',s,before,f) + gap=C.dimf[f]-C.dimf[before];assert gap>=0;out.extend((0,s,before,f,gap,0));state[s]=f + def add(a,b,c,f,z): + move(a,f);move(b,f);out.extend((1,a,b,c,f,z)) + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6];i=k//6 + if op==1: + if b in chosen and f==ZERO and z==readcat: + assert i<=chosen[b]['cut'];skipped.append(i) + else: + if not(b in members and z==readcat and f==ZERO and v<=a<2*v): + for s in (a,b): + if s in members:assert i>memcut[s],('touched before cut',s) + add(a,b,c,f,z) + elif op==2: + assert temporary is None;move(a,c);state[b]=f;temporary=(a,b,c);out.extend((op,a,b,c,f,z)) + if a in members:assert i>memcut[a] + elif op==3: + assert temporary==(a,b,c)and state[a]==c and state[b]==f;out.extend((op,a,b,c,f,z));del state[b];temporary=None + if i in bycut: + assert temporary is None + for row in bycut[i]: + for d in row['donors']:add(d,row['pivot'],1,row['frame'],setupcat) + assert len(skipped)==sum(r['removed_reads']for r in entries)and temporary is None + for s in sorted(final):move(s,final[s]) + for row in entries: + for d in row['donors']:add(d,row['pivot'],-1,FULL,restorecat) + assert state==final + project=lambda aa:[tuple(aa[k+j]for j in(0,1,2,3,5))for k in range(0,len(aa),6)if aa[k]] + drop=set(skipped);expected=[] + for k in range(0,len(old),6): + i=k//6 + if old[k] and i not in drop:expected.append(tuple(old[k+j]for j in(0,1,2,3,5))) + if i in bycut:expected.extend((1,d,r['pivot'],1,setupcat)for r in bycut[i]for d in r['donors']) + expected.extend((1,d,r['pivot'],-1,restorecat)for r in entries for d in r['donors']);assert project(out)==expected + ew=copy(W);ew.gauge=dict(W.gauge);ew.w=dict(W.w);ew.w['gauges']=list(W.w['gauges']) + for row in entries: + g=dict(role=row['role'],frame=row['frame'],dim=row['rank'],targets=[]);ew.gauge[row['role']]=g;ew.w['gauges'].append(g) + execution=dict(context);execution['W']=ew + gates=sum(len(r['donors'])for r in entries);shared=Counter(Counter(d for r in entries for d in r['donors']).values()) + proof=dict(selected_entries=len(entries),kinds=dict(Counter(r['kind']for r in entries)),selected_helpers=len(members),distinct_cuts=len(bycut),earliest_cut=min(bycut),latest_cut=latest,entrance_rank_histogram=dict(Counter(r['rank']for r in entries)),total_entrance_rank=sum(r['rank']for r in entries),donor_sharing_histogram={str(k):c for k,c in sorted(shared.items())},prefix_relations_checked=relations,prefix_target_comparisons=len(entries)*v,removed_initial_reads=len(skipped),added_setup_and_restores=2*gates,selected_helpers_untouched_before_own_cut=True,no_prefix_response_outside_targets_and_own_helper=True,all_old_surviving_scalar_and_copy_events_in_order=True,source_context_preserved=True) + return out,initial,final,entries,execution,cats,proof,n,v + +def replay(records,n,v,reverse=False,omit_category=None): + columns=[1<=0;pairs.add((a,b)) + if gap:H[gap]+=1 + for a,b in zip(reversed(pathframes),list(reversed(pathframes))[1:]): + assert all(not W.module.dot(x,y)for x in C.A[a]for y in C.B[b]);gap=len(C.A[b])-len(C.A[a]);assert gap>=0 + if gap:reflected[gap]+=1 + per_role[s]=H;census.update(H) + assert reflected==census + for f in {x for pair in pairs for x in pair}:assert C.nondeg(f)and len(C.B[f])+len(C.A[f])==_H + state=dict(initial);hist=Counter();cat=Counter();coeff=Counter();used=set(state.values());temporary=None;centers=[];count=0;tagged=hashlib.sha256() + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c)and C.dimf[c]-C.dimf[b]==f and len(C.A[b])-len(C.A[c])==f + state[a]=c;used.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert state[a]==state[b]==f and a!=b and c%2;count+=1;cat[cats[z]]+=1;coeff[abs(c)]+=1;used.add(f) + tagged.update(json.dumps([a,b,c,f,cats[z]],separators=(',',':')).encode());tagged.update(b'\n') + elif op==2: + assert temporary is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;temporary=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and temporary is not None and (a,b,c)==(temporary['source'],temporary['temporary'],temporary['frame'])and state[a]==c and state[b]==f==ZERO + temporary.update(after_event=count,scatter_reads=count-temporary['first_event']);assert temporary['scatter_reads']==_SCAT;centers.append(temporary);temporary=None;del state[b] + assert state==final and temporary is None and hist==census and len(centers)==_NC + old=Counter({int(r):c for r,c in producer['physical']['paid_histogram'].items()});delta=Counter(hist);delta.subtract(old);delta={r:c for r,c in delta.items()if c} + assert delta=={int(k):v for k,v in selection['expected_local_delta'].items()} + assert count==producer['physical']['weighted_scalar_events']-proof['removed_initial_reads']+proof['added_setup_and_restores'] and sum(r*c for r,c in hist.items())==producer['physical']['paid_rank_mass']-proof['total_entrance_rank'] + # Physical inventory: frames consumed by the preceding stages stay in the determinant inventory. + inherited=set() + for inventory in (producer['physical'],producer.get('producer_physical')): + if isinstance(inventory,dict):inherited.update(row['frame_id']for row in inventory.get('used_frames',[])) + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for s,H in per_role.items():(sourceH if s FULL for its cleanups. The delivery commutes with every gate between it and y's next incidence +(none of them reads y, none writes h), so it is executed just before that incidence, inside F: y now climbs R' -> F in +one step instead of R' -> R -> F, and h climbs R -> F -> FULL instead of R -> FULL (local delta {21:-1, 22:+1, 3:-1, +2:+1} per move, rank mass unchanged). The same screen also moves 22 forward gates to an earlier incidence frame. +Selection rule (discovery/build_reorder_selection.py): every ADD whose frame is a strict breakpoint of an operand's +path is tried at the frame of each of the six previous/next incidences of either operand; the move is admitted when +no gate on the crossed interval reads a or writes b (and no COPY/ERASE touches a), the rebuilt frame chains of a and b +are nested and the phi ledger decreases; greedy by gain over disjoint operand sets. +Checks here: the frozen moves are re-derived on the actual input word (record content, anchor frame, crossed-interval +contract, disjoint operand sets); F2 replay of every formal column forward and inverse; omitting the moved ADDs fails; +every MOVE rebuilt from operand frames with both reflected ledgers; an independent integer replay modulo 2^61-1 with +pseudo-random dirty inputs gives identical final values for every register; local delta equals the frozen one. +Prepared with Anthropic Claude assistance; Apache-2.0. +p = 10 port (Chafik Boukhalfa (chafreaky), Anthropic Claude assistance): h, v, centre copies and scatter reads come +from word_pins.shape and the stage counts are pinned in word-pins.json; the mechanism and checks are unchanged. +""" +from array import array +from collections import Counter +from pathlib import Path +import gzip,hashlib,json,time,sys,importlib.util,bisect +sys.dont_write_bytecode=True +if not __debug__:raise SystemExit('assertions required') +HERE=Path(__file__).resolve().parent +from word_pins import shape as _shape +_S=_shape();_H=_S['h'];_V=_S['v'];_M=_S['m'];_CR=_S['center_rank'];_NC=_S['centers'];_SCAT=_S['scatter_reads'];_DEF=_S['deficit'] +sha=lambda b:hashlib.sha256(b).hexdigest() + +def integer_replay(records,n,seed=20260710): + """Exact replay modulo the Mersenne prime 2^61-1 with fixed pseudo-random dirty inputs (all registers and the temporary).""" + import random + P=(1<<61)-1;rng=random.Random(seed);val=[rng.randrange(P)for _ in range(n+1)] + for k in range(0,len(records),6): + op,a,b,c,f,z=records[k:k+6] + if op==1:val[a]=(val[a]+c*val[b])%P + elif op==2:val[n]=val[a] + return val[:n] + +def span_violations(records,W,C,n,v): + """Exact integer source span of every non-target operand after each gate (PR #287/#291 rule), checked against the + gate frame for EVERY gate of the word: returns the violating (record, source) pairs.""" + columns=[{i:1} if ii) or (side=='after' and T=0;out.extend((0,s,b0,f,gap,0));state[s]=f + def add(a,b,c,f,z): + move(a,f) + if b!=n:move(b,f) + out.extend((1,a,b,c,f,z)) + def emit_moved(lst): + for i in sorted(lst):a,b,c,F,T,side=moves[i];add(a,b,c,F,MOVED) + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6];i=k//6 + emit_moved(before.get(i,())) + if op==1: + if i not in moves:add(a,b,c,f,z) + elif op==2:assert temporary is None;move(a,c);state[b]=f;temporary=(a,b,c);out.extend((op,a,b,c,f,z)) + elif op==3:assert temporary==(a,b,c)and state[a]==c and state[b]==f;out.extend((op,a,b,c,f,z));del state[b];temporary=None + emit_moved(after.get(i,())) + assert temporary is None + for s in sorted(final):move(s,final[s]) + assert state==final + project=lambda aa:sorted(tuple(aa[k+j]for j in(0,1,2,3))for k in range(0,len(aa),6)if aa[k]==1) + assert project(out)==project(old),'only the documented reordering (same multiset of scalar ADDs)' + proof=dict(selected=len(moves),operand_sets_disjoint=True,crossed_interval_contract=True,categories=dict(Counter(e['category']for e in selection['moves'])), + shapes=dict(Counter('%s:%d->%d'%(e['category'],e['old_frame_rank'],e['frame_rank'])for e in selection['moves']))) + return out,initial,final,cats,proof,n,v + +def run(producer,output_dir=None,selection_path=None,tag='reorder'): + start=time.monotonic() + spec=importlib.util.spec_from_file_location('reorder_kernel_replay',HERE/'kernel_transform.py');km=importlib.util.module_from_spec(spec);spec.loader.exec_module(km) + W,C=producer['W'],producer['C'];path=Path(selection_path)if selection_path else HERE/(tag+'-selection.json');selection=json.loads(path.read_text()) + out,initial,final,cats,proof,n,v=transform(producer,selection,tag);ZERO=producer['ZERO'] + forward=km.replay(out,n,v);inverse=km.replay(out,n,v,True);controls=[km.replay(out,n,v,omit_category=cats.index(tag+'_moved'))] + assert not span_violations(out,W,C,n,v),'a gate frame omits an operand source span' + old=producer['records'];iold=integer_replay(old,n);inew=integer_replay(out,n);assert iold==inew,'integer replay differs' + needs={s:[]for s in initial};copies=Counter();temporary=None + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==1: + needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert temporary is not None and f==ZERO + elif op==2:assert temporary is None;temporary=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert temporary==(a,b,c);temporary=None + assert temporary is None and copies=={_CR:_NC} + per_role={};pairs=set();census=Counter(copies);reflected=Counter(copies) + for s,startframe in initial.items(): + H=Counter();pathframes=[startframe]+needs[s]+[final[s]] + for a,b in zip(pathframes,pathframes[1:]): + assert C.sub(a,b);gap=C.dimf[b]-C.dimf[a];assert gap>=0;pairs.add((a,b)) + if gap:H[gap]+=1 + for a,b in zip(reversed(pathframes),list(reversed(pathframes))[1:]): + assert all(not W.module.dot(x,y)for x in C.A[a]for y in C.B[b]);gap=len(C.A[b])-len(C.A[a]);assert gap>=0 + if gap:reflected[gap]+=1 + per_role[s]=H;census.update(H) + assert reflected==census + for f in {x for pair in pairs for x in pair}:assert C.nondeg(f)and len(C.B[f])+len(C.A[f])==_H + state=dict(initial);hist=Counter();cat=Counter();coeff=Counter();usedf=set(state.values());temporary=None;centers=[];count=0;tagged=hashlib.sha256() + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c)and C.dimf[c]-C.dimf[b]==f and len(C.A[b])-len(C.A[c])==f + state[a]=c;usedf.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert state[a]==state[b]==f and a!=b and c%2;count+=1;cat[cats[z]]+=1;coeff[abs(c)]+=1;usedf.add(f) + tagged.update(json.dumps([a,b,c,f,cats[z]],separators=(',',':')).encode());tagged.update(b'\n') + elif op==2: + assert temporary is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;temporary=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and temporary is not None and (a,b,c)==(temporary['source'],temporary['temporary'],temporary['frame'])and state[a]==c and state[b]==f==ZERO + temporary.update(after_event=count,scatter_reads=count-temporary['first_event']);assert temporary['scatter_reads']==_SCAT;centers.append(temporary);temporary=None;del state[b] + assert state==final and temporary is None and hist==census and len(centers)==_NC + oldH=Counter({int(r):c for r,c in producer['physical']['paid_histogram'].items()});delta=Counter(hist);delta.subtract(oldH);delta={r:c for r,c in delta.items()if c} + assert delta=={int(k):x for k,x in selection['expected_local_delta'].items()} + assert sum(r*c for r,c in hist.items())==producer['physical']['paid_rank_mass'],'reordering keeps the paid rank mass' + assert count==producer['physical']['weighted_scalar_events'] + inherited=set() + for inventory in (producer['physical'],producer.get('producer_physical')): + if isinstance(inventory,dict):inherited.update(row['frame_id']for row in inventory.get('used_frames',[])) + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for s,H in per_role.items():(sourceH if s=_H:continue + out.append((a,b,i,c,state[a],state[b])) + return cut,out,state + +def transform(producer,selection): + W,C=producer['W'],producer['C'];old=producer['records'];initial=dict(producer['initial_state']);context=producer['context'];v=W.v;n=2*v+len(context['regs']);ZERO=producer['ZERO'];FULL=producer['FULL'] + assert n==selection['n'] and v==selection['v'] + assert sha(old.tobytes())==selection['input_raw_sha256'],'restoration selection bound to a different word' + assert producer['physical']['scalar_projection_sha256']==selection['input_scalar_sha256'] + cats=list(producer['physical']['category_names']);assert 'early_restore' not in cats + restorecat=len(cats);cats+=['early_restore'] + final=dict(initial) + for k in range(0,len(old),6): + if old[k]==0:final[old[k+1]]=old[k+3] + cut,rows,state=screen(old,initial,n,v,C,W,cats,ZERO,FULL) + # Keep the screened rows whose exact join is a proper nondegenerate frame; compare with the frozen selection. + chosen={} + for a,b,i,c,fa,fb in rows: + E=W.register([list(x)for x in C.B[fa]]+[list(x)for x in C.B[fb]]) + if C.dimf[E]==_H or not C.nondeg(E):continue + chosen[a]=dict(helper=a,donor=b,record=i,coefficient=c,frame=E,rank=C.dimf[E],helper_frame=fa,donor_frame=fb,entrance=initial[a]) + frozen={e['helper']:e for e in selection['entries']};assert len(frozen)==len(selection['entries'])==selection['selected'] + assert set(chosen)==set(frozen),'fresh screen differs from the frozen selection' + for a,e in chosen.items(): + s=frozen[a];assert (s['donor'],s['coefficient'],s['rank'])==(e['donor'],e['coefficient'],e['rank']) + assert [old[6*e['record']+j]for j in(1,2,3)]==s['incidence'],'incidence content differs' + assert e['frame']==W.register(s['basis']),'frozen join basis differs' + assert (C.dimf[e['entrance']],C.dimf[e['helper_frame']],C.dimf[e['donor_frame']],e['rank'])==tuple(s['dims']) + assert C.sub(e['entrance'],e['helper_frame'])and C.sub(e['helper_frame'],e['frame'])and C.sub(e['donor_frame'],e['frame']) + assert final[a]==FULL and C.dimf[e['entrance']]=0;out.extend((0,s,before,f,gap,0));state[s]=f + def add(a,b,c,f,z):move(a,f);move(b,f);out.extend((1,a,b,c,f,z)) + order=sorted(chosen.values(),key=lambda e:e['helper']) + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6];i=k//6 + if i==cut: + assert temporary is None + for e in order:add(e['helper'],e['donor'],e['coefficient'],e['frame'],restorecat) + if op==1: + if i in moved:continue + add(a,b,c,f,z) + elif op==2:assert temporary is None;move(a,c);state[b]=f;temporary=(a,b,c);out.extend((op,a,b,c,f,z)) + elif op==3:assert temporary==(a,b,c)and state[a]==c and state[b]==f;out.extend((op,a,b,c,f,z));del state[b];temporary=None + assert temporary is None + for e in order:final[e['helper']]=e['frame'] + for s in sorted(final):move(s,final[s]) + assert state==final + project=lambda aa:[tuple(aa[k+j]for j in(0,1,2,3,5))for k in range(0,len(aa),6)if aa[k]] + expected=[] + for k in range(0,len(old),6): + i=k//6 + if i==cut:expected.extend((1,e['helper'],e['donor'],e['coefficient'],restorecat)for e in order) + if old[k] and i not in moved:expected.append(tuple(old[k+j]for j in(0,1,2,3,5))) + assert project(out)==expected,'only the documented reordering' + proof=dict(selected=len(order),cut=cut,crossed_gate_checks=crossed,dims=dict(Counter((C.dimf[e['entrance']],C.dimf[e['helper_frame']],C.dimf[e['donor_frame']],e['rank'])for e in order).most_common()).__repr__(), + helpers_and_donors_disjoint=True,single_remaining_incidence=True,donor_unwritten_on_crossed_interval=True,no_copy_after_cut=True,targets_complete_at_cut=True, + endpoint_rank_saving=sum(_H-e['rank']for e in order),residual_histogram=dict(Counter(e['rank']-C.dimf[e['entrance']]for e in order))) + return out,initial,final,order,cats,proof,n,v + +def run(producer,output_dir=None,selection_path=None): + start=time.monotonic();kt=__import__('importlib').util + spec=kt.spec_from_file_location('restore_kernel_replay',HERE/'kernel_transform.py');km=kt.module_from_spec(spec);spec.loader.exec_module(km) + W,C=producer['W'],producer['C'];path=Path(selection_path)if selection_path else HERE/'restore-selection.json';selection=json.loads(path.read_text()) + out,initial,final,entries,cats,proof,n,v=transform(producer,selection);ZERO=producer['ZERO'];FULL=producer['FULL'] + forward=km.replay(out,n,v);inverse=km.replay(out,n,v,True);controls=[km.replay(out,n,v,omit_category=cats.index('early_restore'))] + needs={s:[]for s in initial};copies=Counter();temporary=None + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==1: + needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert temporary is not None and f==ZERO + elif op==2:assert temporary is None;temporary=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert temporary==(a,b,c);temporary=None + assert temporary is None and copies=={_CR:_NC} + per_role={};pairs=set();census=Counter(copies);reflected=Counter(copies) + for s,startframe in initial.items(): + H=Counter();pathframes=[startframe]+needs[s]+[final[s]] + for a,b in zip(pathframes,pathframes[1:]): + assert C.sub(a,b);gap=C.dimf[b]-C.dimf[a];assert gap>=0;pairs.add((a,b)) + if gap:H[gap]+=1 + for a,b in zip(reversed(pathframes),list(reversed(pathframes))[1:]): + assert all(not W.module.dot(x,y)for x in C.A[a]for y in C.B[b]);gap=len(C.A[b])-len(C.A[a]);assert gap>=0 + if gap:reflected[gap]+=1 + per_role[s]=H;census.update(H) + assert reflected==census + for f in {x for pair in pairs for x in pair}:assert C.nondeg(f)and len(C.B[f])+len(C.A[f])==_H + state=dict(initial);hist=Counter();cat=Counter();coeff=Counter();used=set(state.values());temporary=None;centers=[];count=0;tagged=hashlib.sha256() + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c)and C.dimf[c]-C.dimf[b]==f and len(C.A[b])-len(C.A[c])==f + state[a]=c;used.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert state[a]==state[b]==f and a!=b and c%2;count+=1;cat[cats[z]]+=1;coeff[abs(c)]+=1;used.add(f) + tagged.update(json.dumps([a,b,c,f,cats[z]],separators=(',',':')).encode());tagged.update(b'\n') + elif op==2: + assert temporary is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;temporary=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and temporary is not None and (a,b,c)==(temporary['source'],temporary['temporary'],temporary['frame'])and state[a]==c and state[b]==f==ZERO + temporary.update(after_event=count,scatter_reads=count-temporary['first_event']);assert temporary['scatter_reads']==_SCAT;centers.append(temporary);temporary=None;del state[b] + assert state==final and temporary is None and hist==census and len(centers)==_NC + old=Counter({int(r):c for r,c in producer['physical']['paid_histogram'].items()});delta=Counter(hist);delta.subtract(old);delta={r:c for r,c in delta.items()if c} + assert delta=={int(k):v for k,v in selection['expected_local_delta'].items()} + assert count==producer['physical']['weighted_scalar_events'] and sum(r*c for r,c in hist.items())==producer['physical']['paid_rank_mass']-proof['endpoint_rank_saving'] + inherited=set() + for inventory in (producer['physical'],producer.get('producer_physical')): + if isinstance(inventory,dict):inherited.update(row['frame_id']for row in inventory.get('used_frames',[])) + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for s,H in per_role.items():(sourceH if s=2*v for s in sources) + out.append(dict(stream=r,targets=sorted(S),pivot=pivots[0],first=first,last=last,writes=writes,cleanups=cleanups,root_frame=rootf.pop(),entry=entry)) + return entry,out + +def transform(producer,selection): + W,C=producer['W'],producer['C'];old=producer['records'];initial=dict(producer['initial_state']);context=producer['context'];v=W.v;regs=list(context['regs']);n=2*v+len(regs);ZERO=producer['ZERO'];FULL=producer['FULL'] + final=dict(producer['final_state']);ends=dict(producer.get('helper_endpoints',{})) + assert n==selection['n'] and v==selection['v'] and sha(old.tobytes())==selection['input_raw_sha256'],'sink selection bound to a different word' + assert producer['physical']['scalar_projection_sha256']==selection['input_scalar_sha256'] + cats=list(producer['physical']['category_names']);assert not {'sink_redirect','sink_setup','sink_restore'}&set(cats) + REDIR,SETUP,RESTORE=len(cats),len(cats)+1,len(cats)+2;cats+=['sink_redirect','sink_setup','sink_restore'] + entry,rows=screen(old,initial,final,n,v,cats,ZERO,FULL) + frozen=[(e['role'],tuple(e['targets']),e['pivot'])for e in selection['sinks']] + fresh=[(regs[r['stream']-2*v],tuple(r['targets']),r['pivot'])for r in rows] + assert sorted(fresh)==sorted(frozen)and len(frozen)==selection['selected'],'fresh sink screen differs from the frozen selection' + used=set() + for r in rows:assert not(used&set(r['targets'])),'overlapping target sets';used.update(r['targets']) + sinks={r['stream']:r for r in rows};assert not(set(sinks)&set(ends)) + # Compaction of register IDs: helpers after a removed one shift down; the copy temporary is n -> n'. + mp={};k=0 + for s in range(n): + if s not in sinks:mp[s]=k;k+=1 + nn=k;mp[n]=nn + redirected={i:r for r in rows for i in r['writes']};dropped=set() + for r in rows: + dropped.update(r['cleanups']) + for k6 in range(0,len(old),6): + op,a,b,c,f,z=old[k6:k6+6] + if op==1 and b in sinks:dropped.add(k6//6) + lastw={r['last']:r for r in rows} + state={mp[s]:f for s,f in initial.items()if s not in sinks};out=array('i');temporary=None + def move(s,f): + before=state[s] + if before==f:return + assert C.sub(before,f),('sink nonnested actual use',s,before,f) + gap=C.dimf[f]-C.dimf[before];assert gap>=0;out.extend((0,s,before,f,gap,0));state[s]=f + def add(a,b,c,f,z): + move(a,f) + if b!=nn:move(b,f) + out.extend((1,a,b,c,f,z)) + for k6 in range(0,len(old),6): + op,a,b,c,f,z=old[k6:k6+6];i=k6//6 + if op==1: + if i in dropped:pass + elif i in redirected:add(mp[redirected[i]['pivot']],mp[b],c,f,REDIR) + else:assert a not in sinks;add(mp[a],mp[b],c,f,z) + elif op==2:assert temporary is None and a not in sinks;move(mp[a],c);state[nn]=f;temporary=(mp[a],nn,c);out.extend((op,mp[a],nn,c,f,z)) + elif op==3:assert temporary==(mp[a],nn,c)and state[mp[a]]==c and state[nn]==f;out.extend((op,mp[a],nn,c,f,z));del state[nn];temporary=None + if i==entry: + assert temporary is None + for r in rows: + for t in r['targets']: + if t!=r['pivot']:add(mp[t],mp[r['pivot']],-1,ZERO,SETUP) + if i in lastw: + r=lastw[i] + for t in r['targets']: + if t!=r['pivot']:add(mp[t],mp[r['pivot']],1,r['root_frame'],RESTORE) + assert temporary is None + nfinal={mp[s]:f for s,f in final.items()if s not in sinks} + for s in sorted(nfinal):move(s,nfinal[s]) + assert state==nfinal + ninitial={mp[s]:f for s,f in initial.items()if s not in sinks} + nends={mp[s]:f for s,f in ends.items()} + ctx=dict(context);ctx['regs']=[x for j,x in enumerate(regs)if 2*v+j not in sinks];ctx['removed']=set(context['removed'])|{regs[s-2*v]for s in sinks} + if 'restored_endpoints' in context:ctx['restored_endpoints']=dict(context['restored_endpoints']) + assert len(ctx['regs'])==nn-2*v + proof=dict(selected=len(rows),entry=entry,removed_roles=sorted(regs[s-2*v]for s in sinks),targets=sum(len(r['targets'])for r in rows),redirected_writes=len(redirected),deleted_scalar_events=len(dropped),inserted_setups=sum(len(r['targets'])-1 for r in rows), + targets_never_sources=True,pivot_unwritten_on_interval=True,coefficient_pattern_checked=True,disjoint_target_sets=True,old_n=n,new_n=nn) + return out,ninitial,nfinal,nends,rows,ctx,cats,proof,nn,v,mp + +def run(producer,output_dir=None,selection_path=None): + start=time.monotonic() + spec=importlib.util.spec_from_file_location('sink_kernel_replay',HERE/'kernel_transform.py');km=importlib.util.module_from_spec(spec);spec.loader.exec_module(km) + W,C=producer['W'],producer['C'];path=Path(selection_path)if selection_path else HERE/'sink-selection.json';selection=json.loads(path.read_text()) + out,initial,final,ends,rows,ctx,cats,proof,n,v,mp=transform(producer,selection);ZERO=producer['ZERO'] + forward=km.replay(out,n,v);inverse=km.replay(out,n,v,True);controls=[km.replay(out,n,v,omit_category=cats.index(x))for x in('sink_redirect','sink_setup','sink_restore')] + needs={s:[]for s in initial};copies=Counter();temporary=None + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==1: + needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert temporary is not None and f==ZERO + elif op==2:assert temporary is None;temporary=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert temporary==(a,b,c);temporary=None + assert temporary is None and copies=={_CR:_NC} + per_role={};pairs=set();census=Counter(copies);reflected=Counter(copies) + for s,startframe in initial.items(): + H=Counter();pathframes=[startframe]+needs[s]+[final[s]] + for a,b in zip(pathframes,pathframes[1:]): + assert C.sub(a,b);gap=C.dimf[b]-C.dimf[a];assert gap>=0;pairs.add((a,b)) + if gap:H[gap]+=1 + for a,b in zip(reversed(pathframes),list(reversed(pathframes))[1:]): + assert all(not W.module.dot(x,y)for x in C.A[a]for y in C.B[b]);gap=len(C.A[b])-len(C.A[a]);assert gap>=0 + if gap:reflected[gap]+=1 + per_role[s]=H;census.update(H) + assert reflected==census + for f in {x for pair in pairs for x in pair}:assert C.nondeg(f)and len(C.B[f])+len(C.A[f])==_H + state=dict(initial);hist=Counter();cat=Counter();coeff=Counter();usedf=set(state.values());temporary=None;centers=[];count=0;tagged=hashlib.sha256() + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c)and C.dimf[c]-C.dimf[b]==f and len(C.A[b])-len(C.A[c])==f + state[a]=c;usedf.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert state[a]==state[b]==f and a!=b and c%2;count+=1;cat[cats[z]]+=1;coeff[abs(c)]+=1;usedf.add(f) + tagged.update(json.dumps([a,b,c,f,cats[z]],separators=(',',':')).encode());tagged.update(b'\n') + elif op==2: + assert temporary is None and b==n and state[a]==c and f==ZERO and z==_CR + state[b]=f;hist[z]+=1;temporary=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and temporary is not None and (a,b,c)==(temporary['source'],temporary['temporary'],temporary['frame'])and state[a]==c and state[b]==f==ZERO + temporary.update(after_event=count,scatter_reads=count-temporary['first_event']);assert temporary['scatter_reads']==_SCAT;centers.append(temporary);temporary=None;del state[b] + assert state==final and temporary is None and hist==census and len(centers)==_NC + oldH=Counter({int(r):c for r,c in producer['physical']['paid_histogram'].items()});delta=Counter(hist);delta.subtract(oldH);delta={r:c for r,c in delta.items()if c} + assert delta=={int(k):x for k,x in selection['expected_local_delta'].items()} + assert sum(r*c for r,c in hist.items())==producer['physical']['paid_rank_mass']-_H*proof['selected'],'each removed zero-to-full helper frees exactly its h rank' + assert count==producer['physical']['weighted_scalar_events']-proof['deleted_scalar_events']+2*proof['inserted_setups'] + inherited=set() + for inventory in (producer['physical'],producer.get('producer_physical')): + if isinstance(inventory,dict):inherited.update(row['frame_id']for row in inventory.get('used_frames',[])) + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for s,H in per_role.items():(sourceH if scut + assert not(set(r['dependent'])&{p for ps in r['dependent'].values()for p in ps}) + assert set(r['dependent'])|set(r['retained'])==set(r['targets']) + for t in r['targets']: + assert t not in owner;owner[t]=j + assert all(W.module.dot(C.cov[t],b)==0 for b in C.B[F]) + for t,ps in r['dependent'].items():assert set(ps)<=set(r['retained']);all_dep[t]=j + atclose[r['close_after_record']].append(j);groups.append(r) + # Check the literal old prefix responses, rather than trusting selected dependencies. + columns=[1<cut: + if actual-v in owner:assert i>groups[owner[actual-v]]['close_after_record'],'active target prefix used as a source' + if a-v in owner and i<=groups[owner[a-v]]['close_after_record']: + assert not(v<=actual<2*v);responses[a-v]^=columns[actual] + assert c%2;columns[a]^=columns[actual] + elif op==2:assert center is None;center=a + elif op==3:assert center==a;center=None + for j in atclose.get(i,[]): + r=groups[j] + for t,ps in r['dependent'].items(): + result=responses[t] + for p in ps:result^=responses[p] + assert result==0,('literal prefix dependency',j,t) + assert center is None + # Emit a concrete new word and regenerate every MOVE from actual needs. + cats=list(oldmeta['category_names'])+['target_prefix_setup','target_prefix_restore'];out=array('i');state=dict(initial);center=None;deleted=[];inserted=[];first_setup=None + def move(s,f): + before=state[s] + if before==f:return + assert C.sub(before,f),('nonnested actual use',s,before,f);gap=C.dimf[f]-C.dimf[before];assert gap>=0;out.extend((0,s,before,f,gap,0));state[s]=f + def add(a,b,c,f,z):move(a,f);move(b,f);out.extend((1,a,b,c,f,z)) + def batch(j,sign,f,z): + nonlocal first_setup + r=groups[j] + for t in r['targets']:move(v+t,f) + for t,ps in r['dependent'].items(): + for p in ps: + if first_setup is None and sign<0:first_setup=len(out)//6 + add(v+t,v+p,sign,f,z);inserted.append((v+t,v+p,sign,f,z)) + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6];i=k//6 + if op==1: + j=all_dep.get(a-v) + if j is not None and cut0 and c[\"cst\"]==20*18 and c[\"N\"]==20*c[\"R\"]+2*960*19+20*18, \"p10 parameter/count identity\")", + "old": "need(all(c.get(k)==v for k,v in BASE.items()), \"baseline parameter/count mismatch\")" + }, + { + "new": "len(c[\"ret\"])==h", + "old": "len(c[\"ret\"])==22" + }, + { + "new": "list(range(h))", + "old": "list(range(22))" + }, + { + "new": "len({x[1] for x in c[\"ret\"]})==h", + "old": "len({x[1] for x in c[\"ret\"]})==22" + }, + { + "new": "dim[f]==h-2", + "old": "dim[f]==20" + }, + { + "new": "by_role[\"c\"][h-2]+=1;by_phase[\"copy\"][h-2]+=1", + "old": "by_role[\"c\"][20]+=1;by_phase[\"copy\"][20]+=1" + }, + { + "new": "for k in range(h)", + "old": "for k in range(22)" + }, + { + "new": "\"temporary_centers\":h", + "old": "\"temporary_centers\":22" + }, + { + "new": "\"Cc_copy_additions\":h", + "old": "\"Cc_copy_additions\":22" + } + ], + "source": "vendor/neutral/portable-code/complex_labels.py", + "source_sha256": "265de648d956281d8081a938886cadefad6aafa3a693e329d7517f4d5c5011b5" + }, + "complex_scalars": { + "derived_sha256": "a1b5701f4d6ef42ee5ea8168235b6e0eab0a3f786f57bb9023738e094787e0b3", + "parameterizations": [ + { + "new": "V=R=H=None\ndef configure(c):\n global V,R,H\n V,R,H=c[\"v\"],c[\"R\"],c[\"h\"]\n need((V,H)==(960,20) and R>0,\"p10 scalar dimensions\")", + "old": "V,R,H=1320,9036,22" + }, + { + "new": "(\"recursive_center\",k,H-2)", + "old": "(\"recursive_center\",k,20)" + }, + { + "new": "\"Live-label transitions are independently recounted and charged by the label and splice checkers; not scalar macros\"", + "old": "\"68230 existing live-label transitions, unchanged; not scalar macros\"" + }, + { + "new": "0<=k0,\"p10 splice dimensions\")", + "old": "V,R,H,N,W=1320,9036,22,11676,14316" + }, + { + "new": "0 if ori=='forward' else f,H-2)", + "old": "0 if ori=='forward' else f,20)" + }, + { + "new": "((f,0,H-2) if ori=='forward' else (0,f,H-2))", + "old": "((f,0,20) if ori=='forward' else (0,f,20))" + }, + { + "new": "counts['center']==H", + "old": "counts['center']==22" + }, + { + "new": "family='p10FiveStageComplex',m=5*H,live=W,physical=W+R+H+1", + "old": "family='baseline5stageComplex',m=110,live=14316,physical=23375" + }, + { + "new": "centers=[W,W+H],tableau=[W+H,W+H+R],coefficient=[W+H+R,W+H+R+1]", + "old": "centers=[14316,14338],tableau=[14338,23374],coefficient=[23374,23375]" + }, + { + "new": "recursive_volume_denominator=W", + "old": "recursive_volume_denominator=14316" + }, + { + "new": "maintained_guard_changed=True", + "old": "maintained_guard_changed=False" + }, + { + "new": "work=list(range(W,W+R+H+1))", + "old": "work=list(range(14316,23375))" + } + ], + "source": "vendor/neutral/portable-code/complex_splice.py", + "source_sha256": "9dee45f4731c861c07502062fcdf993df332762978fb69c6636e57ed45a4ef44" + } +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/GEOMETRY.json b/research/p10b-cross49-pr327/vendor/complex-reserve/GEOMETRY.json new file mode 100644 index 0000000000..b930f82bc5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/GEOMETRY.json @@ -0,0 +1,14 @@ +{ + "commit": "f010392c923279e3dd59ef3aa5fedad23affc5fd", + "path": "sources/Work__BridgeGeom__B2.lean", + "repository": "https://github.com/jacobalansussman/wht-power-saving-lean", + "required_literals": [ + "def bankPrice (h : \u2115) (\u03c6 : \u2115 \u2192 \u211d) : \u211d :=", + "(bcost \u03c6 (2 * h - 2) + bcost \u03c6 (2 * h - 2)) + 2 * bcost \u03c6 (h - 1)", + "+ (bcost \u03c6 (2 * h + 2) + bcost \u03c6 (2 * h + 2)) + (bcost \u03c6 4 + bcost \u03c6 4)", + "live roles `card \u0393 * (4 card T + card Sl)`" + ], + "scope": "Generic source statement used with the unchanged pinned Work/GCert/Chain/Geom.lean bridge2_gcert; read and byte-bound here, not a new Lean build.", + "sha256": "ea4f37c283b6070577f5b4f644fdc2232ae1114f480b85cd765209dfc863de8d", + "upstream": "Work/BridgeGeom/B2.lean" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/LICENSE b/research/p10b-cross49-pr327/vendor/complex-reserve/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/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/p10b-cross49-pr327/vendor/complex-reserve/MANIFEST.json b/research/p10b-cross49-pr327/vendor/complex-reserve/MANIFEST.json new file mode 100644 index 0000000000..afcd5fc662 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/MANIFEST.json @@ -0,0 +1,236 @@ +{ + "files": { + "DERIVATION.json": "395e7d39b50d5aeb1cb83ce01bbccd80fee5b7fe3b540ed0741fa8ba626bbafa", + "GEOMETRY.json": "dee2bc3c443a3847e433b0ad719ab6ef7c7c4798272cfe34899f91edbcd5a7c0", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "4c2a6d85a3ec06568022c9826be2f6abbc2f2ae94183ccdee906dd96dbfba2a5", + "README.md": "17d65551304e48a5385da9f5a47723fd03a836884921f368a3018d32c4d53a5b", + "SOURCE.json": "9e593b603f578d5aa8d6d9fc28fdf67cfdf652e2dc650f9ed0a7fb7135eb1bdc", + "code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "code/complex_labels.py": "6094a8114c599b3826a914e0f63c7d9cdae7b8b9a9cc26be9b685447698fae9c", + "code/complex_scalars.py": "a1b5701f4d6ef42ee5ea8168235b6e0eab0a3f786f57bb9023738e094787e0b3", + "code/complex_splice.py": "06125aecb0cd17db8c8832887c9a8640333f69b9b083dba82b9fddd989ef0384", + "derive_checkers.py": "362a6049efb16d548f9b6d92aedcf61ecae289faf638bd80fa0facbff2221e97", + "finite_guard.py": "130af319e40767af714106ad4a0b7afd9a159c5b5c315bc8b495dd5e90496771", + "requirements.txt": "1668a3152e33680d94637b13421c15e68bd97cd8701f7f555c691f5bc5c0b9f3", + "sources/Work__BridgeGeom__B2.lean": "ea4f37c283b6070577f5b4f644fdc2232ae1114f480b85cd765209dfc863de8d", + "vendor/neutral/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/neutral/MANIFEST.json": "dce8987eca4c22b3b7fb0bc4e2f1c21851fdfc73f8b7757f4c27f2442b677837", + "vendor/neutral/NOTICE.md": "80a48119c4417c86aabe7bf5f4c6446fb538f1d76d2a32ff2c840c3663acec47", + "vendor/neutral/PROOF.md": "d6f5ddee8fdb2877eeac90020c8348c1fbf8b3e73dffed8ee4d5f417a005f217", + "vendor/neutral/README.md": "461ec7bc3075da9da8ad0b15be6a28c60523f4bb4ad155c477c29f2a3566544c", + "vendor/neutral/SOURCE.json": "9c37a9bb608b199c29d9d9eb39425fcb97f569e37995ce67d48d04eaa2bfbe7f", + "vendor/neutral/frame_retime.py": "1a59055c867cdf21711aff6cd958473472a9140f6217a199d0e761463b8b746a", + "vendor/neutral/plateau_retime.py": "ceef31f7fe4b18bf9fd233096939d6d423c13acdb6279ea0aca86ee5198dfde1", + "vendor/neutral/portable-code/DERIVATION.json": "485ed65227a8ee286491886cebaf64e32bc76c8f0ca3223ad583bf42de6c4e4f", + "vendor/neutral/portable-code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/neutral/portable-code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/neutral/portable-code/complex_labels.py": "265de648d956281d8081a938886cadefad6aafa3a693e329d7517f4d5c5011b5", + "vendor/neutral/portable-code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/neutral/portable-code/complex_splice.py": "9dee45f4731c861c07502062fcdf993df332762978fb69c6636e57ed45a4ef44", + "vendor/neutral/portable-code/portable_complex.py": "198b5c123c3572a231612b79988776d6601af5e08c6cd3813ac6f180796498e3", + "vendor/neutral/stages/component-selection.json": "b977093e39dfaf1d23f2eda2b4a78061fb36c96f726a18c0dae509c148ffdcc3", + "vendor/neutral/stages/neutral-down-selection.json": "85101e196604cde43a478c573077bfc208763c95ddc72391f2876624660ae3d1", + "vendor/neutral/stages/neutral-up-selection.json": "eaf35b14e2af56c095468ed5d6406ee00efd698eaf6dd02be876d4784807ecb3", + "vendor/neutral/stages/single-selection.json": "72e2ec3b827c8b9a3bbe00ebff444c5d1ea43f7f0b350a1e367e368fb85939ac", + "vendor/neutral/vendor/pr315/BANK-PROOF.md": "07b6f3ef808a8a98428a8b14709f16cb40bcc2c93943dd57932b80d62206963a", + "vendor/neutral/vendor/pr315/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/neutral/vendor/pr315/MANIFEST.json": "3474a31b64a6647a558a0f07e60a3e7364b59f9bb792ba8f69fe85dfecfd68f9", + "vendor/neutral/vendor/pr315/NOTICE.md": "2c709df433e7c8e1090d032015c85cf1b0a4beb9c51d13e239282456fbffb7e7", + "vendor/neutral/vendor/pr315/PR-STATEMENT.md": "cf8f0341e4ab6e45bd58176aeb8628bfe0bc439c1a6083084125f868426ff93e", + "vendor/neutral/vendor/pr315/PROOF.md": "8670879444ff0536a80eaa66a421c6c819ab77b38941e38aa86e697ffe86db2f", + "vendor/neutral/vendor/pr315/README.md": "3139213c18924fd5925fe92ef7bedb3bb6c15a4ee0dc8e2056a3082f9ff68eab", + "vendor/neutral/vendor/pr315/UPSTREAM-PR234-NOTICE.md": "ce978c8dfc8a2b36eed7a53014b1a792248b22ef4cee3edd8adab825a571c429", + "vendor/neutral/vendor/pr315/UPSTREAM-PR234-PROOF.md": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "vendor/neutral/vendor/pr315/bank_check.py": "b67d1e5870239a456a732caa8e56b836d3fa472f451790700276ce706bed1da8", + "vendor/neutral/vendor/pr315/bank_template.py": "8c131d76ebfa7788f18020d4b7a8b5dbf84c1387c6879a0046bd158cff840016", + "vendor/neutral/vendor/pr315/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/neutral/vendor/pr315/bitword/NOTICE-PR200": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "vendor/neutral/vendor/pr315/bitword/README.md": "1d4fe7b5300f3c2fc2f3a1276a73f58c01afba72ae13d0c5e75644b13a0dc175", + "vendor/neutral/vendor/pr315/bitword/bit/base_word.py": "9fe3a81b7561d2b09c086f63fac4626e88a32369ef8bc5579c94878de1218a89", + "vendor/neutral/vendor/pr315/bitword/bit/word.py": "88554981690cb43c4286fd962dddf0f20c58cf0c6cd58f0b8081ac88b16531ff", + "vendor/neutral/vendor/pr315/bitword/producer/data/arcs_p10.json": "ac4555382b2cf4e6adbeabbdabb15c79f1485877ec169a49dc1fa49d5a614185", + "vendor/neutral/vendor/pr315/bitword/producer/data/local_design_p10.json": "5309396966a9886906cf9efc3f71aee4441e24a222cc39f1fcf3407d7fde5ec3", + "vendor/neutral/vendor/pr315/bitword/producer/data/pm_p10.json": "7a734a0f4a20d38a15d2e88dfc4c0498ceec38400143125855b39b0446d1db2a", + "vendor/neutral/vendor/pr315/bitword/producer/data/qmod_p10.json": "40ffb168466bc016bc18a2bbdde65d38b7fd1b406d8a4026f1a6e517fe153459", + "vendor/neutral/vendor/pr315/bitword/producer/descent.py": "873fdf8d1281e034a238e09968ee66d77dcc236616305893c1aaee2b516299ff", + "vendor/neutral/vendor/pr315/bitword/producer/make_physical.py": "ac929030b1f465d5b4e9073635782a9f7c9ac22398cc101c66c8af771e9759cf", + "vendor/neutral/vendor/pr315/bitword/producer/paired_cube_bit_word.py": "1a24e1d57d92579801d9bd2048dc7804801faac0566bebed790281775cd808ce", + "vendor/neutral/vendor/pr315/bitword/producer/regenerate.py": "2929047b40a3a2dcbadd7df95c8cba0a7fc68abb705f878b6767a41f90fac02e", + "vendor/neutral/vendor/pr315/bitword/references/pr168-v4/SOURCE.json": "21a412177c9309d89472aabf4c67618d7a546811f7e68a5904304ae46a98d27c", + "vendor/neutral/vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "vendor/neutral/vendor/pr315/bitword/selected/bit/frames_p10.json.gz": "f191ca102966c77e6865e18751d8a17922ce46015dcbb42789ad735925886ec8", + "vendor/neutral/vendor/pr315/bitword/selected/bit/graph_p10.json": "41e50cb6ccb5a61ff48c8d9ec2a9014f2dcdff87afd3c42bba9cd02b92605a3f", + "vendor/neutral/vendor/pr315/bitword/selected/bit/kchron_p10.json": "228b7e2343d31191cb054c29b1c253ffdb53b768a60cb34ab3db1c1df0abb518", + "vendor/neutral/vendor/pr315/bitword/selected/bit/profile_p10.json": "5bbfa6a9e60095d77d6569f49a2d250d812fcbb8d9f25f57c15c4c7f13e4fabb", + "vendor/neutral/vendor/pr315/bitword/selected/bit/word_p10.json.gz": "12c19c65991a12790b3f1ac772a219c58d439dd9ed655d3eefee9562502e004c", + "vendor/neutral/vendor/pr315/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/neutral/vendor/pr315/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/neutral/vendor/pr315/code/complex_labels.py": "0c288a7923ff5923f8b3a1bb425b17679633e02284a8c32898bbb2fc24ca131a", + "vendor/neutral/vendor/pr315/code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/neutral/vendor/pr315/code/complex_splice.py": "b1b4847652a9968d7afb8dd529bc371b656afa240f2e393f03c187dca250c4ce", + "vendor/neutral/vendor/pr315/code/geometry527.py": "734cb349cc109fc7fe6b074ecb77ff80544f630dee331000f4d0ab79e77ac4f3", + "vendor/neutral/vendor/pr315/code/global_lowering.py": "53b7a45006893218e6eb7fed026ef2e51809f8f04ef25a07cf4e1ca563de30fa", + "vendor/neutral/vendor/pr315/code/physical527.py": "4d4bf47ee083d3864f76907428f4e813a147f7ea6ab0b8cd1536adcd2c469395", + "vendor/neutral/vendor/pr315/discovery/REPIN.md": "74140b755d66647b83115247a278a7e1009efff6e49995a16fcc1528cc43eed7", + "vendor/neutral/vendor/pr315/discovery/repin.py": "8bd21ad00c07d2f9cbde3a882721882d12e0e50851c720799b449599f205654f", + "vendor/neutral/vendor/pr315/finite_check.py": "7383f1cea130244e5b35fc8c707d132091b5c81943f7e61fd4c9a778c77344ee", + "vendor/neutral/vendor/pr315/inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/neutral/vendor/pr315/inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "vendor/neutral/vendor/pr315/inputs/complex/NOTICE-PR304": "319165f41cf97f37b587c92351289db2d287ca7a90845338318086d5ff447e84", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/NOTICE": "c39fddd8a76cd7b14fd19e71a903eebd62e21fd7c00e76e658a190d96074020b", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/exact_result.json": "250aa8f9037e9b6fd59291a9c98ff3c7242ec384c6129c95bf5223dc6c9e77a9", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json": "d5a171674141bd2a4ac2e099c9f19dee3600482f06d4f83245a427f402c6b19b", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json": "cb71db4928088f0e20913dfe33df215c2a00e2bc33968d8d501f4f647cc920bc", + "vendor/neutral/vendor/pr315/inputs/complex/centre-mw/tmod_final.json": "3ed4ffb275c3b7fc609d617a2c2b60d761306a1fe306492dc1d9ea9940c41073", + "vendor/neutral/vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz": "bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34", + "vendor/neutral/vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/neutral/vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "vendor/neutral/vendor/pr315/inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "vendor/neutral/vendor/pr315/inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "vendor/neutral/vendor/pr315/inputs/complex/source-pins.json": "c32bb00a73aa82043ee9727d9d7eda9aedb6518e55cc638df53cf6611e54e146", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/neutral/vendor/pr315/math_check.py": "e9372d61a9d7841bbf3a61a44603627f2a7703b6304106640a83f26c8f899058", + "vendor/neutral/vendor/pr315/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/neutral/vendor/pr315/notices/PR210-coordinated-crossover-NOTICE": "9fc5561c0995892dbdde777c713899486920c32d3562392f5f72377a4953bf98", + "vendor/neutral/vendor/pr315/notices/PR230-NOTICE": "7dfbad087ee49b74fd5075d517eaa263c5dd3d4fbd4c69bfba34ee1cb55e837f", + "vendor/neutral/vendor/pr315/notices/PR230-PROVENANCE.json": "19957e28a8ad26281bfe8bfaf8ae16191be53e729a8870a6154671b3384959d4", + "vendor/neutral/vendor/pr315/notices/README.md": "d1fcf4e4209d5966282ac8202cf461bd575119a7aaf2ca64e8746810fe5259b8", + "vendor/neutral/vendor/pr315/notices/base-bit-PR200-PR202-NOTICE": "c9850418622aea8d1382a230306c940947b5da818f4854b4b272ed60cf239f6c", + "vendor/neutral/vendor/pr315/notices/source527-loader-NOTICE.md": "ee632728cc4d89565292d288f8289f483ac794b5d02cc6e42c2b2c43c43ff1d8", + "vendor/neutral/vendor/pr315/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/neutral/vendor/pr315/parity_transform.py": "e068874694fc15135a0950b7361e537f48688d9ac9f0a05c2372f1deb813d085", + "vendor/neutral/vendor/pr315/portable_bit.py": "368ef679009f7272fffd30fe18aeb12722e00612e040aa6eb2a4dbd019486a5a", + "vendor/neutral/vendor/pr315/portable_complex.py": "a09d19a4efa54c0646b06ccb5393e3f1eb928b2e002738bb2a2af2a2ba7efb3a", + "vendor/neutral/vendor/pr315/prepare.py": "c1a215713f47b954c28a3f0d48490a055fb75f6af31a0e6b5248802d6951a09b", + "vendor/neutral/vendor/pr315/prime_check.py": "045831f41b9f4208538ba4b17c9354c125acb33b5f538f7a30f4813c2948c57c", + "vendor/neutral/vendor/pr315/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/neutral/vendor/pr315/proof/FINITE_BIT_ACCOUNTING.md": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "vendor/neutral/vendor/pr315/proof/INTEGRATED_PROOF.md": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "vendor/neutral/vendor/pr315/proof/PARITY-CONTRACT.md": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "vendor/neutral/vendor/pr315/proof/README.md": "435c699dc07400366b84fe43d981cd2f6c95a4837e636fff8fe6a25897d853c4", + "vendor/neutral/vendor/pr315/proof/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/neutral/vendor/pr315/proof/primary/03-motifs.tex": "ed76761194988a01af77ead0ea6469cb5dcd29690ab985a0b5a4006b0f2b69bb", + "vendor/neutral/vendor/pr315/proof/primary/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/neutral/vendor/pr315/proof/primary/PROVENANCE.md": "dd9054c58aa92c44b0ef5f691ad4dc52b8ead2f20a9843d4399d6c300d616023", + "vendor/neutral/vendor/pr315/proof/primary/UPSTREAM-README.md": "8d1ceff898a4e0e681679f91c4def485820be9e99f04e4861f2ce601a364723e", + "vendor/neutral/vendor/pr315/proof/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "vendor/neutral/vendor/pr315/proof/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "vendor/neutral/vendor/pr315/raw_ledger.py": "782c2aef0b6225b0e99f73abbc98681d21125c17c024ab0b8a0e4d0382182ef0", + "vendor/neutral/vendor/pr315/requirements.txt": "25f9f1fb1988b230147a1d3092d34e09c069eb7a6c6d6df46b3973b9f2d36efc", + "vendor/neutral/vendor/pr315/scalar/word.py": "e675d4eb9d90ff0b44279fae0b46f1a8b39f65421cc38454b70a6b75d0e10b42", + "vendor/neutral/vendor/pr315/scalar_check.py": "520c4549de9200811dd594d15cdf73de28f287b04778965491b2c5b3f6d6ed5a", + "vendor/neutral/vendor/pr315/verify.py": "b0d2a2cf1e348545dbace3c5f3e98b1c91c1f7773969decdc76ca4240c174599", + "vendor/neutral/vendor/pr315/virtual_check.py": "ec952d99c151e6e336631210e598d58478293491ca01842fd4c9d0a4b57b4e5a", + "vendor/neutral/vendor/pr315/word-pins.json": "25c33dbc59c4add386777e9e88c079cbfe14ea77ec821eef8e47659ea2c1c67a", + "vendor/neutral/vendor/pr315/word_pins.py": "3cc2662630af62aaabb6966f03b5d01a2f06a5f3490c6979a3e54daf550958b4", + "vendor/neutral/verify.py": "303e17014e231a35338f5891b650d1d3f671a6c8050acff47b44f5c8bbfa6302", + "vendor/neutral/verify_supplier.py": "2388a2a43da5b7e8fa3b4126abb647eff03469facf62e4a92f72cb92dd590eb5", + "vendor/pr327/NOTICE": "193a094dbd9a881d8fe4f4e6f0bf535506b2761cdad696919b60fc6af5256855", + "vendor/pr327/PROOF.md": "43fba6fac93277c70e527e7f872553518c8f53485b7d8519ca6e340588885055", + "vendor/pr327/README.md": "a4eaa092c479fd0a44ffe296b15869a2b33a17be61ff87d7bd9be43f115b1fa5", + "vendor/pr327/SOURCE.json": "c01b6121956aa03fde78f27c969b66107b68e8d7d70684d6fb999d00c77e090e", + "vendor/pr327/aligned_word_p.py": "bca04f6027c6c6696c1593767487dffa0965cbd7c9fc83493552de4569857757", + "vendor/pr327/centre46.py": "40e36dbb4b8a6a2ddb7c947433522d31efbb1ed92969eab7b9da03dacf4e8f9b", + "vendor/pr327/certificate/expected.json": "c39c5ad6c40fcead0522db883bc8fde44b06caf7ec5076a0fd897854d83b3103", + "vendor/pr327/certificates/gcert1-p10-anneal-mw-flow.json.gz": "117d1cf1ad9c0ab3fac42557cf4aa4f7166700e8c005eb3f928b187544f23f49", + "vendor/pr327/certificates/gcert1-p10-anneal-parity-flow.json.gz": "cad6f6fb057d154eeb8f380c69d1361b6d788c8a27991c4d217543534b253832", + "vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz": "274d1bd671eb74d4fa8f63bb7048d929d6b51f6275a5ff6f69e04588f03d5c7a", + "vendor/pr327/certificates/gcert1-p10-centre-parity-flow.json.gz": "854d95b11da82335d9b3e0843b0885eb21c0170bb05f6d430d809da4868bb09e", + "vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz": "d927d0120af36e8d3699c1c53010cdd293e19a484825905e0946b14c0c0912cf", + "vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz": "d98660ef9cfb6700271a1eccbdec4b1a49c378b03e6ffa88f7fc8f0b97f2f2e4", + "vendor/pr327/discovery/README.md": "76204389ae61bac9c27672dda3a17ecab6b44df732a1171665b438b29ccc51c7", + "vendor/pr327/discovery/add_centre.py": "891c89f436ebe9e785c98b5e48b85a875dcf18c08fe5f6aac754b59b36502512", + "vendor/pr327/discovery/extend_floor.py": "6762dd49b801f2419416bcf2c60b6390605a382d252b30679cf53a024aaa8126", + "vendor/pr327/discovery/make_layer_p.py": "ea339b774109bbfb4ca5c00ff164d7ddff4c3c97433ab064b0a8d78744c3469e", + "vendor/pr327/discovery/pairs_mw_p.py": "7f619d53d1109626f8f3307b1735606572645518d07ac4f423b851939ff56382", + "vendor/pr327/discovery/pr233/README.md": "1bd628da0afbccfd9baafc2d51cd96a51a4e46c782b783a1c16bea04fd88d98c", + "vendor/pr327/discovery/pr233/bundles.py": "71c81bc858e62e03e2a5230c16c4c199a027c24402cdc937bd4ded60f4ee3286", + "vendor/pr327/discovery/pr233/joint.py": "e4857418f6e16d6fbb1815d3c4148116e35a6b9940cb57acb2b563da5621b92c", + "vendor/pr327/discovery/pr233/matching.py": "59d1cd30e67d3511cf799140eb248e785e77aaccff7c47a22a0feef8fb6f021e", + "vendor/pr327/discovery/pr233/pairs_mw.py": "aa927718ad27bebcfa2bddeb3704d4721433c2d4e6b6e218ceb9d28a07cd6c83", + "vendor/pr327/discovery/pr233/physical_opt.py": "cbfd06026a44df30944781262848c88ec987ca5e80381e35ae7ad715a9db1fce", + "vendor/pr327/gcert_emit.py": "10d2fc3f1f3d8cda5f0b07720f51b5a6fd40cfc1490d361939ff93e5470805d3", + "vendor/pr327/gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/pr327/gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/pr327/layers/anneal/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/pr327/layers/anneal/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/pr327/layers/anneal/matching-arcs.json": "96c87aac70b6ef0671872d142ccba66448ffa8f5f42c35f32c0f655668251f02", + "vendor/pr327/layers/anneal/physical-frames.json": "7b24c9d5498bcdf96a72a061a95ff7b4ff2cda0bef5d7c7307afe72685959422", + "vendor/pr327/layers/anneal/physical-pairs-mw.json": "2af485c88a240c1c96d0c5b5a31851587eb99a8513e18becd49b3a7e74bcf3a8", + "vendor/pr327/layers/anneal/physical-pairs-parity.json": "0bff907fa41409fb1269323001a2ef313fcfaf03937597af7a63f6c4dc6854e4", + "vendor/pr327/layers/centre/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/pr327/layers/centre/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/pr327/layers/centre/matching-arcs.json": "ea7300db2cdb324ddf680bee6d447e9a9994e0b77bf2cf7fbf25e7cd1f6cb16e", + "vendor/pr327/layers/centre/physical-frames.json": "1f9813eee92459b341fd437f4ec3a87ae9b440384a277450f483112481381b12", + "vendor/pr327/layers/centre/physical-pairs-mw.json": "6c910a4ed8fe325547d9da065edbe8176969048724c0f96ee43a075b2813bd53", + "vendor/pr327/layers/centre/physical-pairs-parity.json": "1ad1c36760848259270ab1710bb2ce0dea877195d3a763e0c9fb5c7624a751bc", + "vendor/pr327/layers/pr168-v4-cut/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "vendor/pr327/layers/pr168-v4-cut/kernel-pairs-parity.json": "d063546163d14e380747210cd0a060519d47061df1726aeb4707efc400c2a550", + "vendor/pr327/layers/pr168-v4-cut/matching-arcs.json": "22a28397c5c249438c36d087c14a16e99379891d45b2ad941af38944c971e166", + "vendor/pr327/layers/pr168-v4-cut/physical-frames.json": "8a1ae36d0d99d4dc9ee82a76422bcbd902dce360fcdd55a7a23fc17e4aa801c4", + "vendor/pr327/layers/pr168-v4-cut/physical-pairs-mw.json": "d12efcdd3091134c7506eed3e53c02dab1fa566d30bc3a0ad96559f767036dd3", + "vendor/pr327/layers/pr168-v4-cut/physical-pairs-parity.json": "5451e37e128850c6ae440ffda2010bd28d7fe8c127865387b662b4efd92cd744", + "vendor/pr327/module_cut.py": "4004cce8e4b392d90db02862e1d631aca586483a59532de9eca426504ff1293f", + "vendor/pr327/modules/pmod46_pc1_p10.json": "7f0bfd151e7ec0b2a74bc6fd994acde477e23f1425f4da798202f510489b6a3c", + "vendor/pr327/modules/pmod_p3_p10.json": "5bb49c8befbbeb2f38a50c5b2ac836261074ef578a0a5697a8267b23551e96ab", + "vendor/pr327/modules/pmod_pr168_p10.json": "36053689bec46354916a6f412b891dd5b510edcb546ea6cf9bcbaddd34c1fe28", + "vendor/pr327/modules/qmod_pr168_p10.json": "c62504c96cb68658c4eade0f81cfb3a3733674519ebf7ddda1acbc18176e092b", + "vendor/pr327/modules/qmod_sa1_p10.json": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6", + "vendor/pr327/modules/tmod_pr168_p10.json": "a81da2ba642ccf448a542825b02d678d430c9078e22f8a80813d409ae3c5cb48", + "vendor/pr327/modules/tmod_t2_p10.json": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04", + "vendor/pr327/normalize_scatter.py": "403ef1db92bafcb973857063bc96ec9ac326838b7595af642d5f11fef3350211", + "vendor/pr327/paircheck.py": "acde7bef664c2b0aa9f0c99424053ff4cf5091e4eb7bba7e048f5a51e0933b31", + "vendor/pr327/references/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/pr327/references/pr233-layer/NOTICE": "5826b9f155b70d496d729cbaddeadb881abfb68da77f82dfc1746ddfc753313b", + "vendor/pr327/references/pr233-layer/SOURCE.json": "9ad0549ba2403e8d84d7c0c8e71e5ca952a0604ad626f403426164bd4bc2982c", + "vendor/pr327/references/pr233-layer/baseline-pr202.tar.gz": "5d08386f71c421d2b83b21020e3b74198e9d0c75884d7d81987307740d98883f", + "vendor/pr327/references/pr233-layer/certificate.json": "691cb0aaeb0d6b993e1e1e5116ae7a5c57af058a8c413249016347d1b40d3b90", + "vendor/pr327/references/pr233-layer/verify.py": "cd61a8c61462b4eee95c0858335a9a11bdf1ff8e8e63ebb1e488da29f061ca71", + "vendor/pr327/references/pr233-layer/witness/kernel-pairs.json": "e33b753fc4519170373207b0527b9cb53e0b552e2a27f48f72381a881c7a227f", + "vendor/pr327/references/pr233-layer/witness/physical-frames.json": "1a6c215cdc58216f7ec96fb898a471e25d094fd86de085f6c06e86fd8997bfad", + "vendor/pr327/references/pr233-layer/witness/physical-pairs.json": "e6409fffbf5f3b1ac6434acf2e426503de3a8a18537b8fee761fc4fc931fb896", + "vendor/pr327/references/sussman/pr193-blocks.json": "4049d066f71119fa72bbc37f7db753ce1e79ae5a69aef9cd2651d618bea5c855", + "vendor/pr327/scripts/moment.py": "0c7c68122cea18503e973ccf0d244adf8fa0edab95f104393528c6c57f24863a", + "vendor/pr327/scripts/source527/NOTICE": "c461d8aef9a0c1ec5015a300bdbf37e566610d50139d730ba677eb0df5d7ffe0", + "vendor/pr327/scripts/source527/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/pr327/scripts/source527/moment.py": "9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7", + "vendor/pr327/verify.py": "05d72330a82453520f755a7834caf5dd2c9eaae31a9aab7c5d3db5d1775d341d", + "verify.py": "aaf8c9adbd463e091fd9ceb1f7d6511869a5b1c8ca81b57e0010eb874628fdf5", + "verify_supplier.py": "a16ec0de0b75bb406edb5daae620793dc292250cb3b26f47df4352b69cea355e" + } +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/NOTICE.md b/research/p10b-cross49-pr327/vendor/complex-reserve/NOTICE.md new file mode 100644 index 0000000000..b215ff6287 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/NOTICE.md @@ -0,0 +1,26 @@ +# Attribution and scope + +Prepared for eumemic with substantial OpenAI Codex assistance; Apache-2.0. +This package contributes a source-bound operational transfer of the public +PR327 p10 complex supplier: parameterized complete scalar/frame splices, +recomputed p10 finite invoice and precision guards, generic B2 source binding, +and a mandatory full public-source replay before admission. It claims no κ. + +DreamingOfClouds (Anthropic Claude assistance) authored PR327's p10 modules, +public producer pipeline and certificates; its complete NOTICE is preserved +under `vendor/pr327/NOTICE`. The p10 query modules and certificate are used +byte for byte. The unused experimental modules derived in this chat are not +inputs to this package. All historical contributors, including icekylinx, +Avi Eisenberg/ikeboy, chafreaky/Chafik Boukhalfa, Jacob Sussman, eumemic, +DaysSky, hcg890 and SovereignSteak, retain the detailed attributions shipped +by PR327 and by the unmodified PR315 reference package. + +The reference label/scalar/splice/guard code comes from PR315 through the +frozen neutral-retiming package under `vendor/neutral`; its original notices, +source pins and manifest remain unchanged. This package does not use that +package's retimed p11 candidate. Every actual code adaptation for p10 is +logged in DERIVATION.json and reconstructed from the source bytes at runtime. +Jacob Sussman's gx and gxcore remain byte-identical and his generic B2 Lean +source is separately pinned at f010392c923279e3dd59ef3aa5fedad23affc5fd. +Credits do not imply endorsement or independent review. No exclusive priority, +new Lean build, unconditional multiplication theorem or runtime claim is made. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/README.md new file mode 100644 index 0000000000..35dc5de5c7 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/README.md @@ -0,0 +1,38 @@ +# Portable PR327 complex supplier transfer + +This package admits the strongest public PR327 p10 complex supplier for a +future outer assembly. Its fallback-inclusive coarse saving is exactly +`779597612622781/10^18`; no bit supplier or combined κ is claimed. + +Run from a Python 3.11+ environment with the pinned NumPy/SciPy dependencies: + + python -B verify.py --output /absolute/fresh/external/output + +The output must not exist. Every run checks every package byte, executes the +complete vendored public PR327 verifier (four anchors and all six producer +chains; typically about twelve minutes), expands the pinned strongest +certificate, then runs both exact scalar checkers and sign controls, both +complete reflected scalar/frame splices, twenty splice/global mutation +controls, the p10 five-stage ledger, the finite precision/row invoice and two +independent rational moment engines including next-grid exclusions. A saved +PASS receipt cannot replace either mandatory stage. Source bytes are checked +again before VERIFICATION.json is emitted. + +The candidate has h=20, m=100, v=960, R=6455, W=10295; the five-stage ledger has +247575 calls, rank mass1027460 and deficit2040. Copied centres have rank18; +maximal child rank42 gives the completed-child induction gap115B. Actual cover +and physical-stock bit lengths, not p11 literals, determine the row charge. +The source permits the conservative stock bound10000 with inherited bit-coarse +reserve9909 and ordinary-leaf reserve252; the fresh physical stock fits that +bound and the retained exterior coefficient20161 is rechecked explicitly. + +Generic `bankPrice h` and `bridge2_gcert` source statements supply the +h-dependent five-stage layout. The former is pinned under sources/ and the +latter stays in the original vendored source pins. No Lean build is run here. +The conditional dirty-lift, Clifford geometry, common-grid recovery, complete +stream routing, finite-cover and analytic interfaces remain inherited. + +An outer package must call this verifier freshly, bind VERIFICATION.json and +SUPPLIER-CHECK.json, then recertify the chosen complex profile in its own +assembly. Historical binding-side notes in the unused p11 reference vendor +have no bearing on which supplier binds a future assembly. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/SOURCE.json b/research/p10b-cross49-pr327/vendor/complex-reserve/SOURCE.json new file mode 100644 index 0000000000..2545b6082e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/SOURCE.json @@ -0,0 +1,85 @@ +{ + "candidate_compressed_sha256": "274d1bd671eb74d4fa8f63bb7048d929d6b51f6275a5ff6f69e04588f03d5c7a", + "candidate_path": "vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz", + "candidate_sha256": "370fae730670b375dd864b8a3fdfacfb166e5d59f215b78e524ba9a8a53923ff", + "complex_coarse": "779597612622781/1000000000000000000", + "neutral_reference_manifest_sha256": "dce8987eca4c22b3b7fb0bc4e2f1c21851fdfc73f8b7757f4c27f2442b677837", + "public_expected_sha256": "c39c5ad6c40fcead0522db883bc8fde44b06caf7ec5076a0fd897854d83b3103", + "public_files": { + "NOTICE": "193a094dbd9a881d8fe4f4e6f0bf535506b2761cdad696919b60fc6af5256855", + "PROOF.md": "43fba6fac93277c70e527e7f872553518c8f53485b7d8519ca6e340588885055", + "README.md": "a4eaa092c479fd0a44ffe296b15869a2b33a17be61ff87d7bd9be43f115b1fa5", + "SOURCE.json": "c01b6121956aa03fde78f27c969b66107b68e8d7d70684d6fb999d00c77e090e", + "aligned_word_p.py": "bca04f6027c6c6696c1593767487dffa0965cbd7c9fc83493552de4569857757", + "centre46.py": "40e36dbb4b8a6a2ddb7c947433522d31efbb1ed92969eab7b9da03dacf4e8f9b", + "certificate/expected.json": "c39c5ad6c40fcead0522db883bc8fde44b06caf7ec5076a0fd897854d83b3103", + "certificates/gcert1-p10-anneal-mw-flow.json.gz": "117d1cf1ad9c0ab3fac42557cf4aa4f7166700e8c005eb3f928b187544f23f49", + "certificates/gcert1-p10-anneal-parity-flow.json.gz": "cad6f6fb057d154eeb8f380c69d1361b6d788c8a27991c4d217543534b253832", + "certificates/gcert1-p10-centre-mw-flow.json.gz": "274d1bd671eb74d4fa8f63bb7048d929d6b51f6275a5ff6f69e04588f03d5c7a", + "certificates/gcert1-p10-centre-parity-flow.json.gz": "854d95b11da82335d9b3e0843b0885eb21c0170bb05f6d430d809da4868bb09e", + "certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz": "d927d0120af36e8d3699c1c53010cdd293e19a484825905e0946b14c0c0912cf", + "certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz": "d98660ef9cfb6700271a1eccbdec4b1a49c378b03e6ffa88f7fc8f0b97f2f2e4", + "discovery/README.md": "76204389ae61bac9c27672dda3a17ecab6b44df732a1171665b438b29ccc51c7", + "discovery/add_centre.py": "891c89f436ebe9e785c98b5e48b85a875dcf18c08fe5f6aac754b59b36502512", + "discovery/extend_floor.py": "6762dd49b801f2419416bcf2c60b6390605a382d252b30679cf53a024aaa8126", + "discovery/make_layer_p.py": "ea339b774109bbfb4ca5c00ff164d7ddff4c3c97433ab064b0a8d78744c3469e", + "discovery/pairs_mw_p.py": "7f619d53d1109626f8f3307b1735606572645518d07ac4f423b851939ff56382", + "discovery/pr233/README.md": "1bd628da0afbccfd9baafc2d51cd96a51a4e46c782b783a1c16bea04fd88d98c", + "discovery/pr233/bundles.py": "71c81bc858e62e03e2a5230c16c4c199a027c24402cdc937bd4ded60f4ee3286", + "discovery/pr233/joint.py": "e4857418f6e16d6fbb1815d3c4148116e35a6b9940cb57acb2b563da5621b92c", + "discovery/pr233/matching.py": "59d1cd30e67d3511cf799140eb248e785e77aaccff7c47a22a0feef8fb6f021e", + "discovery/pr233/pairs_mw.py": "aa927718ad27bebcfa2bddeb3704d4721433c2d4e6b6e218ceb9d28a07cd6c83", + "discovery/pr233/physical_opt.py": "cbfd06026a44df30944781262848c88ec987ca5e80381e35ae7ad715a9db1fce", + "gcert_emit.py": "10d2fc3f1f3d8cda5f0b07720f51b5a6fd40cfc1490d361939ff93e5470805d3", + "gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "layers/anneal/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/anneal/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/anneal/matching-arcs.json": "96c87aac70b6ef0671872d142ccba66448ffa8f5f42c35f32c0f655668251f02", + "layers/anneal/physical-frames.json": "7b24c9d5498bcdf96a72a061a95ff7b4ff2cda0bef5d7c7307afe72685959422", + "layers/anneal/physical-pairs-mw.json": "2af485c88a240c1c96d0c5b5a31851587eb99a8513e18becd49b3a7e74bcf3a8", + "layers/anneal/physical-pairs-parity.json": "0bff907fa41409fb1269323001a2ef313fcfaf03937597af7a63f6c4dc6854e4", + "layers/centre/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/centre/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/centre/matching-arcs.json": "ea7300db2cdb324ddf680bee6d447e9a9994e0b77bf2cf7fbf25e7cd1f6cb16e", + "layers/centre/physical-frames.json": "1f9813eee92459b341fd437f4ec3a87ae9b440384a277450f483112481381b12", + "layers/centre/physical-pairs-mw.json": "6c910a4ed8fe325547d9da065edbe8176969048724c0f96ee43a075b2813bd53", + "layers/centre/physical-pairs-parity.json": "1ad1c36760848259270ab1710bb2ce0dea877195d3a763e0c9fb5c7624a751bc", + "layers/pr168-v4-cut/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/pr168-v4-cut/kernel-pairs-parity.json": "d063546163d14e380747210cd0a060519d47061df1726aeb4707efc400c2a550", + "layers/pr168-v4-cut/matching-arcs.json": "22a28397c5c249438c36d087c14a16e99379891d45b2ad941af38944c971e166", + "layers/pr168-v4-cut/physical-frames.json": "8a1ae36d0d99d4dc9ee82a76422bcbd902dce360fcdd55a7a23fc17e4aa801c4", + "layers/pr168-v4-cut/physical-pairs-mw.json": "d12efcdd3091134c7506eed3e53c02dab1fa566d30bc3a0ad96559f767036dd3", + "layers/pr168-v4-cut/physical-pairs-parity.json": "5451e37e128850c6ae440ffda2010bd28d7fe8c127865387b662b4efd92cd744", + "module_cut.py": "4004cce8e4b392d90db02862e1d631aca586483a59532de9eca426504ff1293f", + "modules/pmod46_pc1_p10.json": "7f0bfd151e7ec0b2a74bc6fd994acde477e23f1425f4da798202f510489b6a3c", + "modules/pmod_p3_p10.json": "5bb49c8befbbeb2f38a50c5b2ac836261074ef578a0a5697a8267b23551e96ab", + "modules/pmod_pr168_p10.json": "36053689bec46354916a6f412b891dd5b510edcb546ea6cf9bcbaddd34c1fe28", + "modules/qmod_pr168_p10.json": "c62504c96cb68658c4eade0f81cfb3a3733674519ebf7ddda1acbc18176e092b", + "modules/qmod_sa1_p10.json": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6", + "modules/tmod_pr168_p10.json": "a81da2ba642ccf448a542825b02d678d430c9078e22f8a80813d409ae3c5cb48", + "modules/tmod_t2_p10.json": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04", + "normalize_scatter.py": "403ef1db92bafcb973857063bc96ec9ac326838b7595af642d5f11fef3350211", + "paircheck.py": "acde7bef664c2b0aa9f0c99424053ff4cf5091e4eb7bba7e048f5a51e0933b31", + "references/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "references/pr233-layer/NOTICE": "5826b9f155b70d496d729cbaddeadb881abfb68da77f82dfc1746ddfc753313b", + "references/pr233-layer/SOURCE.json": "9ad0549ba2403e8d84d7c0c8e71e5ca952a0604ad626f403426164bd4bc2982c", + "references/pr233-layer/baseline-pr202.tar.gz": "5d08386f71c421d2b83b21020e3b74198e9d0c75884d7d81987307740d98883f", + "references/pr233-layer/certificate.json": "691cb0aaeb0d6b993e1e1e5116ae7a5c57af058a8c413249016347d1b40d3b90", + "references/pr233-layer/verify.py": "cd61a8c61462b4eee95c0858335a9a11bdf1ff8e8e63ebb1e488da29f061ca71", + "references/pr233-layer/witness/kernel-pairs.json": "e33b753fc4519170373207b0527b9cb53e0b552e2a27f48f72381a881c7a227f", + "references/pr233-layer/witness/physical-frames.json": "1a6c215cdc58216f7ec96fb898a471e25d094fd86de085f6c06e86fd8997bfad", + "references/pr233-layer/witness/physical-pairs.json": "e6409fffbf5f3b1ac6434acf2e426503de3a8a18537b8fee761fc4fc931fb896", + "references/sussman/pr193-blocks.json": "4049d066f71119fa72bbc37f7db753ce1e79ae5a69aef9cd2651d618bea5c855", + "scripts/moment.py": "0c7c68122cea18503e973ccf0d244adf8fa0edab95f104393528c6c57f24863a", + "scripts/source527/NOTICE": "c461d8aef9a0c1ec5015a300bdbf37e566610d50139d730ba677eb0df5d7ffe0", + "scripts/source527/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "scripts/source527/moment.py": "9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7", + "verify.py": "05d72330a82453520f755a7834caf5dd2c9eaae31a9aab7c5d3db5d1775d341d" + }, + "public_head": "40ed0456ab1990beb3440e61bb883ccf95fdcea4", + "public_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/327", + "public_source_json_sha256": "c01b6121956aa03fde78f27c969b66107b68e8d7d70684d6fb999d00c77e090e", + "public_subtree": "research/complex-p10", + "public_verify_sha256": "05d72330a82453520f755a7834caf5dd2c9eaae31a9aab7c5d3db5d1775d341d" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_basis.py b/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_basis.py new file mode 100644 index 0000000000..8c400798a5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_basis.py @@ -0,0 +1,35 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +def need(b, why): + if not b: raise ValueError(why) + +def gl_count_test(): + # Exhaustively test a literal binary Gaussian-elimination implementation + # through m=4. Row swaps cost three selected-bit additions. + out=[] + for m in range(1,5): + good=mx=0 + for word in range(1<<(m*m)): + rows=[(word>>(m*i))&((1<>k&1),None) + if p is None: break + if p!=k: rows[p],rows[k]=rows[k],rows[p];ops+=3 + for i in range(m): + if i!=k and rows[i]>>k&1: rows[i]^=rows[k];ops+=1 + else: + need(rows==[1<0, f"{where}: coefficient shape") + q=Fraction(a,b) + odd=q.denominator + while odd%2==0: + odd//=2 + need(odd in (1,3), f"{where}: literal coefficient outside dyadic/divisor-three grid") + return q + +def replay_label_counts(c, expected): + """Full finite LABEL walk only. Never multiplies the 11,676-square scalar map.""" + need(c.get("format")=="gcert/1", "format") + need(c["h"]==20 and c["v"]==960 and c["R"]>0 and c["cst"]==20*18 and c["N"]==20*c["R"]+2*960*19+20*18, "p10 parameter/count identity") + h,v,R=c["h"],c["v"],c["R"]; n=2*v+R + need(c.get("ext")==[], "baseline has no exterior-gauged helper inputs") + frames=c["frames"]; dim=list(map(len,frames)) + need(len(frames)==expected["frames"], "source-bound frame-table count") + need(frames[0]==[] and frames[1]==[1<piv[i+1] for i in range(len(piv)-1)), "frame pivot order") + need(all(not(b>>p&1) for i,b in enumerate(f) for j,p in enumerate(piv) if i!=j), + "frame is not reduced echelon") + ports=c["ports"] + need(len(ports)==v==len(set(ports)), "port count/uniqueness") + need(all(type(p) is int and 0=4 and g[0] in ("out","in"), where+": gate shape") + tag,f,pivot,terms=g[:4] + need(len(g)==(5 if tag=="out" else 4), where+": gate arity") + need(type(f) is int and 0<=f{tr}"]+=1 + totals[phase]["scalar_additions"]+=1 + if sr==tr=="y": + ybracket[(source,target)]+=q;ypiv.add(source);ytarget.add(target) + for r in regs: + climb(r,f,phase) + if phase=="A": + cut=cur.copy() + need(all(cur[v+t]==0 for t in range(v)), "scatter: Y role moved too early") + for k,r,f in c["ret"]: + need(type(r) is int and 2*v<=r>k&1 else c["scat"]["outside"]),"scatter")) + for p in ports for k in range(h)) + return { + "frame_count":len(frames),"tested_distinct_nested_pairs":len(pairs), + "live_registers_per_invocation":n,"temporary_centers":h, + "ranked_live_transitions":transitions, + "phase_stats":totals,"role_histograms":measured, + "phase_histograms":{p:hist(x) for p,x in by_phase.items()}, + "invocation_histogram":hist(combined),"invocation_calls":sum(combined.values()), + "invocation_rank_mass":mass,"retained_centers":c["ret"], + "phase_state_sha256":{"start":digest(start),"after_A":digest(cut), + "after_B":digest(before_final),"final":digest(final)}, + "literal_gate_coefficients":dict(sorted(literal.items())), + "scalar_role_directions":dict(sorted(kind.items())), + "scatter_coefficients":dict(sorted(scatter.items())), + "scatter_additions":sum(scatter.values()),"Cc_copy_additions":h, + "two_hosts_metadata_count":len(c.get("two_hosts",[])), + "two_hosts_note":"Metadata only; not an independent allocator or host-use proof.", + "Y_bracket_pairs":len(ybracket), + "literal_inverse":"Each nonself additive shear inverts by negating its coefficient; inverse phase reverses order; inverse transpose keeps chronological order and swaps source/target with negation.", + "limits":["No scalar all-column replay","No old-response or cleanup matrix formed", + "No generated Lean data comparison or kernel build","No physical stream compiler"] + } + +def scalar_word(ops): + matrix=[[int(i==j) for j in range(4)] for i in range(4)] + for target,source,q in ops: + matrix[target]=[a+q*b for a,b in zip(matrix[target],matrix[source])] + return matrix diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_scalars.py b/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_scalars.py new file mode 100644 index 0000000000..3651b5852e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/code/complex_scalars.py @@ -0,0 +1,220 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +V=R=H=None +def configure(c): + global V,R,H + V,R,H=c["v"],c["R"],c["h"] + need((V,H)==(960,20) and R>0,"p10 scalar dimensions") +def need(x,msg): + if not x:raise ValueError(msg) + +def kind(r):return "X" if r>k&1 else c["scat"]["outside"])) + yield add(live(V+t),tmp(r),q) + yield from part(B) + +def old_word(orientation,K): + if orientation=="forward": + yield from (copy(("T",q),live(2*V+q)) for q in range(R)) + for e in K: + op,t,s,a,b=e + yield add(t,s,Q(-a if t[0]=="L" else a,b)) + else: + yield from (clear(("T",q)) for q in range(R)) + for op,t,s,a,b in reversed(K): + yield add(s,t,Q(a,b)) + yield from (add(live(2*V+q),("T",q),Q(1)) for q in range(R)) + yield from (clear(("T",q)) for q in range(R)) + +def cleanup(orientation,AB): + for t,s,q in reversed(AB): + if kind(t)=="Y":continue + if orientation=="forward":yield add(live(t),live(s),-q) + else:yield add(live(s),live(t),q) + +def main_scalar(orientation,A,B,c): + def phase(gs): + for t,s,q in gs: + if orientation=="forward":yield add(live(t),live(s),q) + else:yield add(live(s),live(t),-q) + yield from phase(A) + # Every center is a complete temporary stream and one rank20 child, + # initialized/read/discarded before the next center uses the work stock. + for k,r,_ in c["ret"]: + yield clear(center(k)) + if orientation=="forward":yield add(center(k),live(r),Q(1)) + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + if orientation=="backward":yield add(center(k),live(V+t),q) + yield ("recursive_center",k,H-2) + if orientation=="forward": + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + yield add(live(V+t),center(k),q) + else:yield add(live(r),center(k),Q(-1)) + yield clear(center(k)) + yield from phase(B) + +def inv_schedule(orientation,A,B,c): + K=list(old_positive(A,B,c)) + yield from ((p,e) for p,es in [ + ("old_response",old_word(orientation,K)), + ("main",main_scalar(orientation,A,B,c)), + ("cleanup",cleanup(orientation,A+B))] for e in es) + +def coeff_steps(q): + """Non-destructive coefficient expansion using one complete work stream. + Copy source, double/halve/divide by3 as needed, add/subtract, clear. + Counts Gaussian operations; multiply by2 for real/imag component primitives.""" + a,b=abs(q.numerator),q.denominator + need(a in (1,2) and b in (1,2,3,6),"unsupported new coefficient") + return 3+int(a==2)+int(b%2==0)+int(b%3==0) + +def bill(schedule): + phases={p:Counter() for p in ("old_response","main","cleanup")} + coeffs={p:Counter() for p in phases} + tape=sha256() + for p,e in schedule: + tape.update((json.dumps((p,e),separators=(",",":"))+"\n").encode()) + phases[p]["all_macros"]+=1 + if e[0]=="recursive_center": + phases[p]["recursive_centers"]+=1 + phases[p]["recursive_rank_mass"]+=e[2] + continue + phases[p]["scalar_macros"]+=1 + phases[p][e[0]]+=1 + if e[0]=="add": + q=Q(e[3],e[4]);coeffs[p][str(q)]+=1 + phases[p]["Gaussian_primitive_steps"]+=coeff_steps(q) + phases[p]["scalar_log2_magnitude_charge"]+=1+int(abs(q)==2) + phases[p]["halving_exposure"]+=int(q.denominator%2==0) + phases[p]["divisor3_exposure"]+=int(q.denominator%3==0) + else:phases[p]["Gaussian_primitive_steps"]+=1 + for p in phases:phases[p]["real_component_primitive_steps"]=2*phases[p]["Gaussian_primitive_steps"] + total=sum((Counter({k:v for k,v in x.items() if k not in ["recursive_rank_mass"]}) for x in phases.values()),Counter()) + return {"phases":{p:dict(x) for p,x in phases.items()},"coefficient_histograms":{p:dict(x) for p,x in coeffs.items()}, + "totals":dict(total),"schedule_sha256":tape.hexdigest(), + "other_main_recursive_calls":"Live-label transitions are independently recounted and charged by the label and splice checkers; not scalar macros"} + +def mm(A,B):return [[sum((x*y for x,y in zip(row,col)),Q(0)) for col in zip(*B)] for row in A] + +def lifecycle(schedule): + """Verify that new scalar-only work stock never survives into a child.""" + initialized=set();dirty=set();active_centers=set();seen_main=False;children=0 + for phase,e in schedule: + if phase=="main" and not seen_main: + need(not dirty,"old-response tableau survives into recursive main phase") + seen_main=True + need(e[0] in ("add","copy","clear","recursive_center"),"unknown or unpaid recursive operation") + if e[0]=="recursive_center": + k=e[1] + need(type(k) is int and 0<=k0,"p10 splice dimensions") +PHASES=["old_response","ad0","A","centers","B","final","adF","cleanup","done"] +def need(x,s): + if not x:raise ValueError(s) + +def blobhash(p):return sha256(p.read_bytes()).hexdigest() + +def digest(x):return sha256(json.dumps(x,separators=(',',':'),sort_keys=True).encode()).hexdigest() + +def role(r):return 'X' if r0 else -1),clear(work)] + +def emit(c,ori): + """Construct the complete local parametric invocation, before cover routing. + One role stream is its full complete address rectangle. Frame labels denote + exact canonical representatives, never just rank or binary matrices. + """ + A=list(flat(c['A']));B=list(flat(c['B']));cur=c['start'].copy() + K=[] + for part in (A,None,B): + if part is None: + for t,p in enumerate(c['ports']): + for k,r,f in c['ret']: + K.append(add(L(V+t),T(r),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside'])))) + else: + for t,s,q in part: + if role(s)=='X':continue + K.append(add(T(t) if role(t)=='S' else L(t),T(s),q)) + yield ('phase','old_response') + if ori=='forward': + for q in range(R):yield scal('old_response',copy(('T',q),L(2*V+q)),'old0') + for _,t,s,a,b in K:yield scal('old_response',add(t,s,Q(-a if t[0]=='L' else a,b)),'old0') + else: + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + for _,t,s,a,b in reversed(K):yield scal('old_response',add(s,t,Q(a,b)),'old0') + for q in range(R):yield scal('old_response',add(L(2*V+q),('T',q),Q(1)),'old0') + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + yield ('phase','ad0') + for r,f in enumerate(c['start']):yield ('adapter','old_to_new',r,f) + for part in ['A','centers','B','final']: + yield ('phase',part) + if part in ['A','B']: + for g in c[part]: + regs=[g[2]]+[x[0] for x in g[3]]+(g[4] if g[0]=='out' else []) + for r in regs: + if cur[r]!=g[1]: + old=cur[r];cur[r]=g[1] + yield ('climb',part,r,old,g[1],len(c['frames'][g[1]])-len(c['frames'][old])) + for t,s,q in flat([g]): + e=add(L(t),L(s),q) if ori=='forward' else add(L(s),L(t),-q) + yield scal('main',e,g[1]) + elif part=='centers': + for k,r,f in c['ret']: + yield scal('main',clear(C(k)),f if ori=='forward' else 0) + if ori=='forward':yield scal('main',add(C(k),L(r),Q(1)),f) + else: + for t,p in enumerate(c['ports']): + yield scal('main',add(C(k),L(V+t),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + yield ('center',k,f if ori=='forward' else 0,0 if ori=='forward' else f,H-2) + if ori=='forward': + for t,p in enumerate(c['ports']): + yield scal('main',add(L(V+t),C(k),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + else:yield scal('main',add(L(r),C(k),Q(-1)),f) + yield scal('main',clear(C(k)),0 if ori=='forward' else f) + else: + for r,f in enumerate(c['final']): + if cur[r]!=f: + old=cur[r];cur[r]=f + yield ('climb','final',r,old,f,len(c['frames'][f])-len(c['frames'][old])) + yield ('phase','adF') + for r,f in enumerate(c['final']):yield ('adapter','new_to_old',r,f) + yield ('phase','cleanup') + for t,s,q in reversed(A+B): + if role(t)=='Y':continue + e=add(L(t),L(s),-q) if ori=='forward' else add(L(s),L(t),q) + yield scal('cleanup',e,'old1') + yield ('phase','done') + +def contains(U,V): + for u in U: + for v in V: + if u>>(v.bit_length()-1)&1:u^=v + if u:return False + return True + +def validate(events,c,ori,manifest,bill): + phase=None;seen=[];cur=c['start'].copy();cent={};dirty=set();initialized=set() + climbed=Counter();hist=Counter();projection=sha256();whole=sha256();counts=Counter();ad0=[];adF=[] + pairs=set();states={};all_frame_incidence=0;primitive=sha256();primitive_count=0 + for ev in events: + whole.update((json.dumps(ev,separators=(',',':'))+'\n').encode()) + tag=ev[0];counts[tag]+=1 + if tag=='phase': + if phase=='A':states['after_A']=digest(cur) + if phase=='B':states['after_B']=digest(cur) + if phase=='final':states['final']=digest(cur) + phase=ev[1];seen.append(phase) + need(seen==PHASES[:len(seen)],'strict old/A/copy/B/final/adapter/cleanup chronology') + if phase=='ad0':need(not dirty,'old-response tableau survived before label recursion') + if phase=='A':need(ad0==list(enumerate(c['start'])),'missing or reordered exact entry adapter') + if phase=='adF':need(cur==c['final'],'final climbs omitted before cleanup') + if phase=='cleanup':need(adF==list(enumerate(c['final'])),'missing or reordered exact final adapter') + continue + if tag=='adapter': + _,which,r,f=ev + if which=='old_to_new':need(phase=='ad0','entry adapter position');ad0.append((r,f)) + else:need(which=='new_to_old' and phase=='adF','final adapter position');adF.append((r,f)) + elif tag=='climb': + _,p,r,old,new,d=ev + need(phase==p and p in ['A','B','final'],'live child outside source label walk') + need(not dirty and not cent,'new work stock or center active during live child') + need(cur[r]==old and d==len(c['frames'][new])-len(c['frames'][old]) and d>0,'wrong exact child endpoints/rank') + pair=(old,new) + if pair not in pairs:need(contains(c['frames'][old],c['frames'][new]),'nonnested child');pairs.add(pair) + cur[r]=new;climbed[p]+=1;hist[d]+=1 + elif tag=='center': + _,k,old,new,d=ev + need(phase=='centers' and not dirty and set(cent)=={k},'center child ownership') + need(cent[k]==old and (k,c['ret'][k][1],c['ret'][k][2])==tuple(c['ret'][k]),'center input frame') + f=c['ret'][k][2] + need((old,new,d)==((f,0,H-2) if ori=='forward' else (0,f,H-2)),'center child direction/rank') + cent[k]=new;hist[d]+=1 + projection.update((json.dumps(('main',('recursive_center',k,d)),separators=(',',':'))+'\n').encode()) + elif tag=='scalar': + _,p,e,f=ev + need(p==('main' if phase in ['A','centers','B'] else phase),'scalar phase binding') + need(e[0] in ['add','copy','clear'],'unpaid scalar operation') + target=e[1];source=e[2] if e[0] in ['add','copy'] else None + for x in [target]+([source] if source else []): + bank,r=x + if bank=='T':need(phase=='old_response' and 0<=r0 and c["cst"]==20*18 and c["N"]==20*c["R"]+2*960*19+20*18, "p10 parameter/count identity")'), + ('len(c["ret"])==22','len(c["ret"])==h'),('list(range(22))','list(range(h))'),('len({x[1] for x in c["ret"]})==22','len({x[1] for x in c["ret"]})==h'), + ('dim[f]==20','dim[f]==h-2'),('by_role["c"][20]+=1;by_phase["copy"][20]+=1','by_role["c"][h-2]+=1;by_phase["copy"][h-2]+=1'), + ('for k in range(22)','for k in range(h)'),('"temporary_centers":22','"temporary_centers":h'),('"Cc_copy_additions":22','"Cc_copy_additions":h')], +'complex_scalars':[ + ('V,R,H=1320,9036,22','V=R=H=None\ndef configure(c):\n global V,R,H\n V,R,H=c["v"],c["R"],c["h"]\n need((V,H)==(960,20) and R>0,"p10 scalar dimensions")'), + ('("recursive_center",k,20)','("recursive_center",k,H-2)'), + ('"68230 existing live-label transitions, unchanged; not scalar macros"','"Live-label transitions are independently recounted and charged by the label and splice checkers; not scalar macros"'), + ('0<=k<22 and e[2]==20','0<=k0,"p10 splice dimensions")'), + ("0 if ori=='forward' else f,20)","0 if ori=='forward' else f,H-2)"), + ("((f,0,20) if ori=='forward' else (0,f,20))","((f,0,H-2) if ori=='forward' else (0,f,H-2))"), + ("counts['center']==22","counts['center']==H"), + ("family='baseline5stageComplex',m=110,live=14316,physical=23375","family='p10FiveStageComplex',m=5*H,live=W,physical=W+R+H+1"), + ('centers=[14316,14338],tableau=[14338,23374],coefficient=[23374,23375]','centers=[W,W+H],tableau=[W+H,W+H+R],coefficient=[W+H+R,W+H+R+1]'), + ('recursive_volume_denominator=14316','recursive_volume_denominator=W'),('maintained_guard_changed=False','maintained_guard_changed=True'), + ('work=list(range(14316,23375))','work=list(range(W,W+R+H+1))')], +'complex_basis':[], 'complex_gx':[]} +result={} +for name,edits in changes.items(): + raw=(SOURCE/(name+'.py')).read_bytes();text=raw.decode();log=[] + for old,new in edits: + assert text.count(old)==1,(name,old,text.count(old));text=text.replace(old,new);log.append(dict(old=old,new=new)) + data=text.encode();(ROOT/'code'/(name+'.py')).write_bytes(data) + result[name]=dict(source=(SOURCE/(name+'.py')).relative_to(ROOT).as_posix(),source_sha256=hashlib.sha256(raw).hexdigest(),derived_sha256=hashlib.sha256(data).hexdigest(),parameterizations=log) +(ROOT/'DERIVATION.json').write_text(json.dumps(result,sort_keys=True,indent=2)+'\n') diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/finite_guard.py b/research/p10b-cross49-pr327/vendor/complex-reserve/finite_guard.py new file mode 100644 index 0000000000..6d3868b424 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/finite_guard.py @@ -0,0 +1,59 @@ +"""Recompute all p10 complex finite charges and retained precision inequalities. +Derived from byte-pinned PR315 portable_complex.finite_guard, with explicit +parameter-sensitive calculations. Prepared with OpenAI Codex; Apache-2.0. +""" +from fractions import Fraction as Q +from math import prod + +def need(x,msg): + if not x:raise ValueError(msg) + +def finite_guard(manifest,bill,basis): + p=manifest['parameters'];l=manifest['ledger'];dim=p['m'];R=p['R'];h=p['h'];v=p['v'];W=p['W_live'] + need((dim,h,v)==(100,20,960) and R>0 and W==4*v+R,'p10 complex dimensions') + need(l['deficit']==4*v-5*h*(h-2)==2040 and l['max_child']==2*h+2==42,'p10 five-stage endpoint invoice') + scalar=max(bill[o]['totals']['real_component_primitive_steps'] for o in ['forward','backward']) + macros=max(bill[o]['totals']['scalar_macros'] for o in ['forward','backward']) + scalar5=3*bill['forward']['totals']['real_component_primitive_steps']+2*bill['backward']['totals']['real_component_primitive_steps'] + physical=W+R+h+1 + adapters=8*(macros+manifest['checks']['invocation_calls']+p['invocation_live']+h)+32*dim + outside=8*(l['idle_calls']+6*v+physical)+32*dim + compiler=64*(dim+1)**3 + local=scalar+adapters*compiler + pervertex=scalar5+12*v+(5*adapters+outside)*compiler+64*physical + group=(1<<(dim-1+(dim//2-1)**2))*prod((1<<(2*i))-1 for i in range(1,dim//2)) + live_stock=group*W;physical_stock=group*physical;s=group*l['rank_mass'] + K=group*pervertex+64;router=compiler*(K+1)*(physical_stock+1)**2 + G,E,C0=1<<30000,1<<100000,1<<210000;B=s+E + literal=2*G*physical_stock**2+8*s+4*physical_stock+4+32*dim + need(local<1<<48 and K<1<<6050,'recomputed p10 local/global bill exceeds retained overcharge') + need(router0,'row reserve gap') + need(2*(dim*(dim-1)+3*dim+dim+3*dim*(dim-1)//2+dim+1)+2*dim (Fintype.card (Orth (L5 H)) : ℝ) + * (5 * I.cost φ + (Fintype.card T : ℝ) * bankPrice (Fintype.card H) φ)) := + bridge2_certificate (geomBridge2 I base l hbase hH) + +/-- **Block certificate of the bridged word B_2**, for any block circuit with bases through its +input vectors. -/ +theorem bridge2_bcert (N : CB.XNetData H T Sl C) : + ∃ (Γ : Type) (_ : Fintype Γ) (_ : DecidableEq Γ), 1 ≤ Fintype.card Γ ∧ + BCert (L5 H) (Sum.inl : BLive Γ T Sl → BRole Γ T Sl C) + (fun φ => (Fintype.card Γ : ℝ) + * (5 * N.X.cost φ + (Fintype.card T : ℝ) * bankPrice (Fintype.card H) φ)) := by + have hH2 := N.hH + have hH1 : 1 ≤ Fintype.card H := by omega + have hpos : 0 < Fintype.card H := by omega + obtain ⟨l⟩ : Nonempty H := Fintype.card_pos_iff.mp hpos + have hb : ∀ t, N.X.inv.tv t = (reindex (N.base t) (Equiv.swap (N.piv t) l)).v l := by + intro t + show N.X.K.tv t = _ + rw [N.hbase t] + show (N.base t).v (N.piv t) = (N.base t).v (Equiv.swap (N.piv t) l l) + rw [Equiv.swap_apply_right] + refine ⟨Orth (L5 H), inferInstance, inferInstance, Orth.card_pos, ?_⟩ + exact bridge2_bcert_geom N.X.inv (fun t => reindex (N.base t) (Equiv.swap (N.piv t) l)) l hb hH1 + +end +end +end BG +end PowerSaving +end OAI + +namespace SSC +namespace PCert +open OAI OAI.PowerSaving OAI.PowerSaving.Binary OAI.PowerSaving.RAM OAI.PowerSaving.CB + OAI.PowerSaving.RF OAI.PowerSaving.BR OAI.PowerSaving.BG + +variable {c : PCert} + +/-- **Block certificate of the bridged word B_2 with a kernel-checked helper circuit.** +`v = c.v` triples, `R = c.R` helper slots, `h = c.p.h`; label dimension `5h`; live roles +`card Γ * (4 v + R)`; merged idle climbs. -/ +theorem Valid.bridge2_bcert (V : c.Valid) (hid : c.ScalarId V.hR) (h2 : 2 ≤ c.p.h) : + ∃ (Γ : Type) (_ : Fintype Γ) (_ : DecidableEq Γ), 1 ≤ Fintype.card Γ ∧ + BCert (L5 (Fin c.p.h)) + (Sum.inl : BLive Γ (Fin c.v) (Fin c.R) → BRole Γ (Fin c.v) (Fin c.R) (Fin c.p.h)) + (fun φ => (Fintype.card Γ : ℝ) + * (5 * (rcost φ c.invRanks + 2 * ((c.v : ℝ) * bcost φ (c.p.h - 1))) + + 2 * ((c.v : ℝ) * (bcost φ (c.p.h - 1) + bcost φ (2 * c.p.h - 2) + + bcost φ (2 * c.p.h + 2) + bcost φ 4)))) := by + obtain ⟨Γ, i1, i2, hG, h⟩ := BG.bridge2_bcert (V.xnetdata hid 0 h2) + refine ⟨Γ, i1, i2, hG, h.cast (fun φ => ?_)⟩ + show (Fintype.card Γ : ℝ) * (5 * (V.xcircuit hid).cost φ + + (Fintype.card (Fin c.v) : ℝ) * BG.bankPrice (Fintype.card (Fin c.p.h)) φ) = _ + rw [V.xcost hid φ, Fintype.card_fin, Fintype.card_fin] + unfold BG.bankPrice + ring + +end PCert +end SSC + +#print axioms OAI.PowerSaving.BG.bridge2_bcert_geom +#print axioms OAI.PowerSaving.BG.bridge2_bcert +#print axioms SSC.PCert.Valid.bridge2_bcert diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/LICENSE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/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/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/MANIFEST.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/MANIFEST.json new file mode 100644 index 0000000000..a3a86a18c2 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/MANIFEST.json @@ -0,0 +1,148 @@ +{ + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "80a48119c4417c86aabe7bf5f4c6446fb538f1d76d2a32ff2c840c3663acec47", + "PROOF.md": "d6f5ddee8fdb2877eeac90020c8348c1fbf8b3e73dffed8ee4d5f417a005f217", + "README.md": "461ec7bc3075da9da8ad0b15be6a28c60523f4bb4ad155c477c29f2a3566544c", + "SOURCE.json": "9c37a9bb608b199c29d9d9eb39425fcb97f569e37995ce67d48d04eaa2bfbe7f", + "frame_retime.py": "1a59055c867cdf21711aff6cd958473472a9140f6217a199d0e761463b8b746a", + "plateau_retime.py": "ceef31f7fe4b18bf9fd233096939d6d423c13acdb6279ea0aca86ee5198dfde1", + "portable-code/DERIVATION.json": "485ed65227a8ee286491886cebaf64e32bc76c8f0ca3223ad583bf42de6c4e4f", + "portable-code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "portable-code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "portable-code/complex_labels.py": "265de648d956281d8081a938886cadefad6aafa3a693e329d7517f4d5c5011b5", + "portable-code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "portable-code/complex_splice.py": "9dee45f4731c861c07502062fcdf993df332762978fb69c6636e57ed45a4ef44", + "portable-code/portable_complex.py": "198b5c123c3572a231612b79988776d6601af5e08c6cd3813ac6f180796498e3", + "stages/component-selection.json": "b977093e39dfaf1d23f2eda2b4a78061fb36c96f726a18c0dae509c148ffdcc3", + "stages/neutral-down-selection.json": "85101e196604cde43a478c573077bfc208763c95ddc72391f2876624660ae3d1", + "stages/neutral-up-selection.json": "eaf35b14e2af56c095468ed5d6406ee00efd698eaf6dd02be876d4784807ecb3", + "stages/single-selection.json": "72e2ec3b827c8b9a3bbe00ebff444c5d1ea43f7f0b350a1e367e368fb85939ac", + "vendor/pr315/BANK-PROOF.md": "07b6f3ef808a8a98428a8b14709f16cb40bcc2c93943dd57932b80d62206963a", + "vendor/pr315/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/pr315/MANIFEST.json": "3474a31b64a6647a558a0f07e60a3e7364b59f9bb792ba8f69fe85dfecfd68f9", + "vendor/pr315/NOTICE.md": "2c709df433e7c8e1090d032015c85cf1b0a4beb9c51d13e239282456fbffb7e7", + "vendor/pr315/PR-STATEMENT.md": "cf8f0341e4ab6e45bd58176aeb8628bfe0bc439c1a6083084125f868426ff93e", + "vendor/pr315/PROOF.md": "8670879444ff0536a80eaa66a421c6c819ab77b38941e38aa86e697ffe86db2f", + "vendor/pr315/README.md": "3139213c18924fd5925fe92ef7bedb3bb6c15a4ee0dc8e2056a3082f9ff68eab", + "vendor/pr315/UPSTREAM-PR234-NOTICE.md": "ce978c8dfc8a2b36eed7a53014b1a792248b22ef4cee3edd8adab825a571c429", + "vendor/pr315/UPSTREAM-PR234-PROOF.md": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "vendor/pr315/bank_check.py": "b67d1e5870239a456a732caa8e56b836d3fa472f451790700276ce706bed1da8", + "vendor/pr315/bank_template.py": "8c131d76ebfa7788f18020d4b7a8b5dbf84c1387c6879a0046bd158cff840016", + "vendor/pr315/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/pr315/bitword/NOTICE-PR200": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "vendor/pr315/bitword/README.md": "1d4fe7b5300f3c2fc2f3a1276a73f58c01afba72ae13d0c5e75644b13a0dc175", + "vendor/pr315/bitword/bit/base_word.py": "9fe3a81b7561d2b09c086f63fac4626e88a32369ef8bc5579c94878de1218a89", + "vendor/pr315/bitword/bit/word.py": "88554981690cb43c4286fd962dddf0f20c58cf0c6cd58f0b8081ac88b16531ff", + "vendor/pr315/bitword/producer/data/arcs_p10.json": "ac4555382b2cf4e6adbeabbdabb15c79f1485877ec169a49dc1fa49d5a614185", + "vendor/pr315/bitword/producer/data/local_design_p10.json": "5309396966a9886906cf9efc3f71aee4441e24a222cc39f1fcf3407d7fde5ec3", + "vendor/pr315/bitword/producer/data/pm_p10.json": "7a734a0f4a20d38a15d2e88dfc4c0498ceec38400143125855b39b0446d1db2a", + "vendor/pr315/bitword/producer/data/qmod_p10.json": "40ffb168466bc016bc18a2bbdde65d38b7fd1b406d8a4026f1a6e517fe153459", + "vendor/pr315/bitword/producer/descent.py": "873fdf8d1281e034a238e09968ee66d77dcc236616305893c1aaee2b516299ff", + "vendor/pr315/bitword/producer/make_physical.py": "ac929030b1f465d5b4e9073635782a9f7c9ac22398cc101c66c8af771e9759cf", + "vendor/pr315/bitword/producer/paired_cube_bit_word.py": "1a24e1d57d92579801d9bd2048dc7804801faac0566bebed790281775cd808ce", + "vendor/pr315/bitword/producer/regenerate.py": "2929047b40a3a2dcbadd7df95c8cba0a7fc68abb705f878b6767a41f90fac02e", + "vendor/pr315/bitword/references/pr168-v4/SOURCE.json": "21a412177c9309d89472aabf4c67618d7a546811f7e68a5904304ae46a98d27c", + "vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "vendor/pr315/bitword/selected/bit/frames_p10.json.gz": "f191ca102966c77e6865e18751d8a17922ce46015dcbb42789ad735925886ec8", + "vendor/pr315/bitword/selected/bit/graph_p10.json": "41e50cb6ccb5a61ff48c8d9ec2a9014f2dcdff87afd3c42bba9cd02b92605a3f", + "vendor/pr315/bitword/selected/bit/kchron_p10.json": "228b7e2343d31191cb054c29b1c253ffdb53b768a60cb34ab3db1c1df0abb518", + "vendor/pr315/bitword/selected/bit/profile_p10.json": "5bbfa6a9e60095d77d6569f49a2d250d812fcbb8d9f25f57c15c4c7f13e4fabb", + "vendor/pr315/bitword/selected/bit/word_p10.json.gz": "12c19c65991a12790b3f1ac772a219c58d439dd9ed655d3eefee9562502e004c", + "vendor/pr315/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "vendor/pr315/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "vendor/pr315/code/complex_labels.py": "0c288a7923ff5923f8b3a1bb425b17679633e02284a8c32898bbb2fc24ca131a", + "vendor/pr315/code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "vendor/pr315/code/complex_splice.py": "b1b4847652a9968d7afb8dd529bc371b656afa240f2e393f03c187dca250c4ce", + "vendor/pr315/code/geometry527.py": "734cb349cc109fc7fe6b074ecb77ff80544f630dee331000f4d0ab79e77ac4f3", + "vendor/pr315/code/global_lowering.py": "53b7a45006893218e6eb7fed026ef2e51809f8f04ef25a07cf4e1ca563de30fa", + "vendor/pr315/code/physical527.py": "4d4bf47ee083d3864f76907428f4e813a147f7ea6ab0b8cd1536adcd2c469395", + "vendor/pr315/discovery/REPIN.md": "74140b755d66647b83115247a278a7e1009efff6e49995a16fcc1528cc43eed7", + "vendor/pr315/discovery/repin.py": "8bd21ad00c07d2f9cbde3a882721882d12e0e50851c720799b449599f205654f", + "vendor/pr315/finite_check.py": "7383f1cea130244e5b35fc8c707d132091b5c81943f7e61fd4c9a778c77344ee", + "vendor/pr315/inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/pr315/inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "vendor/pr315/inputs/complex/NOTICE-PR304": "319165f41cf97f37b587c92351289db2d287ca7a90845338318086d5ff447e84", + "vendor/pr315/inputs/complex/centre-mw/NOTICE": "c39fddd8a76cd7b14fd19e71a903eebd62e21fd7c00e76e658a190d96074020b", + "vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "vendor/pr315/inputs/complex/centre-mw/exact_result.json": "250aa8f9037e9b6fd59291a9c98ff3c7242ec384c6129c95bf5223dc6c9e77a9", + "vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json": "d5a171674141bd2a4ac2e099c9f19dee3600482f06d4f83245a427f402c6b19b", + "vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json": "cb71db4928088f0e20913dfe33df215c2a00e2bc33968d8d501f4f647cc920bc", + "vendor/pr315/inputs/complex/centre-mw/tmod_final.json": "3ed4ffb275c3b7fc609d617a2c2b60d761306a1fe306492dc1d9ea9940c41073", + "vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz": "bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34", + "vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "vendor/pr315/inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "vendor/pr315/inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "vendor/pr315/inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "vendor/pr315/inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "vendor/pr315/inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "vendor/pr315/inputs/complex/source-pins.json": "c32bb00a73aa82043ee9727d9d7eda9aedb6518e55cc638df53cf6611e54e146", + "vendor/pr315/inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "vendor/pr315/inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "vendor/pr315/math_check.py": "e9372d61a9d7841bbf3a61a44603627f2a7703b6304106640a83f26c8f899058", + "vendor/pr315/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/pr315/notices/PR210-coordinated-crossover-NOTICE": "9fc5561c0995892dbdde777c713899486920c32d3562392f5f72377a4953bf98", + "vendor/pr315/notices/PR230-NOTICE": "7dfbad087ee49b74fd5075d517eaa263c5dd3d4fbd4c69bfba34ee1cb55e837f", + "vendor/pr315/notices/PR230-PROVENANCE.json": "19957e28a8ad26281bfe8bfaf8ae16191be53e729a8870a6154671b3384959d4", + "vendor/pr315/notices/README.md": "d1fcf4e4209d5966282ac8202cf461bd575119a7aaf2ca64e8746810fe5259b8", + "vendor/pr315/notices/base-bit-PR200-PR202-NOTICE": "c9850418622aea8d1382a230306c940947b5da818f4854b4b272ed60cf239f6c", + "vendor/pr315/notices/source527-loader-NOTICE.md": "ee632728cc4d89565292d288f8289f483ac794b5d02cc6e42c2b2c43c43ff1d8", + "vendor/pr315/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/pr315/parity_transform.py": "e068874694fc15135a0950b7361e537f48688d9ac9f0a05c2372f1deb813d085", + "vendor/pr315/portable_bit.py": "368ef679009f7272fffd30fe18aeb12722e00612e040aa6eb2a4dbd019486a5a", + "vendor/pr315/portable_complex.py": "a09d19a4efa54c0646b06ccb5393e3f1eb928b2e002738bb2a2af2a2ba7efb3a", + "vendor/pr315/prepare.py": "c1a215713f47b954c28a3f0d48490a055fb75f6af31a0e6b5248802d6951a09b", + "vendor/pr315/prime_check.py": "045831f41b9f4208538ba4b17c9354c125acb33b5f538f7a30f4813c2948c57c", + "vendor/pr315/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/pr315/proof/FINITE_BIT_ACCOUNTING.md": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "vendor/pr315/proof/INTEGRATED_PROOF.md": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "vendor/pr315/proof/PARITY-CONTRACT.md": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "vendor/pr315/proof/README.md": "435c699dc07400366b84fe43d981cd2f6c95a4837e636fff8fe6a25897d853c4", + "vendor/pr315/proof/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "vendor/pr315/proof/primary/03-motifs.tex": "ed76761194988a01af77ead0ea6469cb5dcd29690ab985a0b5a4006b0f2b69bb", + "vendor/pr315/proof/primary/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/pr315/proof/primary/PROVENANCE.md": "dd9054c58aa92c44b0ef5f691ad4dc52b8ead2f20a9843d4399d6c300d616023", + "vendor/pr315/proof/primary/UPSTREAM-README.md": "8d1ceff898a4e0e681679f91c4def485820be9e99f04e4861f2ce601a364723e", + "vendor/pr315/proof/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "vendor/pr315/proof/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "vendor/pr315/raw_ledger.py": "782c2aef0b6225b0e99f73abbc98681d21125c17c024ab0b8a0e4d0382182ef0", + "vendor/pr315/requirements.txt": "25f9f1fb1988b230147a1d3092d34e09c069eb7a6c6d6df46b3973b9f2d36efc", + "vendor/pr315/scalar/word.py": "e675d4eb9d90ff0b44279fae0b46f1a8b39f65421cc38454b70a6b75d0e10b42", + "vendor/pr315/scalar_check.py": "520c4549de9200811dd594d15cdf73de28f287b04778965491b2c5b3f6d6ed5a", + "vendor/pr315/verify.py": "b0d2a2cf1e348545dbace3c5f3e98b1c91c1f7773969decdc76ca4240c174599", + "vendor/pr315/virtual_check.py": "ec952d99c151e6e336631210e598d58478293491ca01842fd4c9d0a4b57b4e5a", + "vendor/pr315/word-pins.json": "25c33dbc59c4add386777e9e88c079cbfe14ea77ec821eef8e47659ea2c1c67a", + "vendor/pr315/word_pins.py": "3cc2662630af62aaabb6966f03b5d01a2f06a5f3490c6979a3e54daf550958b4", + "verify.py": "303e17014e231a35338f5891b650d1d3f671a6c8050acff47b44f5c8bbfa6302", + "verify_supplier.py": "2388a2a43da5b7e8fa3b4126abb647eff03469facf62e4a92f72cb92dd590eb5" + } +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/NOTICE.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/NOTICE.md new file mode 100644 index 0000000000..04d1ef6c0c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/NOTICE.md @@ -0,0 +1,20 @@ +# Attribution and scope + +Prepared for eumemic with substantial OpenAI Codex assistance; Apache-2.0. +This package contributes exact gate/component frame-retiming discovery and its +source-bound portable verification. Credits identify dependencies and do not +imply endorsement or review. + +The unchanged PR315 package under `vendor/pr315` is by DreamingOfClouds with +Anthropic Claude assistance. Its centre-sharing complex supplier, PR304 module +pipeline, PR233 compensated reuse, PR184 flow/exact lift and PR256 certificate +emission retain all original notices and licences. Jacob Sussman's two gcert +checkers and pinned Lean sources retain their original Apache notices. The +copied helper code is derived from PR315; exact adaptations are documented in +`portable-code/DERIVATION.json`. + +No κ improvement is claimed while the strongest published p10 construction is +bit-bound. The package preserves the source's conditional theorem boundary and +makes no new Lean-build or runtime-performance claim. + +The two additional neutral-direction stages and fresh full supplier replay were prepared with substantial OpenAI Codex assistance. Neutral changes preserve the complete local paid histogram exactly; final supplier gains are independently priced and admitted. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/PROOF.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/PROOF.md new file mode 100644 index 0000000000..7518d629bd --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/PROOF.md @@ -0,0 +1,85 @@ +# Literal complex-frame retiming and complete admission + +PR315's complete package is preserved unchanged under `vendor/pr315`, including +its source manifest, complex gcert, checker implementations and theorem-source +pins. The raw gcert SHA256 is +`91c349b9680b023449d3bc4fb58f00a22c9d9f38b776ae3a3597259431de78eb`. + +Each grouped fan-out/fan-in expands to the same ordered scalar additions. An +empty fan-out retains any spectator incidences. Thus the exact rational scalar +word is unchanged, including its scatter cut. At any gate, permitted common +frames lie between the span of its predecessor frames and the intersection of +its successor frames. Both endpoints are computed as exact reduced binary +bases, and the emitted full label walk independently checks containment. + +For a candidate common rank k with predecessor/successor ranks a and b, the +rank-product contribution is the product of `(k-a)^(k-a)*(b-k)^(b-k)`, with the +zero contribution interpreted as one. Its logarithm is convex in k, so a local +maximizer occurs at one of the two exact endpoint frames. Selection compares +integer products; floating-point values are diagnostic only. A strict product +increase guides discovery, and both exact moment engines decide final price. +There is no global-optimality claim. + +The second stage treats each maximal same-frame component joined by consecutive +role incidences as one variable. Each role has one entering and one leaving +boundary for that component. The same exact endpoint/product argument applies. +The last pre-scatter gate for each retained source is locked, so the original +22 rank-20 copied-centre frames remain exact. The first two stages use only strict improvements. The added stages below allow histogram-preserving neutral moves. + +The first stage has 29 changes and the second has 69 component changes (186 gate +edits). Every non-frame field of the literal scalar word is independently +compared to the source. Complete forward and reflected-backward emitted words +including old response, copied centres and cleanup have exactly the original +scalar schedule hashes and bills. Arbitrary dirty restoration uses the same +inherited dirty-lifting theorem under newly checked nested labels; this is not +a claim of a new all-column Lean proof. + +The local histogram has 68,219 calls and rank mass 254,672. Five copies plus the +four idle families at ranks 4, 21, 42 and 46 produce 351,655 calls and rank mass +1,571,680. All copied-centre and final-climb calls remain explicit. The family +parameters m=110, live stock 14,316 and physical stock 23,375 are unchanged, and +`110*14316-1571680 = 3080`. The finite accounting recomputes its adapter charge +from this actual count and retains the source's compiler, routing and row +overcharges. Coefficients stay on denominators 1, 2, 3 and 6; complete actual +scalar bills and temporary lifetimes are checked in both directions. + +With fallback density `10^-16` and `32*m*m` rank-one calls for every paid child, +both independent rational interval engines admit +`772881996923825/10^18` and reject its adjacent grid point. The no-fallback root +`772882000348983/10^18` is recorded separately and is not substituted for the +conservative supplier root. + +`portable-code/DERIVATION.json` lists every parameterization made to the retained +label/splice/finite helpers. Changes replace old baseline frame/gate/histogram +count pins with the hash-bound candidate counts and independently recomputed +phase ledgers. All nesting, scalar, ownership, lifecycle, denominator, invoice, +rank/stock, finite-guard and mutation checks remain active. Root verification +checks manifest integrity both before and after the fresh replay. + +A future combined result must rerun the bit word's own full admission, bind this +fresh supplier receipt, and recompute all outer assembly constraints with the +new complex coarse rate. Existing PR319 files and claims are unchanged here. + +## Histogram-preserving neutral continuation + +After the unchanged first two stages, the component algorithm runs toward lower +endpoint frames and then toward upper endpoint frames. A neutral change is +allowed only when its exact rank-product objective and the complete multiset of +positive boundary ranks are unchanged. Thus each such move preserves the entire +paid local moment, including its call count and full fallback coefficient. +Newly exposed strict changes are only discovery proposals: both final rational +moment engines and the full supplier admission decide the final bound. + +The downward stage makes 50 component edits, including 23 strict changes; the +upward stage makes 672 component edits, including one strict change. +The exact final program SHA256 is `ea52d07910dca90871c2cd928894f491e305fa10edabd2f220cb45f0648e61a5`. Scalar order, coefficients, +ports, start/final labels and all scatter sources remain byte-for-byte equal +after scalar expansion. Both complete dirty-response/cleanup scalar words, +all nested/reflected frame ledgers, Sussman scalar and mirror checks, +mutation controls, copied-centre lifetimes, complete finite costs and precision +guards are rerun fresh. Every selection and stage output is pinned. + +The result is a stronger complex supplier only. Its use with a new bit word +still requires that word's independent full admission and a fresh exact outer +assembly against the bound fresh complex receipt. No separate supplier gains +are added, and no kappa claim is made by this supplier package. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/README.md new file mode 100644 index 0000000000..92d9ef15cb --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/README.md @@ -0,0 +1,38 @@ +# Retimed complex supplier for a future p10 successor + +The exact complex coarse saving with the complete bad-class fallback is +`b = 772881996923825/10^18`, improved from PR315's `772714351296671/10^18`. +This package makes **no new κ claim**. It supplies a stronger independently admitted complex input for a new combined construction. The supplier is prepared for composition with a +future independently admitted bit word in a new pull request. + +The construction splits grouped additions into their unchanged scalar sequence, +then retimes 29 individual gates and 69 exact same-frame incidence components. It continues through 50 downward and 672 upward component edits; histogram-preserving neutral changes expose 24 additional strict changes. +Every scalar coefficient, order, port, scatter source, scatter coefficient and +start/final frame is preserved. Retiming lowers the complete five-stage paid +call count from 351,820 to 351,655 at unchanged rank mass 1,571,680, live stock +14,316 and deficit 3,080. The largest child remains rank 46. + +Run with Python 3.11 or newer, entirely offline: + +```sh +python3 -B verify.py --output /tmp/complex-supplier-proof +``` + +Use a fresh output directory outside this package. The verifier binds every +input with `MANIFEST.json`, regenerates all four retiming stages, checks the frozen +selections and final program hash, and runs all checks fresh. The final expanded +gcert SHA256 is `ea52d07910dca90871c2cd928894f491e305fa10edabd2f220cb45f0648e61a5`. +No saved PASS receipt is used as an input. + +Admission includes both Sussman scalar/label checkers and flipped-sign controls, +both reflected scalar/frame splices, all paid climbs and copied-centre children, +temporary lifetimes, the complete finite invoice and row/precision guards, and +two independent exact rational moment engines. Both engines reject the adjacent +`10^-18` grid point, with and without the fallback. The scalar programs including +dirty-response and cleanup words match PR315 exactly. Their real-component +primitive bills remain 1,735,572 forward and 1,789,788 backward. + +This remains conditional on the inherited dirty-lifting, exact frame geometry, +cover, fixed-tape compilation, routing, precision/recovery and analytic-transfer +interfaces. There is no new Lean run, unconditional multiplication theorem or +runtime benchmark. See `PROOF.md` and `NOTICE.md`. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/SOURCE.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/SOURCE.json new file mode 100644 index 0000000000..0975851417 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/SOURCE.json @@ -0,0 +1,12 @@ +{ + "candidate_sha256": "ea52d07910dca90871c2cd928894f491e305fa10edabd2f220cb45f0648e61a5", + "complex_coarse": "30915279876953/40000000000000000", + "complex_coarse_without_fallback": "772882000348983/1000000000000000000", + "neutral_down_sha256": "19ebbe9a6d5708ee1fe2adba48c3773366f69c94bc318bf977978063f6813c0e", + "plateau_sha256": "84b4a1626d8c4fab5350315ce4615e79fa708f671ceff5de40123750fa23cd99", + "predecessor_supplier_manifest_sha256": "58da6a0a8de4bfc9eb7bf3bd440335433166e84a74b2295ad845e65e15b6a46d", + "single_sha256": "b50910e9e73d2ed3d4e49a8a3773e89db0537990fec3bfbc53f1aed00a76d269", + "source_manifest_sha256": "3474a31b64a6647a558a0f07e60a3e7364b59f9bb792ba8f69fe85dfecfd68f9", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/315", + "source_uncompressed_sha256": "91c349b9680b023449d3bc4fb58f00a22c9d9f38b776ae3a3597259431de78eb" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/frame_retime.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/frame_retime.py new file mode 100644 index 0000000000..0742aa3c6a --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/frame_retime.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python3 +"""Research only: exact nested-frame retiming of the literal PR315 complex gcert. + +Scalar gates, their order, participants/spectators and scatter source cut stay fixed. +For one gate, feasible common frames lie between the join of predecessor frames +and the meet of successor frames. Convexity of sum d log d means an exact local +maximum of the rank-product objective occurs at one of these two endpoints. +AI-assisted by OpenAI Codex, 2026-10-10. Source provenance remains in input package. +""" +import sys +if not __debug__:raise SystemExit('Assertions required') +sys.dont_write_bytecode=True +import argparse, collections, copy, gzip, hashlib, importlib.util, json, math, pathlib, time + +ROOT=pathlib.Path(__file__).resolve().parent/'vendor/pr315' +SOURCE=ROOT/'inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz' + +def basis(rows): + piv={} + for row in rows: + while row: + k=row.bit_length()-1 + if k in piv: row ^= piv[k] + else: + piv[k]=row; break + for k in sorted(piv): + for j in piv: + if j>k and (piv[j]>>k)&1: piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def annihilator(rows,h): + rows=basis(rows) + piv={r.bit_length()-1:r for r in rows} + return basis((1<>i)&1) + for i in range(h) if i not in piv) + +def regs(g): + if g[0]=='neg': return [g[2]] + return [g[2]]+[x[0] for x in g[3]]+(g[4] if g[0]=='out' else []) + +def digest(raw): return hashlib.sha256(raw).hexdigest() + +def scalar_flat(gs): + out=[] + for g in gs: + if g[0]=='neg': out.append(('neg',g[2]));continue + for r,a,b in g[3]:out.append((r,g[2],a,b) if g[0]=='out' else (g[2],r,a,b)) + return out + +def main(): + ap=argparse.ArgumentParser(); ap.add_argument('--output',type=pathlib.Path,required=True) + ap.add_argument('--passes',type=int,default=1); ap.add_argument('--screen-only',action='store_true') + ap.add_argument('--split-groups',action='store_true') + args=ap.parse_args(); args.output.mkdir(parents=True,exist_ok=True) + begun=time.time(); raw=gzip.decompress(SOURCE.read_bytes()); c=json.loads(raw) + original=copy.deepcopy(c) + if args.split_groups: + for phase in ('A','B'): + expanded=[] + for g in c[phase]: + if g[0]=='neg': expanded.append(g);continue + for term in g[3]:expanded.append([g[0],g[1],g[2],[term]]+([[]] if g[0]=='out' else [])) + if g[0]=='out' and g[4]:expanded.append(['out',g[1],g[2],[],g[4]]) + c[phase]=expanded + frames=[tuple(f) for f in c['frames']]; frameids={f:i for i,f in enumerate(frames)} + h,v,R=c['h'],c['v'],c['R']; gates=c['A']+c['B']; n=len(gates); cut=len(c['A']) + gr=[regs(g) for g in gates]; prev=[[] for _ in gates]; nxt=[[] for _ in gates] + last=[-1]*(2*v+R); locked=set(); retregs={s:f for _,s,f in c['ret']} + for i,rs in enumerate(gr): + if i==cut: + for s,f in retregs.items(): + assert last[s]>=0 and gates[last[s]][1]==f + locked.add(last[s]) + for r in rs: + prev[i].append(last[r]); last[r]=i + last=[n]*(2*v+R) + for i in range(n-1,-1,-1): + for r in gr[i]: nxt[i].append(last[r]); last[r]=i + orth={} + def ann(f): + if f not in orth: orth[f]=annihilator(f,h) + return orth[f] + weights=[1]+[r**r for r in range(1,h+1)] + def localprod(k,lo,hi): + return math.prod(weights[k-a]*weights[b-k] for a,b in zip(lo,hi)) + candidates=[]; edits=[]; cumulative_num=1; cumulative_den=1 + for sweep in range(args.passes): + count=0 + for i,g in enumerate(gates): + if i in locked: continue + before=[frames[c['start'][r]] if j<0 else frames[gates[j][1]] for r,j in zip(gr[i],prev[i])] + after=[frames[c['final'][r]] if j==n else frames[gates[j][1]] for r,j in zip(gr[i],nxt[i])] + old=frames[g[1]]; d=len(old); lo=[len(f) for f in before]; hi=[len(f) for f in after] + lower=basis(x for f in set(before) for x in f) + upper=ann(basis(x for f in set(after) for x in ann(f))) + assert len(lower)<=d<=len(upper) + oldp=localprod(d,lo,hi); bestp=oldp; best=old; direction=None + for direct,new in [('lower',lower),('upper',upper)]: + newp=localprod(len(new),lo,hi) + if newp>bestp: bestp=newp;best=new;direction=direct + if bestp==oldp:continue + common=math.gcd(bestp,oldp); num=bestp//common;den=oldp//common + item=dict(sweep=sweep,phase='A' if i=0 + if o!=f: + assert delta>0 and basis(frames[o]+frames[f])==frames[f] + H['x' if r=0 and gs[j][1]==gs[i][1]:union(i,j) + groups=collections.defaultdict(list) + for i in range(n):groups[find(i)].append(i) + changed=0;strict=0;neutral=0 + for root,group in groups.items(): + if any(i in locked for i in group):continue + before={};after={} + for i in group: + for r,j,k in zip(gr[i],prev[i],nxt[i]): + if j<0 or find(j)!=root: + assert r not in before;before[r]=frames[c['start'][r]] if j<0 else frames[gs[j][1]] + if k==n or find(k)!=root: + assert r not in after;after[r]=frames[c['final'][r]] if k==n else frames[gs[k][1]] + assert before.keys()==after.keys() + rs=sorted(before);lo=[len(before[r]) for r in rs];hi=[len(after[r]) for r in rs] + lower=basis(x for f in set(before.values()) for x in f) + upper=ann(basis(x for f in set(after.values()) for x in ann(f))) + oldid=gs[group[0]][1];old=frames[oldid];d=len(old);assert len(lower)<=d<=len(upper) + oldp=value(d,lo,hi);newp=oldp;best=old;direction=None + def hist(k):return collections.Counter(x for a,b in zip(lo,hi) for x in (k-a,b-k) if x) + oldhist=hist(d) + for direct,new in [('lower',lower),('upper',upper)]: + candidate=value(len(new),lo,hi) + tie=(candidate==oldp==newp and hist(len(new))==oldhist and + ((args.neutral=='up' and len(new)>len(best)) or (args.neutral=='down' and len(new)newp or tie:newp=candidate;best=new;direction=direct + if best==old:continue + if best not in ids:ids[best]=len(frames);frames.append(best) + common=math.gcd(newp,oldp);num,den=newp//common,oldp//common + edits.append(dict(sweep=sweep,gate_indices=group,roles=rs,old_frame=oldid,new_frame=ids[best], + old_rank=d,new_rank=len(best),new_basis=list(best),direction=direction, + ratio_num=str(num),ratio_den=str(den),log_gain=math.log(num)-math.log(den),neutral=(num==den))) + for i in group:gs[i][1]=ids[best] + changed+=1 + if num==den:neutral+=1 + else:strict+=1 + print(json.dumps(dict(sweep=sweep,components=len(groups),changed_components=changed,strict=strict,neutral=neutral,seconds=time.time()-begun)),flush=True) + if not changed:break + c['frames']=[list(f) for f in frames];H={k:collections.Counter() for k in ('x','y','s','c')};cur=c['start'][:] + def climb(r,f): + old=cur[r] + if old==f:return + assert len(frames[old])>(m*i))&((1<>k&1),None) + if p is None: break + if p!=k: rows[p],rows[k]=rows[k],rows[p];ops+=3 + for i in range(m): + if i!=k and rows[i]>>k&1: rows[i]^=rows[k];ops+=1 + else: + need(rows==[1<0, f"{where}: coefficient shape") + q=Fraction(a,b) + odd=q.denominator + while odd%2==0: + odd//=2 + need(odd in (1,3), f"{where}: literal coefficient outside dyadic/divisor-three grid") + return q + +def replay_label_counts(c, expected): + """Full finite LABEL walk only. Never multiplies the 11,676-square scalar map.""" + need(c.get("format")=="gcert/1", "format") + need(all(c.get(k)==v for k,v in BASE.items()), "baseline parameter/count mismatch") + h,v,R=c["h"],c["v"],c["R"]; n=2*v+R + need(c.get("ext")==[], "baseline has no exterior-gauged helper inputs") + frames=c["frames"]; dim=list(map(len,frames)) + need(len(frames)==expected["frames"], "source-bound frame-table count") + need(frames[0]==[] and frames[1]==[1<piv[i+1] for i in range(len(piv)-1)), "frame pivot order") + need(all(not(b>>p&1) for i,b in enumerate(f) for j,p in enumerate(piv) if i!=j), + "frame is not reduced echelon") + ports=c["ports"] + need(len(ports)==v==len(set(ports)), "port count/uniqueness") + need(all(type(p) is int and 0=4 and g[0] in ("out","in"), where+": gate shape") + tag,f,pivot,terms=g[:4] + need(len(g)==(5 if tag=="out" else 4), where+": gate arity") + need(type(f) is int and 0<=f{tr}"]+=1 + totals[phase]["scalar_additions"]+=1 + if sr==tr=="y": + ybracket[(source,target)]+=q;ypiv.add(source);ytarget.add(target) + for r in regs: + climb(r,f,phase) + if phase=="A": + cut=cur.copy() + need(all(cur[v+t]==0 for t in range(v)), "scatter: Y role moved too early") + for k,r,f in c["ret"]: + need(type(r) is int and 2*v<=r>k&1 else c["scat"]["outside"]),"scatter")) + for p in ports for k in range(22)) + return { + "frame_count":len(frames),"tested_distinct_nested_pairs":len(pairs), + "live_registers_per_invocation":n,"temporary_centers":22, + "ranked_live_transitions":transitions, + "phase_stats":totals,"role_histograms":measured, + "phase_histograms":{p:hist(x) for p,x in by_phase.items()}, + "invocation_histogram":hist(combined),"invocation_calls":sum(combined.values()), + "invocation_rank_mass":mass,"retained_centers":c["ret"], + "phase_state_sha256":{"start":digest(start),"after_A":digest(cut), + "after_B":digest(before_final),"final":digest(final)}, + "literal_gate_coefficients":dict(sorted(literal.items())), + "scalar_role_directions":dict(sorted(kind.items())), + "scatter_coefficients":dict(sorted(scatter.items())), + "scatter_additions":sum(scatter.values()),"Cc_copy_additions":22, + "two_hosts_metadata_count":len(c.get("two_hosts",[])), + "two_hosts_note":"Metadata only; not an independent allocator or host-use proof.", + "Y_bracket_pairs":len(ybracket), + "literal_inverse":"Each nonself additive shear inverts by negating its coefficient; inverse phase reverses order; inverse transpose keeps chronological order and swaps source/target with negation.", + "limits":["No scalar all-column replay","No old-response or cleanup matrix formed", + "No generated Lean data comparison or kernel build","No physical stream compiler"] + } + +def scalar_word(ops): + matrix=[[int(i==j) for j in range(4)] for i in range(4)] + for target,source,q in ops: + matrix[target]=[a+q*b for a,b in zip(matrix[target],matrix[source])] + return matrix diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_scalars.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_scalars.py new file mode 100644 index 0000000000..98c5574693 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_scalars.py @@ -0,0 +1,216 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +V,R,H=1320,9036,22 +def need(x,msg): + if not x:raise ValueError(msg) + +def kind(r):return "X" if r>k&1 else c["scat"]["outside"])) + yield add(live(V+t),tmp(r),q) + yield from part(B) + +def old_word(orientation,K): + if orientation=="forward": + yield from (copy(("T",q),live(2*V+q)) for q in range(R)) + for e in K: + op,t,s,a,b=e + yield add(t,s,Q(-a if t[0]=="L" else a,b)) + else: + yield from (clear(("T",q)) for q in range(R)) + for op,t,s,a,b in reversed(K): + yield add(s,t,Q(a,b)) + yield from (add(live(2*V+q),("T",q),Q(1)) for q in range(R)) + yield from (clear(("T",q)) for q in range(R)) + +def cleanup(orientation,AB): + for t,s,q in reversed(AB): + if kind(t)=="Y":continue + if orientation=="forward":yield add(live(t),live(s),-q) + else:yield add(live(s),live(t),q) + +def main_scalar(orientation,A,B,c): + def phase(gs): + for t,s,q in gs: + if orientation=="forward":yield add(live(t),live(s),q) + else:yield add(live(s),live(t),-q) + yield from phase(A) + # Every center is a complete temporary stream and one rank20 child, + # initialized/read/discarded before the next center uses the work stock. + for k,r,_ in c["ret"]: + yield clear(center(k)) + if orientation=="forward":yield add(center(k),live(r),Q(1)) + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + if orientation=="backward":yield add(center(k),live(V+t),q) + yield ("recursive_center",k,20) + if orientation=="forward": + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + yield add(live(V+t),center(k),q) + else:yield add(live(r),center(k),Q(-1)) + yield clear(center(k)) + yield from phase(B) + +def inv_schedule(orientation,A,B,c): + K=list(old_positive(A,B,c)) + yield from ((p,e) for p,es in [ + ("old_response",old_word(orientation,K)), + ("main",main_scalar(orientation,A,B,c)), + ("cleanup",cleanup(orientation,A+B))] for e in es) + +def coeff_steps(q): + """Non-destructive coefficient expansion using one complete work stream. + Copy source, double/halve/divide by3 as needed, add/subtract, clear. + Counts Gaussian operations; multiply by2 for real/imag component primitives.""" + a,b=abs(q.numerator),q.denominator + need(a in (1,2) and b in (1,2,3,6),"unsupported new coefficient") + return 3+int(a==2)+int(b%2==0)+int(b%3==0) + +def bill(schedule): + phases={p:Counter() for p in ("old_response","main","cleanup")} + coeffs={p:Counter() for p in phases} + tape=sha256() + for p,e in schedule: + tape.update((json.dumps((p,e),separators=(",",":"))+"\n").encode()) + phases[p]["all_macros"]+=1 + if e[0]=="recursive_center": + phases[p]["recursive_centers"]+=1 + phases[p]["recursive_rank_mass"]+=e[2] + continue + phases[p]["scalar_macros"]+=1 + phases[p][e[0]]+=1 + if e[0]=="add": + q=Q(e[3],e[4]);coeffs[p][str(q)]+=1 + phases[p]["Gaussian_primitive_steps"]+=coeff_steps(q) + phases[p]["scalar_log2_magnitude_charge"]+=1+int(abs(q)==2) + phases[p]["halving_exposure"]+=int(q.denominator%2==0) + phases[p]["divisor3_exposure"]+=int(q.denominator%3==0) + else:phases[p]["Gaussian_primitive_steps"]+=1 + for p in phases:phases[p]["real_component_primitive_steps"]=2*phases[p]["Gaussian_primitive_steps"] + total=sum((Counter({k:v for k,v in x.items() if k not in ["recursive_rank_mass"]}) for x in phases.values()),Counter()) + return {"phases":{p:dict(x) for p,x in phases.items()},"coefficient_histograms":{p:dict(x) for p,x in coeffs.items()}, + "totals":dict(total),"schedule_sha256":tape.hexdigest(), + "other_main_recursive_calls":"68230 existing live-label transitions, unchanged; not scalar macros"} + +def mm(A,B):return [[sum((x*y for x,y in zip(row,col)),Q(0)) for col in zip(*B)] for row in A] + +def lifecycle(schedule): + """Verify that new scalar-only work stock never survives into a child.""" + initialized=set();dirty=set();active_centers=set();seen_main=False;children=0 + for phase,e in schedule: + if phase=="main" and not seen_main: + need(not dirty,"old-response tableau survives into recursive main phase") + seen_main=True + need(e[0] in ("add","copy","clear","recursive_center"),"unknown or unpaid recursive operation") + if e[0]=="recursive_center": + k=e[1] + need(type(k) is int and 0<=k<22 and e[2]==20,"new temporary entered uncharged child") + need(phase=="main" and not dirty,"old-response temporary used during child") + need(active_centers<=set([k]),"other center was not discarded before next child") + children+=1 + continue + target=e[1] + source=e[2] if e[0] in ("add","copy") else None + if source and source[0]=="T":need(source[1] in initialized,"uninitialized temporary read") + if target[0]=="T": + need(phase=="old_response","scalar-only tableau touched after recursive phase begins") + initialized.add(target[1]) + if e[0]=="clear":dirty.discard(target[1]) + else:dirty.add(target[1]) + if target[0]=="C": + if e[0]=="clear":active_centers.discard(target[1]) + else:active_centers.add(target[1]) + if e[0]=="add": + # Coefficient expansion is deliberately local: copy into W, + # optionally double/halve/divide3, accumulate, and clear W. + expanded=["copy_work"]+["scale"]*(coeff_steps(Q(e[3],e[4]))-3)+["accumulate","clear_work"] + need(expanded[-1]=="clear_work","coefficient work survived scalar macro") + need(not dirty and not active_centers,"temporary stock not erased at invocation end") + need(children==22,"center child count changed") + return {"tableau_cleared_before_entire_main_phase":True,"tableau_absent_from_all_children":True, + "coefficient_work_cleared_per_add":True,"center_children":children, + "new_recursive_children":0,"moment_live_width":14316, + "new_work_stock_only":9037,"complete_stream_fraction":"1/(14316*|Orth(110,2)|)"} + +def ident(n):return [[Q(int(i==j)) for j in range(n)] for i in range(n)] + +def matrix(n,gs): + a=ident(n) + for t,s,q in gs:a[t]=[x+q*y for x,y in zip(a[t],a[s])] + return a + +def toy_checks(): + # 2 X, 3 S, 2 Y. Explicit nontrivial X mixing is undone; helper map + # and K are otherwise arbitrary. Exact Fraction checks cover every column + # of THIS TINY TEMPLATE, not of the published 11676-register source. + n=7;X={0,1};S={2,3,4};Y={5,6} + gs=[(2,0,Q(1)),(3,2,Q(2)),(5,3,Q(-1,6)),(0,1,Q(1,2)), + (4,0,Q(2)),(2,4,Q(1,2)),(6,2,Q(1,3)),(0,1,Q(-1,2)), + (3,1,Q(-1)),(5,4,Q(1)),(6,0,Q(1))] + M=matrix(n,gs) + need(all(M[i]==ident(n)[i] for i in X),"toy source rows not restored") + Ugs=[e for e in gs if e[0] not in Y] + U=matrix(n,Ugs) + Uinv=matrix(n,[(t,s,-q) for t,s,q in reversed(Ugs)]) + need(mm(Uinv,U)==ident(n),"restricted inverse identity") + Mi=matrix(n,[(t,s,-q) for t,s,q in reversed(gs)]) + g8=[Mi[i] if i in S else ident(n)[i] for i in range(n)] + h8=[M[i] if i in S else ident(n)[i] for i in range(n)] + need(g8==Uinv and h8==U,"cleanup projection identities") + Ut=matrix(n,[(s,t,q) for t,s,q in reversed(Ugs)]) + need(Ut==[list(x) for x in zip(*U)],"backward cleanup transpose") + Kgs=[e for e in gs if e[1] not in X] + Kmat=matrix(n,Kgs) + need(all(Kmat[i][j]==M[i][j] for i in Y for j in S),"zero-source old response") + Kt=matrix(n,[(s,t,q) for t,s,q in reversed(Kgs)]) + need(all(Kt[i][j]==M[j][i] for i in S for j in Y),"old response adjoint") + bad=matrix(n,[(t,s,q) for t,s,q in reversed(Ugs)]) + need(bad!=g8,"wrong inverse sign must fail") + bad_order=matrix(n,[(s,t,q) for t,s,q in Ugs]) + need(bad_order!=Ut,"unreversed transpose must fail") + return {"tiny_exact_template_columns_checked":7,"checks_passed":7, + "wrong_inverse_sign_rejected":True,"unreversed_transpose_rejected":True, + "published_full_scalar_replay":False} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_splice.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_splice.py new file mode 100644 index 0000000000..303b67b3b6 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/portable-code/complex_splice.py @@ -0,0 +1,277 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +V,R,H,N,W=1320,9036,22,11676,14316 +PHASES=["old_response","ad0","A","centers","B","final","adF","cleanup","done"] +def need(x,s): + if not x:raise ValueError(s) + +def blobhash(p):return sha256(p.read_bytes()).hexdigest() + +def digest(x):return sha256(json.dumps(x,separators=(',',':'),sort_keys=True).encode()).hexdigest() + +def role(r):return 'X' if r0 else -1),clear(work)] + +def emit(c,ori): + """Construct the complete local parametric invocation, before cover routing. + One role stream is its full complete address rectangle. Frame labels denote + exact canonical representatives, never just rank or binary matrices. + """ + A=list(flat(c['A']));B=list(flat(c['B']));cur=c['start'].copy() + K=[] + for part in (A,None,B): + if part is None: + for t,p in enumerate(c['ports']): + for k,r,f in c['ret']: + K.append(add(L(V+t),T(r),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside'])))) + else: + for t,s,q in part: + if role(s)=='X':continue + K.append(add(T(t) if role(t)=='S' else L(t),T(s),q)) + yield ('phase','old_response') + if ori=='forward': + for q in range(R):yield scal('old_response',copy(('T',q),L(2*V+q)),'old0') + for _,t,s,a,b in K:yield scal('old_response',add(t,s,Q(-a if t[0]=='L' else a,b)),'old0') + else: + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + for _,t,s,a,b in reversed(K):yield scal('old_response',add(s,t,Q(a,b)),'old0') + for q in range(R):yield scal('old_response',add(L(2*V+q),('T',q),Q(1)),'old0') + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + yield ('phase','ad0') + for r,f in enumerate(c['start']):yield ('adapter','old_to_new',r,f) + for part in ['A','centers','B','final']: + yield ('phase',part) + if part in ['A','B']: + for g in c[part]: + regs=[g[2]]+[x[0] for x in g[3]]+(g[4] if g[0]=='out' else []) + for r in regs: + if cur[r]!=g[1]: + old=cur[r];cur[r]=g[1] + yield ('climb',part,r,old,g[1],len(c['frames'][g[1]])-len(c['frames'][old])) + for t,s,q in flat([g]): + e=add(L(t),L(s),q) if ori=='forward' else add(L(s),L(t),-q) + yield scal('main',e,g[1]) + elif part=='centers': + for k,r,f in c['ret']: + yield scal('main',clear(C(k)),f if ori=='forward' else 0) + if ori=='forward':yield scal('main',add(C(k),L(r),Q(1)),f) + else: + for t,p in enumerate(c['ports']): + yield scal('main',add(C(k),L(V+t),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + yield ('center',k,f if ori=='forward' else 0,0 if ori=='forward' else f,20) + if ori=='forward': + for t,p in enumerate(c['ports']): + yield scal('main',add(L(V+t),C(k),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + else:yield scal('main',add(L(r),C(k),Q(-1)),f) + yield scal('main',clear(C(k)),0 if ori=='forward' else f) + else: + for r,f in enumerate(c['final']): + if cur[r]!=f: + old=cur[r];cur[r]=f + yield ('climb','final',r,old,f,len(c['frames'][f])-len(c['frames'][old])) + yield ('phase','adF') + for r,f in enumerate(c['final']):yield ('adapter','new_to_old',r,f) + yield ('phase','cleanup') + for t,s,q in reversed(A+B): + if role(t)=='Y':continue + e=add(L(t),L(s),-q) if ori=='forward' else add(L(s),L(t),q) + yield scal('cleanup',e,'old1') + yield ('phase','done') + +def contains(U,V): + for u in U: + for v in V: + if u>>(v.bit_length()-1)&1:u^=v + if u:return False + return True + +def validate(events,c,ori,manifest,bill): + phase=None;seen=[];cur=c['start'].copy();cent={};dirty=set();initialized=set() + climbed=Counter();hist=Counter();projection=sha256();whole=sha256();counts=Counter();ad0=[];adF=[] + pairs=set();states={};all_frame_incidence=0;primitive=sha256();primitive_count=0 + for ev in events: + whole.update((json.dumps(ev,separators=(',',':'))+'\n').encode()) + tag=ev[0];counts[tag]+=1 + if tag=='phase': + if phase=='A':states['after_A']=digest(cur) + if phase=='B':states['after_B']=digest(cur) + if phase=='final':states['final']=digest(cur) + phase=ev[1];seen.append(phase) + need(seen==PHASES[:len(seen)],'strict old/A/copy/B/final/adapter/cleanup chronology') + if phase=='ad0':need(not dirty,'old-response tableau survived before label recursion') + if phase=='A':need(ad0==list(enumerate(c['start'])),'missing or reordered exact entry adapter') + if phase=='adF':need(cur==c['final'],'final climbs omitted before cleanup') + if phase=='cleanup':need(adF==list(enumerate(c['final'])),'missing or reordered exact final adapter') + continue + if tag=='adapter': + _,which,r,f=ev + if which=='old_to_new':need(phase=='ad0','entry adapter position');ad0.append((r,f)) + else:need(which=='new_to_old' and phase=='adF','final adapter position');adF.append((r,f)) + elif tag=='climb': + _,p,r,old,new,d=ev + need(phase==p and p in ['A','B','final'],'live child outside source label walk') + need(not dirty and not cent,'new work stock or center active during live child') + need(cur[r]==old and d==len(c['frames'][new])-len(c['frames'][old]) and d>0,'wrong exact child endpoints/rank') + pair=(old,new) + if pair not in pairs:need(contains(c['frames'][old],c['frames'][new]),'nonnested child');pairs.add(pair) + cur[r]=new;climbed[p]+=1;hist[d]+=1 + elif tag=='center': + _,k,old,new,d=ev + need(phase=='centers' and not dirty and set(cent)=={k},'center child ownership') + need(cent[k]==old and (k,c['ret'][k][1],c['ret'][k][2])==tuple(c['ret'][k]),'center input frame') + f=c['ret'][k][2] + need((old,new,d)==((f,0,20) if ori=='forward' else (0,f,20)),'center child direction/rank') + cent[k]=new;hist[d]+=1 + projection.update((json.dumps(('main',('recursive_center',k,d)),separators=(',',':'))+'\n').encode()) + elif tag=='scalar': + _,p,e,f=ev + need(p==('main' if phase in ['A','centers','B'] else phase),'scalar phase binding') + need(e[0] in ['add','copy','clear'],'unpaid scalar operation') + target=e[1];source=e[2] if e[0] in ['add','copy'] else None + for x in [target]+([source] if source else []): + bank,r=x + if bank=='T':need(phase=='old_response' and 0<=r0,'row reserve gap') + need(2*(dim*(dim-1)+3*dim+dim+3*dim*(dim-1)//2+dim+1)+2*dim 2⁸⁰ and every +local ring Z/q^w. All scalars are between 1 and 25 (the largest bank has 25 blocks), so they remain distinct +units. The proof uses the full GL cover, not a projective quotient. + +## Completed endpoint + +Complete the entire cover sweep for each stage and replica, in fixed order, before its boundary phase. The +complete local source endpoint separates every bank from the data and the other banks, so each subsequent +invocation may receive arbitrary dirty bank contents. + +For each bank, its block projectors are disjoint and sum to I₁₀₀, so the literal partial swaps compose to +D_I₁₀₀ on every address column. The common inherited ancestor chart is the same for each block and cancels +between blocks. The checker verifies: + +- all 200 address columns; +- the reverse schedule; +- failures when a block is omitted or repeated. + +No new independence assumption on dirt is used. + +The five bank collections remain separate, and each is touched only in its own stage. This gives every physical +bank its full required endpoint once. The data stage routes, bridge maps, idle children and final exchanges +remain PR234's. Consequently there are no independent exterior rank-5a children. Their removal follows from the +completed bank endpoint. No internal, data, compensation or copied-centre child is removed. + +## Families and the exact tiling + +The actual residual families are: + +| width | source | roles | +| ---: | --- | ---: | +| 3 | rank-17 entrances | 70 | +| 4 | rank-16 entrances | 1,200 | +| 20 | ungauged roles | 6,960 | + +A bank holds blocks of total width exactly 100. With 60 replicas the total residual width must therefore +satisfy 60·width ≡ 0 (mod 100), i.e. width ≡ 0 (mod 5). Banks are never padded. A padded bank would not sum to +I₁₀₀; its unused coordinates would count as stock without children and break the telescoping identity +m·W − mass = 60·(4v − 5h(h−2)) that `bank_check.py` and `math_check.py` assert. + +The physical-layer producer enforces divisibility with `make_physical.py --bank-parity`. This generalizes gen5's +parity rule (60·width ≡ 0 mod 120). It drops the fewest trailing reuse pairs that make 60·width divisible by m. +Dropping a pair returns its rank-17 recipient to the entrances as a width-3 family, and its donor stays a plain +helper, so each drop adds 3 to the width. + +For this word the maximum matching has 892 pairs and width 144,204 ≡ 4 (mod 5). Two drops are therefore minimal +(3k ≡ 1 mod 5 gives k = 2). The dropped pairs are [3454, 9119] and [3409, 9118], and the width goes 144,204 → +144,207 → 144,210. In the unbanked price the two drops cost about 1.5·10⁻⁸. + +`bank_template.tile()` then finds an exact tiling, with no padding: + +| Blocks | Banks per stage | +| --- | ---: | +| 20 of dimension 3 and 2 of dimension 20 | 210 | +| 25 of dimension 4 | 2,880 | +| 5 of dimension 20 | 83,436 | + +The tiler mixes a width that does not divide m (here 3) with a filler width that does (here 20). It backtracks +until every remaining pure width divides out, and asserts: + +- every pattern sums to m; +- every block is used exactly once. + +The patterns are pinned in `word-pins.json`. + +## Counts and selector bill + +There are 86,526 banks per stage, 432,630 banks in total and 230,400 data families. Literal stock is 663,030, +and its per-replica normalized value is 132,606/12. The checker enumerates each of the 2,469,000 actual +role/replica/stage assignments exactly once, verifies each actual role's chart rank, and hashes the complete +allocation. + +Every actual chart (163 distinct entrance bases) uses at most 150 factors. At most 99 coordinate transpositions +and 100 scalar-coordinate factors give 349 normalizer factors. A conservative added out-and-back selector bill, +in addition to all retained PR234 route and scalar bills, is + + 2·5·60·((663030 − 1) + 8230·100·349) = 172,734,017,400 < 2⁴⁰. + +## Literal realization + +The literal stock, not the rational per-replica stock, must be used for physical role routing and finite +storage. All 60 scalar replicas execute, and all recursive child counts are multiplied by 60 in a literal +realization. Any smaller integer normalization used only in the moment arithmetic must be distinguished from +the literal replica count. + +Serial execution may share an external copied-centre work stream only after erasure. The fixed bank selector +bill is explicitly charged before the inherited positive ordinary-leaf gap absorbs it. After completion removal +the largest child is 42 of 100, so a single level halves, and the histogram remains a one-level profile. + +## Scope + +This witness leaves the following to the integrator (verify.py): + +- the full scalar, integer and sign audits; +- the frame ledgers and the exact global lowering; +- the prime guard and the complete fallback profile; +- the 47 outer inequalities. + +Its input charts and census are the independently admitted p = 10 helper. The existing compiler, common weighted +chart, restored selectors, complete-stream routing and all-size analytic hypotheses remain conditional, as in the +cited sources. + +Prepared with OpenAI Codex assistance (source527 package, eumemic). The gen5 and p = 10 numbers, the bank +divisibility rule and the exact tiler were added with Claude assistance. Apache-2.0; inherited source +attribution remains unchanged. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/LICENSE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/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/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/MANIFEST.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/MANIFEST.json new file mode 100644 index 0000000000..23bcf84a81 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/MANIFEST.json @@ -0,0 +1,128 @@ +{ + "files": { + "BANK-PROOF.md": "07b6f3ef808a8a98428a8b14709f16cb40bcc2c93943dd57932b80d62206963a", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "2c709df433e7c8e1090d032015c85cf1b0a4beb9c51d13e239282456fbffb7e7", + "PR-STATEMENT.md": "cf8f0341e4ab6e45bd58176aeb8628bfe0bc439c1a6083084125f868426ff93e", + "PROOF.md": "8670879444ff0536a80eaa66a421c6c819ab77b38941e38aa86e697ffe86db2f", + "README.md": "3139213c18924fd5925fe92ef7bedb3bb6c15a4ee0dc8e2056a3082f9ff68eab", + "UPSTREAM-PR234-NOTICE.md": "ce978c8dfc8a2b36eed7a53014b1a792248b22ef4cee3edd8adab825a571c429", + "UPSTREAM-PR234-PROOF.md": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "bank_check.py": "b67d1e5870239a456a732caa8e56b836d3fa472f451790700276ce706bed1da8", + "bank_template.py": "8c131d76ebfa7788f18020d4b7a8b5dbf84c1387c6879a0046bd158cff840016", + "base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "bitword/NOTICE-PR200": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "bitword/README.md": "1d4fe7b5300f3c2fc2f3a1276a73f58c01afba72ae13d0c5e75644b13a0dc175", + "bitword/bit/base_word.py": "9fe3a81b7561d2b09c086f63fac4626e88a32369ef8bc5579c94878de1218a89", + "bitword/bit/word.py": "88554981690cb43c4286fd962dddf0f20c58cf0c6cd58f0b8081ac88b16531ff", + "bitword/producer/data/arcs_p10.json": "ac4555382b2cf4e6adbeabbdabb15c79f1485877ec169a49dc1fa49d5a614185", + "bitword/producer/data/local_design_p10.json": "5309396966a9886906cf9efc3f71aee4441e24a222cc39f1fcf3407d7fde5ec3", + "bitword/producer/data/pm_p10.json": "7a734a0f4a20d38a15d2e88dfc4c0498ceec38400143125855b39b0446d1db2a", + "bitword/producer/data/qmod_p10.json": "40ffb168466bc016bc18a2bbdde65d38b7fd1b406d8a4026f1a6e517fe153459", + "bitword/producer/descent.py": "873fdf8d1281e034a238e09968ee66d77dcc236616305893c1aaee2b516299ff", + "bitword/producer/make_physical.py": "ac929030b1f465d5b4e9073635782a9f7c9ac22398cc101c66c8af771e9759cf", + "bitword/producer/paired_cube_bit_word.py": "1a24e1d57d92579801d9bd2048dc7804801faac0566bebed790281775cd808ce", + "bitword/producer/regenerate.py": "2929047b40a3a2dcbadd7df95c8cba0a7fc68abb705f878b6767a41f90fac02e", + "bitword/references/pr168-v4/SOURCE.json": "21a412177c9309d89472aabf4c67618d7a546811f7e68a5904304ae46a98d27c", + "bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "bitword/selected/bit/frames_p10.json.gz": "f191ca102966c77e6865e18751d8a17922ce46015dcbb42789ad735925886ec8", + "bitword/selected/bit/graph_p10.json": "41e50cb6ccb5a61ff48c8d9ec2a9014f2dcdff87afd3c42bba9cd02b92605a3f", + "bitword/selected/bit/kchron_p10.json": "228b7e2343d31191cb054c29b1c253ffdb53b768a60cb34ab3db1c1df0abb518", + "bitword/selected/bit/profile_p10.json": "5bbfa6a9e60095d77d6569f49a2d250d812fcbb8d9f25f57c15c4c7f13e4fabb", + "bitword/selected/bit/word_p10.json.gz": "12c19c65991a12790b3f1ac772a219c58d439dd9ed655d3eefee9562502e004c", + "code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "code/complex_labels.py": "0c288a7923ff5923f8b3a1bb425b17679633e02284a8c32898bbb2fc24ca131a", + "code/complex_scalars.py": "87b19c643205f7d0ebab7fefb95e5aba31fefb3129b998d4b0e5070031f4898e", + "code/complex_splice.py": "b1b4847652a9968d7afb8dd529bc371b656afa240f2e393f03c187dca250c4ce", + "code/geometry527.py": "734cb349cc109fc7fe6b074ecb77ff80544f630dee331000f4d0ab79e77ac4f3", + "code/global_lowering.py": "53b7a45006893218e6eb7fed026ef2e51809f8f04ef25a07cf4e1ca563de30fa", + "code/physical527.py": "4d4bf47ee083d3864f76907428f4e813a147f7ea6ab0b8cd1536adcd2c469395", + "discovery/REPIN.md": "74140b755d66647b83115247a278a7e1009efff6e49995a16fcc1528cc43eed7", + "discovery/repin.py": "8bd21ad00c07d2f9cbde3a882721882d12e0e50851c720799b449599f205654f", + "finite_check.py": "7383f1cea130244e5b35fc8c707d132091b5c81943f7e61fd4c9a778c77344ee", + "inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "inputs/complex/NOTICE-PR304": "319165f41cf97f37b587c92351289db2d287ca7a90845338318086d5ff447e84", + "inputs/complex/centre-mw/NOTICE": "c39fddd8a76cd7b14fd19e71a903eebd62e21fd7c00e76e658a190d96074020b", + "inputs/complex/centre-mw/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "inputs/complex/centre-mw/exact_result.json": "250aa8f9037e9b6fd59291a9c98ff3c7242ec384c6129c95bf5223dc6c9e77a9", + "inputs/complex/centre-mw/pmod46_ptc1_final.json": "d5a171674141bd2a4ac2e099c9f19dee3600482f06d4f83245a427f402c6b19b", + "inputs/complex/centre-mw/qmod_q1_snap1.json": "cb71db4928088f0e20913dfe33df215c2a00e2bc33968d8d501f4f647cc920bc", + "inputs/complex/centre-mw/tmod_final.json": "3ed4ffb275c3b7fc609d617a2c2b60d761306a1fe306492dc1d9ea9940c41073", + "inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz": "bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34", + "inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "inputs/complex/source-pins.json": "c32bb00a73aa82043ee9727d9d7eda9aedb6518e55cc638df53cf6611e54e146", + "inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "math_check.py": "e9372d61a9d7841bbf3a61a44603627f2a7703b6304106640a83f26c8f899058", + "moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "notices/PR210-coordinated-crossover-NOTICE": "9fc5561c0995892dbdde777c713899486920c32d3562392f5f72377a4953bf98", + "notices/PR230-NOTICE": "7dfbad087ee49b74fd5075d517eaa263c5dd3d4fbd4c69bfba34ee1cb55e837f", + "notices/PR230-PROVENANCE.json": "19957e28a8ad26281bfe8bfaf8ae16191be53e729a8870a6154671b3384959d4", + "notices/README.md": "d1fcf4e4209d5966282ac8202cf461bd575119a7aaf2ca64e8746810fe5259b8", + "notices/base-bit-PR200-PR202-NOTICE": "c9850418622aea8d1382a230306c940947b5da818f4854b4b272ed60cf239f6c", + "notices/source527-loader-NOTICE.md": "ee632728cc4d89565292d288f8289f483ac794b5d02cc6e42c2b2c43c43ff1d8", + "outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "parity_transform.py": "e068874694fc15135a0950b7361e537f48688d9ac9f0a05c2372f1deb813d085", + "portable_bit.py": "368ef679009f7272fffd30fe18aeb12722e00612e040aa6eb2a4dbd019486a5a", + "portable_complex.py": "a09d19a4efa54c0646b06ccb5393e3f1eb928b2e002738bb2a2af2a2ba7efb3a", + "prepare.py": "c1a215713f47b954c28a3f0d48490a055fb75f6af31a0e6b5248802d6951a09b", + "prime_check.py": "045831f41b9f4208538ba4b17c9354c125acb33b5f538f7a30f4813c2948c57c", + "prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "proof/FINITE_BIT_ACCOUNTING.md": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "proof/INTEGRATED_PROOF.md": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "proof/PARITY-CONTRACT.md": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "proof/README.md": "435c699dc07400366b84fe43d981cd2f6c95a4837e636fff8fe6a25897d853c4", + "proof/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "proof/primary/03-motifs.tex": "ed76761194988a01af77ead0ea6469cb5dcd29690ab985a0b5a4006b0f2b69bb", + "proof/primary/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "proof/primary/PROVENANCE.md": "dd9054c58aa92c44b0ef5f691ad4dc52b8ead2f20a9843d4399d6c300d616023", + "proof/primary/UPSTREAM-README.md": "8d1ceff898a4e0e681679f91c4def485820be9e99f04e4861f2ce601a364723e", + "proof/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "proof/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "raw_ledger.py": "782c2aef0b6225b0e99f73abbc98681d21125c17c024ab0b8a0e4d0382182ef0", + "requirements.txt": "25f9f1fb1988b230147a1d3092d34e09c069eb7a6c6d6df46b3973b9f2d36efc", + "scalar/word.py": "e675d4eb9d90ff0b44279fae0b46f1a8b39f65421cc38454b70a6b75d0e10b42", + "scalar_check.py": "520c4549de9200811dd594d15cdf73de28f287b04778965491b2c5b3f6d6ed5a", + "verify.py": "b0d2a2cf1e348545dbace3c5f3e98b1c91c1f7773969decdc76ca4240c174599", + "virtual_check.py": "ec952d99c151e6e336631210e598d58478293491ca01842fd4c9d0a4b57b4e5a", + "word-pins.json": "25c33dbc59c4add386777e9e88c079cbfe14ea77ec821eef8e47659ea2c1c67a", + "word_pins.py": "3cc2662630af62aaabb6966f03b5d01a2f06a5f3490c6979a3e54daf550958b4" + }, + "schema": "gen5-parity-fused-five-stage-banks-inputs/1" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/NOTICE.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/NOTICE.md new file mode 100644 index 0000000000..14e1c8f9ae --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/NOTICE.md @@ -0,0 +1,117 @@ +# Attribution and licence + +Apache-2.0 applies. Original headers, licences, notices and AI-assistance disclosures are preserved. The +credits below do not imply review or endorsement. + +This package is a cube-size change (p = 12 → p = 10) of #285's gen5 five-stage package. Every inherited design, +generator, checker, layout and bank method below is used at the new cube size; no inherited idea is claimed. + +## Inherited, unchanged or with generalized constants + +- **Five-stage architecture and finite interface package:** Henry Grant (hcg890), PR234, and Jacob Sussman's + five-stage construction and gcert/1 export. The complete inherited five-stage credits are in + `UPSTREAM-PR234-NOTICE.md`. +- **Package machinery:** eumemic's source527 package, prepared with substantial OpenAI Codex assistance, with + its lineage: Dugongue's PR207/PR216 finite and bank admissions, Rohan Arun's PR211 and sennemmi's PR230 frame + work, and eumemic's PR210. Their notices are retained verbatim in `notices/`. This covers: + - the scalar program `scalar/word.py` (byte-identical); + - the physical event emitter, the parity fusion and the raw-ledger census; + - the stage-private bank template and checker; + - the moment, prime and finite-bill checks, and `verify.py`. + + In this package their p = 12 constants are derived from the cube size or pinned in `word-pins.json`. The + logic is unchanged, apart from the exact bank tiler that replaces gen5's fixed bank patterns. +- **Banks:** Evan McKinney's PR197 completed-bank method. Rohan Arun's PR237 published the width-120 + application first. Here the banks have width 100. +- **Complex supplier (this variant):** the centre-sharing complex program + `inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz`. It is local research, not published, prepared by + DreamingOfClouds with Anthropic Claude assistance (Apache-2.0). It is the source-assisted complex word of + PR #184/#194, built with PR #304's recipe on three query modules: + - the new centre-sharing pair module `pmod46_ptc1_final.json` (45 pair outputs and the star centre); + - an earlier re-annealed disjoint-triple module, `tmod_final.json` (v1, 2,069 additions). This is not PR #304's + `tmod_cmod_v2.json`. + - PR #304's all-but-one module, as `qmod_q1_snap1.json`. + + PR #304's `aligned_word.py` cannot build it unchanged. The program was built by a local 46-root loader (not + shipped) with a 10-line patch to PR #144's `Graph.finish` (icekylinx). The patch and the three modules are + shipped as provenance in `inputs/complex/centre-mw/`, whose `NOTICE` gives the details. The rest of the recipe + is PR #304's: PR #233's maximum-weight reuse pairs, icekylinx's PR #184 frame flow and exact lift, and PR #256's + emitter. + PR #304's full notice and credits are in `inputs/complex/NOTICE-PR304`. + + The gcert bytes are kept as emitted (their JSON keys are not in canonical order), because a separate Lean run + checked exactly these bytes (`wht_main_block_B2Gcc27x`, exponent 1 − 7727140/10¹⁰, with Sussman's unchanged + generator; see `README.md`). No Lean check is pinned here. Every verification run checks the program with + Sussman's `gx.check1` (exact scalar identity) and `gxcore` mirror. + + It builds on Avi Eisenberg (ikeboy)'s PR193/PR194 helper and Chafik Boukhalfa (chafreaky)'s PR200/PR233/PR256 + work. It runs inside Sussman's five-stage certificate, whose original disclosures are in `inputs/complex`. + + The complex checks (`code/complex_{labels,scalars,splice,basis}.py`, `portable_complex.py` and the + `complex_supplier()` block of `math_check.py`) are taken as re-pinned for this program in a copy of PR #296's + package (Chafik Boukhalfa, chafreaky), which first generalized those checks to a new gcert. That was done by DreamingOfClouds with Anthropic Claude assistance. +- **Complex program checkers:** Jacob Sussman's reference checker `gx.py` (`gx.check1`) and his `gxcore.py` + mirror of the two Lean checks. Both are Apache-2.0, Copyright 2026 Jacob Sussman, and are vendored unchanged + from jacobalansussman/wht-power-saving-lean at f010392c in `inputs/complex/sources/` (`tools__gx__gx.py` is + new here; `tools__gx__gxcore.py` was already pinned). +- **Physical-word classes:** Chafik Boukhalfa (chafreaky)'s PR200 `bit/word.py` and `bit/base_word.py`, vendored + in `bitword/bit`. `base_word.py` is unchanged; its unused constant `P = 12` is left as PR200 wrote it. + `word.py` changes only its input file names: PR200 hard-coded its own p = 12 names, and two lines (plus a + comment) now read the cube size from the single pinned `graph_pP.json`; the frame-loading line also checks + that the graph's p and h agree. + `bitword/NOTICE-PR200` is PR200's own notice. +- **Checker:** eumemic's PR168-v4 `check_paired_cube_bit.py`, vendored unchanged and run with p = 10. +- **Generator:** eumemic's PR168 paired-cube bit generator (`bitword/producer/paired_cube_bit_word.py`), with + #276's gen4 changes (arc-aware local design, centre-sharing pair module). +- **Paired-cube framework and its developments:** + - icekylinx's PR144: paired-coordinate/shared-core framework and configurable local channels. + - PR161/PR168 (eumemic): annealed modules, nested schedules and the generator. + - James Chang's PR166 and PR162's carrier rule. + +## New in this package + +All of the following was prepared by DreamingOfClouds with Anthropic Claude assistance. + +**The p = 10 bit word.** It has three data files: + +- `pm_p10.json`: pair module, 273 additions; +- `qmod_p10.json`: all-but-one module, 24 additions; +- `local_design_p10.json`: cube-local recipe trees from a pair-aware local design search. + +The two modules were annealed for p = 10, starting from restrictions of gen5's p = 12 modules. The package also +pins the new frozen arcs `arcs_p10.json`. + +**Generator and producers at p = 10.** The generator gains its p = 10 MODULES/QMODULES entries and the variant-u +output merge at p = 10; p = 12 behaviour is unchanged. The physical-layer producers become h-generic: + +- `make_physical.py`: recipients of rank h − 3, residual widths in h, and the `--bank-parity` rule generalized + to divisibility by m = 5h; +- `descent.py`: cost r·ln(5h/r). + +`regenerate.py` gains a re-pinning mode. + +**Package integration at p = 10.** This covers: + +- `word_pins.py` (cube-size shape and strict pins) and `word-pins.json`; +- `discovery/repin.py` and `discovery/REPIN.md`; +- the cube-size generalization of every check listed in `PROOF.md`; +- the entrance-basis geometry checks for every rank present; +- the exact zero-padding bank tiler; +- the complex-bound assembly path of `math_check.py`, which certifies the bit at its root and feeds the capped + saving; +- the fallback-inclusive certification of the complex coarse (both moment engines, adjacent grid point + rejected); +- `code/complex_gx.py`, which runs `gx.check1` (exact scalar identity) and the `gxcore` mirror on the pinned + complex program in every run, with a flipped-sign control, and the honest restatement of that dependency in + `portable_complex.py`. + +**Gen5 and gen4 work retained from #285/#276.** This covers: + +- the `--bank-parity` option; +- the arc-aware local design machinery (`local_design()`) and the centre-sharing pair-module patch; +- `make_physical.py` and `descent.py` as implementations of PR200's stated rules; +- `prepare.py`, `virtual_check.py` and the `scalar_check.py` controls. + +The circuit and module searches were run by Claude agents (simulated annealing, CP-SAT and exact compiles). Every +reported number was re-run with the exact generator and the full verifier. No exclusive priority is claimed for +any inherited design or theorem interface. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PR-STATEMENT.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PR-STATEMENT.md new file mode 100644 index 0000000000..0137ef5744 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PR-STATEMENT.md @@ -0,0 +1,50 @@ +κ = 7.64230861320245e-4 + +# A p = 10 bit word in the five-stage completed banks + +A conditional finite construction with **κ = 152846172264049/(2·10¹⁷) ≈ 7.64230861320245 × 10⁻⁴**. The bit +supplier binds; the complex supplier is a centre-sharing complex program (local research, not published). + +This package ports #285's gen5 five-stage package from cube size p = 12 to **p = 10**. The paired-cube bit word +now has h = 20 coordinates, v = 960 sources and five-stage width m = 100. It is generated by the same PR168 +generator (with #276's gen4 local-design changes) from three p = 10 data files: + +- a pair module (273 additions); +- an all-but-one module (24 additions); +- a pair-aware cube-local design. + +The physical layer follows PR200's rules: rank-17 recipients, 890 compensated reuse pairs, and 998 descended +operation frames. Every later stage is #285's, with the p = 12 literals replaced by cube-size formulas or by +strict pins in `word-pins.json`: + +- PR234's five-stage layout; +- stage-private completed banks, now 100 coordinates wide, with an exact zero-padding tiling; +- the source527 verification chain. + +| one invocation | gen5 (#285), p = 12 | this package, p = 10 | +| --- | ---: | ---: | +| independent dirty registers R | 15,886 | **8,230** | +| independent entrances (ranks) | 2,554 (17, 18, 20, 21) | 1,270 (16, 17) | +| normalized stock / deficit | 249,414 / 52,800 | 132,606 / 24,480 | +| bit coarse saving (certified root) | 7.43337804075788e-4 | **7.64815357146385e-4** | +| complex coarse saving | 7.47454944651775e-4 (PR193, no fallback) | 7.72714351296671e-4 (centre-sharing, with fallback) | +| κ | 7.42785663120535e-4 | **7.64230861320245e-4** | + +**Why the bit binds.** The bit's certified root c is below the complex leaf cap (1 − β)·b, so the outer +assembly is fed c itself, as in #285. The 47 constraints and the adjacent-κ rejection are unchanged. (The capped +path of `math_check.py`, for c above the cap, is not exercised here.) The complex coarse b is certified with the +10⁻¹⁶ fallback, and the complex program is checked fresh by Sussman's `gx.check1` (exact scalar identity) and +`gxcore` mirror. The same gcert bytes were compiled to Lean with Sussman's unchanged generator and kernel-checked +locally (`wht_main_block_B2Gcc27x`, exponent 1 − 7727140/10¹⁰; not pinned here; see `README.md`). + +Run `python3 -B verify.py --output NEW_DIR` (Python 3.12 or newer, tested on 3.12 and 3.14; sympy 1.14.0). It takes about three to five minutes +and runs no producer. `bitword/producer/regenerate.py` reproduces the five pinned bit-word files byte for byte. + +The result is conditional on the retained all-size compiler, common weighted chart, restored rows, selectors, +tape routing, prime supply, precision/recovery, complex symbolic correctness and analytic reduction. See: + +- `README.md`; +- `PROOF.md`; +- `BANK-PROOF.md`; +- `bitword/README.md`; +- `NOTICE.md`. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PROOF.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PROOF.md new file mode 100644 index 0000000000..6db4b8fbd0 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/PROOF.md @@ -0,0 +1,227 @@ +κ = 7.64230861320245e-4 + +# Source-bound finite verification + +The bit helper is a paired-cube bit word at cube size p = 10: a reversible local word in which all inputs and +dirty registers are formal variables. It is built by the gen5 generator with p = 10 data. Every later stage is +#285's chain, which is the source527 package's (eumemic). This file states what each stage checks and what +changed relative to #285. + +## What changed from p = 12 + +The five-stage layout is the same at every h. It has m = 5h; idle ranks (2h−2, h−1, 2h+2, 4) at 2v each; h copied +centres of rank h−2, each read by 3v/h targets; and five-stage deficit 4v − 5h(h−2). The complex side already +used this at h = 22 (ranks 42/21/46/4). + +At p = 10 (h = 20, v = 960) the layout values are: + +- m = 100; +- idle ranks 38, 19, 42 and 4; +- copied centres of rank 18, with 144 scatter reads each; +- deficit 2,040. + +`word_pins.shape()` derives every one of these values from p. Where #285 asserted a p = 12 literal, the check +now asserts the formula. Where #285 asserted a word-dependent literal (a register count, a histogram, a digest, +κ), the check calls `word_pins.expect(name, value)`. That call asserts exact equality with the value pinned in +`word-pins.json`, which `MANIFEST.json` pins like every other input. Each check is therefore exactly as strong +as the literal it replaces. + +`verify.py` asserts that the pins are strict. `discovery/repin.py` records the pins in a separate process. It +runs the same stage sequence (`verify.replay`), and every structural assertion, exact certificate and control +still has to pass. See `discovery/REPIN.md`. + +## The bit word + +`bitword/selected/bit` pins five files: the signed graph, the virtual profile, the physical word, the exact +frames and the partner-pair chronology. + +**Virtual word.** `virtual_check.py` runs eumemic's PR168-v4 package checker, unmodified, with p = 10. It +checks: + +- exact frames (A·Bᵀ = 0, complementary ranks) and the mod-2 decoder with stars and side parts; +- geometry: source lines, side-root common caps, operand nesting and centre star spans; +- role and target chains on node frames, and the partner chronology; +- G-nondegeneracy of every used frame, for G = I − J/9 (nondegenerate on Q²⁰ since 1 − 20/9 ≠ 0); +- a literal F₂ dirty-scratch replay and the independent ledger recount. + +All five mutation controls are rejected. The profile is: + +- R = 9,120, W = 11,040, m = 3h = 60; +- deficit 840 = 2v − 3h(h−2); +- 12,912 frames and 151,140 children. + +**Physical layer.** The same stage runs Chafik Boukhalfa's PR200 classes as PR200's `bit/prove.py` runs them. +`bitword/bit/base_word.py` is unmodified. `bitword/bit/word.py` changes only its input file names: PR200 +hard-coded its own p = 12 names, and two lines (plus a comment) now read the cube size from the single pinned +`graph_pP.json`. The frame-loading line also asserts that the graph's p and h agree. `base_word.py` still +contains PR200's unused constant `P = 12`. + +The classes check: + +- every changed operation frame (998) is nondegenerate and contains its node's value span; +- the execution order preserves each role chronology; +- gauges are untouched in phase one, every gauge read precedes its role's first use, and gauge targets equal + response supports; +- the 890 handoffs are one-to-one between ungauged non-root donors and gauged recipients; +- each donor is dead before its recipient's read, and its last frame lies in the recipient's gauge frame; +- all gate ports are distinct. + +The stage also recomputes the physical row: + +- phase one is exactly the centre closure; +- every addition's actual operands are checked; +- every physical role chain and the actual target chronology are nested; +- the deficit telescopes, at 840. + +It executes the physical word on all 10,150 formal columns over F₂ and on the defining integer decoder. Four +adverse controls are rejected: an omitted compensation, a missing partner delivery, a stale recipient read and a +zero operation frame. `prepare.py` also recomputes the literal adjoint and asserts that it equals PR200's. + +The handoffs follow PR200's rule. A recipient is read immediately before its first operation. Recipients are +rank-17 (h − 3) gauges with no strictly larger gauge later on any of their targets, so every target chain stays +nested. Hopcroft–Karp matches 892 of the 960 candidates. The bank-divisibility rule then drops the last two +pairs (see `BANK-PROOF.md`), leaving 890 pairs and 1,270 independent entrances: 1,200 of rank 16 and 70 of +rank 17. + +## Unchanged scalar program and empty selections + +`scalar/word.py` is the source527 scalar program, byte-identical (sha256 e675d4eb…). It reads h and v from the +word. Its source527 selections are all empty here: + +- source loans, early and gauge mixes, retimed prefixes; +- aggregation, rank and echelon groups; +- fresh and paired source reads, terminal sinks. + +The program then executes exactly the PR200 physical word: + +1. dirty compensation at D0; +2. V injection and the phase-one gates; +3. the 20 copied-centre scatters; +4. gauge reads at their read times, interleaved with the remaining gates; +5. side roots, then partner mixes and deliveries; +6. cleanup, the inverse gates, and V removal. + +`scalar_check.py` runs it on all 10,150 formal F₂ columns (960 sources, 960 targets and 8,230 dirty registers) +and in both defining-integer directions with 24-bit packing. The same 11 corruptions of the actual context as in +#285 must each make the unchanged program fail. + +## Physical events, parity fusion and global lowering + +`code/physical527.py` observes the scalar program and emits the physical frame tags. The emitter is source527's. +Its register count is pinned, and its copied-centre rank, count and reads are h−2, h and 3v/h. The local scalar +projection must equal the independent observer, and every MOVE is checked as an exact frame inclusion. + +`parity_transform.py` deletes the 581,680 even-coefficient payload ADDs, which are identities over F₂. It merges +no MOVE chains, so the paid local histogram is unchanged. The independent required-use census rebuilds every path +from the surviving operations and mathematical endpoints, checks both reflected inclusions, and matches the +instruction histogram. The 355,400 surviving payload additions (354,440 of coefficient 1 and 960 of +coefficient 3) and their literal inverse are replayed on every F₂ column. The cancellation-free signed prefix +bounds are 21,855 (forward) and 914,238 (inverse). Its unused-stream census now ranges over the actual 2v + R +streams; #285 had the literal 19,406 there. The proof/PARITY-CONTRACT.md argument applies unchanged. + +`code/global_lowering.py` is PR234's lowering, with V, H, M, the idle ranks, the copied-centre constants and the +deficit derived from the cube size, and R and the entrance census pinned. It expands all five stages, the idle +and bridge phases, the 1,270 completions and the terminal exchange. It checks every operand namespace and the +paid five-stage histogram: + +- 248,360 calls; +- rank mass 1,204,960; +- deficit 2,040 = 4v − 5h(h−2). + +`code/geometry527.py` checks the exact rational h = 20/m = 100 routes, the eight idle boundary pairs for two +actual ports (gaps 38, 38, 19, 19, 42, 42, 4, 4), and the completion projectors and five disjoint windows. It +does so for two distinct actual bases of the most frequent entrance rank (16) and one actual basis of every +other entrance rank (17). + +## Primes, banks, moments and finite bill + +**Primes.** `prime_check.py` recomputes the cleared-Gram determinant 9·BGBᵀ of every consumed basis: 12,884 +distinct bases, at most 97 bits. The stripped small primes are 2, 3 and 11. The factor 11 appears because +det G = (9 − h)/9 = −11/9 at h = 20. Every residual is below 2⁸⁰, so the retained prime range q > 2⁸⁰ is +unchanged. + +**Banks.** The independent entrances have 163 distinct bases and residual families of widths 4 (rank 16) and +3 (rank 17); the 6,960 ungauged roles have width 20. `BANK-PROOF.md` gives the exact 100-coordinate tiling: + +- (3²⁰ 20²) × 210 banks; +- (4²⁵) × 2,880 banks; +- (20⁵) × 83,436 banks. + +`bank_check.py` rebuilds the 163 charts (at most 150 factors) from the G⁻¹ residual rows (h − 9)a − Σa, and +enumerates all 2,469,000 role/replica/stage assignments. It checks the callable route map and both endpoint +directions, and removes exactly the 1,270 rank-5a exterior completions. + +**Moments.** Literal stock is 663,030. The normalized profile has: + +- m = 100, W = 132,606; +- rank mass 13,236,120, deficit 24,480; +- largest child 42. + +Two independent rational moment engines, including the complete 10⁻¹⁶ bad-class fallback, give the bit's certified +root c = 152963071429277/(2·10¹⁷) ≈ 7.64815357 × 10⁻⁴. The adjacent 10⁻¹⁸ grid point is rejected. + +**Complex program.** The complex stage first checks the pinned gcert/1 program itself (`code/complex_gx.py`). +It runs Jacob Sussman's reference checker `gx.check1` with `scalar=True`: labels, blocks, N, the exact scalar +identity E5 (every x role restored, every target receives exactly its source) and Q2. It also runs his `gxcore` +Python mirror of the two Lean checks, whose block histogram must equal the program's. Both are vendored +byte-identical from wht-power-saving-lean at f010392c and sha-checked. One flipped scalar sign must be rejected +by both on E5. This is a Python check; no Lean check of this program is pinned here. The inherited label, scalar, +splice and finite-guard checks of PR234/#296 then run unchanged. + +**Lean (run locally; not pinned here).** With Jacob Sussman's wht-power-saving-lean at f010392c (Lean v4.34.1, +Mathlib d13f23b) and his unchanged generator `tools/gx/regen_check.py`, the exact gcert pinned here (sha256 +bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34) was compiled to Lean and kernel-checked: +`OAI.PowerSaving.WHT.wht_main_block_B2Gcc27x`, the Walsh–Hadamard corollary at exponent 1 − 7727140/10¹⁰. +`tools/Compare.lean` passed against a challenge file that differs from Sussman's ChallengeB2Gp193x only in the +exponent and names; the axioms are propext, Classical.choice and Quot.sound. The official comparator and a clean +build from nothing were not run. This covers only the complex program's Walsh–Hadamard saving, not the bit word, +the bootstrap, the κ assembly or the retained integer-multiplication interfaces. Because the bit binds, κ is +unchanged if b is replaced by the Lean exponent. + +**Assembly.** The complex supplier of this variant is the centre-sharing complex program (see +`inputs/complex/centre-mw/NOTICE`). Its coarse b is certified like the bit's: with the 10⁻¹⁶ bad-class fallback, +by both rational moment engines, with the adjacent 10⁻¹⁸ grid point rejected. This gives +b = 772714351296671/10¹⁸. The inherited PR234/PR193 convention priced the complex side without the fallback +(772714354722691/10¹⁸). That root is re-certified and recorded, but not used. + +The bit root c is below the complex leaf cap (1 − β)·b with β = 10⁻⁹, so **the bit supplier binds**. The +assembly is fed s = min(c, ⌊(1 − β)·b − 10⁻¹⁸⌋₁₀⁻¹⁸) = c, and the path is #285's. Three completed ordinary-leaf +levels from c feed the unchanged balanced outer assembly. All 47 strict inequalities and the seven margins are +positive, and the adjacent final grid point of κ fails. (When c exceeds the cap, `math_check.py` instead feeds the +largest 10⁻¹⁸ grid point at or below the cap to the bootstrap, re-checks the bit moment there, and checks that the +assembly at the cap itself fails. This package does not exercise that path.) + +**Finite bill.** `finite_check.py` pays every PR234 primitive and router allowance on the literal 60 replicas and +stock, and adds all 172,734,017,400 bank selector calls. It uses: + +- the actual 40-dimensional rational route (163 additions, 36 swaps, 23 scalings; denominators {1, 2, 3, 6}); +- d = m² = 10,000, so B(q) < q^10,001; +- h = 20 copied-centre temporaries and 5h = 100 copy/erase episodes per replica. + +The data route families stay 20v + 4v (five stages of 4v data families plus the final exchange). The +finite-bill moment and bootstrap use the fed saving, here s = c. + +## Inherited texts + +The files in `proof/`, `UPSTREAM-PR234-PROOF.md` and the notices are inherited verbatim. Their numbers describe +the source527 p = 12 instance (for example m = 120, the 48-dimensional route and the determinant exclusions +{2, 3, 5, 7}). For this package, the actual p = 10 values are those listed here, recomputed in `finite.json`, +`banks.json` and `primes.json` of every verification run. + +The inherited complex texts (`UPSTREAM-PR234-PROOF.md`, `proof/INTEGRATED_PROOF.md` §6 and the pinned `P193*.lean` +sources) describe PR193's complex program and its scalar identities hAi, hBi, hx, hy and hid. They do not cover +the centre-sharing program used here. That program's scalar identity is checked in every run by `gx.check1` +and the `gxcore` mirror (above). + +## Scope + +The proof boundary is unchanged and conditional. The following are inherited interfaces: + +- the all-size weighted compiler and common ancestor charts; +- restored rows and completed ordinary leaves; +- selectors, exact-tape routing and prime supply; +- precision/recovery and retained complex symbolic correctness; +- analytic transfer. + +These checks establish the stated finite construction under those interfaces. They do not rebuild Lean or +execute a multiplier at all input sizes. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/README.md new file mode 100644 index 0000000000..17c980fd77 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/README.md @@ -0,0 +1,96 @@ +κ = 7.64230861320245e-4 + +# A p = 10 bit word in the five-stage completed banks + +A conditional finite construction with **κ = 152846172264049/(2·10¹⁷) ≈ 7.64230861320245 × 10⁻⁴**. + +This package ports #285's gen5 five-stage package to a smaller cube: the paired-cube bit word is generated at +**p = 10** (h = 20 coordinates, v = 960 sources) instead of p = 12 (h = 24, v = 1,760). The five-stage width +becomes m = 5h = 100, and the stage-private completed banks become 100-coordinate banks. Every later stage keeps +#285's logic, with its p = 12 literals replaced by cube-size formulas or by values pinned in `word-pins.json`. + +The bit word comes from eumemic's PR168 generator, as in gen5, with three p = 10 data files: + +- the pair module `pm_p10.json` (273 additions), annealed for p = 10; +- the all-but-one module `qmod_p10.json` (24 additions); +- the cube-local recipe trees of a pair-aware local design search, `local_design_p10.json`. The design was + found by a search on the p = 12 word and is reused unchanged: it is cube-local, so it does not depend on p. + +The physical layer follows PR200's rules, as in gen5. The compensated reuse recipients are the rank h − 3 = 17 +gauges. + +**Complex supplier of this variant, and the bit binds.** The complex program is a centre-sharing complex word +built with PR #304's recipe on three query modules and a patched graph builder (local research, not published; +see `inputs/complex/centre-mw/NOTICE`). Its coarse saving is b = 7.72714351296671e-4, certified with the 10⁻¹⁶ +bad-class fallback like the bit side; the inherited no-fallback convention gives 7.72714354722691e-4. The bit's +certified coarse saving, 7.64815357e-4, is below the complex leaf cap (1 − β)·b. The bit therefore binds, and the +assembly path is #285's: the bit is fed at its certified root. (With PR #304's complex supplier, +7.6358781017907e-4, the bit root would exceed the cap. `math_check.py` also handles that complex-bound case, but +this package does not exercise it.) + +The complex program itself is checked in every run by Jacob Sussman's reference checker `gx.check1` with the +exact scalar identity, and by his `gxcore` mirror of the two Lean checks. No Lean check of the program is pinned +here. + +**Lean (run locally; not pinned here).** With Jacob Sussman's wht-power-saving-lean at f010392c (Lean v4.34.1, +Mathlib d13f23b) and his unchanged generator `tools/gx/regen_check.py`, the exact gcert pinned here (sha256 +bb0499ab342aee3594904fc1cd72b9ff496cdb315d0840f4cdd5ba64ef794d34) was compiled to Lean and kernel-checked: +`OAI.PowerSaving.WHT.wht_main_block_B2Gcc27x`, the Walsh–Hadamard corollary at exponent 1 − 7727140/10¹⁰. +`tools/Compare.lean` passed against a challenge file that differs from Sussman's ChallengeB2Gp193x only in the +exponent and names; the axioms are propext, Classical.choice and Quot.sound. The official comparator and a clean +build from nothing were not run. This covers only the complex program's Walsh–Hadamard saving, not the bit word, +the bootstrap, the κ assembly or the retained integer-multiplication interfaces. Because the bit binds, κ is +unchanged if b is replaced by the Lean exponent. + +| one invocation | gen5 (#285), p = 12, m = 120 | this package, p = 10, m = 100 | +| --- | ---: | ---: | +| virtual auxiliary roles | 17,292 | **9,120** | +| compensated reuse pairs | 1,406 | 890 | +| independent dirty registers R | 15,886 | **8,230** | +| formal F₂ columns 2v + R | 19,406 | 10,150 | +| independent entrances (ranks) | 2,554 (17, 18, 20, 21) | 1,270 (16, 17) | +| banks per stage | 164,934 | 86,526 | +| literal stock, 60 replicas | 1,247,070 | 663,030 | +| normalized stock / deficit | 249,414 / 52,800 | 132,606 / 24,480 | +| bit coarse saving (certified root) | 7.43337804075788e-4 | **7.64815357146385e-4** | +| complex coarse saving | 7.47454944651775e-4 (PR193, no fallback) | 7.72714351296671e-4 (centre-sharing, with fallback) | +| binding side | bit | **bit** | +| κ | 7.42785663120535e-4 | **7.64230861320245e-4** | + +Run with Python 3.12 or newer (tested on 3.12 and 3.14), sympy 1.14.0 and assertions enabled: + +```sh +python3 -m pip install -r requirements.txt +python3 -B verify.py --output /tmp/p10-five-stage-verification +``` + +The output directory must be new and outside this immutable package. Verification takes about three to five +minutes, uses no network and runs no producer. It performs these checks: + +- the PR168-v4 checker on the virtual word, with its five mutation controls; +- PR200's physical-word proof as PR200 ran it: frames, handoffs, the physical row and all-column replays, with + 4 adverse controls; +- the retained source527 scalar program on all 10,150 formal F₂ columns, both integer decoder signs and 11 + corruptions; +- the physical event emitter, parity fusion and five-stage global lowering; +- exact h = 20/m = 100 geometry, including two actual rank-16 entrance bases and one actual rank-17 basis; +- exact determinants for 12,884 bases; +- 163 bank charts and all 2,469,000 bank assignments; +- the centre-sharing complex program: `gx.check1` with the exact scalar identity and the `gxcore` mirror, with a + flipped-sign control; +- the complex supplier (labels, scalars, splice and finite guard), and both rational moment engines on the bit + and complex profiles, each with the fallback; +- the assembly (bit-bound here) with all 47 outer inequalities, and the finite bill. + +`bitword/producer/regenerate.py` rebuilds the five pinned bit-word files from the generator and the two +physical-layer producers, and checks them byte for byte. This is provenance only, not part of the proof. +`discovery/REPIN.md` describes how to re-pin the package mechanically for a new module file. + +The result is conditional on the retained all-size compiler, common weighted chart, restored rows, selectors, +tape routing, prime supply, precision/recovery, complex symbolic correctness and analytic reduction. The included +finite checks do not replace those hypotheses. See: + +- `PROOF.md` for the verification chain and what changed from p = 12; +- `BANK-PROOF.md` for the banks; +- `bitword/README.md` for the bit word; +- `NOTICE.md` for attribution. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-NOTICE.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-NOTICE.md new file mode 100644 index 0000000000..5f8fbb25c1 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-NOTICE.md @@ -0,0 +1,13 @@ +# Attribution and licence + +This contribution uses Apache-2.0. Original source headers, licences and notices are preserved. These credits do not imply review or endorsement by the named contributors or OpenAI. + +- Jacob Sussman: five-stage complex geometry and published gcert/1 export in wht-power-saving-lean at f010392c923279e3dd59ef3aa5fedad23affc5fd. Original Claude assistance disclosure retained in inputs/complex/NOTICE. +- Avi Eisenberg / ikeboy: retained PR193 source-assisted complex helper and donor selection at 187e1010ac8b259af8e9b5166f68b64bc27b4b47. +- eumemic: current PR210 frames, gauges, source borrowing and retimed bit helper at df95878d11190518e45ef9717c9ee05011f88ace. +- Chafik Boukhalfa / chafreaky: PR200 physical bit construction carried by PR202 at 8d8d67bcf69c5ea67d3a29dbc64ba588156d6e8d. +- Rohan Arun, Dugongue, evmckinney9, icekylinx, James Chang, Douglas Colkitt, OpenAI and earlier contributors retain the attribution and original assistance disclosures in the supplied source notices. The exact outer assembly also credits Zhihao Chen and the RaD / hipotures balanced reduction in its original header. + +The paired-cube helper design predates Sussman’s certificate export. The new contribution here is the explicit source-bound five-stage composition, adapters, paid accounting and reproducible finite verification. No exclusive priority is claimed for the inherited designs or theorem interfaces. + +Assisted with ChatGPT. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-PROOF.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-PROOF.md new file mode 100644 index 0000000000..dbd8806967 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/UPSTREAM-PR234-PROOF.md @@ -0,0 +1,29 @@ +# Five-stage finite composition and retained hypotheses + +The expected conditional saving is κ = 703701743496697 / 10^18. The fresh verifier establishes the finite construction and exact arithmetic under the inherited source and all-size interfaces below. + +## Bit construction + +The pinned source471 helper is checked on all 20,163 independent F2 source, target and dirty columns. Its physical realization is the exact input/output frame telescope, with all source loans, donor/recipient identifications, compensated reads, terminal substitutions and cleanup retained. Copied centers are complete temporary streams; their reverse implementation copies the original anew, transforms and scatters that copy, then erases it. It does not reverse an erasure. + +The five phase-major invocations use the explicitly routed source owners X1, Y1, X1, Y2 and X2. Each helper's five separated residuals occupy disjoint windows. One split rank-5a exterior correction completes each genuine independent entrance of rank a. All 2,279 corrections remain paid, and source-owned gauges stay within the visible-data paths. Actual rational matrix checks establish bridge equality, nested idle changes and terminal exchanges. Cover expansion has a barrier after each phase, across every class. + +The fresh program has m=120, W=23,683, 495,304 children, rank mass 2,837,560 and deficit 4,400. All 120 rank-22 copied-center calls are included. Exact cleared-Gram determinants and factor witnesses are recomputed for every consumed basis. Fivefold direct sums introduce no new excluded primes. The retained weighted q-local compiler, unit-pivot fallback, prime-supply and complete-stream tape proofs remain hypotheses. + +The proper child ratio 5/6 requires halving degree four. The one-level weighted recurrence is retained; its histogram is not multiplied by four. The finite accounting rederives route factors, scalar work, internal row stock, strict moment/linear gaps and explicit finite cutoff expressions. Unknown constants of inherited primitive implementations remain quantified constants, not invented measured costs. See proof/FINITE_BIT_ACCOUNTING.md and the included original bit/row/copied-center source texts. + +## Complex construction + +The published gcert/1 baseline is pinned to Sussman's f010392 revision and the PR193 paired-cube helper. Its live-label walk, scalar programs, copied-center lifetimes, final climbs before cleanup, exact symbolic splice and finite guard are regenerated. Exact complex frame identities retain their phase representatives. Physical work stock 24,127 is separately charged; the live recursion denominator remains 14,692. + +The pinned scalar identities hAi, hBi, hx, hy and hid, the Lab.inv dirty-lifting theorem and five-window geometry/NetCert theorems are inherited source proofs. The command does not rebuild their Lean proof chain or claim a fresh all-column complex scalar proof. General Clifford synthesis, charged complete-stream movement, common-grid precision and restored-row proofs remain stated analytic dependencies. Their consumed declarations and sources are hash-pinned under inputs/complex/. + +## Arithmetic and outer reduction + +Both rational moments are freshly enclosed. Three finite ordinary-leaf levels start from the retained completed ordinary saving 384599/10^10; the unattained coarse limiting saving is not used as an ordinary leaf. Exact outer assembly checks all 47 strict inequalities and seven margins and rejects the next 10^-18 κ grid point. Precision/recovery, prime supply, completed ordinary leaves and the fixed-tape all-size reduction remain hypotheses. + +proof/INTEGRATED_PROOF.md preserves the detailed original composition argument. Its development filenames identify the original evidence; V8's executable dependency closure is exclusively MANIFEST.json and the fresh calls in verify.py. Development receipts and their historical source trees are not runtime inputs. + +No claim is made of unconditional all-size formalization, global optimality or measured multiplier performance. Original lineage and assistance disclosures are preserved in NOTICE.md and the supplied source notices. + +Assisted with ChatGPT. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bank_check.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bank_check.py new file mode 100644 index 0000000000..12f1b44853 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bank_check.py @@ -0,0 +1,260 @@ +"""Fresh context-bound stage-private m-coordinate completed bank admission (m = 5h = 100 at p = 10). + +No saved chart, receipt, physical census or old source tree is consumed. +The fraction-free inverse routine derives from the retained PR197/PR200 bank +checker. Inherited attribution/notices apply. Apache-2.0. +Prepared with substantial OpenAI Codex assistance. +p = 10 port (DreamingOfClouds, Anthropic Claude assistance): h, m and the 60 replicas from the cube size and the +plan; the G^-1 residual rows (h-9)a - sum(a) (15a - sum(a) at h = 24); word counts pinned in word-pins.json. +""" +from collections import Counter +from fractions import Fraction as Q +from math import gcd +from pathlib import Path +import hashlib,json,struct,time +from bank_template import BankPlan +from word_pins import expect,shape + +assert __debug__, 'Do not run bank admission under -O.' +HERE=Path(__file__).resolve().parent + +def inverse_integer(a): + """Fraction-free Gauss-Jordan, returning C,d with aC=Ca=dI.""" + n=len(a);m=[list(row)+[int(i==j)for j in range(n)]for i,row in enumerate(a)] + previous=1;factors=[] + for k in range(n): + pivot=next((i for i in range(k,n)if m[i][k]),None) + assert pivot is not None,'singular actual bank chart' + m[k],m[pivot]=m[pivot],m[k] + if pivot!=k:factors.append(('swap',k,pivot,1,1)) + p=m[k][k] + if p!=previous: + ratio=Q(previous,p);factors.append(('scale',k,k,ratio.numerator,ratio.denominator)) + for i in range(n): + if i==k:continue + u=m[i][k] + if u: + ratio=Q(-u,previous);factors.append(('add',i,k,ratio.numerator,ratio.denominator)) + for j in range(2*n): + if j==k:continue + value=p*m[i][j]-u*m[k][j];assert value%previous==0;m[i][j]=value//previous + m[i][k]=0 + previous=p + d=m[0][0];assert d and all(m[i][j]==d*int(i==j)for i in range(n)for j in range(n)) + c=[row[n:]for row in m];common=abs(d) + for row in c: + for x in row:common=gcd(common,x) + d//=common;c=[[x//common for x in row]for row in c] + if d<0:d=-d;c=[[-x for x in row]for row in c] + return c,d,factors + +def census(context): + W,C,roles=context['W'],context['C'],context['regs'];h=W.h;assert h==shape()['h'] + assert len(roles)==len(set(roles))==expect('physical_R',len(roles)) and roles==sorted(roles) + assert set(roles)==set(W.phys.values())-set(context['borrow'])-context['removed'] + assert not(set(roles)&set(context['borrow'])) + gauge_frames={role:W.gauge[role]['frame']for role in roles if role in W.gauge} + expect('entrance_ranks',Counter(C.dimf[f]for f in gauge_frames.values())) + families={} + for role in roles: + rank=h-C.dimf[gauge_frames[role]]if role in gauge_frames else h + families.setdefault(rank,[]).append(role) + expect('residual_families',{r:len(xs)for r,xs in families.items()}) + return families,gauge_frames + +class BankLowerer: + """Final full-address lowering of the already checked logical IR. + + Scalar/projection/geometry fields are retained byte-for-byte; only stream + operands change to the proven bank namespaces. Completion discharge is + checked separately by run(), and no completion opcode is emitted. + """ + def __init__(self,context,lower): + families,gauges=census(context) + self.plan=BankPlan(families,gauges,context['regs']);self.lower=lower + def iter_stage(self,stage,replica): + for row in self.lower.iter_stage(stage):yield self.plan.map_stage_row(stage,replica,row) + def iter_idle(self,which,replica): + for row in self.lower.iter_idle(which):yield self.plan.map_boundary_row(replica,row) + def iter_bridges(self,which,replica): + for row in self.lower.iter_bridges(which):yield self.plan.map_boundary_row(replica,row) + def iter_exchanges(self,replica): + for row in self.lower.iter_exchanges():yield self.plan.map_boundary_row(replica,row) + def phases(self): + """Each iterator is expanded over all cover classes before next phase.""" + T=self.plan.replicas + for stage in range(5): + for replica in range(T): + yield('helper',stage,replica,lambda s=stage,r=replica:self.iter_stage(s,r)) + if stage in(1,2,4): + which={1:0,2:1,4:2}[stage] + for replica in range(T): + yield('idle',which,replica,lambda i=which,r=replica:self.iter_idle(i,r)) + yield('bridge',which,replica,lambda i=which,r=replica:self.iter_bridges(i,r)) + for replica in range(T):yield('terminal_exchange',0,replica,lambda r=replica:self.iter_exchanges(r)) + +def bind(context,lower):return BankLowerer(context,lower) + +def run(context,global_result,lower,progress=lambda text:None): + begun=time.monotonic();W,C=context['W'],context['C'] + api_pin=hashlib.sha256((HERE/'bank_template.py').read_bytes()).hexdigest() + families,gauge_frames=census(context);bound=bind(context,lower);plan=bound.plan + assert lower.W is W and lower.C is C + h,m,T=W.h,plan.m,plan.replicas;assert plan.h==h and m==5*h and T==60 + # Derive all actual chart bases and exact inverse/factor programs afresh. + charts=[];maxops=maxnum=maxden=0 + for frame,count in sorted(Counter(gauge_frames.values()).items()): + residual=[] + for a in C.A[frame]: + # G^-1 a up to the positive scalar h-9, G = I - J/9 (15a - sum(a) at h = 24) + row=[(h-9)*x-sum(a)for x in a];d=gcd(*row);assert d;residual.append([x//d for x in row]) + source=C.B[frame];rank=len(residual) + assert rank+len(source)==h and len(source)==C.dimf[frame] + assert all(9*sum(x*y for x,y in zip(a,b))-sum(a)*sum(b)==0 for a in residual for b in source) + B=list(map(list,zip(*(residual+list(source)))));A,d,ops=inverse_integer(B) + for L,R in((A,B),(B,A)): + assert all(sum(x*y for x,y in zip(row,col))==d*int(i==j)for i,row in enumerate(L)for j,col in enumerate(zip(*R))) + P=[[sum(B[i][k]*A[k][j]for k in range(rank))for j in range(h)]for i in range(h)] + assert sum(P[i][i]for i in range(h))==d*rank + assert all(sum(P[i][k]*B[k][j]for k in range(h))==(d*B[i][j]if j left[f]: continue + rest = dict(left); rest[f] -= q*b + t + found = search(i + 1, rest, out + ([(tuple([w]*a + [f]*b), q)] if q else []) + ([(tuple([w]*r + [f]*t), 1)] if r else [])) + if found is not None: return found + return None + out = search(0, {w: n for w, n in blocks.items() if not m % w}, []) + assert out is not None, ('no exact zero-padding tiling', blocks, m) + assert all(sum(widths) == m and count > 0 for widths, count in out) + used = Counter() + for widths, count in out: + for x in widths: used[x] += count + assert used == Counter(blocks), 'every block used exactly once' + return tuple(out) + + +class BankPlan: + _shape = shape() + m, h, stages, replicas, v = _shape['m'], _shape['h'], _shape['stages'], _shape['replicas'], _shape['v'] + + active = ((0,1),(1,0),(0,1),(3,2),(2,3)) + + def __init__(self, families, gauge_frames, helper_roles=None): + self.families = {r:tuple(rows) for r,rows in families.items() if rows} + assert all(0=4*self.v:return 2*self.v+family-4*self.v + bank,port=divmod(family,self.v) + if bank==self.active[stage][0]:return port + assert bank==self.active[stage][1], 'stage references an inactive data bank' + return self.v+port + + def map_stage_row(self, stage, replica, row, cover='d'): + """Lower an unchanged logical8-field MOVE/ADD/COPY/ERASE record. + + All mathematical fields remain unchanged. The two operand slots now + contain exact (family,route) keys when they denote streams; frame IDs + in MOVE's old/new slots are not mistaken for stream operands. + """ + op,a,b,c,f,z,s,rev=row + assert op in(0,1,2,3) and s==stage and rev==int(stage in(1,3)) + def address(family): + return self.local_address(stage,replica,self.local_from_logical_family(stage,family),cover) + physical_a=address(a) + physical_b=address(b) if op in(1,2) else b + if op in(1,2):assert physical_a!=physical_b + return (op,physical_a,physical_b,c,f,z,s,rev) + + def map_boundary_row(self, replica, row, cover='d'): + """Lower an IDLE/BRIDGE/EXCHANGE with its existing exact projector. + + Boundary projectors already include the checked data-route conjugacy; + their physical class is d. Independent completion rows must be + discharged explicitly by the bank endpoint verifier, never skipped + implicitly by this address mapper. + """ + op,a,b,c,f,z,s,rev=row + assert op in(4,5,7), 'only proved bank completion may discharge opcode6' + def address(family): + assert 0<=family<4*self.v + bank,port=divmod(family,self.v) + return self.data_family(replica,bank,port),('class',cover) + physical_a=address(a) + physical_b=address(b) if op in(5,7) else b + if op in(5,7):assert physical_a!=physical_b + return (op,physical_a,physical_b,c,f,z,s,rev) + + def phase_schedule(self): + """Phase-major schedule; every cover class is completed per replica. + + Each emitted stage phase means: for the indicated replica, iterate + every cover class and execute the entire local scalar telescope. + Boundary phases occur after all replicas (60) of that stage finish. + """ + for stage in range(self.stages): + for replica in range(self.replicas): + yield ('stage',stage,replica,'all_cover_classes') + if stage in (1,2,4): + for replica in range(self.replicas): + yield ('idle',stage,replica,'all_cover_classes') + yield ('bridge',stage,replica,'all_cover_classes') + for replica in range(self.replicas): + yield ('terminal_exchange',replica,'all_cover_classes') diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/base_two_moment.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/base_two_moment.py new file mode 100644 index 0000000000..14a90fa0e7 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/base_two_moment.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""Maintainer arithmetic cross-check of the pinned PR39 certificate. + +Uses no producer/checker imports. Counts are inputs, not proved by this script. +80-term rational logarithms and 12-term exponentials independently enclose +the two moments. The accompanying written review addresses their realization. +""" +import argparse +from fractions import Fraction as Q +from hashlib import sha256 +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +GRID = 10**30 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + lo = 2*sum((z**(2*j+1)/(2*j+1) for j in range(80)), Q(0)) + return lo, lo+2*z**161/(161*(1-z*z)) + + +def log_bounds(x): + k = 0 + while x > 2: + x /= 2 + k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + # Outward rational rounding keeps later certificates compact. + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + + +def exp_bounds(x): + require(0 <= x < 1, "exponential range") + term = total = Q(1) + for j in range(1, 13): + term *= x/j + total += term + tail = term*x/13/(1-x/14) + return total, total+tail + + +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lower = exp_bounds(saving*l)[0] + upper = exp_bounds(saving*u)[1] + lo += Q(t*count, m*W)*lower + hi += Q(t*count, m*W)*upper + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/NOTICE-PR200 b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/NOTICE-PR200 new file mode 100644 index 0000000000..c2d7935d7f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/NOTICE-PR200 @@ -0,0 +1,60 @@ +Prepared by Chafik Boukhalfa with substantial Anthropic Claude and OpenAI +Codex assistance. Apache-2.0. Inherited files retain their original notices +and assistance disclosures. This package claims no exclusive priority over +concurrent work. + +Retained sources and lineage: +- icekylinx: PR144 paired cubes, signed decoder, shared-core accounting, + original compiler, configurable local channels and finite bridge; + PR130/generalized Clifford frames. +- eumemic: PR117 module infrastructure; PR155/157 scalar modules, physical + frames/reuse and partner-pair bit word; PR161 output merging and searched + p12 module; PR168 annealed pair, triple and all-but-one modules on both + words, nested-prefix schedules, the L1 local circuits this package varies, + fused outputs, bundle descent, both physical layers, the terminal-sink + gate and the physical bit word, pinned at + 4a3c769e5c5430e7114c4d3e099ff34664677f17. Their Anthropic Claude and + OpenAI Codex disclosures are retained. PR131/143 supply frame/reuse and + late-read lineage; PR154 supplies isolated snapshot verification. +- DaysSky: PR162 generalized carrier extension (`compile_closure` and the + extension rule reused here on the new graph) and full-intersection + compiler lineage. The selected graph retains the PR168 nested schedule. +- jamesyc / James Chang: PR124 compensated birth cuts, PR34 balanced + assembly, and PR166 terminal-output accumulation and exact simultaneous + target-chain checking. The PR166 proof is retained in references/pr166. +- GamingPuzzled / Joel Pulikkan: PR160 searched-bit-module composition. +- gupt1156 PR148 and Abhinav Ramachandran/geckods PR158 (Hermes assistance): + paid atom-toll re-instantiation, including PR158 at + 6e086603f936dbb95c6d7171132ed943cc024db9. +- jacklightChen / Zhihao Chen: PR23/29 ordinary supplier; Rohan Arun + (rohanarun): PR100/103 paid positional layout and deferred signed words. +- Earlier bit lineage retained by the prerequisite: Zhihao Chen PR97, + Swapnil Jain's round-seven checkers, an664 PR128, DaysSky PR150, hpst3r + PR147, SovereignSteak PR122, and the source-notice contributors. + +This package contributes, on the complex side, a random-restart and +coordinate search over PR144's configurable local channel circuit on the +PR168 v4 word, selecting face diagonals for A[0,0], A[0,1] and A[1,1] and +fixed-coordinate differences for three G channels so that the carrier +closure gains 1,485 arcs; our own legal-edge Hopcroft-Karp carrier matching with PR162's +extension; endpoint frame descent and compensated handoffs for the new +graph; independent complete admission of the resulting physical word and +its 44 terminal deletions; independent physical-bit admission and exact +prime witnesses for every used bit frame; and, on the bit side, a fixed-coordinate/face-diagonal variant of PR168's bit +local circuit (A[0,0], A[0,1], A[2,0], A[2,1] face diagonals; A[1,*] +direction-0 edges; G[0,1,0] fixed-coordinate differences), our own carrier +matching, gauge selection and complete physical layer (endpoint frame descent and 1,760 compensated handoffs) for +that graph, with 34 PR166 terminal deletions on face0 roots, independently +admitted with exact prime witnesses for every used bit frame; +and the fully paid balanced composition with finer positive backoffs. Scalar virtual stock, physical +handoffs, terminal removals and every external row reserve remain +distinct. The complete 47-inequality body is source-normalized to PR141. +Prerequisite constructions, the configurable circuit itself and the +terminal-compilation concept are not claimed as original here. + +The package is based on main (3b6b66891c0ac888521cf591fe306c6286601d4f), +which integrates Dugongue's PR186 entrance-bank construction and already +carries PR175's retired-register update. references/pr168-v4 holds +byte-identical copies of the twelve PR168 v4 files this package executes or +pins (icekylinx/eumemic/DaysSky lineage as noted in those files), with +their digests in references/pr168-v4/SOURCE.json. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/README.md new file mode 100644 index 0000000000..a241ad965d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/README.md @@ -0,0 +1,61 @@ +# The p = 10 paired-cube bit word + +This word is built by #285's gen5 generator (eumemic's PR168 generator with #276's gen4 local-design and +centre-sharing changes) at cube size **p = 10**: h = 20 coordinates and v = 8·C(10,3) = 960 sources. + +The generator's only p = 10 changes are: + +- the p = 10 entries of MODULES/QMODULES (`pm_p10.json`, `qmod_p10.json`); +- the variant-u output merge, which is on at p = 10 as at p = 12; +- the cube-local design, which is read from `producer/data/local_design_p10.json`. + +Its virtual profile: + +- R = 9,120 (= c + q − |M| = 11,820 + 3,620 − 6,320); +- W = 11,040, m = 3h = 60 and deficit 840 = 2v − 3h(h−2); +- 2,160 gauges: 1,200 of rank 16 and 960 of rank 17. + +| data file | content | +| --- | --- | +| `pm_p10.json` | pair + copied-centre module, 36 inputs, 273 additions, 37 roots (36 outputs and the centre star) | +| `qmod_p10.json` | all-but-one module, 8 inputs, 24 additions | +| `local_design_p10.json` | per-cube recipe trees (cube-local, so independent of p) from a pair-aware local design search run on the p = 12 word, reused unchanged | +| `arcs_p10.json` | the frozen carrier matching (6,320 arcs) | + +Both modules were annealed against the exact one-instance compile cost, starting from restrictions of gen5's +p = 12 modules. + +## Physical layer + +`producer/make_physical.py --bank-parity` adds the compensated reuse pairs. Each recipient is a rank h − 3 = 17 +gauged role, read right before its first operation. Each donor is a dead ungauged non-root non-source register +whose last frame lies in the recipient gauge. The pairing is a maximum Hopcroft–Karp matching under PR200's +rules, and it matches 892 of the 960 recipient candidates. + +`--bank-parity` then makes the 60-replica bank width divisible by m = 5h = 100: it drops the fewest trailing +pairs that achieve 60·width ≡ 0 (mod 100). At p = 12 this is gen5's parity rule. Here it drops two pairs, +[3454, 9119] and [3409, 9118]: each adds 3 to the width, and 144,204 ≡ 4 (mod 5). That leaves **890 pairs**. + +`producer/descent.py` moves 998 operation frames under PR200's descent rules, with the five-stage first-order +cost r·ln(m/r) at m = 100. + +The physical word has R = 8,230 and 1,270 independent entrances (1,200 of rank 16 and 70 of rank 17). + +## Reproduce + +```sh +python3 -B bitword/producer/regenerate.py --work /new/scratch/dir +``` + +This runs the generator on the frozen arcs, then both producers, and checks that all five pinned files in +`selected/bit` are reproduced exactly. It takes one to two minutes. `verify.py` never runs a producer. + +For new module data, `regenerate.py --solve-matching --emit DIR` recomputes the matching on a scratch copy of +`producer/`, recompiles on the new frozen arcs, and writes the new five files and `arcs_p10.json` to DIR. See +`../discovery/REPIN.md`. + +## PR200 classes + +`bit/word.py` and `bit/base_word.py` are Chafik Boukhalfa's PR200 classes. `word.py` changes only its input file +names: PR200 named its own p = 12 files, and two lines (plus a comment) now read the cube size from the single +`graph_pP.json`; the frame-loading line also checks the graph's p and h. `base_word.py` is unchanged. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/bit/base_word.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/bit/base_word.py new file mode 100644 index 0000000000..044f278fbe --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/bit/base_word.py @@ -0,0 +1,202 @@ +#!/usr/bin/env python3 +"""Reusable independent formal checks for a physical partner-pair bit word. + +The supplied frozen inputs are source-pinned. This never runs their producer. +The Z check is of the defining integer decoder; only its F2 reduction is I. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from collections import Counter, defaultdict +import importlib.util +import json +from pathlib import Path +import sys +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[2] +BASE = HERE.parent / 'references/pr168-v4/research/paired-cube-bit' +P = 12 +if sys.flags.optimize: raise SystemExit('refusing -O') + + +def need(ok, msg): + if not ok: + raise ValueError(msg) + +class Candidate: + def exact_frames(self): + C = self.C + C.decoder(); C.geometry() + for i in self.changed_frames: + f = self.opframe[i]; x = self.ops[i][2]; bits = C.sup[x] + need(C.nondeg(f), 'replacement operation frame nondegenerate') + while bits: + low = bits&-bits; s=low.bit_length()-1; bits-=low + need(C.in_frame(C.chi[s],f), 'value span in replacement operation frame') + for b, d in self.pairs: + need(C.sub(self.endframe[d], self.gauge[b]['frame']), 'exact Q donor-to-birth containment') + need(C.nondeg(self.endframe[d]) and C.nondeg(self.gauge[b]['frame']), 'handoff endpoints nondegenerate') + + def register(self, rows): + C = self.C + B,_ = self.module.reduce_rows(rows,self.h if hasattr(self,'h') else C.h) + B = tuple(sorted(map(tuple,B),key=lambda r:next(i for i,x in enumerate(r) if x))) + if not hasattr(self,'frame_ids'): + self.frame_ids = {} + if B in self.frame_ids: return self.frame_ids[B] + f=max(C.B)+1; A,_=self.module.kernel(B,C.h) + C.B[f],C.A[f],C.dimf[f]=B,A,len(B);self.frame_ids[B]=f + return f + + + def row(self): + C,h,v=self.C,self.h,self.v + _,baseline_Y,src,_=C.chains() + seq=defaultdict(list) + for i,(a,b,x) in enumerate(self.ops): + seq[a].append(self.opframe[i]);seq[b].append(self.opframe[i]) + for j,s in enumerate(self.w['rootroles']):seq[s].append(self.w['root_frame'][j]) + start={b:self.w['source_frame'][x] for x,b in self.source.items()} + start.update({b:z['frame'] for b,z in self.gauge.items()}) + recipient={d:b for b,d in self.pairs} + H=Counter() + for s in range(self.R): + if s in self.donor:continue + chain=list(seq[s]) + if s in recipient: + b=recipient[s];chain += [self.gauge[b]['frame']]+seq[b] + chain.append(self.w['full_frame']) + prev=start.get(s);dp=0 if prev is None else C.dimf[prev] + if s in self.source.values():H[1]+=1 + for f in chain: + need(prev is None or C.sub(prev,f),'physical role chain nested') + d=C.dimf[f] + if d>dp:H[d-dp]+=1 + prev,dp=f,d + for j,r in enumerate(self.g['roots']): + if r['kind']=='center':H[C.dimf[self.w['root_frame'][j]]]+=1 + Y=Counter();current=[None]*v + def read(t,f): + old=current[t];d=0 if old is None else C.dimf[old] + need(old is None or C.sub(old,f),'actual target frame chronology') + if C.dimf[f]>d:Y[C.dimf[f]-d]+=1 + current[t]=f + for b in sorted(self.order,key=lambda b:self.readtime[b]): + for t in self.gauge[b]['targets']:read(t,self.gauge[b]['frame']) + deliveries=defaultdict(list) + for e in self.k['entries']:deliveries[e['deliver_after_root']].append(e) + for j,r in enumerate(self.g['roots']): + if r['kind']!='center': + for t in r['targets']:read(t,self.w['root_frame'][j]) + for e in deliveries[j]: + for t in e['receivers']:read(t,e['deliver_frame']) + for t,f in enumerate(current): + need(f is not None and all(self.module.dot(C.cov[t],b)==0 for b in C.B[f]),'final target cap') + gap=h-1-C.dimf[f] + if gap:Y[gap]+=1 + need(sum(r*n for r,n in Y.items())==v*(h-1),'target rank mass') + hist=Counter() + for part in (H,Y,src): + for r,n in part.items(): + if r and n:hist[r]+=3*n + for b,z in self.gauge.items(): + if b not in self.donor:hist[3*z['dim']]+=1 + hist[2]+=2*v + hist={r:n for r,n in sorted(hist.items()) if n} + need(all(00 for r,n in hist.items()),'positive proper child bins') + R=self.R-len(self.pairs);W=2*v+R;mass=sum(r*n for r,n in hist.items());m=3*h + need(W*m-mass==C.prof['deficit_per_vertex'],'reuse preserves telescoping deficit') + return dict(h=h,v=v,R=R,virtual_R=self.R,reused_registers=len(self.pairs),W_per_vertex=W,m=m, + loss=C.prof['loss'],rank_per_vertex=mass,deficit_per_vertex=W*m-mass, + child_histogram=hist,maxchild=max(hist),selected_roles=len(self.gauge)-len(self.pairs), + selected_rank_histogram=dict(Counter(z['dim'] for b,z in self.gauge.items() if b not in self.donor)), + changed_operation_frames=len(self.changed_frames), + frames_not_contained_in_original=sum(not C.sub(self.opframe[i],self.original_opframe[i]) for i in self.changed_frames), + physical_target_histogram=dict(Y),physical_internal_histogram=dict(H), + foreign_producer_replays=0) + + def adjoint(self): + adj = [dict() for _ in range(self.R)] + for r,s in zip(self.g['roots'], self.w['rootroles']): + for t in r['targets']: adj[s][t] = adj[s].get(t,0)+1 + for a,b,_ in reversed(self.ops): + for t,c in adj[a].items(): adj[b][t] = adj[b].get(t,0)+c + return adj + + def formal(self, ring, tamper=None): + """All source, target and dirty-register columns; no random sampling.""" + v, phys = self.v, self.phys + regs = sorted(set(phys.values())); index = {r:2*v+j for j,r in enumerate(regs)} + if ring == 2: + unit = lambda i: 1<=0) + need(closure==set(self.phase1),'phase one is exactly centre closure') + content=[0]*self.R + for n,s in self.source.items():content[s]=1<0,'gauge dimension and complete response support') + src=Counter();members=Counter();labels=list(map(set,self.g['labels'])) + for e in self.k['entries']: + c,d,f,cap=e['carrier'],e['passive'],e['mix_frame'],e['deliver_frame'] + need(len(labels[c]&labels[d])==1,'orthogonal partner pair') + need(C.dimf[f]==2 and C.in_frame(C.chi[c],f) and C.in_frame(C.chi[d],f),'partner mix span') + need(C.sub(f,cap) and all(self.module.dot(C.cov[t],u)==0 for t in e['receivers'] for u in C.B[cap]),'partner mix delivery cap') + need(e['carrier_chain']==[w['source_frame'][c],f,cap,w['full_frame']] and e['passive_chain']==[w['source_frame'][d],f,w['full_frame']],'exact partner chains') + root=self.g['roots'][e['deliver_after_root']] + need(root['kind']=='side' and sorted(e['receivers'])==sorted(root['targets']),'partner delivery at own receiver root') + for chain in (e['carrier_chain'],e['passive_chain']): + for a,b in zip(chain,chain[1:]): + need(C.sub(a,b),'nested source chronology');src[C.dimf[b]-C.dimf[a]]+=1 + members[c]+=1;members[d]+=1 + need(all(members[s]==1 for s in range(v)),'every source in one partner pair') + return Counter(),Counter(),src,self.R diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/arcs_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/arcs_p10.json new file mode 100644 index 0000000000..7938a9b5ba --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/arcs_p10.json @@ -0,0 +1 @@ +[[966,["root",17]],[967,["root",14]],[969,["root",11]],[970,["root",8]],[973,["op",964,0]],[975,["root",20]],[976,["root",23]],[978,["root",26]],[979,["root",29]],[984,["op",965,0]],[985,["op",961,0]],[993,["root",47]],[994,["root",44]],[996,["root",41]],[997,["root",38]],[1000,["op",991,0]],[1002,["root",50]],[1003,["root",53]],[1005,["root",56]],[1006,["root",59]],[1011,["op",992,0]],[1012,["op",988,0]],[1020,["root",77]],[1021,["root",74]],[1023,["root",71]],[1024,["root",68]],[1027,["op",1018,0]],[1029,["root",80]],[1030,["root",83]],[1032,["root",86]],[1033,["root",89]],[1038,["op",1019,0]],[1039,["op",1015,0]],[1047,["root",107]],[1048,["root",104]],[1050,["root",101]],[1051,["root",98]],[1054,["op",1045,0]],[1056,["root",110]],[1057,["root",113]],[1059,["root",116]],[1060,["root",119]],[1065,["op",1046,0]],[1066,["op",1042,0]],[1074,["root",137]],[1075,["root",134]],[1077,["root",131]],[1078,["root",128]],[1081,["op",1072,0]],[1083,["root",140]],[1084,["root",143]],[1086,["root",146]],[1087,["root",149]],[1092,["op",1073,0]],[1093,["op",1069,0]],[1101,["root",167]],[1102,["root",164]],[1104,["root",161]],[1105,["root",158]],[1108,["op",1099,0]],[1110,["root",170]],[1111,["root",173]],[1113,["root",176]],[1114,["root",179]],[1119,["op",1100,0]],[1120,["op",1096,0]],[1128,["root",197]],[1129,["root",194]],[1131,["root",191]],[1132,["root",188]],[1135,["op",1126,0]],[1137,["root",200]],[1138,["root",203]],[1140,["root",206]],[1141,["root",209]],[1146,["op",1127,0]],[1147,["op",1123,0]],[1155,["root",227]],[1156,["root",224]],[1158,["root",221]],[1159,["root",218]],[1162,["op",1153,0]],[1164,["root",230]],[1165,["root",233]],[1167,["root",236]],[1168,["root",239]],[1173,["op",1154,0]],[1174,["op",1150,0]],[1182,["root",257]],[1183,["root",254]],[1185,["root",251]],[1186,["root",248]],[1189,["op",1180,0]],[1191,["root",260]],[1192,["root",263]],[1194,["root",266]],[1195,["root",269]],[1200,["op",1181,0]],[1201,["op",1177,0]],[1209,["root",287]],[1210,["root",284]],[1212,["root",281]],[1213,["root",278]],[1216,["op",1207,0]],[1218,["root",290]],[1219,["root",293]],[1221,["root",296]],[1222,["root",299]],[1227,["op",1208,0]],[1228,["op",1204,0]],[1236,["root",317]],[1237,["root",314]],[1239,["root",311]],[1240,["root",308]],[1243,["op",1234,0]],[1245,["root",320]],[1246,["root",323]],[1248,["root",326]],[1249,["root",329]],[1254,["op",1235,0]],[1255,["op",1231,0]],[1263,["root",347]],[1264,["root",344]],[1266,["root",341]],[1267,["root",338]],[1270,["op",1261,0]],[1272,["root",350]],[1273,["root",353]],[1275,["root",356]],[1276,["root",359]],[1281,["op",1262,0]],[1282,["op",1258,0]],[1290,["root",377]],[1291,["root",374]],[1293,["root",371]],[1294,["root",368]],[1297,["op",1288,0]],[1299,["root",380]],[1300,["root",383]],[1302,["root",386]],[1303,["root",389]],[1308,["op",1289,0]],[1309,["op",1285,0]],[1317,["root",407]],[1318,["root",404]],[1320,["root",401]],[1321,["root",398]],[1324,["op",1315,0]],[1326,["root",410]],[1327,["root",413]],[1329,["root",416]],[1330,["root",419]],[1335,["op",1316,0]],[1336,["op",1312,0]],[1344,["root",437]],[1345,["root",434]],[1347,["root",431]],[1348,["root",428]],[1351,["op",1342,0]],[1353,["root",440]],[1354,["root",443]],[1356,["root",446]],[1357,["root",449]],[1362,["op",1343,0]],[1363,["op",1339,0]],[1371,["root",467]],[1372,["root",464]],[1374,["root",461]],[1375,["root",458]],[1378,["op",1369,0]],[1380,["root",470]],[1381,["root",473]],[1383,["root",476]],[1384,["root",479]],[1389,["op",1370,0]],[1390,["op",1366,0]],[1398,["root",497]],[1399,["root",494]],[1401,["root",491]],[1402,["root",488]],[1405,["op",1396,0]],[1407,["root",500]],[1408,["root",503]],[1410,["root",506]],[1411,["root",509]],[1416,["op",1397,0]],[1417,["op",1393,0]],[1425,["root",527]],[1426,["root",524]],[1428,["root",521]],[1429,["root",518]],[1432,["op",1423,0]],[1434,["root",530]],[1435,["root",533]],[1437,["root",536]],[1438,["root",539]],[1443,["op",1424,0]],[1444,["op",1420,0]],[1452,["root",557]],[1453,["root",554]],[1455,["root",551]],[1456,["root",548]],[1459,["op",1450,0]],[1461,["root",560]],[1462,["root",563]],[1464,["root",566]],[1465,["root",569]],[1470,["op",1451,0]],[1471,["op",1447,0]],[1479,["root",587]],[1480,["root",584]],[1482,["root",581]],[1483,["root",578]],[1486,["op",1477,0]],[1488,["root",590]],[1489,["root",593]],[1491,["root",596]],[1492,["root",599]],[1497,["op",1478,0]],[1498,["op",1474,0]],[1506,["root",617]],[1507,["root",614]],[1509,["root",611]],[1510,["root",608]],[1513,["op",1504,0]],[1515,["root",620]],[1516,["root",623]],[1518,["root",626]],[1519,["root",629]],[1524,["op",1505,0]],[1525,["op",1501,0]],[1533,["root",647]],[1534,["root",644]],[1536,["root",641]],[1537,["root",638]],[1540,["op",1531,0]],[1542,["root",650]],[1543,["root",653]],[1545,["root",656]],[1546,["root",659]],[1551,["op",1532,0]],[1552,["op",1528,0]],[1560,["root",677]],[1561,["root",674]],[1563,["root",671]],[1564,["root",668]],[1567,["op",1558,0]],[1569,["root",680]],[1570,["root",683]],[1572,["root",686]],[1573,["root",689]],[1578,["op",1559,0]],[1579,["op",1555,0]],[1587,["root",707]],[1588,["root",704]],[1590,["root",701]],[1591,["root",698]],[1594,["op",1585,0]],[1596,["root",710]],[1597,["root",713]],[1599,["root",716]],[1600,["root",719]],[1605,["op",1586,0]],[1606,["op",1582,0]],[1614,["root",737]],[1615,["root",734]],[1617,["root",731]],[1618,["root",728]],[1621,["op",1612,0]],[1623,["root",740]],[1624,["root",743]],[1626,["root",746]],[1627,["root",749]],[1632,["op",1613,0]],[1633,["op",1609,0]],[1641,["root",767]],[1642,["root",764]],[1644,["root",761]],[1645,["root",758]],[1648,["op",1639,0]],[1650,["root",770]],[1651,["root",773]],[1653,["root",776]],[1654,["root",779]],[1659,["op",1640,0]],[1660,["op",1636,0]],[1668,["root",797]],[1669,["root",794]],[1671,["root",791]],[1672,["root",788]],[1675,["op",1666,0]],[1677,["root",800]],[1678,["root",803]],[1680,["root",806]],[1681,["root",809]],[1686,["op",1667,0]],[1687,["op",1663,0]],[1695,["root",827]],[1696,["root",824]],[1698,["root",821]],[1699,["root",818]],[1702,["op",1693,0]],[1704,["root",830]],[1705,["root",833]],[1707,["root",836]],[1708,["root",839]],[1713,["op",1694,0]],[1714,["op",1690,0]],[1722,["root",857]],[1723,["root",854]],[1725,["root",851]],[1726,["root",848]],[1729,["op",1720,0]],[1731,["root",860]],[1732,["root",863]],[1734,["root",866]],[1735,["root",869]],[1740,["op",1721,0]],[1741,["op",1717,0]],[1749,["root",887]],[1750,["root",884]],[1752,["root",881]],[1753,["root",878]],[1756,["op",1747,0]],[1758,["root",890]],[1759,["root",893]],[1761,["root",896]],[1762,["root",899]],[1767,["op",1748,0]],[1768,["op",1744,0]],[1776,["root",917]],[1777,["root",914]],[1779,["root",911]],[1780,["root",908]],[1783,["op",1774,0]],[1785,["root",920]],[1786,["root",923]],[1788,["root",926]],[1789,["root",929]],[1794,["op",1775,0]],[1795,["op",1771,0]],[1803,["root",947]],[1804,["root",944]],[1806,["root",941]],[1807,["root",938]],[1810,["op",1801,0]],[1812,["root",950]],[1813,["root",953]],[1815,["root",956]],[1816,["root",959]],[1821,["op",1802,0]],[1822,["op",1798,0]],[1830,["root",977]],[1831,["root",974]],[1833,["root",971]],[1834,["root",968]],[1837,["op",1828,0]],[1839,["root",980]],[1840,["root",983]],[1842,["root",986]],[1843,["root",989]],[1848,["op",1829,0]],[1849,["op",1825,0]],[1857,["root",1007]],[1858,["root",1004]],[1860,["root",1001]],[1861,["root",998]],[1864,["op",1855,0]],[1866,["root",1010]],[1867,["root",1013]],[1869,["root",1016]],[1870,["root",1019]],[1875,["op",1856,0]],[1876,["op",1852,0]],[1884,["root",1037]],[1885,["root",1034]],[1887,["root",1031]],[1888,["root",1028]],[1891,["op",1882,0]],[1893,["root",1040]],[1894,["root",1043]],[1896,["root",1046]],[1897,["root",1049]],[1902,["op",1883,0]],[1903,["op",1879,0]],[1911,["root",1067]],[1912,["root",1064]],[1914,["root",1061]],[1915,["root",1058]],[1918,["op",1909,0]],[1920,["root",1070]],[1921,["root",1073]],[1923,["root",1076]],[1924,["root",1079]],[1929,["op",1910,0]],[1930,["op",1906,0]],[1938,["root",1097]],[1939,["root",1094]],[1941,["root",1091]],[1942,["root",1088]],[1945,["op",1936,0]],[1947,["root",1100]],[1948,["root",1103]],[1950,["root",1106]],[1951,["root",1109]],[1956,["op",1937,0]],[1957,["op",1933,0]],[1965,["root",1127]],[1966,["root",1124]],[1968,["root",1121]],[1969,["root",1118]],[1972,["op",1963,0]],[1974,["root",1130]],[1975,["root",1133]],[1977,["root",1136]],[1978,["root",1139]],[1983,["op",1964,0]],[1984,["op",1960,0]],[1992,["root",1157]],[1993,["root",1154]],[1995,["root",1151]],[1996,["root",1148]],[1999,["op",1990,0]],[2001,["root",1160]],[2002,["root",1163]],[2004,["root",1166]],[2005,["root",1169]],[2010,["op",1991,0]],[2011,["op",1987,0]],[2019,["root",1187]],[2020,["root",1184]],[2022,["root",1181]],[2023,["root",1178]],[2026,["op",2017,0]],[2028,["root",1190]],[2029,["root",1193]],[2031,["root",1196]],[2032,["root",1199]],[2037,["op",2018,0]],[2038,["op",2014,0]],[2046,["root",1217]],[2047,["root",1214]],[2049,["root",1211]],[2050,["root",1208]],[2053,["op",2044,0]],[2055,["root",1220]],[2056,["root",1223]],[2058,["root",1226]],[2059,["root",1229]],[2064,["op",2045,0]],[2065,["op",2041,0]],[2073,["root",1247]],[2074,["root",1244]],[2076,["root",1241]],[2077,["root",1238]],[2080,["op",2071,0]],[2082,["root",1250]],[2083,["root",1253]],[2085,["root",1256]],[2086,["root",1259]],[2091,["op",2072,0]],[2092,["op",2068,0]],[2100,["root",1277]],[2101,["root",1274]],[2103,["root",1271]],[2104,["root",1268]],[2107,["op",2098,0]],[2109,["root",1280]],[2110,["root",1283]],[2112,["root",1286]],[2113,["root",1289]],[2118,["op",2099,0]],[2119,["op",2095,0]],[2127,["root",1307]],[2128,["root",1304]],[2130,["root",1301]],[2131,["root",1298]],[2134,["op",2125,0]],[2136,["root",1310]],[2137,["root",1313]],[2139,["root",1316]],[2140,["root",1319]],[2145,["op",2126,0]],[2146,["op",2122,0]],[2154,["root",1337]],[2155,["root",1334]],[2157,["root",1331]],[2158,["root",1328]],[2161,["op",2152,0]],[2163,["root",1340]],[2164,["root",1343]],[2166,["root",1346]],[2167,["root",1349]],[2172,["op",2153,0]],[2173,["op",2149,0]],[2181,["root",1367]],[2182,["root",1364]],[2184,["root",1361]],[2185,["root",1358]],[2188,["op",2179,0]],[2190,["root",1370]],[2191,["root",1373]],[2193,["root",1376]],[2194,["root",1379]],[2199,["op",2180,0]],[2200,["op",2176,0]],[2208,["root",1397]],[2209,["root",1394]],[2211,["root",1391]],[2212,["root",1388]],[2215,["op",2206,0]],[2217,["root",1400]],[2218,["root",1403]],[2220,["root",1406]],[2221,["root",1409]],[2226,["op",2207,0]],[2227,["op",2203,0]],[2235,["root",1427]],[2236,["root",1424]],[2238,["root",1421]],[2239,["root",1418]],[2242,["op",2233,0]],[2244,["root",1430]],[2245,["root",1433]],[2247,["root",1436]],[2248,["root",1439]],[2253,["op",2234,0]],[2254,["op",2230,0]],[2262,["root",1457]],[2263,["root",1454]],[2265,["root",1451]],[2266,["root",1448]],[2269,["op",2260,0]],[2271,["root",1460]],[2272,["root",1463]],[2274,["root",1466]],[2275,["root",1469]],[2280,["op",2261,0]],[2281,["op",2257,0]],[2289,["root",1487]],[2290,["root",1484]],[2292,["root",1481]],[2293,["root",1478]],[2296,["op",2287,0]],[2298,["root",1490]],[2299,["root",1493]],[2301,["root",1496]],[2302,["root",1499]],[2307,["op",2288,0]],[2308,["op",2284,0]],[2316,["root",1517]],[2317,["root",1514]],[2319,["root",1511]],[2320,["root",1508]],[2323,["op",2314,0]],[2325,["root",1520]],[2326,["root",1523]],[2328,["root",1526]],[2329,["root",1529]],[2334,["op",2315,0]],[2335,["op",2311,0]],[2343,["root",1547]],[2344,["root",1544]],[2346,["root",1541]],[2347,["root",1538]],[2350,["op",2341,0]],[2352,["root",1550]],[2353,["root",1553]],[2355,["root",1556]],[2356,["root",1559]],[2361,["op",2342,0]],[2362,["op",2338,0]],[2370,["root",1577]],[2371,["root",1574]],[2373,["root",1571]],[2374,["root",1568]],[2377,["op",2368,0]],[2379,["root",1580]],[2380,["root",1583]],[2382,["root",1586]],[2383,["root",1589]],[2388,["op",2369,0]],[2389,["op",2365,0]],[2397,["root",1607]],[2398,["root",1604]],[2400,["root",1601]],[2401,["root",1598]],[2404,["op",2395,0]],[2406,["root",1610]],[2407,["root",1613]],[2409,["root",1616]],[2410,["root",1619]],[2415,["op",2396,0]],[2416,["op",2392,0]],[2424,["root",1637]],[2425,["root",1634]],[2427,["root",1631]],[2428,["root",1628]],[2431,["op",2422,0]],[2433,["root",1640]],[2434,["root",1643]],[2436,["root",1646]],[2437,["root",1649]],[2442,["op",2423,0]],[2443,["op",2419,0]],[2451,["root",1667]],[2452,["root",1664]],[2454,["root",1661]],[2455,["root",1658]],[2458,["op",2449,0]],[2460,["root",1670]],[2461,["root",1673]],[2463,["root",1676]],[2464,["root",1679]],[2469,["op",2450,0]],[2470,["op",2446,0]],[2478,["root",1697]],[2479,["root",1694]],[2481,["root",1691]],[2482,["root",1688]],[2485,["op",2476,0]],[2487,["root",1700]],[2488,["root",1703]],[2490,["root",1706]],[2491,["root",1709]],[2496,["op",2477,0]],[2497,["op",2473,0]],[2505,["root",1727]],[2506,["root",1724]],[2508,["root",1721]],[2509,["root",1718]],[2512,["op",2503,0]],[2514,["root",1730]],[2515,["root",1733]],[2517,["root",1736]],[2518,["root",1739]],[2523,["op",2504,0]],[2524,["op",2500,0]],[2532,["root",1757]],[2533,["root",1754]],[2535,["root",1751]],[2536,["root",1748]],[2539,["op",2530,0]],[2541,["root",1760]],[2542,["root",1763]],[2544,["root",1766]],[2545,["root",1769]],[2550,["op",2531,0]],[2551,["op",2527,0]],[2559,["root",1787]],[2560,["root",1784]],[2562,["root",1781]],[2563,["root",1778]],[2566,["op",2557,0]],[2568,["root",1790]],[2569,["root",1793]],[2571,["root",1796]],[2572,["root",1799]],[2577,["op",2558,0]],[2578,["op",2554,0]],[2586,["root",1817]],[2587,["root",1814]],[2589,["root",1811]],[2590,["root",1808]],[2593,["op",2584,0]],[2595,["root",1820]],[2596,["root",1823]],[2598,["root",1826]],[2599,["root",1829]],[2604,["op",2585,0]],[2605,["op",2581,0]],[2613,["root",1847]],[2614,["root",1844]],[2616,["root",1841]],[2617,["root",1838]],[2620,["op",2611,0]],[2622,["root",1850]],[2623,["root",1853]],[2625,["root",1856]],[2626,["root",1859]],[2631,["op",2612,0]],[2632,["op",2608,0]],[2640,["root",1877]],[2641,["root",1874]],[2643,["root",1871]],[2644,["root",1868]],[2647,["op",2638,0]],[2649,["root",1880]],[2650,["root",1883]],[2652,["root",1886]],[2653,["root",1889]],[2658,["op",2639,0]],[2659,["op",2635,0]],[2667,["root",1907]],[2668,["root",1904]],[2670,["root",1901]],[2671,["root",1898]],[2674,["op",2665,0]],[2676,["root",1910]],[2677,["root",1913]],[2679,["root",1916]],[2680,["root",1919]],[2685,["op",2666,0]],[2686,["op",2662,0]],[2694,["root",1937]],[2695,["root",1934]],[2697,["root",1931]],[2698,["root",1928]],[2701,["op",2692,0]],[2703,["root",1940]],[2704,["root",1943]],[2706,["root",1946]],[2707,["root",1949]],[2712,["op",2693,0]],[2713,["op",2689,0]],[2721,["root",1967]],[2722,["root",1964]],[2724,["root",1961]],[2725,["root",1958]],[2728,["op",2719,0]],[2730,["root",1970]],[2731,["root",1973]],[2733,["root",1976]],[2734,["root",1979]],[2739,["op",2720,0]],[2740,["op",2716,0]],[2748,["root",1997]],[2749,["root",1994]],[2751,["root",1991]],[2752,["root",1988]],[2755,["op",2746,0]],[2757,["root",2000]],[2758,["root",2003]],[2760,["root",2006]],[2761,["root",2009]],[2766,["op",2747,0]],[2767,["op",2743,0]],[2775,["root",2027]],[2776,["root",2024]],[2778,["root",2021]],[2779,["root",2018]],[2782,["op",2773,0]],[2784,["root",2030]],[2785,["root",2033]],[2787,["root",2036]],[2788,["root",2039]],[2793,["op",2774,0]],[2794,["op",2770,0]],[2802,["root",2057]],[2803,["root",2054]],[2805,["root",2051]],[2806,["root",2048]],[2809,["op",2800,0]],[2811,["root",2060]],[2812,["root",2063]],[2814,["root",2066]],[2815,["root",2069]],[2820,["op",2801,0]],[2821,["op",2797,0]],[2829,["root",2087]],[2830,["root",2084]],[2832,["root",2081]],[2833,["root",2078]],[2836,["op",2827,0]],[2838,["root",2090]],[2839,["root",2093]],[2841,["root",2096]],[2842,["root",2099]],[2847,["op",2828,0]],[2848,["op",2824,0]],[2856,["root",2117]],[2857,["root",2114]],[2859,["root",2111]],[2860,["root",2108]],[2863,["op",2854,0]],[2865,["root",2120]],[2866,["root",2123]],[2868,["root",2126]],[2869,["root",2129]],[2874,["op",2855,0]],[2875,["op",2851,0]],[2883,["root",2147]],[2884,["root",2144]],[2886,["root",2141]],[2887,["root",2138]],[2890,["op",2881,0]],[2892,["root",2150]],[2893,["root",2153]],[2895,["root",2156]],[2896,["root",2159]],[2901,["op",2882,0]],[2902,["op",2878,0]],[2910,["root",2177]],[2911,["root",2174]],[2913,["root",2171]],[2914,["root",2168]],[2917,["op",2908,0]],[2919,["root",2180]],[2920,["root",2183]],[2922,["root",2186]],[2923,["root",2189]],[2928,["op",2909,0]],[2929,["op",2905,0]],[2937,["root",2207]],[2938,["root",2204]],[2940,["root",2201]],[2941,["root",2198]],[2944,["op",2935,0]],[2946,["root",2210]],[2947,["root",2213]],[2949,["root",2216]],[2950,["root",2219]],[2955,["op",2936,0]],[2956,["op",2932,0]],[2964,["root",2237]],[2965,["root",2234]],[2967,["root",2231]],[2968,["root",2228]],[2971,["op",2962,0]],[2973,["root",2240]],[2974,["root",2243]],[2976,["root",2246]],[2977,["root",2249]],[2982,["op",2963,0]],[2983,["op",2959,0]],[2991,["root",2267]],[2992,["root",2264]],[2994,["root",2261]],[2995,["root",2258]],[2998,["op",2989,0]],[3000,["root",2270]],[3001,["root",2273]],[3003,["root",2276]],[3004,["root",2279]],[3009,["op",2990,0]],[3010,["op",2986,0]],[3018,["root",2297]],[3019,["root",2294]],[3021,["root",2291]],[3022,["root",2288]],[3025,["op",3016,0]],[3027,["root",2300]],[3028,["root",2303]],[3030,["root",2306]],[3031,["root",2309]],[3036,["op",3017,0]],[3037,["op",3013,0]],[3045,["root",2327]],[3046,["root",2324]],[3048,["root",2321]],[3049,["root",2318]],[3052,["op",3043,0]],[3054,["root",2330]],[3055,["root",2333]],[3057,["root",2336]],[3058,["root",2339]],[3063,["op",3044,0]],[3064,["op",3040,0]],[3072,["root",2357]],[3073,["root",2354]],[3075,["root",2351]],[3076,["root",2348]],[3079,["op",3070,0]],[3081,["root",2360]],[3082,["root",2363]],[3084,["root",2366]],[3085,["root",2369]],[3090,["op",3071,0]],[3091,["op",3067,0]],[3099,["root",2387]],[3100,["root",2384]],[3102,["root",2381]],[3103,["root",2378]],[3106,["op",3097,0]],[3108,["root",2390]],[3109,["root",2393]],[3111,["root",2396]],[3112,["root",2399]],[3117,["op",3098,0]],[3118,["op",3094,0]],[3126,["root",2417]],[3127,["root",2414]],[3129,["root",2411]],[3130,["root",2408]],[3133,["op",3124,0]],[3135,["root",2420]],[3136,["root",2423]],[3138,["root",2426]],[3139,["root",2429]],[3144,["op",3125,0]],[3145,["op",3121,0]],[3153,["root",2447]],[3154,["root",2444]],[3156,["root",2441]],[3157,["root",2438]],[3160,["op",3151,0]],[3162,["root",2450]],[3163,["root",2453]],[3165,["root",2456]],[3166,["root",2459]],[3171,["op",3152,0]],[3172,["op",3148,0]],[3180,["root",2477]],[3181,["root",2474]],[3183,["root",2471]],[3184,["root",2468]],[3187,["op",3178,0]],[3189,["root",2480]],[3190,["root",2483]],[3192,["root",2486]],[3193,["root",2489]],[3198,["op",3179,0]],[3199,["op",3175,0]],[3207,["root",2507]],[3208,["root",2504]],[3210,["root",2501]],[3211,["root",2498]],[3214,["op",3205,0]],[3216,["root",2510]],[3217,["root",2513]],[3219,["root",2516]],[3220,["root",2519]],[3225,["op",3206,0]],[3226,["op",3202,0]],[3234,["root",2537]],[3235,["root",2534]],[3237,["root",2531]],[3238,["root",2528]],[3241,["op",3232,0]],[3243,["root",2540]],[3244,["root",2543]],[3246,["root",2546]],[3247,["root",2549]],[3252,["op",3233,0]],[3253,["op",3229,0]],[3261,["root",2567]],[3262,["root",2564]],[3264,["root",2561]],[3265,["root",2558]],[3268,["op",3259,0]],[3270,["root",2570]],[3271,["root",2573]],[3273,["root",2576]],[3274,["root",2579]],[3279,["op",3260,0]],[3280,["op",3256,0]],[3288,["root",2597]],[3289,["root",2594]],[3291,["root",2591]],[3292,["root",2588]],[3295,["op",3286,0]],[3297,["root",2600]],[3298,["root",2603]],[3300,["root",2606]],[3301,["root",2609]],[3306,["op",3287,0]],[3307,["op",3283,0]],[3315,["root",2627]],[3316,["root",2624]],[3318,["root",2621]],[3319,["root",2618]],[3322,["op",3313,0]],[3324,["root",2630]],[3325,["root",2633]],[3327,["root",2636]],[3328,["root",2639]],[3333,["op",3314,0]],[3334,["op",3310,0]],[3342,["root",2657]],[3343,["root",2654]],[3345,["root",2651]],[3346,["root",2648]],[3349,["op",3340,0]],[3351,["root",2660]],[3352,["root",2663]],[3354,["root",2666]],[3355,["root",2669]],[3360,["op",3341,0]],[3361,["op",3337,0]],[3369,["root",2687]],[3370,["root",2684]],[3372,["root",2681]],[3373,["root",2678]],[3376,["op",3367,0]],[3378,["root",2690]],[3379,["root",2693]],[3381,["root",2696]],[3382,["root",2699]],[3387,["op",3368,0]],[3388,["op",3364,0]],[3396,["root",2717]],[3397,["root",2714]],[3399,["root",2711]],[3400,["root",2708]],[3403,["op",3394,0]],[3405,["root",2720]],[3406,["root",2723]],[3408,["root",2726]],[3409,["root",2729]],[3414,["op",3395,0]],[3415,["op",3391,0]],[3423,["root",2747]],[3424,["root",2744]],[3426,["root",2741]],[3427,["root",2738]],[3430,["op",3421,0]],[3432,["root",2750]],[3433,["root",2753]],[3435,["root",2756]],[3436,["root",2759]],[3441,["op",3422,0]],[3442,["op",3418,0]],[3450,["root",2777]],[3451,["root",2774]],[3453,["root",2771]],[3454,["root",2768]],[3457,["op",3448,0]],[3459,["root",2780]],[3460,["root",2783]],[3462,["root",2786]],[3463,["root",2789]],[3468,["op",3449,0]],[3469,["op",3445,0]],[3477,["root",2807]],[3478,["root",2804]],[3480,["root",2801]],[3481,["root",2798]],[3484,["op",3475,0]],[3486,["root",2810]],[3487,["root",2813]],[3489,["root",2816]],[3490,["root",2819]],[3495,["op",3476,0]],[3496,["op",3472,0]],[3504,["root",2837]],[3505,["root",2834]],[3507,["root",2831]],[3508,["root",2828]],[3511,["op",3502,0]],[3513,["root",2840]],[3514,["root",2843]],[3516,["root",2846]],[3517,["root",2849]],[3522,["op",3503,0]],[3523,["op",3499,0]],[3531,["root",2867]],[3532,["root",2864]],[3534,["root",2861]],[3535,["root",2858]],[3538,["op",3529,0]],[3540,["root",2870]],[3541,["root",2873]],[3543,["root",2876]],[3544,["root",2879]],[3549,["op",3530,0]],[3550,["op",3526,0]],[3558,["root",2897]],[3559,["root",2894]],[3561,["root",2891]],[3562,["root",2888]],[3565,["op",3556,0]],[3567,["root",2900]],[3568,["root",2903]],[3570,["root",2906]],[3571,["root",2909]],[3576,["op",3557,0]],[3577,["op",3553,0]],[3585,["root",2927]],[3586,["root",2924]],[3588,["root",2921]],[3589,["root",2918]],[3592,["op",3583,0]],[3594,["root",2930]],[3595,["root",2933]],[3597,["root",2936]],[3598,["root",2939]],[3603,["op",3584,0]],[3604,["op",3580,0]],[3612,["root",2957]],[3613,["root",2954]],[3615,["root",2951]],[3616,["root",2948]],[3619,["op",3610,0]],[3621,["root",2960]],[3622,["root",2963]],[3624,["root",2966]],[3625,["root",2969]],[3630,["op",3611,0]],[3631,["op",3607,0]],[3639,["root",2987]],[3640,["root",2984]],[3642,["root",2981]],[3643,["root",2978]],[3646,["op",3637,0]],[3648,["root",2990]],[3649,["root",2993]],[3651,["root",2996]],[3652,["root",2999]],[3657,["op",3638,0]],[3658,["op",3634,0]],[3666,["root",3017]],[3667,["root",3014]],[3669,["root",3011]],[3670,["root",3008]],[3673,["op",3664,0]],[3675,["root",3020]],[3676,["root",3023]],[3678,["root",3026]],[3679,["root",3029]],[3684,["op",3665,0]],[3685,["op",3661,0]],[3693,["root",3047]],[3694,["root",3044]],[3696,["root",3041]],[3697,["root",3038]],[3700,["op",3691,0]],[3702,["root",3050]],[3703,["root",3053]],[3705,["root",3056]],[3706,["root",3059]],[3711,["op",3692,0]],[3712,["op",3688,0]],[3720,["root",3077]],[3721,["root",3074]],[3723,["root",3071]],[3724,["root",3068]],[3727,["op",3718,0]],[3729,["root",3080]],[3730,["root",3083]],[3732,["root",3086]],[3733,["root",3089]],[3738,["op",3719,0]],[3739,["op",3715,0]],[3747,["root",3107]],[3748,["root",3104]],[3750,["root",3101]],[3751,["root",3098]],[3754,["op",3745,0]],[3756,["root",3110]],[3757,["root",3113]],[3759,["root",3116]],[3760,["root",3119]],[3765,["op",3746,0]],[3766,["op",3742,0]],[3774,["root",3137]],[3775,["root",3134]],[3777,["root",3131]],[3778,["root",3128]],[3781,["op",3772,0]],[3783,["root",3140]],[3784,["root",3143]],[3786,["root",3146]],[3787,["root",3149]],[3792,["op",3773,0]],[3793,["op",3769,0]],[3801,["root",3167]],[3802,["root",3164]],[3804,["root",3161]],[3805,["root",3158]],[3808,["op",3799,0]],[3810,["root",3170]],[3811,["root",3173]],[3813,["root",3176]],[3814,["root",3179]],[3819,["op",3800,0]],[3820,["op",3796,0]],[3828,["root",3197]],[3829,["root",3194]],[3831,["root",3191]],[3832,["root",3188]],[3835,["op",3826,0]],[3837,["root",3200]],[3838,["root",3203]],[3840,["root",3206]],[3841,["root",3209]],[3846,["op",3827,0]],[3847,["op",3823,0]],[3855,["root",3227]],[3856,["root",3224]],[3858,["root",3221]],[3859,["root",3218]],[3862,["op",3853,0]],[3864,["root",3230]],[3865,["root",3233]],[3867,["root",3236]],[3868,["root",3239]],[3873,["op",3854,0]],[3874,["op",3850,0]],[3882,["root",3257]],[3883,["root",3254]],[3885,["root",3251]],[3886,["root",3248]],[3889,["op",3880,0]],[3891,["root",3260]],[3892,["root",3263]],[3894,["root",3266]],[3895,["root",3269]],[3900,["op",3881,0]],[3901,["op",3877,0]],[3909,["root",3287]],[3910,["root",3284]],[3912,["root",3281]],[3913,["root",3278]],[3916,["op",3907,0]],[3918,["root",3290]],[3919,["root",3293]],[3921,["root",3296]],[3922,["root",3299]],[3927,["op",3908,0]],[3928,["op",3904,0]],[3936,["root",3317]],[3937,["root",3314]],[3939,["root",3311]],[3940,["root",3308]],[3943,["op",3934,0]],[3945,["root",3320]],[3946,["root",3323]],[3948,["root",3326]],[3949,["root",3329]],[3954,["op",3935,0]],[3955,["op",3931,0]],[3963,["root",3347]],[3964,["root",3344]],[3966,["root",3341]],[3967,["root",3338]],[3970,["op",3961,0]],[3972,["root",3350]],[3973,["root",3353]],[3975,["root",3356]],[3976,["root",3359]],[3981,["op",3962,0]],[3982,["op",3958,0]],[3990,["root",3377]],[3991,["root",3374]],[3993,["root",3371]],[3994,["root",3368]],[3997,["op",3988,0]],[3999,["root",3380]],[4000,["root",3383]],[4002,["root",3386]],[4003,["root",3389]],[4008,["op",3989,0]],[4009,["op",3985,0]],[4017,["root",3407]],[4018,["root",3404]],[4020,["root",3401]],[4021,["root",3398]],[4024,["op",4015,0]],[4026,["root",3410]],[4027,["root",3413]],[4029,["root",3416]],[4030,["root",3419]],[4035,["op",4016,0]],[4036,["op",4012,0]],[4044,["root",3437]],[4045,["root",3434]],[4047,["root",3431]],[4048,["root",3428]],[4051,["op",4042,0]],[4053,["root",3440]],[4054,["root",3443]],[4056,["root",3446]],[4057,["root",3449]],[4062,["op",4043,0]],[4063,["op",4039,0]],[4071,["root",3467]],[4072,["root",3464]],[4074,["root",3461]],[4075,["root",3458]],[4078,["op",4069,0]],[4080,["root",3470]],[4081,["root",3473]],[4083,["root",3476]],[4084,["root",3479]],[4089,["op",4070,0]],[4090,["op",4066,0]],[4098,["root",3497]],[4099,["root",3494]],[4101,["root",3491]],[4102,["root",3488]],[4105,["op",4096,0]],[4107,["root",3500]],[4108,["root",3503]],[4110,["root",3506]],[4111,["root",3509]],[4116,["op",4097,0]],[4117,["op",4093,0]],[4125,["root",3527]],[4126,["root",3524]],[4128,["root",3521]],[4129,["root",3518]],[4132,["op",4123,0]],[4134,["root",3530]],[4135,["root",3533]],[4137,["root",3536]],[4138,["root",3539]],[4143,["op",4124,0]],[4144,["op",4120,0]],[4152,["root",3557]],[4153,["root",3554]],[4155,["root",3551]],[4156,["root",3548]],[4159,["op",4150,0]],[4161,["root",3560]],[4162,["root",3563]],[4164,["root",3566]],[4165,["root",3569]],[4170,["op",4151,0]],[4171,["op",4147,0]],[4179,["root",3587]],[4180,["root",3584]],[4182,["root",3581]],[4183,["root",3578]],[4186,["op",4177,0]],[4188,["root",3590]],[4189,["root",3593]],[4191,["root",3596]],[4192,["root",3599]],[4197,["op",4178,0]],[4198,["op",4174,0]],[4200,["op",4297,0]],[4201,["op",4356,0]],[4202,["op",4390,0]],[4203,["op",4316,0]],[4204,["op",4241,0]],[4205,["op",4237,1]],[4206,["op",4263,1]],[4207,["op",4263,0]],[4208,["op",4221,0]],[4209,["op",4470,0]],[4210,["op",4352,1]],[4212,["op",4445,0]],[4214,["op",4206,0]],[4215,["op",4357,0]],[4216,["op",4394,0]],[4217,["op",4410,0]],[4218,["op",4317,0]],[4219,["op",4274,0]],[4221,["op",4258,0]],[4222,["op",4470,1]],[4223,["op",4344,0]],[4224,["op",4273,0]],[4226,["op",4359,0]],[4227,["op",4359,1]],[4228,["op",4381,0]],[4229,["op",4387,0]],[4230,["op",4447,0]],[4232,["op",4209,1]],[4233,["op",4266,0]],[4234,["op",4257,0]],[4235,["op",4416,0]],[4236,["op",4385,0]],[4237,["op",4371,0]],[4238,["op",4437,0]],[4240,["op",4426,0]],[4241,["op",4382,1]],[4242,["op",4238,0]],[4243,["op",4220,0]],[4244,["op",4377,0]],[4245,["op",4285,0]],[4246,["op",4286,0]],[4247,["op",4312,0]],[4249,["op",4293,0]],[4250,["op",4296,0]],[4251,["op",4452,1]],[4252,["op",4226,0]],[4253,["op",4298,0]],[4254,["op",4271,0]],[4255,["op",4395,0]],[4256,["op",4423,0]],[4257,["op",4386,0]],[4258,["op",4471,0]],[4259,["op",4376,0]],[4260,["op",4365,0]],[4261,["op",4376,1]],[4262,["op",4333,0]],[4264,["op",4283,0]],[4265,["op",4340,0]],[4266,["op",4458,0]],[4267,["op",4429,1]],[4268,["op",4424,1]],[4269,["op",4457,0]],[4270,["op",4344,1]],[4272,["op",4360,0]],[4273,["op",4314,0]],[4275,["op",4364,0]],[4276,["op",4219,0]],[4277,["op",4251,0]],[4278,["op",4418,0]],[4279,["op",4247,1]],[4280,["op",4456,0]],[4281,["op",4352,0]],[4282,["op",4343,0]],[4284,["op",4245,1]],[4285,["op",4303,1]],[4286,["op",4303,0]],[4287,["op",4407,0]],[4288,["op",4236,1]],[4289,["op",4412,0]],[4291,["op",4242,0]],[4292,["op",4392,0]],[4293,["op",4410,1]],[4294,["op",4366,1]],[4295,["op",4319,0]],[4297,["op",4222,0]],[4298,["op",4300,1]],[4300,["op",4362,1]],[4301,["op",4362,0]],[4302,["op",4250,0]],[4303,["op",4308,0]],[4304,["op",4314,1]],[4305,["op",4407,1]],[4306,["op",4420,0]],[4308,["op",4398,0]],[4309,["op",4367,0]],[4310,["op",4397,0]],[4311,["op",4382,0]],[4312,["op",4414,1]],[4315,["op",4434,0]],[4316,["op",4440,1]],[4317,["op",4311,0]],[4318,["op",4282,0]],[4319,["op",4351,0]],[4321,["op",4361,0]],[4322,["op",4342,0]],[4324,["op",4331,0]],[4325,["op",4336,0]],[4326,["op",4422,0]],[4327,["op",4265,1]],[4329,["op",4310,0]],[4330,["op",4391,0]],[4331,["op",4228,0]],[4334,["op",4272,0]],[4335,["op",4467,0]],[4336,["op",4350,0]],[4337,["op",4200,0]],[4338,["op",4328,1]],[4339,["op",4424,0]],[4340,["op",4372,1]],[4342,["op",4353,0]],[4343,["op",4370,0]],[4346,["op",4455,0]],[4348,["op",4256,1]],[4349,["op",4355,0]],[4350,["op",4454,1]],[4352,["op",4374,0]],[4354,["op",4345,1]],[4355,["op",4239,0]],[4356,["op",4402,1]],[4358,["op",4332,0]],[4359,["op",4300,0]],[4361,["op",4421,1]],[4362,["op",4230,0]],[4363,["op",4385,1]],[4364,["op",4442,0]],[4367,["op",4409,1]],[4368,["op",4335,1]],[4369,["op",4305,0]],[4372,["op",4280,0]],[4373,["op",4448,0]],[4374,["op",4211,1]],[4375,["op",4464,0]],[4376,["op",4247,0]],[4378,["op",4213,0]],[4381,["op",4332,1]],[4382,["op",4212,0]],[4383,["op",4415,0]],[4384,["op",4445,1]],[4388,["op",4323,0]],[4389,["op",4411,1]],[4390,["op",4394,1]],[4391,["op",4401,0]],[4393,["op",4379,1]],[4395,["op",4444,0]],[4396,["op",4299,0]],[4397,["op",4239,1]],[4398,["op",4417,0]],[4400,["op",4320,1]],[4404,["op",4255,0]],[4405,["op",4400,0]],[4412,["op",4351,1]],[4414,["op",4248,1]],[4416,["op",4403,1]],[4421,["op",4450,0]],[4424,["op",4462,0]],[4425,["op",4378,0]],[4426,["op",4213,1]],[4429,["op",4406,0]],[4430,["op",4346,1]],[4432,["op",4408,0]],[4433,["op",4428,1]],[4440,["op",4333,1]],[4441,["op",4265,0]],[4452,["op",4380,0]],[4461,["op",4460,0]],[4462,["op",4469,0]],[4467,["op",4371,1]],[4470,["op",4451,0]],[4473,["op",4570,0]],[4474,["op",4629,0]],[4475,["op",4663,0]],[4476,["op",4589,0]],[4477,["op",4514,0]],[4478,["op",4510,1]],[4479,["op",4536,1]],[4480,["op",4536,0]],[4481,["op",4494,0]],[4482,["op",4743,0]],[4483,["op",4625,1]],[4485,["op",4718,0]],[4487,["op",4479,0]],[4488,["op",4630,0]],[4489,["op",4667,0]],[4490,["op",4683,0]],[4491,["op",4590,0]],[4492,["op",4547,0]],[4494,["op",4531,0]],[4495,["op",4743,1]],[4496,["op",4617,0]],[4497,["op",4546,0]],[4499,["op",4632,0]],[4500,["op",4632,1]],[4501,["op",4654,0]],[4502,["op",4660,0]],[4503,["op",4720,0]],[4505,["op",4482,1]],[4506,["op",4539,0]],[4507,["op",4530,0]],[4508,["op",4689,0]],[4509,["op",4658,0]],[4510,["op",4644,0]],[4511,["op",4710,0]],[4513,["op",4699,0]],[4514,["op",4655,1]],[4515,["op",4511,0]],[4516,["op",4493,0]],[4517,["op",4650,0]],[4518,["op",4558,0]],[4519,["op",4559,0]],[4520,["op",4585,0]],[4522,["op",4566,0]],[4523,["op",4569,0]],[4524,["op",4725,1]],[4525,["op",4499,0]],[4526,["op",4571,0]],[4527,["op",4544,0]],[4528,["op",4668,0]],[4529,["op",4696,0]],[4530,["op",4659,0]],[4531,["op",4744,0]],[4532,["op",4649,0]],[4533,["op",4638,0]],[4534,["op",4649,1]],[4535,["op",4606,0]],[4537,["op",4556,0]],[4538,["op",4613,0]],[4539,["op",4731,0]],[4540,["op",4702,1]],[4541,["op",4697,1]],[4542,["op",4730,0]],[4543,["op",4617,1]],[4545,["op",4633,0]],[4546,["op",4587,0]],[4548,["op",4637,0]],[4549,["op",4492,0]],[4550,["op",4524,0]],[4551,["op",4691,0]],[4552,["op",4520,1]],[4553,["op",4729,0]],[4554,["op",4625,0]],[4555,["op",4616,0]],[4557,["op",4518,1]],[4558,["op",4576,1]],[4559,["op",4576,0]],[4560,["op",4680,0]],[4561,["op",4509,1]],[4562,["op",4685,0]],[4564,["op",4515,0]],[4565,["op",4665,0]],[4566,["op",4683,1]],[4567,["op",4639,1]],[4568,["op",4592,0]],[4570,["op",4495,0]],[4571,["op",4573,1]],[4573,["op",4635,1]],[4574,["op",4635,0]],[4575,["op",4523,0]],[4576,["op",4581,0]],[4577,["op",4587,1]],[4578,["op",4680,1]],[4579,["op",4693,0]],[4581,["op",4671,0]],[4582,["op",4640,0]],[4583,["op",4670,0]],[4584,["op",4655,0]],[4585,["op",4687,1]],[4588,["op",4707,0]],[4589,["op",4713,1]],[4590,["op",4584,0]],[4591,["op",4555,0]],[4592,["op",4624,0]],[4594,["op",4634,0]],[4595,["op",4615,0]],[4597,["op",4604,0]],[4598,["op",4609,0]],[4599,["op",4695,0]],[4600,["op",4538,1]],[4602,["op",4583,0]],[4603,["op",4664,0]],[4604,["op",4501,0]],[4607,["op",4545,0]],[4608,["op",4740,0]],[4609,["op",4623,0]],[4610,["op",4473,0]],[4611,["op",4601,1]],[4612,["op",4697,0]],[4613,["op",4645,1]],[4615,["op",4626,0]],[4616,["op",4643,0]],[4619,["op",4728,0]],[4621,["op",4529,1]],[4622,["op",4628,0]],[4623,["op",4727,1]],[4625,["op",4647,0]],[4627,["op",4618,1]],[4628,["op",4512,0]],[4629,["op",4675,1]],[4631,["op",4605,0]],[4632,["op",4573,0]],[4634,["op",4694,1]],[4635,["op",4503,0]],[4636,["op",4658,1]],[4637,["op",4715,0]],[4640,["op",4682,1]],[4641,["op",4608,1]],[4642,["op",4578,0]],[4645,["op",4553,0]],[4646,["op",4721,0]],[4647,["op",4484,1]],[4648,["op",4737,0]],[4649,["op",4520,0]],[4651,["op",4486,0]],[4654,["op",4605,1]],[4655,["op",4485,0]],[4656,["op",4688,0]],[4657,["op",4718,1]],[4661,["op",4596,0]],[4662,["op",4684,1]],[4663,["op",4667,1]],[4664,["op",4674,0]],[4666,["op",4652,1]],[4668,["op",4717,0]],[4669,["op",4572,0]],[4670,["op",4512,1]],[4671,["op",4690,0]],[4673,["op",4593,1]],[4677,["op",4528,0]],[4678,["op",4673,0]],[4685,["op",4624,1]],[4687,["op",4521,1]],[4689,["op",4676,1]],[4694,["op",4723,0]],[4697,["op",4735,0]],[4698,["op",4651,0]],[4699,["op",4486,1]],[4702,["op",4679,0]],[4703,["op",4619,1]],[4705,["op",4681,0]],[4706,["op",4701,1]],[4713,["op",4606,1]],[4714,["op",4538,0]],[4725,["op",4653,0]],[4734,["op",4733,0]],[4735,["op",4742,0]],[4740,["op",4644,1]],[4743,["op",4724,0]],[4746,["op",4843,0]],[4747,["op",4902,0]],[4748,["op",4936,0]],[4749,["op",4862,0]],[4750,["op",4787,0]],[4751,["op",4783,1]],[4752,["op",4809,1]],[4753,["op",4809,0]],[4754,["op",4767,0]],[4755,["op",5016,0]],[4756,["op",4898,1]],[4758,["op",4991,0]],[4760,["op",4752,0]],[4761,["op",4903,0]],[4762,["op",4940,0]],[4763,["op",4956,0]],[4764,["op",4863,0]],[4765,["op",4820,0]],[4767,["op",4804,0]],[4768,["op",5016,1]],[4769,["op",4890,0]],[4770,["op",4819,0]],[4772,["op",4905,0]],[4773,["op",4905,1]],[4774,["op",4927,0]],[4775,["op",4933,0]],[4776,["op",4993,0]],[4778,["op",4755,1]],[4779,["op",4812,0]],[4780,["op",4803,0]],[4781,["op",4962,0]],[4782,["op",4931,0]],[4783,["op",4917,0]],[4784,["op",4983,0]],[4786,["op",4972,0]],[4787,["op",4928,1]],[4788,["op",4784,0]],[4789,["op",4766,0]],[4790,["op",4923,0]],[4791,["op",4831,0]],[4792,["op",4832,0]],[4793,["op",4858,0]],[4795,["op",4839,0]],[4796,["op",4842,0]],[4797,["op",4998,1]],[4798,["op",4772,0]],[4799,["op",4844,0]],[4800,["op",4817,0]],[4801,["op",4941,0]],[4802,["op",4969,0]],[4803,["op",4932,0]],[4804,["op",5017,0]],[4805,["op",4922,0]],[4806,["op",4911,0]],[4807,["op",4922,1]],[4808,["op",4879,0]],[4810,["op",4829,0]],[4811,["op",4886,0]],[4812,["op",5004,0]],[4813,["op",4975,1]],[4814,["op",4970,1]],[4815,["op",5003,0]],[4816,["op",4890,1]],[4818,["op",4906,0]],[4819,["op",4860,0]],[4821,["op",4910,0]],[4822,["op",4765,0]],[4823,["op",4797,0]],[4824,["op",4964,0]],[4825,["op",4793,1]],[4826,["op",5002,0]],[4827,["op",4898,0]],[4828,["op",4889,0]],[4830,["op",4791,1]],[4831,["op",4849,1]],[4832,["op",4849,0]],[4833,["op",4953,0]],[4834,["op",4782,1]],[4835,["op",4958,0]],[4837,["op",4788,0]],[4838,["op",4938,0]],[4839,["op",4956,1]],[4840,["op",4912,1]],[4841,["op",4865,0]],[4843,["op",4768,0]],[4844,["op",4846,1]],[4846,["op",4908,1]],[4847,["op",4908,0]],[4848,["op",4796,0]],[4849,["op",4854,0]],[4850,["op",4860,1]],[4851,["op",4953,1]],[4852,["op",4966,0]],[4854,["op",4944,0]],[4855,["op",4913,0]],[4856,["op",4943,0]],[4857,["op",4928,0]],[4858,["op",4960,1]],[4861,["op",4980,0]],[4862,["op",4986,1]],[4863,["op",4857,0]],[4864,["op",4828,0]],[4865,["op",4897,0]],[4867,["op",4907,0]],[4868,["op",4888,0]],[4870,["op",4877,0]],[4871,["op",4882,0]],[4872,["op",4968,0]],[4873,["op",4811,1]],[4875,["op",4856,0]],[4876,["op",4937,0]],[4877,["op",4774,0]],[4880,["op",4818,0]],[4881,["op",5013,0]],[4882,["op",4896,0]],[4883,["op",4746,0]],[4884,["op",4874,1]],[4885,["op",4970,0]],[4886,["op",4918,1]],[4888,["op",4899,0]],[4889,["op",4916,0]],[4892,["op",5001,0]],[4894,["op",4802,1]],[4895,["op",4901,0]],[4896,["op",5000,1]],[4898,["op",4920,0]],[4900,["op",4891,1]],[4901,["op",4785,0]],[4902,["op",4948,1]],[4904,["op",4878,0]],[4905,["op",4846,0]],[4907,["op",4967,1]],[4908,["op",4776,0]],[4909,["op",4931,1]],[4910,["op",4988,0]],[4913,["op",4955,1]],[4914,["op",4881,1]],[4915,["op",4851,0]],[4918,["op",4826,0]],[4919,["op",4994,0]],[4920,["op",4757,1]],[4921,["op",5010,0]],[4922,["op",4793,0]],[4924,["op",4759,0]],[4927,["op",4878,1]],[4928,["op",4758,0]],[4929,["op",4961,0]],[4930,["op",4991,1]],[4934,["op",4869,0]],[4935,["op",4957,1]],[4936,["op",4940,1]],[4937,["op",4947,0]],[4939,["op",4925,1]],[4941,["op",4990,0]],[4942,["op",4845,0]],[4943,["op",4785,1]],[4944,["op",4963,0]],[4946,["op",4866,1]],[4950,["op",4801,0]],[4951,["op",4946,0]],[4958,["op",4897,1]],[4960,["op",4794,1]],[4962,["op",4949,1]],[4967,["op",4996,0]],[4970,["op",5008,0]],[4971,["op",4924,0]],[4972,["op",4759,1]],[4975,["op",4952,0]],[4976,["op",4892,1]],[4978,["op",4954,0]],[4979,["op",4974,1]],[4986,["op",4879,1]],[4987,["op",4811,0]],[4998,["op",4926,0]],[5007,["op",5006,0]],[5008,["op",5015,0]],[5013,["op",4917,1]],[5016,["op",4997,0]],[5019,["op",5116,0]],[5020,["op",5175,0]],[5021,["op",5209,0]],[5022,["op",5135,0]],[5023,["op",5060,0]],[5024,["op",5056,1]],[5025,["op",5082,1]],[5026,["op",5082,0]],[5027,["op",5040,0]],[5028,["op",5289,0]],[5029,["op",5171,1]],[5031,["op",5264,0]],[5033,["op",5025,0]],[5034,["op",5176,0]],[5035,["op",5213,0]],[5036,["op",5229,0]],[5037,["op",5136,0]],[5038,["op",5093,0]],[5040,["op",5077,0]],[5041,["op",5289,1]],[5042,["op",5163,0]],[5043,["op",5092,0]],[5045,["op",5178,0]],[5046,["op",5178,1]],[5047,["op",5200,0]],[5048,["op",5206,0]],[5049,["op",5266,0]],[5051,["op",5028,1]],[5052,["op",5085,0]],[5053,["op",5076,0]],[5054,["op",5235,0]],[5055,["op",5204,0]],[5056,["op",5190,0]],[5057,["op",5256,0]],[5059,["op",5245,0]],[5060,["op",5201,1]],[5061,["op",5057,0]],[5062,["op",5039,0]],[5063,["op",5196,0]],[5064,["op",5104,0]],[5065,["op",5105,0]],[5066,["op",5131,0]],[5068,["op",5112,0]],[5069,["op",5115,0]],[5070,["op",5271,1]],[5071,["op",5045,0]],[5072,["op",5117,0]],[5073,["op",5090,0]],[5074,["op",5214,0]],[5075,["op",5242,0]],[5076,["op",5205,0]],[5077,["op",5290,0]],[5078,["op",5195,0]],[5079,["op",5184,0]],[5080,["op",5195,1]],[5081,["op",5152,0]],[5083,["op",5102,0]],[5084,["op",5159,0]],[5085,["op",5277,0]],[5086,["op",5248,1]],[5087,["op",5243,1]],[5088,["op",5276,0]],[5089,["op",5163,1]],[5091,["op",5179,0]],[5092,["op",5133,0]],[5094,["op",5183,0]],[5095,["op",5038,0]],[5096,["op",5070,0]],[5097,["op",5237,0]],[5098,["op",5066,1]],[5099,["op",5275,0]],[5100,["op",5171,0]],[5101,["op",5162,0]],[5103,["op",5064,1]],[5104,["op",5122,1]],[5105,["op",5122,0]],[5106,["op",5226,0]],[5107,["op",5055,1]],[5108,["op",5231,0]],[5110,["op",5061,0]],[5111,["op",5211,0]],[5112,["op",5229,1]],[5113,["op",5185,1]],[5114,["op",5138,0]],[5116,["op",5041,0]],[5117,["op",5119,1]],[5119,["op",5181,1]],[5120,["op",5181,0]],[5121,["op",5069,0]],[5122,["op",5127,0]],[5123,["op",5133,1]],[5124,["op",5226,1]],[5125,["op",5239,0]],[5127,["op",5217,0]],[5128,["op",5186,0]],[5129,["op",5216,0]],[5130,["op",5201,0]],[5131,["op",5233,1]],[5134,["op",5253,0]],[5135,["op",5259,1]],[5136,["op",5130,0]],[5137,["op",5101,0]],[5138,["op",5170,0]],[5140,["op",5180,0]],[5141,["op",5161,0]],[5143,["op",5150,0]],[5144,["op",5155,0]],[5145,["op",5241,0]],[5146,["op",5084,1]],[5148,["op",5129,0]],[5149,["op",5210,0]],[5150,["op",5047,0]],[5153,["op",5091,0]],[5154,["op",5286,0]],[5155,["op",5169,0]],[5156,["op",5019,0]],[5157,["op",5147,1]],[5158,["op",5243,0]],[5159,["op",5191,1]],[5161,["op",5172,0]],[5162,["op",5189,0]],[5165,["op",5274,0]],[5167,["op",5075,1]],[5168,["op",5174,0]],[5169,["op",5273,1]],[5171,["op",5193,0]],[5173,["op",5164,1]],[5174,["op",5058,0]],[5175,["op",5221,1]],[5177,["op",5151,0]],[5178,["op",5119,0]],[5180,["op",5240,1]],[5181,["op",5049,0]],[5182,["op",5204,1]],[5183,["op",5261,0]],[5186,["op",5228,1]],[5187,["op",5154,1]],[5188,["op",5124,0]],[5191,["op",5099,0]],[5192,["op",5267,0]],[5193,["op",5030,1]],[5194,["op",5283,0]],[5195,["op",5066,0]],[5197,["op",5032,0]],[5200,["op",5151,1]],[5201,["op",5031,0]],[5202,["op",5234,0]],[5203,["op",5264,1]],[5207,["op",5142,0]],[5208,["op",5230,1]],[5209,["op",5213,1]],[5210,["op",5220,0]],[5212,["op",5198,1]],[5214,["op",5263,0]],[5215,["op",5118,0]],[5216,["op",5058,1]],[5217,["op",5236,0]],[5219,["op",5139,1]],[5223,["op",5074,0]],[5224,["op",5219,0]],[5231,["op",5170,1]],[5233,["op",5067,1]],[5235,["op",5222,1]],[5240,["op",5269,0]],[5243,["op",5281,0]],[5244,["op",5197,0]],[5245,["op",5032,1]],[5248,["op",5225,0]],[5249,["op",5165,1]],[5251,["op",5227,0]],[5252,["op",5247,1]],[5259,["op",5152,1]],[5260,["op",5084,0]],[5271,["op",5199,0]],[5280,["op",5279,0]],[5281,["op",5288,0]],[5286,["op",5190,1]],[5289,["op",5270,0]],[5292,["op",5389,0]],[5293,["op",5448,0]],[5294,["op",5482,0]],[5295,["op",5408,0]],[5296,["op",5333,0]],[5297,["op",5329,1]],[5298,["op",5355,1]],[5299,["op",5355,0]],[5300,["op",5313,0]],[5301,["op",5562,0]],[5302,["op",5444,1]],[5304,["op",5537,0]],[5306,["op",5298,0]],[5307,["op",5449,0]],[5308,["op",5486,0]],[5309,["op",5502,0]],[5310,["op",5409,0]],[5311,["op",5366,0]],[5313,["op",5350,0]],[5314,["op",5562,1]],[5315,["op",5436,0]],[5316,["op",5365,0]],[5318,["op",5451,0]],[5319,["op",5451,1]],[5320,["op",5473,0]],[5321,["op",5479,0]],[5322,["op",5539,0]],[5324,["op",5301,1]],[5325,["op",5358,0]],[5326,["op",5349,0]],[5327,["op",5508,0]],[5328,["op",5477,0]],[5329,["op",5463,0]],[5330,["op",5529,0]],[5332,["op",5518,0]],[5333,["op",5474,1]],[5334,["op",5330,0]],[5335,["op",5312,0]],[5336,["op",5469,0]],[5337,["op",5377,0]],[5338,["op",5378,0]],[5339,["op",5404,0]],[5341,["op",5385,0]],[5342,["op",5388,0]],[5343,["op",5544,1]],[5344,["op",5318,0]],[5345,["op",5390,0]],[5346,["op",5363,0]],[5347,["op",5487,0]],[5348,["op",5515,0]],[5349,["op",5478,0]],[5350,["op",5563,0]],[5351,["op",5468,0]],[5352,["op",5457,0]],[5353,["op",5468,1]],[5354,["op",5425,0]],[5356,["op",5375,0]],[5357,["op",5432,0]],[5358,["op",5550,0]],[5359,["op",5521,1]],[5360,["op",5516,1]],[5361,["op",5549,0]],[5362,["op",5436,1]],[5364,["op",5452,0]],[5365,["op",5406,0]],[5367,["op",5456,0]],[5368,["op",5311,0]],[5369,["op",5343,0]],[5370,["op",5510,0]],[5371,["op",5339,1]],[5372,["op",5548,0]],[5373,["op",5444,0]],[5374,["op",5435,0]],[5376,["op",5337,1]],[5377,["op",5395,1]],[5378,["op",5395,0]],[5379,["op",5499,0]],[5380,["op",5328,1]],[5381,["op",5504,0]],[5383,["op",5334,0]],[5384,["op",5484,0]],[5385,["op",5502,1]],[5386,["op",5458,1]],[5387,["op",5411,0]],[5389,["op",5314,0]],[5390,["op",5392,1]],[5392,["op",5454,1]],[5393,["op",5454,0]],[5394,["op",5342,0]],[5395,["op",5400,0]],[5396,["op",5406,1]],[5397,["op",5499,1]],[5398,["op",5512,0]],[5400,["op",5490,0]],[5401,["op",5459,0]],[5402,["op",5489,0]],[5403,["op",5474,0]],[5404,["op",5506,1]],[5407,["op",5526,0]],[5408,["op",5532,1]],[5409,["op",5403,0]],[5410,["op",5374,0]],[5411,["op",5443,0]],[5413,["op",5453,0]],[5414,["op",5434,0]],[5416,["op",5423,0]],[5417,["op",5428,0]],[5418,["op",5514,0]],[5419,["op",5357,1]],[5421,["op",5402,0]],[5422,["op",5483,0]],[5423,["op",5320,0]],[5426,["op",5364,0]],[5427,["op",5559,0]],[5428,["op",5442,0]],[5429,["op",5292,0]],[5430,["op",5420,1]],[5431,["op",5516,0]],[5432,["op",5464,1]],[5434,["op",5445,0]],[5435,["op",5462,0]],[5438,["op",5547,0]],[5440,["op",5348,1]],[5441,["op",5447,0]],[5442,["op",5546,1]],[5444,["op",5466,0]],[5446,["op",5437,1]],[5447,["op",5331,0]],[5448,["op",5494,1]],[5450,["op",5424,0]],[5451,["op",5392,0]],[5453,["op",5513,1]],[5454,["op",5322,0]],[5455,["op",5477,1]],[5456,["op",5534,0]],[5459,["op",5501,1]],[5460,["op",5427,1]],[5461,["op",5397,0]],[5464,["op",5372,0]],[5465,["op",5540,0]],[5466,["op",5303,1]],[5467,["op",5556,0]],[5468,["op",5339,0]],[5470,["op",5305,0]],[5473,["op",5424,1]],[5474,["op",5304,0]],[5475,["op",5507,0]],[5476,["op",5537,1]],[5480,["op",5415,0]],[5481,["op",5503,1]],[5482,["op",5486,1]],[5483,["op",5493,0]],[5485,["op",5471,1]],[5487,["op",5536,0]],[5488,["op",5391,0]],[5489,["op",5331,1]],[5490,["op",5509,0]],[5492,["op",5412,1]],[5496,["op",5347,0]],[5497,["op",5492,0]],[5504,["op",5443,1]],[5506,["op",5340,1]],[5508,["op",5495,1]],[5513,["op",5542,0]],[5516,["op",5554,0]],[5517,["op",5470,0]],[5518,["op",5305,1]],[5521,["op",5498,0]],[5522,["op",5438,1]],[5524,["op",5500,0]],[5525,["op",5520,1]],[5532,["op",5425,1]],[5533,["op",5357,0]],[5544,["op",5472,0]],[5553,["op",5552,0]],[5554,["op",5561,0]],[5559,["op",5463,1]],[5562,["op",5543,0]],[5565,["op",5662,0]],[5566,["op",5721,0]],[5567,["op",5755,0]],[5568,["op",5681,0]],[5569,["op",5606,0]],[5570,["op",5602,1]],[5571,["op",5628,1]],[5572,["op",5628,0]],[5573,["op",5586,0]],[5574,["op",5835,0]],[5575,["op",5717,1]],[5577,["op",5810,0]],[5579,["op",5571,0]],[5580,["op",5722,0]],[5581,["op",5759,0]],[5582,["op",5775,0]],[5583,["op",5682,0]],[5584,["op",5639,0]],[5586,["op",5623,0]],[5587,["op",5835,1]],[5588,["op",5709,0]],[5589,["op",5638,0]],[5591,["op",5724,0]],[5592,["op",5724,1]],[5593,["op",5746,0]],[5594,["op",5752,0]],[5595,["op",5812,0]],[5597,["op",5574,1]],[5598,["op",5631,0]],[5599,["op",5622,0]],[5600,["op",5781,0]],[5601,["op",5750,0]],[5602,["op",5736,0]],[5603,["op",5802,0]],[5605,["op",5791,0]],[5606,["op",5747,1]],[5607,["op",5603,0]],[5608,["op",5585,0]],[5609,["op",5742,0]],[5610,["op",5650,0]],[5611,["op",5651,0]],[5612,["op",5677,0]],[5614,["op",5658,0]],[5615,["op",5661,0]],[5616,["op",5817,1]],[5617,["op",5591,0]],[5618,["op",5663,0]],[5619,["op",5636,0]],[5620,["op",5760,0]],[5621,["op",5788,0]],[5622,["op",5751,0]],[5623,["op",5836,0]],[5624,["op",5741,0]],[5625,["op",5730,0]],[5626,["op",5741,1]],[5627,["op",5698,0]],[5629,["op",5648,0]],[5630,["op",5705,0]],[5631,["op",5823,0]],[5632,["op",5794,1]],[5633,["op",5789,1]],[5634,["op",5822,0]],[5635,["op",5709,1]],[5637,["op",5725,0]],[5638,["op",5679,0]],[5640,["op",5729,0]],[5641,["op",5584,0]],[5642,["op",5616,0]],[5643,["op",5783,0]],[5644,["op",5612,1]],[5645,["op",5821,0]],[5646,["op",5717,0]],[5647,["op",5708,0]],[5649,["op",5610,1]],[5650,["op",5668,1]],[5651,["op",5668,0]],[5652,["op",5772,0]],[5653,["op",5601,1]],[5654,["op",5777,0]],[5656,["op",5607,0]],[5657,["op",5757,0]],[5658,["op",5775,1]],[5659,["op",5731,1]],[5660,["op",5684,0]],[5662,["op",5587,0]],[5663,["op",5665,1]],[5665,["op",5727,1]],[5666,["op",5727,0]],[5667,["op",5615,0]],[5668,["op",5673,0]],[5669,["op",5679,1]],[5670,["op",5772,1]],[5671,["op",5785,0]],[5673,["op",5763,0]],[5674,["op",5732,0]],[5675,["op",5762,0]],[5676,["op",5747,0]],[5677,["op",5779,1]],[5680,["op",5799,0]],[5681,["op",5805,1]],[5682,["op",5676,0]],[5683,["op",5647,0]],[5684,["op",5716,0]],[5686,["op",5726,0]],[5687,["op",5707,0]],[5689,["op",5696,0]],[5690,["op",5701,0]],[5691,["op",5787,0]],[5692,["op",5630,1]],[5694,["op",5675,0]],[5695,["op",5756,0]],[5696,["op",5593,0]],[5699,["op",5637,0]],[5700,["op",5832,0]],[5701,["op",5715,0]],[5702,["op",5565,0]],[5703,["op",5693,1]],[5704,["op",5789,0]],[5705,["op",5737,1]],[5707,["op",5718,0]],[5708,["op",5735,0]],[5711,["op",5820,0]],[5713,["op",5621,1]],[5714,["op",5720,0]],[5715,["op",5819,1]],[5717,["op",5739,0]],[5719,["op",5710,1]],[5720,["op",5604,0]],[5721,["op",5767,1]],[5723,["op",5697,0]],[5724,["op",5665,0]],[5726,["op",5786,1]],[5727,["op",5595,0]],[5728,["op",5750,1]],[5729,["op",5807,0]],[5732,["op",5774,1]],[5733,["op",5700,1]],[5734,["op",5670,0]],[5737,["op",5645,0]],[5738,["op",5813,0]],[5739,["op",5576,1]],[5740,["op",5829,0]],[5741,["op",5612,0]],[5743,["op",5578,0]],[5746,["op",5697,1]],[5747,["op",5577,0]],[5748,["op",5780,0]],[5749,["op",5810,1]],[5753,["op",5688,0]],[5754,["op",5776,1]],[5755,["op",5759,1]],[5756,["op",5766,0]],[5758,["op",5744,1]],[5760,["op",5809,0]],[5761,["op",5664,0]],[5762,["op",5604,1]],[5763,["op",5782,0]],[5765,["op",5685,1]],[5769,["op",5620,0]],[5770,["op",5765,0]],[5777,["op",5716,1]],[5779,["op",5613,1]],[5781,["op",5768,1]],[5786,["op",5815,0]],[5789,["op",5827,0]],[5790,["op",5743,0]],[5791,["op",5578,1]],[5794,["op",5771,0]],[5795,["op",5711,1]],[5797,["op",5773,0]],[5798,["op",5793,1]],[5805,["op",5698,1]],[5806,["op",5630,0]],[5817,["op",5745,0]],[5826,["op",5825,0]],[5827,["op",5834,0]],[5832,["op",5736,1]],[5835,["op",5816,0]],[5838,["op",5935,0]],[5839,["op",5994,0]],[5840,["op",6028,0]],[5841,["op",5954,0]],[5842,["op",5879,0]],[5843,["op",5875,1]],[5844,["op",5901,1]],[5845,["op",5901,0]],[5846,["op",5859,0]],[5847,["op",6108,0]],[5848,["op",5990,1]],[5850,["op",6083,0]],[5852,["op",5844,0]],[5853,["op",5995,0]],[5854,["op",6032,0]],[5855,["op",6048,0]],[5856,["op",5955,0]],[5857,["op",5912,0]],[5859,["op",5896,0]],[5860,["op",6108,1]],[5861,["op",5982,0]],[5862,["op",5911,0]],[5864,["op",5997,0]],[5865,["op",5997,1]],[5866,["op",6019,0]],[5867,["op",6025,0]],[5868,["op",6085,0]],[5870,["op",5847,1]],[5871,["op",5904,0]],[5872,["op",5895,0]],[5873,["op",6054,0]],[5874,["op",6023,0]],[5875,["op",6009,0]],[5876,["op",6075,0]],[5878,["op",6064,0]],[5879,["op",6020,1]],[5880,["op",5876,0]],[5881,["op",5858,0]],[5882,["op",6015,0]],[5883,["op",5923,0]],[5884,["op",5924,0]],[5885,["op",5950,0]],[5887,["op",5931,0]],[5888,["op",5934,0]],[5889,["op",6090,1]],[5890,["op",5864,0]],[5891,["op",5936,0]],[5892,["op",5909,0]],[5893,["op",6033,0]],[5894,["op",6061,0]],[5895,["op",6024,0]],[5896,["op",6109,0]],[5897,["op",6014,0]],[5898,["op",6003,0]],[5899,["op",6014,1]],[5900,["op",5971,0]],[5902,["op",5921,0]],[5903,["op",5978,0]],[5904,["op",6096,0]],[5905,["op",6067,1]],[5906,["op",6062,1]],[5907,["op",6095,0]],[5908,["op",5982,1]],[5910,["op",5998,0]],[5911,["op",5952,0]],[5913,["op",6002,0]],[5914,["op",5857,0]],[5915,["op",5889,0]],[5916,["op",6056,0]],[5917,["op",5885,1]],[5918,["op",6094,0]],[5919,["op",5990,0]],[5920,["op",5981,0]],[5922,["op",5883,1]],[5923,["op",5941,1]],[5924,["op",5941,0]],[5925,["op",6045,0]],[5926,["op",5874,1]],[5927,["op",6050,0]],[5929,["op",5880,0]],[5930,["op",6030,0]],[5931,["op",6048,1]],[5932,["op",6004,1]],[5933,["op",5957,0]],[5935,["op",5860,0]],[5936,["op",5938,1]],[5938,["op",6000,1]],[5939,["op",6000,0]],[5940,["op",5888,0]],[5941,["op",5946,0]],[5942,["op",5952,1]],[5943,["op",6045,1]],[5944,["op",6058,0]],[5946,["op",6036,0]],[5947,["op",6005,0]],[5948,["op",6035,0]],[5949,["op",6020,0]],[5950,["op",6052,1]],[5953,["op",6072,0]],[5954,["op",6078,1]],[5955,["op",5949,0]],[5956,["op",5920,0]],[5957,["op",5989,0]],[5959,["op",5999,0]],[5960,["op",5980,0]],[5962,["op",5969,0]],[5963,["op",5974,0]],[5964,["op",6060,0]],[5965,["op",5903,1]],[5967,["op",5948,0]],[5968,["op",6029,0]],[5969,["op",5866,0]],[5972,["op",5910,0]],[5973,["op",6105,0]],[5974,["op",5988,0]],[5975,["op",5838,0]],[5976,["op",5966,1]],[5977,["op",6062,0]],[5978,["op",6010,1]],[5980,["op",5991,0]],[5981,["op",6008,0]],[5984,["op",6093,0]],[5986,["op",5894,1]],[5987,["op",5993,0]],[5988,["op",6092,1]],[5990,["op",6012,0]],[5992,["op",5983,1]],[5993,["op",5877,0]],[5994,["op",6040,1]],[5996,["op",5970,0]],[5997,["op",5938,0]],[5999,["op",6059,1]],[6000,["op",5868,0]],[6001,["op",6023,1]],[6002,["op",6080,0]],[6005,["op",6047,1]],[6006,["op",5973,1]],[6007,["op",5943,0]],[6010,["op",5918,0]],[6011,["op",6086,0]],[6012,["op",5849,1]],[6013,["op",6102,0]],[6014,["op",5885,0]],[6016,["op",5851,0]],[6019,["op",5970,1]],[6020,["op",5850,0]],[6021,["op",6053,0]],[6022,["op",6083,1]],[6026,["op",5961,0]],[6027,["op",6049,1]],[6028,["op",6032,1]],[6029,["op",6039,0]],[6031,["op",6017,1]],[6033,["op",6082,0]],[6034,["op",5937,0]],[6035,["op",5877,1]],[6036,["op",6055,0]],[6038,["op",5958,1]],[6042,["op",5893,0]],[6043,["op",6038,0]],[6050,["op",5989,1]],[6052,["op",5886,1]],[6054,["op",6041,1]],[6059,["op",6088,0]],[6062,["op",6100,0]],[6063,["op",6016,0]],[6064,["op",5851,1]],[6067,["op",6044,0]],[6068,["op",5984,1]],[6070,["op",6046,0]],[6071,["op",6066,1]],[6078,["op",5971,1]],[6079,["op",5903,0]],[6090,["op",6018,0]],[6099,["op",6098,0]],[6100,["op",6107,0]],[6105,["op",6009,1]],[6108,["op",6089,0]],[6111,["op",6208,0]],[6112,["op",6267,0]],[6113,["op",6301,0]],[6114,["op",6227,0]],[6115,["op",6152,0]],[6116,["op",6148,1]],[6117,["op",6174,1]],[6118,["op",6174,0]],[6119,["op",6132,0]],[6120,["op",6381,0]],[6121,["op",6263,1]],[6123,["op",6356,0]],[6125,["op",6117,0]],[6126,["op",6268,0]],[6127,["op",6305,0]],[6128,["op",6321,0]],[6129,["op",6228,0]],[6130,["op",6185,0]],[6132,["op",6169,0]],[6133,["op",6381,1]],[6134,["op",6255,0]],[6135,["op",6184,0]],[6137,["op",6270,0]],[6138,["op",6270,1]],[6139,["op",6292,0]],[6140,["op",6298,0]],[6141,["op",6358,0]],[6143,["op",6120,1]],[6144,["op",6177,0]],[6145,["op",6168,0]],[6146,["op",6327,0]],[6147,["op",6296,0]],[6148,["op",6282,0]],[6149,["op",6348,0]],[6151,["op",6337,0]],[6152,["op",6293,1]],[6153,["op",6149,0]],[6154,["op",6131,0]],[6155,["op",6288,0]],[6156,["op",6196,0]],[6157,["op",6197,0]],[6158,["op",6223,0]],[6160,["op",6204,0]],[6161,["op",6207,0]],[6162,["op",6363,1]],[6163,["op",6137,0]],[6164,["op",6209,0]],[6165,["op",6182,0]],[6166,["op",6306,0]],[6167,["op",6334,0]],[6168,["op",6297,0]],[6169,["op",6382,0]],[6170,["op",6287,0]],[6171,["op",6276,0]],[6172,["op",6287,1]],[6173,["op",6244,0]],[6175,["op",6194,0]],[6176,["op",6251,0]],[6177,["op",6369,0]],[6178,["op",6340,1]],[6179,["op",6335,1]],[6180,["op",6368,0]],[6181,["op",6255,1]],[6183,["op",6271,0]],[6184,["op",6225,0]],[6186,["op",6275,0]],[6187,["op",6130,0]],[6188,["op",6162,0]],[6189,["op",6329,0]],[6190,["op",6158,1]],[6191,["op",6367,0]],[6192,["op",6263,0]],[6193,["op",6254,0]],[6195,["op",6156,1]],[6196,["op",6214,1]],[6197,["op",6214,0]],[6198,["op",6318,0]],[6199,["op",6147,1]],[6200,["op",6323,0]],[6202,["op",6153,0]],[6203,["op",6303,0]],[6204,["op",6321,1]],[6205,["op",6277,1]],[6206,["op",6230,0]],[6208,["op",6133,0]],[6209,["op",6211,1]],[6211,["op",6273,1]],[6212,["op",6273,0]],[6213,["op",6161,0]],[6214,["op",6219,0]],[6215,["op",6225,1]],[6216,["op",6318,1]],[6217,["op",6331,0]],[6219,["op",6309,0]],[6220,["op",6278,0]],[6221,["op",6308,0]],[6222,["op",6293,0]],[6223,["op",6325,1]],[6226,["op",6345,0]],[6227,["op",6351,1]],[6228,["op",6222,0]],[6229,["op",6193,0]],[6230,["op",6262,0]],[6232,["op",6272,0]],[6233,["op",6253,0]],[6235,["op",6242,0]],[6236,["op",6247,0]],[6237,["op",6333,0]],[6238,["op",6176,1]],[6240,["op",6221,0]],[6241,["op",6302,0]],[6242,["op",6139,0]],[6245,["op",6183,0]],[6246,["op",6378,0]],[6247,["op",6261,0]],[6248,["op",6111,0]],[6249,["op",6239,1]],[6250,["op",6335,0]],[6251,["op",6283,1]],[6253,["op",6264,0]],[6254,["op",6281,0]],[6257,["op",6366,0]],[6259,["op",6167,1]],[6260,["op",6266,0]],[6261,["op",6365,1]],[6263,["op",6285,0]],[6265,["op",6256,1]],[6266,["op",6150,0]],[6267,["op",6313,1]],[6269,["op",6243,0]],[6270,["op",6211,0]],[6272,["op",6332,1]],[6273,["op",6141,0]],[6274,["op",6296,1]],[6275,["op",6353,0]],[6278,["op",6320,1]],[6279,["op",6246,1]],[6280,["op",6216,0]],[6283,["op",6191,0]],[6284,["op",6359,0]],[6285,["op",6122,1]],[6286,["op",6375,0]],[6287,["op",6158,0]],[6289,["op",6124,0]],[6292,["op",6243,1]],[6293,["op",6123,0]],[6294,["op",6326,0]],[6295,["op",6356,1]],[6299,["op",6234,0]],[6300,["op",6322,1]],[6301,["op",6305,1]],[6302,["op",6312,0]],[6304,["op",6290,1]],[6306,["op",6355,0]],[6307,["op",6210,0]],[6308,["op",6150,1]],[6309,["op",6328,0]],[6311,["op",6231,1]],[6315,["op",6166,0]],[6316,["op",6311,0]],[6323,["op",6262,1]],[6325,["op",6159,1]],[6327,["op",6314,1]],[6332,["op",6361,0]],[6335,["op",6373,0]],[6336,["op",6289,0]],[6337,["op",6124,1]],[6340,["op",6317,0]],[6341,["op",6257,1]],[6343,["op",6319,0]],[6344,["op",6339,1]],[6351,["op",6244,1]],[6352,["op",6176,0]],[6363,["op",6291,0]],[6372,["op",6371,0]],[6373,["op",6380,0]],[6378,["op",6282,1]],[6381,["op",6362,0]],[6384,["op",6481,0]],[6385,["op",6540,0]],[6386,["op",6574,0]],[6387,["op",6500,0]],[6388,["op",6425,0]],[6389,["op",6421,1]],[6390,["op",6447,1]],[6391,["op",6447,0]],[6392,["op",6405,0]],[6393,["op",6654,0]],[6394,["op",6536,1]],[6396,["op",6629,0]],[6398,["op",6390,0]],[6399,["op",6541,0]],[6400,["op",6578,0]],[6401,["op",6594,0]],[6402,["op",6501,0]],[6403,["op",6458,0]],[6405,["op",6442,0]],[6406,["op",6654,1]],[6407,["op",6528,0]],[6408,["op",6457,0]],[6410,["op",6543,0]],[6411,["op",6543,1]],[6412,["op",6565,0]],[6413,["op",6571,0]],[6414,["op",6631,0]],[6416,["op",6393,1]],[6417,["op",6450,0]],[6418,["op",6441,0]],[6419,["op",6600,0]],[6420,["op",6569,0]],[6421,["op",6555,0]],[6422,["op",6621,0]],[6424,["op",6610,0]],[6425,["op",6566,1]],[6426,["op",6422,0]],[6427,["op",6404,0]],[6428,["op",6561,0]],[6429,["op",6469,0]],[6430,["op",6470,0]],[6431,["op",6496,0]],[6433,["op",6477,0]],[6434,["op",6480,0]],[6435,["op",6636,1]],[6436,["op",6410,0]],[6437,["op",6482,0]],[6438,["op",6455,0]],[6439,["op",6579,0]],[6440,["op",6607,0]],[6441,["op",6570,0]],[6442,["op",6655,0]],[6443,["op",6560,0]],[6444,["op",6549,0]],[6445,["op",6560,1]],[6446,["op",6517,0]],[6448,["op",6467,0]],[6449,["op",6524,0]],[6450,["op",6642,0]],[6451,["op",6613,1]],[6452,["op",6608,1]],[6453,["op",6641,0]],[6454,["op",6528,1]],[6456,["op",6544,0]],[6457,["op",6498,0]],[6459,["op",6548,0]],[6460,["op",6403,0]],[6461,["op",6435,0]],[6462,["op",6602,0]],[6463,["op",6431,1]],[6464,["op",6640,0]],[6465,["op",6536,0]],[6466,["op",6527,0]],[6468,["op",6429,1]],[6469,["op",6487,1]],[6470,["op",6487,0]],[6471,["op",6591,0]],[6472,["op",6420,1]],[6473,["op",6596,0]],[6475,["op",6426,0]],[6476,["op",6576,0]],[6477,["op",6594,1]],[6478,["op",6550,1]],[6479,["op",6503,0]],[6481,["op",6406,0]],[6482,["op",6484,1]],[6484,["op",6546,1]],[6485,["op",6546,0]],[6486,["op",6434,0]],[6487,["op",6492,0]],[6488,["op",6498,1]],[6489,["op",6591,1]],[6490,["op",6604,0]],[6492,["op",6582,0]],[6493,["op",6551,0]],[6494,["op",6581,0]],[6495,["op",6566,0]],[6496,["op",6598,1]],[6499,["op",6618,0]],[6500,["op",6624,1]],[6501,["op",6495,0]],[6502,["op",6466,0]],[6503,["op",6535,0]],[6505,["op",6545,0]],[6506,["op",6526,0]],[6508,["op",6515,0]],[6509,["op",6520,0]],[6510,["op",6606,0]],[6511,["op",6449,1]],[6513,["op",6494,0]],[6514,["op",6575,0]],[6515,["op",6412,0]],[6518,["op",6456,0]],[6519,["op",6651,0]],[6520,["op",6534,0]],[6521,["op",6384,0]],[6522,["op",6512,1]],[6523,["op",6608,0]],[6524,["op",6556,1]],[6526,["op",6537,0]],[6527,["op",6554,0]],[6530,["op",6639,0]],[6532,["op",6440,1]],[6533,["op",6539,0]],[6534,["op",6638,1]],[6536,["op",6558,0]],[6538,["op",6529,1]],[6539,["op",6423,0]],[6540,["op",6586,1]],[6542,["op",6516,0]],[6543,["op",6484,0]],[6545,["op",6605,1]],[6546,["op",6414,0]],[6547,["op",6569,1]],[6548,["op",6626,0]],[6551,["op",6593,1]],[6552,["op",6519,1]],[6553,["op",6489,0]],[6556,["op",6464,0]],[6557,["op",6632,0]],[6558,["op",6395,1]],[6559,["op",6648,0]],[6560,["op",6431,0]],[6562,["op",6397,0]],[6565,["op",6516,1]],[6566,["op",6396,0]],[6567,["op",6599,0]],[6568,["op",6629,1]],[6572,["op",6507,0]],[6573,["op",6595,1]],[6574,["op",6578,1]],[6575,["op",6585,0]],[6577,["op",6563,1]],[6579,["op",6628,0]],[6580,["op",6483,0]],[6581,["op",6423,1]],[6582,["op",6601,0]],[6584,["op",6504,1]],[6588,["op",6439,0]],[6589,["op",6584,0]],[6596,["op",6535,1]],[6598,["op",6432,1]],[6600,["op",6587,1]],[6605,["op",6634,0]],[6608,["op",6646,0]],[6609,["op",6562,0]],[6610,["op",6397,1]],[6613,["op",6590,0]],[6614,["op",6530,1]],[6616,["op",6592,0]],[6617,["op",6612,1]],[6624,["op",6517,1]],[6625,["op",6449,0]],[6636,["op",6564,0]],[6645,["op",6644,0]],[6646,["op",6653,0]],[6651,["op",6555,1]],[6654,["op",6635,0]],[6657,["op",6754,0]],[6658,["op",6813,0]],[6659,["op",6847,0]],[6660,["op",6773,0]],[6661,["op",6698,0]],[6662,["op",6694,1]],[6663,["op",6720,1]],[6664,["op",6720,0]],[6665,["op",6678,0]],[6666,["op",6927,0]],[6667,["op",6809,1]],[6669,["op",6902,0]],[6671,["op",6663,0]],[6672,["op",6814,0]],[6673,["op",6851,0]],[6674,["op",6867,0]],[6675,["op",6774,0]],[6676,["op",6731,0]],[6678,["op",6715,0]],[6679,["op",6927,1]],[6680,["op",6801,0]],[6681,["op",6730,0]],[6683,["op",6816,0]],[6684,["op",6816,1]],[6685,["op",6838,0]],[6686,["op",6844,0]],[6687,["op",6904,0]],[6689,["op",6666,1]],[6690,["op",6723,0]],[6691,["op",6714,0]],[6692,["op",6873,0]],[6693,["op",6842,0]],[6694,["op",6828,0]],[6695,["op",6894,0]],[6697,["op",6883,0]],[6698,["op",6839,1]],[6699,["op",6695,0]],[6700,["op",6677,0]],[6701,["op",6834,0]],[6702,["op",6742,0]],[6703,["op",6743,0]],[6704,["op",6769,0]],[6706,["op",6750,0]],[6707,["op",6753,0]],[6708,["op",6909,1]],[6709,["op",6683,0]],[6710,["op",6755,0]],[6711,["op",6728,0]],[6712,["op",6852,0]],[6713,["op",6880,0]],[6714,["op",6843,0]],[6715,["op",6928,0]],[6716,["op",6833,0]],[6717,["op",6822,0]],[6718,["op",6833,1]],[6719,["op",6790,0]],[6721,["op",6740,0]],[6722,["op",6797,0]],[6723,["op",6915,0]],[6724,["op",6886,1]],[6725,["op",6881,1]],[6726,["op",6914,0]],[6727,["op",6801,1]],[6729,["op",6817,0]],[6730,["op",6771,0]],[6732,["op",6821,0]],[6733,["op",6676,0]],[6734,["op",6708,0]],[6735,["op",6875,0]],[6736,["op",6704,1]],[6737,["op",6913,0]],[6738,["op",6809,0]],[6739,["op",6800,0]],[6741,["op",6702,1]],[6742,["op",6760,1]],[6743,["op",6760,0]],[6744,["op",6864,0]],[6745,["op",6693,1]],[6746,["op",6869,0]],[6748,["op",6699,0]],[6749,["op",6849,0]],[6750,["op",6867,1]],[6751,["op",6823,1]],[6752,["op",6776,0]],[6754,["op",6679,0]],[6755,["op",6757,1]],[6757,["op",6819,1]],[6758,["op",6819,0]],[6759,["op",6707,0]],[6760,["op",6765,0]],[6761,["op",6771,1]],[6762,["op",6864,1]],[6763,["op",6877,0]],[6765,["op",6855,0]],[6766,["op",6824,0]],[6767,["op",6854,0]],[6768,["op",6839,0]],[6769,["op",6871,1]],[6772,["op",6891,0]],[6773,["op",6897,1]],[6774,["op",6768,0]],[6775,["op",6739,0]],[6776,["op",6808,0]],[6778,["op",6818,0]],[6779,["op",6799,0]],[6781,["op",6788,0]],[6782,["op",6793,0]],[6783,["op",6879,0]],[6784,["op",6722,1]],[6786,["op",6767,0]],[6787,["op",6848,0]],[6788,["op",6685,0]],[6791,["op",6729,0]],[6792,["op",6924,0]],[6793,["op",6807,0]],[6794,["op",6657,0]],[6795,["op",6785,1]],[6796,["op",6881,0]],[6797,["op",6829,1]],[6799,["op",6810,0]],[6800,["op",6827,0]],[6803,["op",6912,0]],[6805,["op",6713,1]],[6806,["op",6812,0]],[6807,["op",6911,1]],[6809,["op",6831,0]],[6811,["op",6802,1]],[6812,["op",6696,0]],[6813,["op",6859,1]],[6815,["op",6789,0]],[6816,["op",6757,0]],[6818,["op",6878,1]],[6819,["op",6687,0]],[6820,["op",6842,1]],[6821,["op",6899,0]],[6824,["op",6866,1]],[6825,["op",6792,1]],[6826,["op",6762,0]],[6829,["op",6737,0]],[6830,["op",6905,0]],[6831,["op",6668,1]],[6832,["op",6921,0]],[6833,["op",6704,0]],[6835,["op",6670,0]],[6838,["op",6789,1]],[6839,["op",6669,0]],[6840,["op",6872,0]],[6841,["op",6902,1]],[6845,["op",6780,0]],[6846,["op",6868,1]],[6847,["op",6851,1]],[6848,["op",6858,0]],[6850,["op",6836,1]],[6852,["op",6901,0]],[6853,["op",6756,0]],[6854,["op",6696,1]],[6855,["op",6874,0]],[6857,["op",6777,1]],[6861,["op",6712,0]],[6862,["op",6857,0]],[6869,["op",6808,1]],[6871,["op",6705,1]],[6873,["op",6860,1]],[6878,["op",6907,0]],[6881,["op",6919,0]],[6882,["op",6835,0]],[6883,["op",6670,1]],[6886,["op",6863,0]],[6887,["op",6803,1]],[6889,["op",6865,0]],[6890,["op",6885,1]],[6897,["op",6790,1]],[6898,["op",6722,0]],[6909,["op",6837,0]],[6918,["op",6917,0]],[6919,["op",6926,0]],[6924,["op",6828,1]],[6927,["op",6908,0]],[6930,["op",7027,0]],[6931,["op",7086,0]],[6932,["op",7120,0]],[6933,["op",7046,0]],[6934,["op",6971,0]],[6935,["op",6967,1]],[6936,["op",6993,1]],[6937,["op",6993,0]],[6938,["op",6951,0]],[6939,["op",7200,0]],[6940,["op",7082,1]],[6942,["op",7175,0]],[6944,["op",6936,0]],[6945,["op",7087,0]],[6946,["op",7124,0]],[6947,["op",7140,0]],[6948,["op",7047,0]],[6949,["op",7004,0]],[6951,["op",6988,0]],[6952,["op",7200,1]],[6953,["op",7074,0]],[6954,["op",7003,0]],[6956,["op",7089,0]],[6957,["op",7089,1]],[6958,["op",7111,0]],[6959,["op",7117,0]],[6960,["op",7177,0]],[6962,["op",6939,1]],[6963,["op",6996,0]],[6964,["op",6987,0]],[6965,["op",7146,0]],[6966,["op",7115,0]],[6967,["op",7101,0]],[6968,["op",7167,0]],[6970,["op",7156,0]],[6971,["op",7112,1]],[6972,["op",6968,0]],[6973,["op",6950,0]],[6974,["op",7107,0]],[6975,["op",7015,0]],[6976,["op",7016,0]],[6977,["op",7042,0]],[6979,["op",7023,0]],[6980,["op",7026,0]],[6981,["op",7182,1]],[6982,["op",6956,0]],[6983,["op",7028,0]],[6984,["op",7001,0]],[6985,["op",7125,0]],[6986,["op",7153,0]],[6987,["op",7116,0]],[6988,["op",7201,0]],[6989,["op",7106,0]],[6990,["op",7095,0]],[6991,["op",7106,1]],[6992,["op",7063,0]],[6994,["op",7013,0]],[6995,["op",7070,0]],[6996,["op",7188,0]],[6997,["op",7159,1]],[6998,["op",7154,1]],[6999,["op",7187,0]],[7000,["op",7074,1]],[7002,["op",7090,0]],[7003,["op",7044,0]],[7005,["op",7094,0]],[7006,["op",6949,0]],[7007,["op",6981,0]],[7008,["op",7148,0]],[7009,["op",6977,1]],[7010,["op",7186,0]],[7011,["op",7082,0]],[7012,["op",7073,0]],[7014,["op",6975,1]],[7015,["op",7033,1]],[7016,["op",7033,0]],[7017,["op",7137,0]],[7018,["op",6966,1]],[7019,["op",7142,0]],[7021,["op",6972,0]],[7022,["op",7122,0]],[7023,["op",7140,1]],[7024,["op",7096,1]],[7025,["op",7049,0]],[7027,["op",6952,0]],[7028,["op",7030,1]],[7030,["op",7092,1]],[7031,["op",7092,0]],[7032,["op",6980,0]],[7033,["op",7038,0]],[7034,["op",7044,1]],[7035,["op",7137,1]],[7036,["op",7150,0]],[7038,["op",7128,0]],[7039,["op",7097,0]],[7040,["op",7127,0]],[7041,["op",7112,0]],[7042,["op",7144,1]],[7045,["op",7164,0]],[7046,["op",7170,1]],[7047,["op",7041,0]],[7048,["op",7012,0]],[7049,["op",7081,0]],[7051,["op",7091,0]],[7052,["op",7072,0]],[7054,["op",7061,0]],[7055,["op",7066,0]],[7056,["op",7152,0]],[7057,["op",6995,1]],[7059,["op",7040,0]],[7060,["op",7121,0]],[7061,["op",6958,0]],[7064,["op",7002,0]],[7065,["op",7197,0]],[7066,["op",7080,0]],[7067,["op",6930,0]],[7068,["op",7058,1]],[7069,["op",7154,0]],[7070,["op",7102,1]],[7072,["op",7083,0]],[7073,["op",7100,0]],[7076,["op",7185,0]],[7078,["op",6986,1]],[7079,["op",7085,0]],[7080,["op",7184,1]],[7082,["op",7104,0]],[7084,["op",7075,1]],[7085,["op",6969,0]],[7086,["op",7132,1]],[7088,["op",7062,0]],[7089,["op",7030,0]],[7091,["op",7151,1]],[7092,["op",6960,0]],[7093,["op",7115,1]],[7094,["op",7172,0]],[7097,["op",7139,1]],[7098,["op",7065,1]],[7099,["op",7035,0]],[7102,["op",7010,0]],[7103,["op",7178,0]],[7104,["op",6941,1]],[7105,["op",7194,0]],[7106,["op",6977,0]],[7108,["op",6943,0]],[7111,["op",7062,1]],[7112,["op",6942,0]],[7113,["op",7145,0]],[7114,["op",7175,1]],[7118,["op",7053,0]],[7119,["op",7141,1]],[7120,["op",7124,1]],[7121,["op",7131,0]],[7123,["op",7109,1]],[7125,["op",7174,0]],[7126,["op",7029,0]],[7127,["op",6969,1]],[7128,["op",7147,0]],[7130,["op",7050,1]],[7134,["op",6985,0]],[7135,["op",7130,0]],[7142,["op",7081,1]],[7144,["op",6978,1]],[7146,["op",7133,1]],[7151,["op",7180,0]],[7154,["op",7192,0]],[7155,["op",7108,0]],[7156,["op",6943,1]],[7159,["op",7136,0]],[7160,["op",7076,1]],[7162,["op",7138,0]],[7163,["op",7158,1]],[7170,["op",7063,1]],[7171,["op",6995,0]],[7182,["op",7110,0]],[7191,["op",7190,0]],[7192,["op",7199,0]],[7197,["op",7101,1]],[7200,["op",7181,0]],[7203,["op",7300,0]],[7204,["op",7359,0]],[7205,["op",7393,0]],[7206,["op",7319,0]],[7207,["op",7244,0]],[7208,["op",7240,1]],[7209,["op",7266,1]],[7210,["op",7266,0]],[7211,["op",7224,0]],[7212,["op",7473,0]],[7213,["op",7355,1]],[7215,["op",7448,0]],[7217,["op",7209,0]],[7218,["op",7360,0]],[7219,["op",7397,0]],[7220,["op",7413,0]],[7221,["op",7320,0]],[7222,["op",7277,0]],[7224,["op",7261,0]],[7225,["op",7473,1]],[7226,["op",7347,0]],[7227,["op",7276,0]],[7229,["op",7362,0]],[7230,["op",7362,1]],[7231,["op",7384,0]],[7232,["op",7390,0]],[7233,["op",7450,0]],[7235,["op",7212,1]],[7236,["op",7269,0]],[7237,["op",7260,0]],[7238,["op",7419,0]],[7239,["op",7388,0]],[7240,["op",7374,0]],[7241,["op",7440,0]],[7243,["op",7429,0]],[7244,["op",7385,1]],[7245,["op",7241,0]],[7246,["op",7223,0]],[7247,["op",7380,0]],[7248,["op",7288,0]],[7249,["op",7289,0]],[7250,["op",7315,0]],[7252,["op",7296,0]],[7253,["op",7299,0]],[7254,["op",7455,1]],[7255,["op",7229,0]],[7256,["op",7301,0]],[7257,["op",7274,0]],[7258,["op",7398,0]],[7259,["op",7426,0]],[7260,["op",7389,0]],[7261,["op",7474,0]],[7262,["op",7379,0]],[7263,["op",7368,0]],[7264,["op",7379,1]],[7265,["op",7336,0]],[7267,["op",7286,0]],[7268,["op",7343,0]],[7269,["op",7461,0]],[7270,["op",7432,1]],[7271,["op",7427,1]],[7272,["op",7460,0]],[7273,["op",7347,1]],[7275,["op",7363,0]],[7276,["op",7317,0]],[7278,["op",7367,0]],[7279,["op",7222,0]],[7280,["op",7254,0]],[7281,["op",7421,0]],[7282,["op",7250,1]],[7283,["op",7459,0]],[7284,["op",7355,0]],[7285,["op",7346,0]],[7287,["op",7248,1]],[7288,["op",7306,1]],[7289,["op",7306,0]],[7290,["op",7410,0]],[7291,["op",7239,1]],[7292,["op",7415,0]],[7294,["op",7245,0]],[7295,["op",7395,0]],[7296,["op",7413,1]],[7297,["op",7369,1]],[7298,["op",7322,0]],[7300,["op",7225,0]],[7301,["op",7303,1]],[7303,["op",7365,1]],[7304,["op",7365,0]],[7305,["op",7253,0]],[7306,["op",7311,0]],[7307,["op",7317,1]],[7308,["op",7410,1]],[7309,["op",7423,0]],[7311,["op",7401,0]],[7312,["op",7370,0]],[7313,["op",7400,0]],[7314,["op",7385,0]],[7315,["op",7417,1]],[7318,["op",7437,0]],[7319,["op",7443,1]],[7320,["op",7314,0]],[7321,["op",7285,0]],[7322,["op",7354,0]],[7324,["op",7364,0]],[7325,["op",7345,0]],[7327,["op",7334,0]],[7328,["op",7339,0]],[7329,["op",7425,0]],[7330,["op",7268,1]],[7332,["op",7313,0]],[7333,["op",7394,0]],[7334,["op",7231,0]],[7337,["op",7275,0]],[7338,["op",7470,0]],[7339,["op",7353,0]],[7340,["op",7203,0]],[7341,["op",7331,1]],[7342,["op",7427,0]],[7343,["op",7375,1]],[7345,["op",7356,0]],[7346,["op",7373,0]],[7349,["op",7458,0]],[7351,["op",7259,1]],[7352,["op",7358,0]],[7353,["op",7457,1]],[7355,["op",7377,0]],[7357,["op",7348,1]],[7358,["op",7242,0]],[7359,["op",7405,1]],[7361,["op",7335,0]],[7362,["op",7303,0]],[7364,["op",7424,1]],[7365,["op",7233,0]],[7366,["op",7388,1]],[7367,["op",7445,0]],[7370,["op",7412,1]],[7371,["op",7338,1]],[7372,["op",7308,0]],[7375,["op",7283,0]],[7376,["op",7451,0]],[7377,["op",7214,1]],[7378,["op",7467,0]],[7379,["op",7250,0]],[7381,["op",7216,0]],[7384,["op",7335,1]],[7385,["op",7215,0]],[7386,["op",7418,0]],[7387,["op",7448,1]],[7391,["op",7326,0]],[7392,["op",7414,1]],[7393,["op",7397,1]],[7394,["op",7404,0]],[7396,["op",7382,1]],[7398,["op",7447,0]],[7399,["op",7302,0]],[7400,["op",7242,1]],[7401,["op",7420,0]],[7403,["op",7323,1]],[7407,["op",7258,0]],[7408,["op",7403,0]],[7415,["op",7354,1]],[7417,["op",7251,1]],[7419,["op",7406,1]],[7424,["op",7453,0]],[7427,["op",7465,0]],[7428,["op",7381,0]],[7429,["op",7216,1]],[7432,["op",7409,0]],[7433,["op",7349,1]],[7435,["op",7411,0]],[7436,["op",7431,1]],[7443,["op",7336,1]],[7444,["op",7268,0]],[7455,["op",7383,0]],[7464,["op",7463,0]],[7465,["op",7472,0]],[7470,["op",7374,1]],[7473,["op",7454,0]],[7476,["op",7573,0]],[7477,["op",7632,0]],[7478,["op",7666,0]],[7479,["op",7592,0]],[7480,["op",7517,0]],[7481,["op",7513,1]],[7482,["op",7539,1]],[7483,["op",7539,0]],[7484,["op",7497,0]],[7485,["op",7746,0]],[7486,["op",7628,1]],[7488,["op",7721,0]],[7490,["op",7482,0]],[7491,["op",7633,0]],[7492,["op",7670,0]],[7493,["op",7686,0]],[7494,["op",7593,0]],[7495,["op",7550,0]],[7497,["op",7534,0]],[7498,["op",7746,1]],[7499,["op",7620,0]],[7500,["op",7549,0]],[7502,["op",7635,0]],[7503,["op",7635,1]],[7504,["op",7657,0]],[7505,["op",7663,0]],[7506,["op",7723,0]],[7508,["op",7485,1]],[7509,["op",7542,0]],[7510,["op",7533,0]],[7511,["op",7692,0]],[7512,["op",7661,0]],[7513,["op",7647,0]],[7514,["op",7713,0]],[7516,["op",7702,0]],[7517,["op",7658,1]],[7518,["op",7514,0]],[7519,["op",7496,0]],[7520,["op",7653,0]],[7521,["op",7561,0]],[7522,["op",7562,0]],[7523,["op",7588,0]],[7525,["op",7569,0]],[7526,["op",7572,0]],[7527,["op",7728,1]],[7528,["op",7502,0]],[7529,["op",7574,0]],[7530,["op",7547,0]],[7531,["op",7671,0]],[7532,["op",7699,0]],[7533,["op",7662,0]],[7534,["op",7747,0]],[7535,["op",7652,0]],[7536,["op",7641,0]],[7537,["op",7652,1]],[7538,["op",7609,0]],[7540,["op",7559,0]],[7541,["op",7616,0]],[7542,["op",7734,0]],[7543,["op",7705,1]],[7544,["op",7700,1]],[7545,["op",7733,0]],[7546,["op",7620,1]],[7548,["op",7636,0]],[7549,["op",7590,0]],[7551,["op",7640,0]],[7552,["op",7495,0]],[7553,["op",7527,0]],[7554,["op",7694,0]],[7555,["op",7523,1]],[7556,["op",7732,0]],[7557,["op",7628,0]],[7558,["op",7619,0]],[7560,["op",7521,1]],[7561,["op",7579,1]],[7562,["op",7579,0]],[7563,["op",7683,0]],[7564,["op",7512,1]],[7565,["op",7688,0]],[7567,["op",7518,0]],[7568,["op",7668,0]],[7569,["op",7686,1]],[7570,["op",7642,1]],[7571,["op",7595,0]],[7573,["op",7498,0]],[7574,["op",7576,1]],[7576,["op",7638,1]],[7577,["op",7638,0]],[7578,["op",7526,0]],[7579,["op",7584,0]],[7580,["op",7590,1]],[7581,["op",7683,1]],[7582,["op",7696,0]],[7584,["op",7674,0]],[7585,["op",7643,0]],[7586,["op",7673,0]],[7587,["op",7658,0]],[7588,["op",7690,1]],[7591,["op",7710,0]],[7592,["op",7716,1]],[7593,["op",7587,0]],[7594,["op",7558,0]],[7595,["op",7627,0]],[7597,["op",7637,0]],[7598,["op",7618,0]],[7600,["op",7607,0]],[7601,["op",7612,0]],[7602,["op",7698,0]],[7603,["op",7541,1]],[7605,["op",7586,0]],[7606,["op",7667,0]],[7607,["op",7504,0]],[7610,["op",7548,0]],[7611,["op",7743,0]],[7612,["op",7626,0]],[7613,["op",7476,0]],[7614,["op",7604,1]],[7615,["op",7700,0]],[7616,["op",7648,1]],[7618,["op",7629,0]],[7619,["op",7646,0]],[7622,["op",7731,0]],[7624,["op",7532,1]],[7625,["op",7631,0]],[7626,["op",7730,1]],[7628,["op",7650,0]],[7630,["op",7621,1]],[7631,["op",7515,0]],[7632,["op",7678,1]],[7634,["op",7608,0]],[7635,["op",7576,0]],[7637,["op",7697,1]],[7638,["op",7506,0]],[7639,["op",7661,1]],[7640,["op",7718,0]],[7643,["op",7685,1]],[7644,["op",7611,1]],[7645,["op",7581,0]],[7648,["op",7556,0]],[7649,["op",7724,0]],[7650,["op",7487,1]],[7651,["op",7740,0]],[7652,["op",7523,0]],[7654,["op",7489,0]],[7657,["op",7608,1]],[7658,["op",7488,0]],[7659,["op",7691,0]],[7660,["op",7721,1]],[7664,["op",7599,0]],[7665,["op",7687,1]],[7666,["op",7670,1]],[7667,["op",7677,0]],[7669,["op",7655,1]],[7671,["op",7720,0]],[7672,["op",7575,0]],[7673,["op",7515,1]],[7674,["op",7693,0]],[7676,["op",7596,1]],[7680,["op",7531,0]],[7681,["op",7676,0]],[7688,["op",7627,1]],[7690,["op",7524,1]],[7692,["op",7679,1]],[7697,["op",7726,0]],[7700,["op",7738,0]],[7701,["op",7654,0]],[7702,["op",7489,1]],[7705,["op",7682,0]],[7706,["op",7622,1]],[7708,["op",7684,0]],[7709,["op",7704,1]],[7716,["op",7609,1]],[7717,["op",7541,0]],[7728,["op",7656,0]],[7737,["op",7736,0]],[7738,["op",7745,0]],[7743,["op",7647,1]],[7746,["op",7727,0]],[7749,["op",7846,0]],[7750,["op",7905,0]],[7751,["op",7939,0]],[7752,["op",7865,0]],[7753,["op",7790,0]],[7754,["op",7786,1]],[7755,["op",7812,1]],[7756,["op",7812,0]],[7757,["op",7770,0]],[7758,["op",8019,0]],[7759,["op",7901,1]],[7761,["op",7994,0]],[7763,["op",7755,0]],[7764,["op",7906,0]],[7765,["op",7943,0]],[7766,["op",7959,0]],[7767,["op",7866,0]],[7768,["op",7823,0]],[7770,["op",7807,0]],[7771,["op",8019,1]],[7772,["op",7893,0]],[7773,["op",7822,0]],[7775,["op",7908,0]],[7776,["op",7908,1]],[7777,["op",7930,0]],[7778,["op",7936,0]],[7779,["op",7996,0]],[7781,["op",7758,1]],[7782,["op",7815,0]],[7783,["op",7806,0]],[7784,["op",7965,0]],[7785,["op",7934,0]],[7786,["op",7920,0]],[7787,["op",7986,0]],[7789,["op",7975,0]],[7790,["op",7931,1]],[7791,["op",7787,0]],[7792,["op",7769,0]],[7793,["op",7926,0]],[7794,["op",7834,0]],[7795,["op",7835,0]],[7796,["op",7861,0]],[7798,["op",7842,0]],[7799,["op",7845,0]],[7800,["op",8001,1]],[7801,["op",7775,0]],[7802,["op",7847,0]],[7803,["op",7820,0]],[7804,["op",7944,0]],[7805,["op",7972,0]],[7806,["op",7935,0]],[7807,["op",8020,0]],[7808,["op",7925,0]],[7809,["op",7914,0]],[7810,["op",7925,1]],[7811,["op",7882,0]],[7813,["op",7832,0]],[7814,["op",7889,0]],[7815,["op",8007,0]],[7816,["op",7978,1]],[7817,["op",7973,1]],[7818,["op",8006,0]],[7819,["op",7893,1]],[7821,["op",7909,0]],[7822,["op",7863,0]],[7824,["op",7913,0]],[7825,["op",7768,0]],[7826,["op",7800,0]],[7827,["op",7967,0]],[7828,["op",7796,1]],[7829,["op",8005,0]],[7830,["op",7901,0]],[7831,["op",7892,0]],[7833,["op",7794,1]],[7834,["op",7852,1]],[7835,["op",7852,0]],[7836,["op",7956,0]],[7837,["op",7785,1]],[7838,["op",7961,0]],[7840,["op",7791,0]],[7841,["op",7941,0]],[7842,["op",7959,1]],[7843,["op",7915,1]],[7844,["op",7868,0]],[7846,["op",7771,0]],[7847,["op",7849,1]],[7849,["op",7911,1]],[7850,["op",7911,0]],[7851,["op",7799,0]],[7852,["op",7857,0]],[7853,["op",7863,1]],[7854,["op",7956,1]],[7855,["op",7969,0]],[7857,["op",7947,0]],[7858,["op",7916,0]],[7859,["op",7946,0]],[7860,["op",7931,0]],[7861,["op",7963,1]],[7864,["op",7983,0]],[7865,["op",7989,1]],[7866,["op",7860,0]],[7867,["op",7831,0]],[7868,["op",7900,0]],[7870,["op",7910,0]],[7871,["op",7891,0]],[7873,["op",7880,0]],[7874,["op",7885,0]],[7875,["op",7971,0]],[7876,["op",7814,1]],[7878,["op",7859,0]],[7879,["op",7940,0]],[7880,["op",7777,0]],[7883,["op",7821,0]],[7884,["op",8016,0]],[7885,["op",7899,0]],[7886,["op",7749,0]],[7887,["op",7877,1]],[7888,["op",7973,0]],[7889,["op",7921,1]],[7891,["op",7902,0]],[7892,["op",7919,0]],[7895,["op",8004,0]],[7897,["op",7805,1]],[7898,["op",7904,0]],[7899,["op",8003,1]],[7901,["op",7923,0]],[7903,["op",7894,1]],[7904,["op",7788,0]],[7905,["op",7951,1]],[7907,["op",7881,0]],[7908,["op",7849,0]],[7910,["op",7970,1]],[7911,["op",7779,0]],[7912,["op",7934,1]],[7913,["op",7991,0]],[7916,["op",7958,1]],[7917,["op",7884,1]],[7918,["op",7854,0]],[7921,["op",7829,0]],[7922,["op",7997,0]],[7923,["op",7760,1]],[7924,["op",8013,0]],[7925,["op",7796,0]],[7927,["op",7762,0]],[7930,["op",7881,1]],[7931,["op",7761,0]],[7932,["op",7964,0]],[7933,["op",7994,1]],[7937,["op",7872,0]],[7938,["op",7960,1]],[7939,["op",7943,1]],[7940,["op",7950,0]],[7942,["op",7928,1]],[7944,["op",7993,0]],[7945,["op",7848,0]],[7946,["op",7788,1]],[7947,["op",7966,0]],[7949,["op",7869,1]],[7953,["op",7804,0]],[7954,["op",7949,0]],[7961,["op",7900,1]],[7963,["op",7797,1]],[7965,["op",7952,1]],[7970,["op",7999,0]],[7973,["op",8011,0]],[7974,["op",7927,0]],[7975,["op",7762,1]],[7978,["op",7955,0]],[7979,["op",7895,1]],[7981,["op",7957,0]],[7982,["op",7977,1]],[7989,["op",7882,1]],[7990,["op",7814,0]],[8001,["op",7929,0]],[8010,["op",8009,0]],[8011,["op",8018,0]],[8016,["op",7920,1]],[8019,["op",8000,0]],[8022,["op",8119,0]],[8023,["op",8178,0]],[8024,["op",8212,0]],[8025,["op",8138,0]],[8026,["op",8063,0]],[8027,["op",8059,1]],[8028,["op",8085,1]],[8029,["op",8085,0]],[8030,["op",8043,0]],[8031,["op",8292,0]],[8032,["op",8174,1]],[8034,["op",8267,0]],[8036,["op",8028,0]],[8037,["op",8179,0]],[8038,["op",8216,0]],[8039,["op",8232,0]],[8040,["op",8139,0]],[8041,["op",8096,0]],[8043,["op",8080,0]],[8044,["op",8292,1]],[8045,["op",8166,0]],[8046,["op",8095,0]],[8048,["op",8181,0]],[8049,["op",8181,1]],[8050,["op",8203,0]],[8051,["op",8209,0]],[8052,["op",8269,0]],[8054,["op",8031,1]],[8055,["op",8088,0]],[8056,["op",8079,0]],[8057,["op",8238,0]],[8058,["op",8207,0]],[8059,["op",8193,0]],[8060,["op",8259,0]],[8062,["op",8248,0]],[8063,["op",8204,1]],[8064,["op",8060,0]],[8065,["op",8042,0]],[8066,["op",8199,0]],[8067,["op",8107,0]],[8068,["op",8108,0]],[8069,["op",8134,0]],[8071,["op",8115,0]],[8072,["op",8118,0]],[8073,["op",8274,1]],[8074,["op",8048,0]],[8075,["op",8120,0]],[8076,["op",8093,0]],[8077,["op",8217,0]],[8078,["op",8245,0]],[8079,["op",8208,0]],[8080,["op",8293,0]],[8081,["op",8198,0]],[8082,["op",8187,0]],[8083,["op",8198,1]],[8084,["op",8155,0]],[8086,["op",8105,0]],[8087,["op",8162,0]],[8088,["op",8280,0]],[8089,["op",8251,1]],[8090,["op",8246,1]],[8091,["op",8279,0]],[8092,["op",8166,1]],[8094,["op",8182,0]],[8095,["op",8136,0]],[8097,["op",8186,0]],[8098,["op",8041,0]],[8099,["op",8073,0]],[8100,["op",8240,0]],[8101,["op",8069,1]],[8102,["op",8278,0]],[8103,["op",8174,0]],[8104,["op",8165,0]],[8106,["op",8067,1]],[8107,["op",8125,1]],[8108,["op",8125,0]],[8109,["op",8229,0]],[8110,["op",8058,1]],[8111,["op",8234,0]],[8113,["op",8064,0]],[8114,["op",8214,0]],[8115,["op",8232,1]],[8116,["op",8188,1]],[8117,["op",8141,0]],[8119,["op",8044,0]],[8120,["op",8122,1]],[8122,["op",8184,1]],[8123,["op",8184,0]],[8124,["op",8072,0]],[8125,["op",8130,0]],[8126,["op",8136,1]],[8127,["op",8229,1]],[8128,["op",8242,0]],[8130,["op",8220,0]],[8131,["op",8189,0]],[8132,["op",8219,0]],[8133,["op",8204,0]],[8134,["op",8236,1]],[8137,["op",8256,0]],[8138,["op",8262,1]],[8139,["op",8133,0]],[8140,["op",8104,0]],[8141,["op",8173,0]],[8143,["op",8183,0]],[8144,["op",8164,0]],[8146,["op",8153,0]],[8147,["op",8158,0]],[8148,["op",8244,0]],[8149,["op",8087,1]],[8151,["op",8132,0]],[8152,["op",8213,0]],[8153,["op",8050,0]],[8156,["op",8094,0]],[8157,["op",8289,0]],[8158,["op",8172,0]],[8159,["op",8022,0]],[8160,["op",8150,1]],[8161,["op",8246,0]],[8162,["op",8194,1]],[8164,["op",8175,0]],[8165,["op",8192,0]],[8168,["op",8277,0]],[8170,["op",8078,1]],[8171,["op",8177,0]],[8172,["op",8276,1]],[8174,["op",8196,0]],[8176,["op",8167,1]],[8177,["op",8061,0]],[8178,["op",8224,1]],[8180,["op",8154,0]],[8181,["op",8122,0]],[8183,["op",8243,1]],[8184,["op",8052,0]],[8185,["op",8207,1]],[8186,["op",8264,0]],[8189,["op",8231,1]],[8190,["op",8157,1]],[8191,["op",8127,0]],[8194,["op",8102,0]],[8195,["op",8270,0]],[8196,["op",8033,1]],[8197,["op",8286,0]],[8198,["op",8069,0]],[8200,["op",8035,0]],[8203,["op",8154,1]],[8204,["op",8034,0]],[8205,["op",8237,0]],[8206,["op",8267,1]],[8210,["op",8145,0]],[8211,["op",8233,1]],[8212,["op",8216,1]],[8213,["op",8223,0]],[8215,["op",8201,1]],[8217,["op",8266,0]],[8218,["op",8121,0]],[8219,["op",8061,1]],[8220,["op",8239,0]],[8222,["op",8142,1]],[8226,["op",8077,0]],[8227,["op",8222,0]],[8234,["op",8173,1]],[8236,["op",8070,1]],[8238,["op",8225,1]],[8243,["op",8272,0]],[8246,["op",8284,0]],[8247,["op",8200,0]],[8248,["op",8035,1]],[8251,["op",8228,0]],[8252,["op",8168,1]],[8254,["op",8230,0]],[8255,["op",8250,1]],[8262,["op",8155,1]],[8263,["op",8087,0]],[8274,["op",8202,0]],[8283,["op",8282,0]],[8284,["op",8291,0]],[8289,["op",8193,1]],[8292,["op",8273,0]],[8295,["op",8392,0]],[8296,["op",8451,0]],[8297,["op",8485,0]],[8298,["op",8411,0]],[8299,["op",8336,0]],[8300,["op",8332,1]],[8301,["op",8358,1]],[8302,["op",8358,0]],[8303,["op",8316,0]],[8304,["op",8565,0]],[8305,["op",8447,1]],[8307,["op",8540,0]],[8309,["op",8301,0]],[8310,["op",8452,0]],[8311,["op",8489,0]],[8312,["op",8505,0]],[8313,["op",8412,0]],[8314,["op",8369,0]],[8316,["op",8353,0]],[8317,["op",8565,1]],[8318,["op",8439,0]],[8319,["op",8368,0]],[8321,["op",8454,0]],[8322,["op",8454,1]],[8323,["op",8476,0]],[8324,["op",8482,0]],[8325,["op",8542,0]],[8327,["op",8304,1]],[8328,["op",8361,0]],[8329,["op",8352,0]],[8330,["op",8511,0]],[8331,["op",8480,0]],[8332,["op",8466,0]],[8333,["op",8532,0]],[8335,["op",8521,0]],[8336,["op",8477,1]],[8337,["op",8333,0]],[8338,["op",8315,0]],[8339,["op",8472,0]],[8340,["op",8380,0]],[8341,["op",8381,0]],[8342,["op",8407,0]],[8344,["op",8388,0]],[8345,["op",8391,0]],[8346,["op",8547,1]],[8347,["op",8321,0]],[8348,["op",8393,0]],[8349,["op",8366,0]],[8350,["op",8490,0]],[8351,["op",8518,0]],[8352,["op",8481,0]],[8353,["op",8566,0]],[8354,["op",8471,0]],[8355,["op",8460,0]],[8356,["op",8471,1]],[8357,["op",8428,0]],[8359,["op",8378,0]],[8360,["op",8435,0]],[8361,["op",8553,0]],[8362,["op",8524,1]],[8363,["op",8519,1]],[8364,["op",8552,0]],[8365,["op",8439,1]],[8367,["op",8455,0]],[8368,["op",8409,0]],[8370,["op",8459,0]],[8371,["op",8314,0]],[8372,["op",8346,0]],[8373,["op",8513,0]],[8374,["op",8342,1]],[8375,["op",8551,0]],[8376,["op",8447,0]],[8377,["op",8438,0]],[8379,["op",8340,1]],[8380,["op",8398,1]],[8381,["op",8398,0]],[8382,["op",8502,0]],[8383,["op",8331,1]],[8384,["op",8507,0]],[8386,["op",8337,0]],[8387,["op",8487,0]],[8388,["op",8505,1]],[8389,["op",8461,1]],[8390,["op",8414,0]],[8392,["op",8317,0]],[8393,["op",8395,1]],[8395,["op",8457,1]],[8396,["op",8457,0]],[8397,["op",8345,0]],[8398,["op",8403,0]],[8399,["op",8409,1]],[8400,["op",8502,1]],[8401,["op",8515,0]],[8403,["op",8493,0]],[8404,["op",8462,0]],[8405,["op",8492,0]],[8406,["op",8477,0]],[8407,["op",8509,1]],[8410,["op",8529,0]],[8411,["op",8535,1]],[8412,["op",8406,0]],[8413,["op",8377,0]],[8414,["op",8446,0]],[8416,["op",8456,0]],[8417,["op",8437,0]],[8419,["op",8426,0]],[8420,["op",8431,0]],[8421,["op",8517,0]],[8422,["op",8360,1]],[8424,["op",8405,0]],[8425,["op",8486,0]],[8426,["op",8323,0]],[8429,["op",8367,0]],[8430,["op",8562,0]],[8431,["op",8445,0]],[8432,["op",8295,0]],[8433,["op",8423,1]],[8434,["op",8519,0]],[8435,["op",8467,1]],[8437,["op",8448,0]],[8438,["op",8465,0]],[8441,["op",8550,0]],[8443,["op",8351,1]],[8444,["op",8450,0]],[8445,["op",8549,1]],[8447,["op",8469,0]],[8449,["op",8440,1]],[8450,["op",8334,0]],[8451,["op",8497,1]],[8453,["op",8427,0]],[8454,["op",8395,0]],[8456,["op",8516,1]],[8457,["op",8325,0]],[8458,["op",8480,1]],[8459,["op",8537,0]],[8462,["op",8504,1]],[8463,["op",8430,1]],[8464,["op",8400,0]],[8467,["op",8375,0]],[8468,["op",8543,0]],[8469,["op",8306,1]],[8470,["op",8559,0]],[8471,["op",8342,0]],[8473,["op",8308,0]],[8476,["op",8427,1]],[8477,["op",8307,0]],[8478,["op",8510,0]],[8479,["op",8540,1]],[8483,["op",8418,0]],[8484,["op",8506,1]],[8485,["op",8489,1]],[8486,["op",8496,0]],[8488,["op",8474,1]],[8490,["op",8539,0]],[8491,["op",8394,0]],[8492,["op",8334,1]],[8493,["op",8512,0]],[8495,["op",8415,1]],[8499,["op",8350,0]],[8500,["op",8495,0]],[8507,["op",8446,1]],[8509,["op",8343,1]],[8511,["op",8498,1]],[8516,["op",8545,0]],[8519,["op",8557,0]],[8520,["op",8473,0]],[8521,["op",8308,1]],[8524,["op",8501,0]],[8525,["op",8441,1]],[8527,["op",8503,0]],[8528,["op",8523,1]],[8535,["op",8428,1]],[8536,["op",8360,0]],[8547,["op",8475,0]],[8556,["op",8555,0]],[8557,["op",8564,0]],[8562,["op",8466,1]],[8565,["op",8546,0]],[8568,["op",8665,0]],[8569,["op",8724,0]],[8570,["op",8758,0]],[8571,["op",8684,0]],[8572,["op",8609,0]],[8573,["op",8605,1]],[8574,["op",8631,1]],[8575,["op",8631,0]],[8576,["op",8589,0]],[8577,["op",8838,0]],[8578,["op",8720,1]],[8580,["op",8813,0]],[8582,["op",8574,0]],[8583,["op",8725,0]],[8584,["op",8762,0]],[8585,["op",8778,0]],[8586,["op",8685,0]],[8587,["op",8642,0]],[8589,["op",8626,0]],[8590,["op",8838,1]],[8591,["op",8712,0]],[8592,["op",8641,0]],[8594,["op",8727,0]],[8595,["op",8727,1]],[8596,["op",8749,0]],[8597,["op",8755,0]],[8598,["op",8815,0]],[8600,["op",8577,1]],[8601,["op",8634,0]],[8602,["op",8625,0]],[8603,["op",8784,0]],[8604,["op",8753,0]],[8605,["op",8739,0]],[8606,["op",8805,0]],[8608,["op",8794,0]],[8609,["op",8750,1]],[8610,["op",8606,0]],[8611,["op",8588,0]],[8612,["op",8745,0]],[8613,["op",8653,0]],[8614,["op",8654,0]],[8615,["op",8680,0]],[8617,["op",8661,0]],[8618,["op",8664,0]],[8619,["op",8820,1]],[8620,["op",8594,0]],[8621,["op",8666,0]],[8622,["op",8639,0]],[8623,["op",8763,0]],[8624,["op",8791,0]],[8625,["op",8754,0]],[8626,["op",8839,0]],[8627,["op",8744,0]],[8628,["op",8733,0]],[8629,["op",8744,1]],[8630,["op",8701,0]],[8632,["op",8651,0]],[8633,["op",8708,0]],[8634,["op",8826,0]],[8635,["op",8797,1]],[8636,["op",8792,1]],[8637,["op",8825,0]],[8638,["op",8712,1]],[8640,["op",8728,0]],[8641,["op",8682,0]],[8643,["op",8732,0]],[8644,["op",8587,0]],[8645,["op",8619,0]],[8646,["op",8786,0]],[8647,["op",8615,1]],[8648,["op",8824,0]],[8649,["op",8720,0]],[8650,["op",8711,0]],[8652,["op",8613,1]],[8653,["op",8671,1]],[8654,["op",8671,0]],[8655,["op",8775,0]],[8656,["op",8604,1]],[8657,["op",8780,0]],[8659,["op",8610,0]],[8660,["op",8760,0]],[8661,["op",8778,1]],[8662,["op",8734,1]],[8663,["op",8687,0]],[8665,["op",8590,0]],[8666,["op",8668,1]],[8668,["op",8730,1]],[8669,["op",8730,0]],[8670,["op",8618,0]],[8671,["op",8676,0]],[8672,["op",8682,1]],[8673,["op",8775,1]],[8674,["op",8788,0]],[8676,["op",8766,0]],[8677,["op",8735,0]],[8678,["op",8765,0]],[8679,["op",8750,0]],[8680,["op",8782,1]],[8683,["op",8802,0]],[8684,["op",8808,1]],[8685,["op",8679,0]],[8686,["op",8650,0]],[8687,["op",8719,0]],[8689,["op",8729,0]],[8690,["op",8710,0]],[8692,["op",8699,0]],[8693,["op",8704,0]],[8694,["op",8790,0]],[8695,["op",8633,1]],[8697,["op",8678,0]],[8698,["op",8759,0]],[8699,["op",8596,0]],[8702,["op",8640,0]],[8703,["op",8835,0]],[8704,["op",8718,0]],[8705,["op",8568,0]],[8706,["op",8696,1]],[8707,["op",8792,0]],[8708,["op",8740,1]],[8710,["op",8721,0]],[8711,["op",8738,0]],[8714,["op",8823,0]],[8716,["op",8624,1]],[8717,["op",8723,0]],[8718,["op",8822,1]],[8720,["op",8742,0]],[8722,["op",8713,1]],[8723,["op",8607,0]],[8724,["op",8770,1]],[8726,["op",8700,0]],[8727,["op",8668,0]],[8729,["op",8789,1]],[8730,["op",8598,0]],[8731,["op",8753,1]],[8732,["op",8810,0]],[8735,["op",8777,1]],[8736,["op",8703,1]],[8737,["op",8673,0]],[8740,["op",8648,0]],[8741,["op",8816,0]],[8742,["op",8579,1]],[8743,["op",8832,0]],[8744,["op",8615,0]],[8746,["op",8581,0]],[8749,["op",8700,1]],[8750,["op",8580,0]],[8751,["op",8783,0]],[8752,["op",8813,1]],[8756,["op",8691,0]],[8757,["op",8779,1]],[8758,["op",8762,1]],[8759,["op",8769,0]],[8761,["op",8747,1]],[8763,["op",8812,0]],[8764,["op",8667,0]],[8765,["op",8607,1]],[8766,["op",8785,0]],[8768,["op",8688,1]],[8772,["op",8623,0]],[8773,["op",8768,0]],[8780,["op",8719,1]],[8782,["op",8616,1]],[8784,["op",8771,1]],[8789,["op",8818,0]],[8792,["op",8830,0]],[8793,["op",8746,0]],[8794,["op",8581,1]],[8797,["op",8774,0]],[8798,["op",8714,1]],[8800,["op",8776,0]],[8801,["op",8796,1]],[8808,["op",8701,1]],[8809,["op",8633,0]],[8820,["op",8748,0]],[8829,["op",8828,0]],[8830,["op",8837,0]],[8835,["op",8739,1]],[8838,["op",8819,0]],[8841,["op",8938,0]],[8842,["op",8997,0]],[8843,["op",9031,0]],[8844,["op",8957,0]],[8845,["op",8882,0]],[8846,["op",8878,1]],[8847,["op",8904,1]],[8848,["op",8904,0]],[8849,["op",8862,0]],[8850,["op",9111,0]],[8851,["op",8993,1]],[8853,["op",9086,0]],[8855,["op",8847,0]],[8856,["op",8998,0]],[8857,["op",9035,0]],[8858,["op",9051,0]],[8859,["op",8958,0]],[8860,["op",8915,0]],[8862,["op",8899,0]],[8863,["op",9111,1]],[8864,["op",8985,0]],[8865,["op",8914,0]],[8867,["op",9000,0]],[8868,["op",9000,1]],[8869,["op",9022,0]],[8870,["op",9028,0]],[8871,["op",9088,0]],[8873,["op",8850,1]],[8874,["op",8907,0]],[8875,["op",8898,0]],[8876,["op",9057,0]],[8877,["op",9026,0]],[8878,["op",9012,0]],[8879,["op",9078,0]],[8881,["op",9067,0]],[8882,["op",9023,1]],[8883,["op",8879,0]],[8884,["op",8861,0]],[8885,["op",9018,0]],[8886,["op",8926,0]],[8887,["op",8927,0]],[8888,["op",8953,0]],[8890,["op",8934,0]],[8891,["op",8937,0]],[8892,["op",9093,1]],[8893,["op",8867,0]],[8894,["op",8939,0]],[8895,["op",8912,0]],[8896,["op",9036,0]],[8897,["op",9064,0]],[8898,["op",9027,0]],[8899,["op",9112,0]],[8900,["op",9017,0]],[8901,["op",9006,0]],[8902,["op",9017,1]],[8903,["op",8974,0]],[8905,["op",8924,0]],[8906,["op",8981,0]],[8907,["op",9099,0]],[8908,["op",9070,1]],[8909,["op",9065,1]],[8910,["op",9098,0]],[8911,["op",8985,1]],[8913,["op",9001,0]],[8914,["op",8955,0]],[8916,["op",9005,0]],[8917,["op",8860,0]],[8918,["op",8892,0]],[8919,["op",9059,0]],[8920,["op",8888,1]],[8921,["op",9097,0]],[8922,["op",8993,0]],[8923,["op",8984,0]],[8925,["op",8886,1]],[8926,["op",8944,1]],[8927,["op",8944,0]],[8928,["op",9048,0]],[8929,["op",8877,1]],[8930,["op",9053,0]],[8932,["op",8883,0]],[8933,["op",9033,0]],[8934,["op",9051,1]],[8935,["op",9007,1]],[8936,["op",8960,0]],[8938,["op",8863,0]],[8939,["op",8941,1]],[8941,["op",9003,1]],[8942,["op",9003,0]],[8943,["op",8891,0]],[8944,["op",8949,0]],[8945,["op",8955,1]],[8946,["op",9048,1]],[8947,["op",9061,0]],[8949,["op",9039,0]],[8950,["op",9008,0]],[8951,["op",9038,0]],[8952,["op",9023,0]],[8953,["op",9055,1]],[8956,["op",9075,0]],[8957,["op",9081,1]],[8958,["op",8952,0]],[8959,["op",8923,0]],[8960,["op",8992,0]],[8962,["op",9002,0]],[8963,["op",8983,0]],[8965,["op",8972,0]],[8966,["op",8977,0]],[8967,["op",9063,0]],[8968,["op",8906,1]],[8970,["op",8951,0]],[8971,["op",9032,0]],[8972,["op",8869,0]],[8975,["op",8913,0]],[8976,["op",9108,0]],[8977,["op",8991,0]],[8978,["op",8841,0]],[8979,["op",8969,1]],[8980,["op",9065,0]],[8981,["op",9013,1]],[8983,["op",8994,0]],[8984,["op",9011,0]],[8987,["op",9096,0]],[8989,["op",8897,1]],[8990,["op",8996,0]],[8991,["op",9095,1]],[8993,["op",9015,0]],[8995,["op",8986,1]],[8996,["op",8880,0]],[8997,["op",9043,1]],[8999,["op",8973,0]],[9000,["op",8941,0]],[9002,["op",9062,1]],[9003,["op",8871,0]],[9004,["op",9026,1]],[9005,["op",9083,0]],[9008,["op",9050,1]],[9009,["op",8976,1]],[9010,["op",8946,0]],[9013,["op",8921,0]],[9014,["op",9089,0]],[9015,["op",8852,1]],[9016,["op",9105,0]],[9017,["op",8888,0]],[9019,["op",8854,0]],[9022,["op",8973,1]],[9023,["op",8853,0]],[9024,["op",9056,0]],[9025,["op",9086,1]],[9029,["op",8964,0]],[9030,["op",9052,1]],[9031,["op",9035,1]],[9032,["op",9042,0]],[9034,["op",9020,1]],[9036,["op",9085,0]],[9037,["op",8940,0]],[9038,["op",8880,1]],[9039,["op",9058,0]],[9041,["op",8961,1]],[9045,["op",8896,0]],[9046,["op",9041,0]],[9053,["op",8992,1]],[9055,["op",8889,1]],[9057,["op",9044,1]],[9062,["op",9091,0]],[9065,["op",9103,0]],[9066,["op",9019,0]],[9067,["op",8854,1]],[9070,["op",9047,0]],[9071,["op",8987,1]],[9073,["op",9049,0]],[9074,["op",9069,1]],[9081,["op",8974,1]],[9082,["op",8906,0]],[9093,["op",9021,0]],[9102,["op",9101,0]],[9103,["op",9110,0]],[9108,["op",9012,1]],[9111,["op",9092,0]],[9114,["op",9211,0]],[9115,["op",9270,0]],[9116,["op",9304,0]],[9117,["op",9230,0]],[9118,["op",9155,0]],[9119,["op",9151,1]],[9120,["op",9177,1]],[9121,["op",9177,0]],[9122,["op",9135,0]],[9123,["op",9384,0]],[9124,["op",9266,1]],[9126,["op",9359,0]],[9128,["op",9120,0]],[9129,["op",9271,0]],[9130,["op",9308,0]],[9131,["op",9324,0]],[9132,["op",9231,0]],[9133,["op",9188,0]],[9135,["op",9172,0]],[9136,["op",9384,1]],[9137,["op",9258,0]],[9138,["op",9187,0]],[9140,["op",9273,0]],[9141,["op",9273,1]],[9142,["op",9295,0]],[9143,["op",9301,0]],[9144,["op",9361,0]],[9146,["op",9123,1]],[9147,["op",9180,0]],[9148,["op",9171,0]],[9149,["op",9330,0]],[9150,["op",9299,0]],[9151,["op",9285,0]],[9152,["op",9351,0]],[9154,["op",9340,0]],[9155,["op",9296,1]],[9156,["op",9152,0]],[9157,["op",9134,0]],[9158,["op",9291,0]],[9159,["op",9199,0]],[9160,["op",9200,0]],[9161,["op",9226,0]],[9163,["op",9207,0]],[9164,["op",9210,0]],[9165,["op",9366,1]],[9166,["op",9140,0]],[9167,["op",9212,0]],[9168,["op",9185,0]],[9169,["op",9309,0]],[9170,["op",9337,0]],[9171,["op",9300,0]],[9172,["op",9385,0]],[9173,["op",9290,0]],[9174,["op",9279,0]],[9175,["op",9290,1]],[9176,["op",9247,0]],[9178,["op",9197,0]],[9179,["op",9254,0]],[9180,["op",9372,0]],[9181,["op",9343,1]],[9182,["op",9338,1]],[9183,["op",9371,0]],[9184,["op",9258,1]],[9186,["op",9274,0]],[9187,["op",9228,0]],[9189,["op",9278,0]],[9190,["op",9133,0]],[9191,["op",9165,0]],[9192,["op",9332,0]],[9193,["op",9161,1]],[9194,["op",9370,0]],[9195,["op",9266,0]],[9196,["op",9257,0]],[9198,["op",9159,1]],[9199,["op",9217,1]],[9200,["op",9217,0]],[9201,["op",9321,0]],[9202,["op",9150,1]],[9203,["op",9326,0]],[9205,["op",9156,0]],[9206,["op",9306,0]],[9207,["op",9324,1]],[9208,["op",9280,1]],[9209,["op",9233,0]],[9211,["op",9136,0]],[9212,["op",9214,1]],[9214,["op",9276,1]],[9215,["op",9276,0]],[9216,["op",9164,0]],[9217,["op",9222,0]],[9218,["op",9228,1]],[9219,["op",9321,1]],[9220,["op",9334,0]],[9222,["op",9312,0]],[9223,["op",9281,0]],[9224,["op",9311,0]],[9225,["op",9296,0]],[9226,["op",9328,1]],[9229,["op",9348,0]],[9230,["op",9354,1]],[9231,["op",9225,0]],[9232,["op",9196,0]],[9233,["op",9265,0]],[9235,["op",9275,0]],[9236,["op",9256,0]],[9238,["op",9245,0]],[9239,["op",9250,0]],[9240,["op",9336,0]],[9241,["op",9179,1]],[9243,["op",9224,0]],[9244,["op",9305,0]],[9245,["op",9142,0]],[9248,["op",9186,0]],[9249,["op",9381,0]],[9250,["op",9264,0]],[9251,["op",9114,0]],[9252,["op",9242,1]],[9253,["op",9338,0]],[9254,["op",9286,1]],[9256,["op",9267,0]],[9257,["op",9284,0]],[9260,["op",9369,0]],[9262,["op",9170,1]],[9263,["op",9269,0]],[9264,["op",9368,1]],[9266,["op",9288,0]],[9268,["op",9259,1]],[9269,["op",9153,0]],[9270,["op",9316,1]],[9272,["op",9246,0]],[9273,["op",9214,0]],[9275,["op",9335,1]],[9276,["op",9144,0]],[9277,["op",9299,1]],[9278,["op",9356,0]],[9281,["op",9323,1]],[9282,["op",9249,1]],[9283,["op",9219,0]],[9286,["op",9194,0]],[9287,["op",9362,0]],[9288,["op",9125,1]],[9289,["op",9378,0]],[9290,["op",9161,0]],[9292,["op",9127,0]],[9295,["op",9246,1]],[9296,["op",9126,0]],[9297,["op",9329,0]],[9298,["op",9359,1]],[9302,["op",9237,0]],[9303,["op",9325,1]],[9304,["op",9308,1]],[9305,["op",9315,0]],[9307,["op",9293,1]],[9309,["op",9358,0]],[9310,["op",9213,0]],[9311,["op",9153,1]],[9312,["op",9331,0]],[9314,["op",9234,1]],[9318,["op",9169,0]],[9319,["op",9314,0]],[9326,["op",9265,1]],[9328,["op",9162,1]],[9330,["op",9317,1]],[9335,["op",9364,0]],[9338,["op",9376,0]],[9339,["op",9292,0]],[9340,["op",9127,1]],[9343,["op",9320,0]],[9344,["op",9260,1]],[9346,["op",9322,0]],[9347,["op",9342,1]],[9354,["op",9247,1]],[9355,["op",9179,0]],[9366,["op",9294,0]],[9375,["op",9374,0]],[9376,["op",9383,0]],[9381,["op",9285,1]],[9384,["op",9365,0]],[9387,["op",9484,0]],[9388,["op",9543,0]],[9389,["op",9577,0]],[9390,["op",9503,0]],[9391,["op",9428,0]],[9392,["op",9424,1]],[9393,["op",9450,1]],[9394,["op",9450,0]],[9395,["op",9408,0]],[9396,["op",9657,0]],[9397,["op",9539,1]],[9399,["op",9632,0]],[9401,["op",9393,0]],[9402,["op",9544,0]],[9403,["op",9581,0]],[9404,["op",9597,0]],[9405,["op",9504,0]],[9406,["op",9461,0]],[9408,["op",9445,0]],[9409,["op",9657,1]],[9410,["op",9531,0]],[9411,["op",9460,0]],[9413,["op",9546,0]],[9414,["op",9546,1]],[9415,["op",9568,0]],[9416,["op",9574,0]],[9417,["op",9634,0]],[9419,["op",9396,1]],[9420,["op",9453,0]],[9421,["op",9444,0]],[9422,["op",9603,0]],[9423,["op",9572,0]],[9424,["op",9558,0]],[9425,["op",9624,0]],[9427,["op",9613,0]],[9428,["op",9569,1]],[9429,["op",9425,0]],[9430,["op",9407,0]],[9431,["op",9564,0]],[9432,["op",9472,0]],[9433,["op",9473,0]],[9434,["op",9499,0]],[9436,["op",9480,0]],[9437,["op",9483,0]],[9438,["op",9639,1]],[9439,["op",9413,0]],[9440,["op",9485,0]],[9441,["op",9458,0]],[9442,["op",9582,0]],[9443,["op",9610,0]],[9444,["op",9573,0]],[9445,["op",9658,0]],[9446,["op",9563,0]],[9447,["op",9552,0]],[9448,["op",9563,1]],[9449,["op",9520,0]],[9451,["op",9470,0]],[9452,["op",9527,0]],[9453,["op",9645,0]],[9454,["op",9616,1]],[9455,["op",9611,1]],[9456,["op",9644,0]],[9457,["op",9531,1]],[9459,["op",9547,0]],[9460,["op",9501,0]],[9462,["op",9551,0]],[9463,["op",9406,0]],[9464,["op",9438,0]],[9465,["op",9605,0]],[9466,["op",9434,1]],[9467,["op",9643,0]],[9468,["op",9539,0]],[9469,["op",9530,0]],[9471,["op",9432,1]],[9472,["op",9490,1]],[9473,["op",9490,0]],[9474,["op",9594,0]],[9475,["op",9423,1]],[9476,["op",9599,0]],[9478,["op",9429,0]],[9479,["op",9579,0]],[9480,["op",9597,1]],[9481,["op",9553,1]],[9482,["op",9506,0]],[9484,["op",9409,0]],[9485,["op",9487,1]],[9487,["op",9549,1]],[9488,["op",9549,0]],[9489,["op",9437,0]],[9490,["op",9495,0]],[9491,["op",9501,1]],[9492,["op",9594,1]],[9493,["op",9607,0]],[9495,["op",9585,0]],[9496,["op",9554,0]],[9497,["op",9584,0]],[9498,["op",9569,0]],[9499,["op",9601,1]],[9502,["op",9621,0]],[9503,["op",9627,1]],[9504,["op",9498,0]],[9505,["op",9469,0]],[9506,["op",9538,0]],[9508,["op",9548,0]],[9509,["op",9529,0]],[9511,["op",9518,0]],[9512,["op",9523,0]],[9513,["op",9609,0]],[9514,["op",9452,1]],[9516,["op",9497,0]],[9517,["op",9578,0]],[9518,["op",9415,0]],[9521,["op",9459,0]],[9522,["op",9654,0]],[9523,["op",9537,0]],[9524,["op",9387,0]],[9525,["op",9515,1]],[9526,["op",9611,0]],[9527,["op",9559,1]],[9529,["op",9540,0]],[9530,["op",9557,0]],[9533,["op",9642,0]],[9535,["op",9443,1]],[9536,["op",9542,0]],[9537,["op",9641,1]],[9539,["op",9561,0]],[9541,["op",9532,1]],[9542,["op",9426,0]],[9543,["op",9589,1]],[9545,["op",9519,0]],[9546,["op",9487,0]],[9548,["op",9608,1]],[9549,["op",9417,0]],[9550,["op",9572,1]],[9551,["op",9629,0]],[9554,["op",9596,1]],[9555,["op",9522,1]],[9556,["op",9492,0]],[9559,["op",9467,0]],[9560,["op",9635,0]],[9561,["op",9398,1]],[9562,["op",9651,0]],[9563,["op",9434,0]],[9565,["op",9400,0]],[9568,["op",9519,1]],[9569,["op",9399,0]],[9570,["op",9602,0]],[9571,["op",9632,1]],[9575,["op",9510,0]],[9576,["op",9598,1]],[9577,["op",9581,1]],[9578,["op",9588,0]],[9580,["op",9566,1]],[9582,["op",9631,0]],[9583,["op",9486,0]],[9584,["op",9426,1]],[9585,["op",9604,0]],[9587,["op",9507,1]],[9591,["op",9442,0]],[9592,["op",9587,0]],[9599,["op",9538,1]],[9601,["op",9435,1]],[9603,["op",9590,1]],[9608,["op",9637,0]],[9611,["op",9649,0]],[9612,["op",9565,0]],[9613,["op",9400,1]],[9616,["op",9593,0]],[9617,["op",9533,1]],[9619,["op",9595,0]],[9620,["op",9615,1]],[9627,["op",9520,1]],[9628,["op",9452,0]],[9639,["op",9567,0]],[9648,["op",9647,0]],[9649,["op",9656,0]],[9654,["op",9558,1]],[9657,["op",9638,0]],[9660,["op",9672,0]],[9661,["op",9674,0]],[9662,["op",9682,0]],[9663,["op",9678,0]],[9664,["op",9670,0]],[9665,["op",9683,0]],[9667,["op",9680,0]],[9668,["op",9681,0]],[9669,["op",9668,1]],[9670,["op",9676,0]],[9671,["op",9683,1]],[9673,["op",9665,0]],[9674,["op",9666,0]],[9675,["op",9681,1]],[9677,["op",9676,1]],[9679,["op",9666,1]],[9684,["op",9696,0]],[9685,["op",9698,0]],[9686,["op",9706,0]],[9687,["op",9702,0]],[9688,["op",9694,0]],[9689,["op",9707,0]],[9691,["op",9704,0]],[9692,["op",9705,0]],[9693,["op",9692,1]],[9694,["op",9700,0]],[9695,["op",9707,1]],[9697,["op",9689,0]],[9698,["op",9690,0]],[9699,["op",9705,1]],[9701,["op",9700,1]],[9703,["op",9690,1]],[9708,["op",9720,0]],[9709,["op",9722,0]],[9710,["op",9730,0]],[9711,["op",9726,0]],[9712,["op",9718,0]],[9713,["op",9731,0]],[9715,["op",9728,0]],[9716,["op",9729,0]],[9717,["op",9716,1]],[9718,["op",9724,0]],[9719,["op",9731,1]],[9721,["op",9713,0]],[9722,["op",9714,0]],[9723,["op",9729,1]],[9725,["op",9724,1]],[9727,["op",9714,1]],[9732,["op",9744,0]],[9733,["op",9746,0]],[9734,["op",9754,0]],[9735,["op",9750,0]],[9736,["op",9742,0]],[9737,["op",9755,0]],[9739,["op",9752,0]],[9740,["op",9753,0]],[9741,["op",9740,1]],[9742,["op",9748,0]],[9743,["op",9755,1]],[9745,["op",9737,0]],[9746,["op",9738,0]],[9747,["op",9753,1]],[9749,["op",9748,1]],[9751,["op",9738,1]],[9756,["op",9768,0]],[9757,["op",9770,0]],[9758,["op",9778,0]],[9759,["op",9774,0]],[9760,["op",9766,0]],[9761,["op",9779,0]],[9763,["op",9776,0]],[9764,["op",9777,0]],[9765,["op",9764,1]],[9766,["op",9772,0]],[9767,["op",9779,1]],[9769,["op",9761,0]],[9770,["op",9762,0]],[9771,["op",9777,1]],[9773,["op",9772,1]],[9775,["op",9762,1]],[9780,["op",9792,0]],[9781,["op",9794,0]],[9782,["op",9802,0]],[9783,["op",9798,0]],[9784,["op",9790,0]],[9785,["op",9803,0]],[9787,["op",9800,0]],[9788,["op",9801,0]],[9789,["op",9788,1]],[9790,["op",9796,0]],[9791,["op",9803,1]],[9793,["op",9785,0]],[9794,["op",9786,0]],[9795,["op",9801,1]],[9797,["op",9796,1]],[9799,["op",9786,1]],[9804,["op",9816,0]],[9805,["op",9818,0]],[9806,["op",9826,0]],[9807,["op",9822,0]],[9808,["op",9814,0]],[9809,["op",9827,0]],[9811,["op",9824,0]],[9812,["op",9825,0]],[9813,["op",9812,1]],[9814,["op",9820,0]],[9815,["op",9827,1]],[9817,["op",9809,0]],[9818,["op",9810,0]],[9819,["op",9825,1]],[9821,["op",9820,1]],[9823,["op",9810,1]],[9828,["op",9840,0]],[9829,["op",9842,0]],[9830,["op",9850,0]],[9831,["op",9846,0]],[9832,["op",9838,0]],[9833,["op",9851,0]],[9835,["op",9848,0]],[9836,["op",9849,0]],[9837,["op",9836,1]],[9838,["op",9844,0]],[9839,["op",9851,1]],[9841,["op",9833,0]],[9842,["op",9834,0]],[9843,["op",9849,1]],[9845,["op",9844,1]],[9847,["op",9834,1]],[9852,["op",9864,0]],[9853,["op",9866,0]],[9854,["op",9874,0]],[9855,["op",9870,0]],[9856,["op",9862,0]],[9857,["op",9875,0]],[9859,["op",9872,0]],[9860,["op",9873,0]],[9861,["op",9860,1]],[9862,["op",9868,0]],[9863,["op",9875,1]],[9865,["op",9857,0]],[9866,["op",9858,0]],[9867,["op",9873,1]],[9869,["op",9868,1]],[9871,["op",9858,1]],[9876,["op",9888,0]],[9877,["op",9890,0]],[9878,["op",9898,0]],[9879,["op",9894,0]],[9880,["op",9886,0]],[9881,["op",9899,0]],[9883,["op",9896,0]],[9884,["op",9897,0]],[9885,["op",9884,1]],[9886,["op",9892,0]],[9887,["op",9899,1]],[9889,["op",9881,0]],[9890,["op",9882,0]],[9891,["op",9897,1]],[9893,["op",9892,1]],[9895,["op",9882,1]],[9900,["op",9912,0]],[9901,["op",9914,0]],[9902,["op",9922,0]],[9903,["op",9918,0]],[9904,["op",9910,0]],[9905,["op",9923,0]],[9907,["op",9920,0]],[9908,["op",9921,0]],[9909,["op",9908,1]],[9910,["op",9916,0]],[9911,["op",9923,1]],[9913,["op",9905,0]],[9914,["op",9906,0]],[9915,["op",9921,1]],[9917,["op",9916,1]],[9919,["op",9906,1]],[9924,["op",9936,0]],[9925,["op",9938,0]],[9926,["op",9946,0]],[9927,["op",9942,0]],[9928,["op",9934,0]],[9929,["op",9947,0]],[9931,["op",9944,0]],[9932,["op",9945,0]],[9933,["op",9932,1]],[9934,["op",9940,0]],[9935,["op",9947,1]],[9937,["op",9929,0]],[9938,["op",9930,0]],[9939,["op",9945,1]],[9941,["op",9940,1]],[9943,["op",9930,1]],[9948,["op",9960,0]],[9949,["op",9962,0]],[9950,["op",9970,0]],[9951,["op",9966,0]],[9952,["op",9958,0]],[9953,["op",9971,0]],[9955,["op",9968,0]],[9956,["op",9969,0]],[9957,["op",9956,1]],[9958,["op",9964,0]],[9959,["op",9971,1]],[9961,["op",9953,0]],[9962,["op",9954,0]],[9963,["op",9969,1]],[9965,["op",9964,1]],[9967,["op",9954,1]],[9972,["op",9984,0]],[9973,["op",9986,0]],[9974,["op",9994,0]],[9975,["op",9990,0]],[9976,["op",9982,0]],[9977,["op",9995,0]],[9979,["op",9992,0]],[9980,["op",9993,0]],[9981,["op",9980,1]],[9982,["op",9988,0]],[9983,["op",9995,1]],[9985,["op",9977,0]],[9986,["op",9978,0]],[9987,["op",9993,1]],[9989,["op",9988,1]],[9991,["op",9978,1]],[9996,["op",10008,0]],[9997,["op",10010,0]],[9998,["op",10018,0]],[9999,["op",10014,0]],[10000,["op",10006,0]],[10001,["op",10019,0]],[10003,["op",10016,0]],[10004,["op",10017,0]],[10005,["op",10004,1]],[10006,["op",10012,0]],[10007,["op",10019,1]],[10009,["op",10001,0]],[10010,["op",10002,0]],[10011,["op",10017,1]],[10013,["op",10012,1]],[10015,["op",10002,1]],[10020,["op",10032,0]],[10021,["op",10034,0]],[10022,["op",10042,0]],[10023,["op",10038,0]],[10024,["op",10030,0]],[10025,["op",10043,0]],[10027,["op",10040,0]],[10028,["op",10041,0]],[10029,["op",10028,1]],[10030,["op",10036,0]],[10031,["op",10043,1]],[10033,["op",10025,0]],[10034,["op",10026,0]],[10035,["op",10041,1]],[10037,["op",10036,1]],[10039,["op",10026,1]],[10044,["op",10056,0]],[10045,["op",10058,0]],[10046,["op",10066,0]],[10047,["op",10062,0]],[10048,["op",10054,0]],[10049,["op",10067,0]],[10051,["op",10064,0]],[10052,["op",10065,0]],[10053,["op",10052,1]],[10054,["op",10060,0]],[10055,["op",10067,1]],[10057,["op",10049,0]],[10058,["op",10050,0]],[10059,["op",10065,1]],[10061,["op",10060,1]],[10063,["op",10050,1]],[10068,["op",10080,0]],[10069,["op",10082,0]],[10070,["op",10090,0]],[10071,["op",10086,0]],[10072,["op",10078,0]],[10073,["op",10091,0]],[10075,["op",10088,0]],[10076,["op",10089,0]],[10077,["op",10076,1]],[10078,["op",10084,0]],[10079,["op",10091,1]],[10081,["op",10073,0]],[10082,["op",10074,0]],[10083,["op",10089,1]],[10085,["op",10084,1]],[10087,["op",10074,1]],[10092,["op",10104,0]],[10093,["op",10106,0]],[10094,["op",10114,0]],[10095,["op",10110,0]],[10096,["op",10102,0]],[10097,["op",10115,0]],[10099,["op",10112,0]],[10100,["op",10113,0]],[10101,["op",10100,1]],[10102,["op",10108,0]],[10103,["op",10115,1]],[10105,["op",10097,0]],[10106,["op",10098,0]],[10107,["op",10113,1]],[10109,["op",10108,1]],[10111,["op",10098,1]],[10116,["op",10128,0]],[10117,["op",10130,0]],[10118,["op",10138,0]],[10119,["op",10134,0]],[10120,["op",10126,0]],[10121,["op",10139,0]],[10123,["op",10136,0]],[10124,["op",10137,0]],[10125,["op",10124,1]],[10126,["op",10132,0]],[10127,["op",10139,1]],[10129,["op",10121,0]],[10130,["op",10122,0]],[10131,["op",10137,1]],[10133,["op",10132,1]],[10135,["op",10122,1]],[10140,["op",10152,0]],[10141,["op",10154,0]],[10142,["op",10162,0]],[10143,["op",10158,0]],[10144,["op",10150,0]],[10145,["op",10163,0]],[10147,["op",10160,0]],[10148,["op",10161,0]],[10149,["op",10148,1]],[10150,["op",10156,0]],[10151,["op",10163,1]],[10153,["op",10145,0]],[10154,["op",10146,0]],[10155,["op",10161,1]],[10157,["op",10156,1]],[10159,["op",10146,1]],[10164,["op",10176,0]],[10165,["op",10178,0]],[10166,["op",10186,0]],[10167,["op",10182,0]],[10168,["op",10174,0]],[10169,["op",10187,0]],[10171,["op",10184,0]],[10172,["op",10185,0]],[10173,["op",10172,1]],[10174,["op",10180,0]],[10175,["op",10187,1]],[10177,["op",10169,0]],[10178,["op",10170,0]],[10179,["op",10185,1]],[10181,["op",10180,1]],[10183,["op",10170,1]],[10188,["op",10200,0]],[10189,["op",10202,0]],[10190,["op",10210,0]],[10191,["op",10206,0]],[10192,["op",10198,0]],[10193,["op",10211,0]],[10195,["op",10208,0]],[10196,["op",10209,0]],[10197,["op",10196,1]],[10198,["op",10204,0]],[10199,["op",10211,1]],[10201,["op",10193,0]],[10202,["op",10194,0]],[10203,["op",10209,1]],[10205,["op",10204,1]],[10207,["op",10194,1]],[10212,["op",10224,0]],[10213,["op",10226,0]],[10214,["op",10234,0]],[10215,["op",10230,0]],[10216,["op",10222,0]],[10217,["op",10235,0]],[10219,["op",10232,0]],[10220,["op",10233,0]],[10221,["op",10220,1]],[10222,["op",10228,0]],[10223,["op",10235,1]],[10225,["op",10217,0]],[10226,["op",10218,0]],[10227,["op",10233,1]],[10229,["op",10228,1]],[10231,["op",10218,1]],[10236,["op",10248,0]],[10237,["op",10250,0]],[10238,["op",10258,0]],[10239,["op",10254,0]],[10240,["op",10246,0]],[10241,["op",10259,0]],[10243,["op",10256,0]],[10244,["op",10257,0]],[10245,["op",10244,1]],[10246,["op",10252,0]],[10247,["op",10259,1]],[10249,["op",10241,0]],[10250,["op",10242,0]],[10251,["op",10257,1]],[10253,["op",10252,1]],[10255,["op",10242,1]],[10260,["op",10272,0]],[10261,["op",10274,0]],[10262,["op",10282,0]],[10263,["op",10278,0]],[10264,["op",10270,0]],[10265,["op",10283,0]],[10267,["op",10280,0]],[10268,["op",10281,0]],[10269,["op",10268,1]],[10270,["op",10276,0]],[10271,["op",10283,1]],[10273,["op",10265,0]],[10274,["op",10266,0]],[10275,["op",10281,1]],[10277,["op",10276,1]],[10279,["op",10266,1]],[10284,["op",10296,0]],[10285,["op",10298,0]],[10286,["op",10306,0]],[10287,["op",10302,0]],[10288,["op",10294,0]],[10289,["op",10307,0]],[10291,["op",10304,0]],[10292,["op",10305,0]],[10293,["op",10292,1]],[10294,["op",10300,0]],[10295,["op",10307,1]],[10297,["op",10289,0]],[10298,["op",10290,0]],[10299,["op",10305,1]],[10301,["op",10300,1]],[10303,["op",10290,1]],[10308,["op",10320,0]],[10309,["op",10322,0]],[10310,["op",10330,0]],[10311,["op",10326,0]],[10312,["op",10318,0]],[10313,["op",10331,0]],[10315,["op",10328,0]],[10316,["op",10329,0]],[10317,["op",10316,1]],[10318,["op",10324,0]],[10319,["op",10331,1]],[10321,["op",10313,0]],[10322,["op",10314,0]],[10323,["op",10329,1]],[10325,["op",10324,1]],[10327,["op",10314,1]],[10332,["op",10344,0]],[10333,["op",10346,0]],[10334,["op",10354,0]],[10335,["op",10350,0]],[10336,["op",10342,0]],[10337,["op",10355,0]],[10339,["op",10352,0]],[10340,["op",10353,0]],[10341,["op",10340,1]],[10342,["op",10348,0]],[10343,["op",10355,1]],[10345,["op",10337,0]],[10346,["op",10338,0]],[10347,["op",10353,1]],[10349,["op",10348,1]],[10351,["op",10338,1]],[10356,["op",10368,0]],[10357,["op",10370,0]],[10358,["op",10378,0]],[10359,["op",10374,0]],[10360,["op",10366,0]],[10361,["op",10379,0]],[10363,["op",10376,0]],[10364,["op",10377,0]],[10365,["op",10364,1]],[10366,["op",10372,0]],[10367,["op",10379,1]],[10369,["op",10361,0]],[10370,["op",10362,0]],[10371,["op",10377,1]],[10373,["op",10372,1]],[10375,["op",10362,1]],[10380,["op",10392,0]],[10381,["op",10394,0]],[10382,["op",10402,0]],[10383,["op",10398,0]],[10384,["op",10390,0]],[10385,["op",10403,0]],[10387,["op",10400,0]],[10388,["op",10401,0]],[10389,["op",10388,1]],[10390,["op",10396,0]],[10391,["op",10403,1]],[10393,["op",10385,0]],[10394,["op",10386,0]],[10395,["op",10401,1]],[10397,["op",10396,1]],[10399,["op",10386,1]],[10404,["op",10416,0]],[10405,["op",10418,0]],[10406,["op",10426,0]],[10407,["op",10422,0]],[10408,["op",10414,0]],[10409,["op",10427,0]],[10411,["op",10424,0]],[10412,["op",10425,0]],[10413,["op",10412,1]],[10414,["op",10420,0]],[10415,["op",10427,1]],[10417,["op",10409,0]],[10418,["op",10410,0]],[10419,["op",10425,1]],[10421,["op",10420,1]],[10423,["op",10410,1]],[10428,["op",10440,0]],[10429,["op",10442,0]],[10430,["op",10450,0]],[10431,["op",10446,0]],[10432,["op",10438,0]],[10433,["op",10451,0]],[10435,["op",10448,0]],[10436,["op",10449,0]],[10437,["op",10436,1]],[10438,["op",10444,0]],[10439,["op",10451,1]],[10441,["op",10433,0]],[10442,["op",10434,0]],[10443,["op",10449,1]],[10445,["op",10444,1]],[10447,["op",10434,1]],[10452,["op",10464,0]],[10453,["op",10466,0]],[10454,["op",10474,0]],[10455,["op",10470,0]],[10456,["op",10462,0]],[10457,["op",10475,0]],[10459,["op",10472,0]],[10460,["op",10473,0]],[10461,["op",10460,1]],[10462,["op",10468,0]],[10463,["op",10475,1]],[10465,["op",10457,0]],[10466,["op",10458,0]],[10467,["op",10473,1]],[10469,["op",10468,1]],[10471,["op",10458,1]],[10476,["op",10488,0]],[10477,["op",10490,0]],[10478,["op",10498,0]],[10479,["op",10494,0]],[10480,["op",10486,0]],[10481,["op",10499,0]],[10483,["op",10496,0]],[10484,["op",10497,0]],[10485,["op",10484,1]],[10486,["op",10492,0]],[10487,["op",10499,1]],[10489,["op",10481,0]],[10490,["op",10482,0]],[10491,["op",10497,1]],[10493,["op",10492,1]],[10495,["op",10482,1]],[10500,["op",10512,0]],[10501,["op",10514,0]],[10502,["op",10522,0]],[10503,["op",10518,0]],[10504,["op",10510,0]],[10505,["op",10523,0]],[10507,["op",10520,0]],[10508,["op",10521,0]],[10509,["op",10508,1]],[10510,["op",10516,0]],[10511,["op",10523,1]],[10513,["op",10505,0]],[10514,["op",10506,0]],[10515,["op",10521,1]],[10517,["op",10516,1]],[10519,["op",10506,1]],[10524,["op",10536,0]],[10525,["op",10538,0]],[10526,["op",10546,0]],[10527,["op",10542,0]],[10528,["op",10534,0]],[10529,["op",10547,0]],[10531,["op",10544,0]],[10532,["op",10545,0]],[10533,["op",10532,1]],[10534,["op",10540,0]],[10535,["op",10547,1]],[10537,["op",10529,0]],[10538,["op",10530,0]],[10539,["op",10545,1]],[10541,["op",10540,1]],[10543,["op",10530,1]],[10548,["op",10560,0]],[10549,["op",10562,0]],[10550,["op",10570,0]],[10551,["op",10566,0]],[10552,["op",10558,0]],[10553,["op",10571,0]],[10555,["op",10568,0]],[10556,["op",10569,0]],[10557,["op",10556,1]],[10558,["op",10564,0]],[10559,["op",10571,1]],[10561,["op",10553,0]],[10562,["op",10554,0]],[10563,["op",10569,1]],[10565,["op",10564,1]],[10567,["op",10554,1]],[10572,["op",10584,0]],[10573,["op",10586,0]],[10574,["op",10594,0]],[10575,["op",10590,0]],[10576,["op",10582,0]],[10577,["op",10595,0]],[10579,["op",10592,0]],[10580,["op",10593,0]],[10581,["op",10580,1]],[10582,["op",10588,0]],[10583,["op",10595,1]],[10585,["op",10577,0]],[10586,["op",10578,0]],[10587,["op",10593,1]],[10589,["op",10588,1]],[10591,["op",10578,1]],[10596,["op",10608,0]],[10597,["op",10610,0]],[10598,["op",10618,0]],[10599,["op",10614,0]],[10600,["op",10606,0]],[10601,["op",10619,0]],[10603,["op",10616,0]],[10604,["op",10617,0]],[10605,["op",10604,1]],[10606,["op",10612,0]],[10607,["op",10619,1]],[10609,["op",10601,0]],[10610,["op",10602,0]],[10611,["op",10617,1]],[10613,["op",10612,1]],[10615,["op",10602,1]],[10620,["op",10632,0]],[10621,["op",10634,0]],[10622,["op",10642,0]],[10623,["op",10638,0]],[10624,["op",10630,0]],[10625,["op",10643,0]],[10627,["op",10640,0]],[10628,["op",10641,0]],[10629,["op",10628,1]],[10630,["op",10636,0]],[10631,["op",10643,1]],[10633,["op",10625,0]],[10634,["op",10626,0]],[10635,["op",10641,1]],[10637,["op",10636,1]],[10639,["op",10626,1]],[10644,["op",10656,0]],[10645,["op",10658,0]],[10646,["op",10666,0]],[10647,["op",10662,0]],[10648,["op",10654,0]],[10649,["op",10667,0]],[10651,["op",10664,0]],[10652,["op",10665,0]],[10653,["op",10652,1]],[10654,["op",10660,0]],[10655,["op",10667,1]],[10657,["op",10649,0]],[10658,["op",10650,0]],[10659,["op",10665,1]],[10661,["op",10660,1]],[10663,["op",10650,1]],[10668,["op",10680,0]],[10669,["op",10682,0]],[10670,["op",10690,0]],[10671,["op",10686,0]],[10672,["op",10678,0]],[10673,["op",10691,0]],[10675,["op",10688,0]],[10676,["op",10689,0]],[10677,["op",10676,1]],[10678,["op",10684,0]],[10679,["op",10691,1]],[10681,["op",10673,0]],[10682,["op",10674,0]],[10683,["op",10689,1]],[10685,["op",10684,1]],[10687,["op",10674,1]],[10692,["op",10704,0]],[10693,["op",10706,0]],[10694,["op",10714,0]],[10695,["op",10710,0]],[10696,["op",10702,0]],[10697,["op",10715,0]],[10699,["op",10712,0]],[10700,["op",10713,0]],[10701,["op",10700,1]],[10702,["op",10708,0]],[10703,["op",10715,1]],[10705,["op",10697,0]],[10706,["op",10698,0]],[10707,["op",10713,1]],[10709,["op",10708,1]],[10711,["op",10698,1]],[10716,["op",10728,0]],[10717,["op",10730,0]],[10718,["op",10738,0]],[10719,["op",10734,0]],[10720,["op",10726,0]],[10721,["op",10739,0]],[10723,["op",10736,0]],[10724,["op",10737,0]],[10725,["op",10724,1]],[10726,["op",10732,0]],[10727,["op",10739,1]],[10729,["op",10721,0]],[10730,["op",10722,0]],[10731,["op",10737,1]],[10733,["op",10732,1]],[10735,["op",10722,1]],[10740,["op",10752,0]],[10741,["op",10754,0]],[10742,["op",10762,0]],[10743,["op",10758,0]],[10744,["op",10750,0]],[10745,["op",10763,0]],[10747,["op",10760,0]],[10748,["op",10761,0]],[10749,["op",10748,1]],[10750,["op",10756,0]],[10751,["op",10763,1]],[10753,["op",10745,0]],[10754,["op",10746,0]],[10755,["op",10761,1]],[10757,["op",10756,1]],[10759,["op",10746,1]],[10764,["op",10776,0]],[10765,["op",10778,0]],[10766,["op",10786,0]],[10767,["op",10782,0]],[10768,["op",10774,0]],[10769,["op",10787,0]],[10771,["op",10784,0]],[10772,["op",10785,0]],[10773,["op",10772,1]],[10774,["op",10780,0]],[10775,["op",10787,1]],[10777,["op",10769,0]],[10778,["op",10770,0]],[10779,["op",10785,1]],[10781,["op",10780,1]],[10783,["op",10770,1]],[10788,["op",10800,0]],[10789,["op",10802,0]],[10790,["op",10810,0]],[10791,["op",10806,0]],[10792,["op",10798,0]],[10793,["op",10811,0]],[10795,["op",10808,0]],[10796,["op",10809,0]],[10797,["op",10796,1]],[10798,["op",10804,0]],[10799,["op",10811,1]],[10801,["op",10793,0]],[10802,["op",10794,0]],[10803,["op",10809,1]],[10805,["op",10804,1]],[10807,["op",10794,1]],[10812,["op",10824,0]],[10813,["op",10826,0]],[10814,["op",10834,0]],[10815,["op",10830,0]],[10816,["op",10822,0]],[10817,["op",10835,0]],[10819,["op",10832,0]],[10820,["op",10833,0]],[10821,["op",10820,1]],[10822,["op",10828,0]],[10823,["op",10835,1]],[10825,["op",10817,0]],[10826,["op",10818,0]],[10827,["op",10833,1]],[10829,["op",10828,1]],[10831,["op",10818,1]],[10836,["op",10848,0]],[10837,["op",10850,0]],[10838,["op",10858,0]],[10839,["op",10854,0]],[10840,["op",10846,0]],[10841,["op",10859,0]],[10843,["op",10856,0]],[10844,["op",10857,0]],[10845,["op",10844,1]],[10846,["op",10852,0]],[10847,["op",10859,1]],[10849,["op",10841,0]],[10850,["op",10842,0]],[10851,["op",10857,1]],[10853,["op",10852,1]],[10855,["op",10842,1]],[10860,["op",10872,0]],[10861,["op",10874,0]],[10862,["op",10882,0]],[10863,["op",10878,0]],[10864,["op",10870,0]],[10865,["op",10883,0]],[10867,["op",10880,0]],[10868,["op",10881,0]],[10869,["op",10868,1]],[10870,["op",10876,0]],[10871,["op",10883,1]],[10873,["op",10865,0]],[10874,["op",10866,0]],[10875,["op",10881,1]],[10877,["op",10876,1]],[10879,["op",10866,1]],[10884,["op",10896,0]],[10885,["op",10898,0]],[10886,["op",10906,0]],[10887,["op",10902,0]],[10888,["op",10894,0]],[10889,["op",10907,0]],[10891,["op",10904,0]],[10892,["op",10905,0]],[10893,["op",10892,1]],[10894,["op",10900,0]],[10895,["op",10907,1]],[10897,["op",10889,0]],[10898,["op",10890,0]],[10899,["op",10905,1]],[10901,["op",10900,1]],[10903,["op",10890,1]],[10908,["op",10920,0]],[10909,["op",10922,0]],[10910,["op",10930,0]],[10911,["op",10926,0]],[10912,["op",10918,0]],[10913,["op",10931,0]],[10915,["op",10928,0]],[10916,["op",10929,0]],[10917,["op",10916,1]],[10918,["op",10924,0]],[10919,["op",10931,1]],[10921,["op",10913,0]],[10922,["op",10914,0]],[10923,["op",10929,1]],[10925,["op",10924,1]],[10927,["op",10914,1]],[10932,["op",10944,0]],[10933,["op",10946,0]],[10934,["op",10954,0]],[10935,["op",10950,0]],[10936,["op",10942,0]],[10937,["op",10955,0]],[10939,["op",10952,0]],[10940,["op",10953,0]],[10941,["op",10940,1]],[10942,["op",10948,0]],[10943,["op",10955,1]],[10945,["op",10937,0]],[10946,["op",10938,0]],[10947,["op",10953,1]],[10949,["op",10948,1]],[10951,["op",10938,1]],[10956,["op",10968,0]],[10957,["op",10970,0]],[10958,["op",10978,0]],[10959,["op",10974,0]],[10960,["op",10966,0]],[10961,["op",10979,0]],[10963,["op",10976,0]],[10964,["op",10977,0]],[10965,["op",10964,1]],[10966,["op",10972,0]],[10967,["op",10979,1]],[10969,["op",10961,0]],[10970,["op",10962,0]],[10971,["op",10977,1]],[10973,["op",10972,1]],[10975,["op",10962,1]],[10980,["op",10992,0]],[10981,["op",10994,0]],[10982,["op",11002,0]],[10983,["op",10998,0]],[10984,["op",10990,0]],[10985,["op",11003,0]],[10987,["op",11000,0]],[10988,["op",11001,0]],[10989,["op",10988,1]],[10990,["op",10996,0]],[10991,["op",11003,1]],[10993,["op",10985,0]],[10994,["op",10986,0]],[10995,["op",11001,1]],[10997,["op",10996,1]],[10999,["op",10986,1]],[11004,["op",11016,0]],[11005,["op",11018,0]],[11006,["op",11026,0]],[11007,["op",11022,0]],[11008,["op",11014,0]],[11009,["op",11027,0]],[11011,["op",11024,0]],[11012,["op",11025,0]],[11013,["op",11012,1]],[11014,["op",11020,0]],[11015,["op",11027,1]],[11017,["op",11009,0]],[11018,["op",11010,0]],[11019,["op",11025,1]],[11021,["op",11020,1]],[11023,["op",11010,1]],[11028,["op",11040,0]],[11029,["op",11042,0]],[11030,["op",11050,0]],[11031,["op",11046,0]],[11032,["op",11038,0]],[11033,["op",11051,0]],[11035,["op",11048,0]],[11036,["op",11049,0]],[11037,["op",11036,1]],[11038,["op",11044,0]],[11039,["op",11051,1]],[11041,["op",11033,0]],[11042,["op",11034,0]],[11043,["op",11049,1]],[11045,["op",11044,1]],[11047,["op",11034,1]],[11052,["op",11064,0]],[11053,["op",11066,0]],[11054,["op",11074,0]],[11055,["op",11070,0]],[11056,["op",11062,0]],[11057,["op",11075,0]],[11059,["op",11072,0]],[11060,["op",11073,0]],[11061,["op",11060,1]],[11062,["op",11068,0]],[11063,["op",11075,1]],[11065,["op",11057,0]],[11066,["op",11058,0]],[11067,["op",11073,1]],[11069,["op",11068,1]],[11071,["op",11058,1]],[11076,["op",11088,0]],[11077,["op",11090,0]],[11078,["op",11098,0]],[11079,["op",11094,0]],[11080,["op",11086,0]],[11081,["op",11099,0]],[11083,["op",11096,0]],[11084,["op",11097,0]],[11085,["op",11084,1]],[11086,["op",11092,0]],[11087,["op",11099,1]],[11089,["op",11081,0]],[11090,["op",11082,0]],[11091,["op",11097,1]],[11093,["op",11092,1]],[11095,["op",11082,1]],[11100,["op",11112,0]],[11101,["op",11114,0]],[11102,["op",11122,0]],[11103,["op",11118,0]],[11104,["op",11110,0]],[11105,["op",11123,0]],[11107,["op",11120,0]],[11108,["op",11121,0]],[11109,["op",11108,1]],[11110,["op",11116,0]],[11111,["op",11123,1]],[11113,["op",11105,0]],[11114,["op",11106,0]],[11115,["op",11121,1]],[11117,["op",11116,1]],[11119,["op",11106,1]],[11124,["op",11136,0]],[11125,["op",11138,0]],[11126,["op",11146,0]],[11127,["op",11142,0]],[11128,["op",11134,0]],[11129,["op",11147,0]],[11131,["op",11144,0]],[11132,["op",11145,0]],[11133,["op",11132,1]],[11134,["op",11140,0]],[11135,["op",11147,1]],[11137,["op",11129,0]],[11138,["op",11130,0]],[11139,["op",11145,1]],[11141,["op",11140,1]],[11143,["op",11130,1]],[11148,["op",11160,0]],[11149,["op",11162,0]],[11150,["op",11170,0]],[11151,["op",11166,0]],[11152,["op",11158,0]],[11153,["op",11171,0]],[11155,["op",11168,0]],[11156,["op",11169,0]],[11157,["op",11156,1]],[11158,["op",11164,0]],[11159,["op",11171,1]],[11161,["op",11153,0]],[11162,["op",11154,0]],[11163,["op",11169,1]],[11165,["op",11164,1]],[11167,["op",11154,1]],[11172,["op",11184,0]],[11173,["op",11186,0]],[11174,["op",11194,0]],[11175,["op",11190,0]],[11176,["op",11182,0]],[11177,["op",11195,0]],[11179,["op",11192,0]],[11180,["op",11193,0]],[11181,["op",11180,1]],[11182,["op",11188,0]],[11183,["op",11195,1]],[11185,["op",11177,0]],[11186,["op",11178,0]],[11187,["op",11193,1]],[11189,["op",11188,1]],[11191,["op",11178,1]],[11196,["op",11208,0]],[11197,["op",11210,0]],[11198,["op",11218,0]],[11199,["op",11214,0]],[11200,["op",11206,0]],[11201,["op",11219,0]],[11203,["op",11216,0]],[11204,["op",11217,0]],[11205,["op",11204,1]],[11206,["op",11212,0]],[11207,["op",11219,1]],[11209,["op",11201,0]],[11210,["op",11202,0]],[11211,["op",11217,1]],[11213,["op",11212,1]],[11215,["op",11202,1]],[11220,["op",11232,0]],[11221,["op",11234,0]],[11222,["op",11242,0]],[11223,["op",11238,0]],[11224,["op",11230,0]],[11225,["op",11243,0]],[11227,["op",11240,0]],[11228,["op",11241,0]],[11229,["op",11228,1]],[11230,["op",11236,0]],[11231,["op",11243,1]],[11233,["op",11225,0]],[11234,["op",11226,0]],[11235,["op",11241,1]],[11237,["op",11236,1]],[11239,["op",11226,1]],[11244,["op",11256,0]],[11245,["op",11258,0]],[11246,["op",11266,0]],[11247,["op",11262,0]],[11248,["op",11254,0]],[11249,["op",11267,0]],[11251,["op",11264,0]],[11252,["op",11265,0]],[11253,["op",11252,1]],[11254,["op",11260,0]],[11255,["op",11267,1]],[11257,["op",11249,0]],[11258,["op",11250,0]],[11259,["op",11265,1]],[11261,["op",11260,1]],[11263,["op",11250,1]],[11268,["op",11280,0]],[11269,["op",11282,0]],[11270,["op",11290,0]],[11271,["op",11286,0]],[11272,["op",11278,0]],[11273,["op",11291,0]],[11275,["op",11288,0]],[11276,["op",11289,0]],[11277,["op",11276,1]],[11278,["op",11284,0]],[11279,["op",11291,1]],[11281,["op",11273,0]],[11282,["op",11274,0]],[11283,["op",11289,1]],[11285,["op",11284,1]],[11287,["op",11274,1]],[11292,["op",11304,0]],[11293,["op",11306,0]],[11294,["op",11314,0]],[11295,["op",11310,0]],[11296,["op",11302,0]],[11297,["op",11315,0]],[11299,["op",11312,0]],[11300,["op",11313,0]],[11301,["op",11300,1]],[11302,["op",11308,0]],[11303,["op",11315,1]],[11305,["op",11297,0]],[11306,["op",11298,0]],[11307,["op",11313,1]],[11309,["op",11308,1]],[11311,["op",11298,1]],[11316,["op",11328,0]],[11317,["op",11330,0]],[11318,["op",11338,0]],[11319,["op",11334,0]],[11320,["op",11326,0]],[11321,["op",11339,0]],[11323,["op",11336,0]],[11324,["op",11337,0]],[11325,["op",11324,1]],[11326,["op",11332,0]],[11327,["op",11339,1]],[11329,["op",11321,0]],[11330,["op",11322,0]],[11331,["op",11337,1]],[11333,["op",11332,1]],[11335,["op",11322,1]],[11340,["op",11352,0]],[11341,["op",11354,0]],[11342,["op",11362,0]],[11343,["op",11358,0]],[11344,["op",11350,0]],[11345,["op",11363,0]],[11347,["op",11360,0]],[11348,["op",11361,0]],[11349,["op",11348,1]],[11350,["op",11356,0]],[11351,["op",11363,1]],[11353,["op",11345,0]],[11354,["op",11346,0]],[11355,["op",11361,1]],[11357,["op",11356,1]],[11359,["op",11346,1]],[11364,["op",11376,0]],[11365,["op",11378,0]],[11366,["op",11386,0]],[11367,["op",11382,0]],[11368,["op",11374,0]],[11369,["op",11387,0]],[11371,["op",11384,0]],[11372,["op",11385,0]],[11373,["op",11372,1]],[11374,["op",11380,0]],[11375,["op",11387,1]],[11377,["op",11369,0]],[11378,["op",11370,0]],[11379,["op",11385,1]],[11381,["op",11380,1]],[11383,["op",11370,1]],[11388,["op",11400,0]],[11389,["op",11402,0]],[11390,["op",11410,0]],[11391,["op",11406,0]],[11392,["op",11398,0]],[11393,["op",11411,0]],[11395,["op",11408,0]],[11396,["op",11409,0]],[11397,["op",11396,1]],[11398,["op",11404,0]],[11399,["op",11411,1]],[11401,["op",11393,0]],[11402,["op",11394,0]],[11403,["op",11409,1]],[11405,["op",11404,1]],[11407,["op",11394,1]],[11412,["op",11424,0]],[11413,["op",11426,0]],[11414,["op",11434,0]],[11415,["op",11430,0]],[11416,["op",11422,0]],[11417,["op",11435,0]],[11419,["op",11432,0]],[11420,["op",11433,0]],[11421,["op",11420,1]],[11422,["op",11428,0]],[11423,["op",11435,1]],[11425,["op",11417,0]],[11426,["op",11418,0]],[11427,["op",11433,1]],[11429,["op",11428,1]],[11431,["op",11418,1]],[11436,["op",11448,0]],[11437,["op",11450,0]],[11438,["op",11458,0]],[11439,["op",11454,0]],[11440,["op",11446,0]],[11441,["op",11459,0]],[11443,["op",11456,0]],[11444,["op",11457,0]],[11445,["op",11444,1]],[11446,["op",11452,0]],[11447,["op",11459,1]],[11449,["op",11441,0]],[11450,["op",11442,0]],[11451,["op",11457,1]],[11453,["op",11452,1]],[11455,["op",11442,1]],[11460,["op",11472,0]],[11461,["op",11474,0]],[11462,["op",11482,0]],[11463,["op",11478,0]],[11464,["op",11470,0]],[11465,["op",11483,0]],[11467,["op",11480,0]],[11468,["op",11481,0]],[11469,["op",11468,1]],[11470,["op",11476,0]],[11471,["op",11483,1]],[11473,["op",11465,0]],[11474,["op",11466,0]],[11475,["op",11481,1]],[11477,["op",11476,1]],[11479,["op",11466,1]],[11484,["op",11496,0]],[11485,["op",11498,0]],[11486,["op",11506,0]],[11487,["op",11502,0]],[11488,["op",11494,0]],[11489,["op",11507,0]],[11491,["op",11504,0]],[11492,["op",11505,0]],[11493,["op",11492,1]],[11494,["op",11500,0]],[11495,["op",11507,1]],[11497,["op",11489,0]],[11498,["op",11490,0]],[11499,["op",11505,1]],[11501,["op",11500,1]],[11503,["op",11490,1]],[11508,["op",11520,0]],[11509,["op",11522,0]],[11510,["op",11530,0]],[11511,["op",11526,0]],[11512,["op",11518,0]],[11513,["op",11531,0]],[11515,["op",11528,0]],[11516,["op",11529,0]],[11517,["op",11516,1]],[11518,["op",11524,0]],[11519,["op",11531,1]],[11521,["op",11513,0]],[11522,["op",11514,0]],[11523,["op",11529,1]],[11525,["op",11524,1]],[11527,["op",11514,1]],[11532,["op",11544,0]],[11533,["op",11546,0]],[11534,["op",11554,0]],[11535,["op",11550,0]],[11536,["op",11542,0]],[11537,["op",11555,0]],[11539,["op",11552,0]],[11540,["op",11553,0]],[11541,["op",11540,1]],[11542,["op",11548,0]],[11543,["op",11555,1]],[11545,["op",11537,0]],[11546,["op",11538,0]],[11547,["op",11553,1]],[11549,["op",11548,1]],[11551,["op",11538,1]],[11556,["op",11568,0]],[11557,["op",11570,0]],[11558,["op",11578,0]],[11559,["op",11574,0]],[11560,["op",11566,0]],[11561,["op",11579,0]],[11563,["op",11576,0]],[11564,["op",11577,0]],[11565,["op",11564,1]],[11566,["op",11572,0]],[11567,["op",11579,1]],[11569,["op",11561,0]],[11570,["op",11562,0]],[11571,["op",11577,1]],[11573,["op",11572,1]],[11575,["op",11562,1]],[11580,["op",11592,0]],[11581,["op",11594,0]],[11582,["op",11602,0]],[11583,["op",11598,0]],[11584,["op",11590,0]],[11585,["op",11603,0]],[11587,["op",11600,0]],[11588,["op",11601,0]],[11589,["op",11588,1]],[11590,["op",11596,0]],[11591,["op",11603,1]],[11593,["op",11585,0]],[11594,["op",11586,0]],[11595,["op",11601,1]],[11597,["op",11596,1]],[11599,["op",11586,1]],[11604,["op",11616,0]],[11605,["op",11618,0]],[11606,["op",11626,0]],[11607,["op",11622,0]],[11608,["op",11614,0]],[11609,["op",11627,0]],[11611,["op",11624,0]],[11612,["op",11625,0]],[11613,["op",11612,1]],[11614,["op",11620,0]],[11615,["op",11627,1]],[11617,["op",11609,0]],[11618,["op",11610,0]],[11619,["op",11625,1]],[11621,["op",11620,1]],[11623,["op",11610,1]],[11628,["op",11640,0]],[11629,["op",11642,0]],[11630,["op",11650,0]],[11631,["op",11646,0]],[11632,["op",11638,0]],[11633,["op",11651,0]],[11635,["op",11648,0]],[11636,["op",11649,0]],[11637,["op",11636,1]],[11638,["op",11644,0]],[11639,["op",11651,1]],[11641,["op",11633,0]],[11642,["op",11634,0]],[11643,["op",11649,1]],[11645,["op",11644,1]],[11647,["op",11634,1]],[11652,["op",11664,0]],[11653,["op",11666,0]],[11654,["op",11674,0]],[11655,["op",11670,0]],[11656,["op",11662,0]],[11657,["op",11675,0]],[11659,["op",11672,0]],[11660,["op",11673,0]],[11661,["op",11660,1]],[11662,["op",11668,0]],[11663,["op",11675,1]],[11665,["op",11657,0]],[11666,["op",11658,0]],[11667,["op",11673,1]],[11669,["op",11668,1]],[11671,["op",11658,1]],[11676,["op",11688,0]],[11677,["op",11690,0]],[11678,["op",11698,0]],[11679,["op",11694,0]],[11680,["op",11686,0]],[11681,["op",11699,0]],[11683,["op",11696,0]],[11684,["op",11697,0]],[11685,["op",11684,1]],[11686,["op",11692,0]],[11687,["op",11699,1]],[11689,["op",11681,0]],[11690,["op",11682,0]],[11691,["op",11697,1]],[11693,["op",11692,1]],[11695,["op",11682,1]],[11700,["op",11712,0]],[11701,["op",11714,0]],[11702,["op",11722,0]],[11703,["op",11718,0]],[11704,["op",11710,0]],[11705,["op",11723,0]],[11707,["op",11720,0]],[11708,["op",11721,0]],[11709,["op",11708,1]],[11710,["op",11716,0]],[11711,["op",11723,1]],[11713,["op",11705,0]],[11714,["op",11706,0]],[11715,["op",11721,1]],[11717,["op",11716,1]],[11719,["op",11706,1]],[11724,["op",11736,0]],[11725,["op",11738,0]],[11726,["op",11746,0]],[11727,["op",11742,0]],[11728,["op",11734,0]],[11729,["op",11747,0]],[11731,["op",11744,0]],[11732,["op",11745,0]],[11733,["op",11732,1]],[11734,["op",11740,0]],[11735,["op",11747,1]],[11737,["op",11729,0]],[11738,["op",11730,0]],[11739,["op",11745,1]],[11741,["op",11740,1]],[11743,["op",11730,1]],[11748,["op",11760,0]],[11749,["op",11762,0]],[11750,["op",11770,0]],[11751,["op",11766,0]],[11752,["op",11758,0]],[11753,["op",11771,0]],[11755,["op",11768,0]],[11756,["op",11769,0]],[11757,["op",11756,1]],[11758,["op",11764,0]],[11759,["op",11771,1]],[11761,["op",11753,0]],[11762,["op",11754,0]],[11763,["op",11769,1]],[11765,["op",11764,1]],[11767,["op",11754,1]],[11772,["op",11784,0]],[11773,["op",11786,0]],[11774,["op",11794,0]],[11775,["op",11790,0]],[11776,["op",11782,0]],[11777,["op",11795,0]],[11779,["op",11792,0]],[11780,["op",11793,0]],[11781,["op",11780,1]],[11782,["op",11788,0]],[11783,["op",11795,1]],[11785,["op",11777,0]],[11786,["op",11778,0]],[11787,["op",11793,1]],[11789,["op",11788,1]],[11791,["op",11778,1]],[11796,["op",11808,0]],[11797,["op",11810,0]],[11798,["op",11818,0]],[11799,["op",11814,0]],[11800,["op",11806,0]],[11801,["op",11819,0]],[11803,["op",11816,0]],[11804,["op",11817,0]],[11805,["op",11804,1]],[11806,["op",11812,0]],[11807,["op",11819,1]],[11809,["op",11801,0]],[11810,["op",11802,0]],[11811,["op",11817,1]],[11813,["op",11812,1]],[11815,["op",11802,1]]] diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/local_design_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/local_design_p10.json new file mode 100644 index 0000000000..d93bfb883d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/local_design_p10.json @@ -0,0 +1 @@ +{"design":[[["A",0,0],[[[[0,0,1],[0,1,0]],[0,0,0]],[0,1,1]]],[["A",0,1],[[[[1,0,1],[1,1,1]],[1,1,0]],[1,0,0]]],[["A",1,0],[[[0,0,0],[1,0,1]],[[0,0,1],[1,0,0]]]],[["A",1,1],[[[0,1,0],[1,1,1]],[[0,1,1],[1,1,0]]]],[["G",0,2,1],[[[0,0,1],[1,0,0]],[[0,1,1],[1,1,0]]]],[["G",1,2,1],[[[0,0,1],[0,1,0]],[[1,0,1],[1,1,0]]]],[["G",0,1,0],[[[0,0,1],[1,1,1]],[[0,0,0],[1,1,0]]]],[["G",0,1,1],[[[0,1,1],[1,0,1]],[[0,1,0],[1,0,0]]]],[["A",2,1],[[[0,1,1],[1,0,1]],[[0,0,1],[1,1,1]]]],[["A",2,0],[[[0,0,0],[1,1,0]],[[0,1,0],[1,0,0]]]],[["G",0,2,0],[[[0,0,0],[1,0,1]],[[0,1,0],[1,1,1]]]],[["G",1,2,0],[[[1,0,0],[1,1,1]],[[0,0,0],[0,1,1]]]]],"provenance":{"source":"pair-aware local design search (DreamingOfClouds with Anthropic Claude assistance); cube-local, used unchanged at p = 10"}} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/pm_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/pm_p10.json new file mode 100644 index 0000000000..48f91228e0 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/pm_p10.json @@ -0,0 +1 @@ +{"input_count": 36, "args": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, [4, 8], [11, 12], [0, 2], [26, 30], [23, 27], [21, 40], [22, 41], [39, 42], [4, 5], [3, 44], [43, 45], [38, 46], [37, 47], [1, 48], [22, 23], [2, 24], [15, 51], [50, 52], [30, 37], [17, 54], [18, 55], [5, 56], [4, 57], [0, 6], [8, 19], [59, 60], [1, 13], [61, 62], [33, 63], [58, 64], [31, 65], [53, 66], [30, 44], [32, 34], [68, 69], [31, 33], [70, 71], [18, 40], [12, 73], [72, 74], [9, 10], [27, 76], [12, 77], [17, 18], [15, 16], [8, 80], [76, 81], [79, 82], [49, 83], [24, 71], [28, 85], [22, 86], [0, 1], [36, 88], [14, 20], [7, 90], [89, 91], [69, 92], [56, 93], [16, 26], [28, 95], [27, 79], [96, 97], [39, 41], [25, 29], [32, 100], [34, 101], [99, 102], [87, 103], [13, 14], [35, 105], [20, 106], [19, 107], [8, 108], [54, 109], [31, 32], [11, 17], [22, 26], [112, 113], [82, 114], [111, 115], [2, 3], [29, 117], [25, 118], [21, 80], [8, 120], [76, 121], [119, 122], [69, 71], [79, 124], [110, 125], [9, 12], [25, 50], [24, 128], [127, 129], [6, 28], [85, 131], [4, 112], [88, 133], [123, 134], [61, 133], [31, 136], [24, 28], [76, 120], [138, 139], [117, 140], [62, 141], [137, 142], [76, 90], [81, 144], [34, 145], [37, 43], [79, 147], [146, 148], [108, 138], [10, 27], [26, 151], [37, 152], [3, 29], [28, 154], [153, 155], [6, 7], [35, 157], [9, 67], [5, 33], [34, 160], [23, 161], [21, 100], [150, 163], [18, 34], [5, 12], [33, 166], [165, 167], [96, 151], [19, 20], [1, 170], [160, 171], [4, 11], [138, 163], [35, 174], [32, 113], [135, 176], [157, 175], [117, 178], [0, 105], [179, 180], [78, 181], [162, 182], [88, 91], [72, 158], [171, 185], [154, 186], [2, 45], [157, 188], [158, 180], [72, 190], [11, 191], [2, 192], [165, 172], [1, 61], [107, 195], [7, 196], [31, 133], [197, 198], [32, 199], [95, 200], [126, 129], [81, 164], [35, 170], [80, 117], [178, 205], [40, 206], [111, 113], [4, 208], [2, 46], [132, 210], [16, 79], [15, 212], [1, 213], [211, 214], [19, 215], [63, 167], [37, 76], [13, 218], [87, 219], [71, 197], [69, 221], [58, 222], [9, 15], [25, 224], [2, 225], [5, 226], [50, 227], [210, 214], [51, 225], [7, 230], [123, 184], [34, 74], [76, 233], [203, 234], [10, 155], [5, 232], [156, 191], [126, 169], [7, 14], [10, 240], [102, 241], [119, 140], [197, 243], [116, 164], [52, 128], [202, 224], [79, 186], [246, 248], [83, 147], [13, 250], [31, 169], [233, 237], [113, 143], [98, 187], [141, 217], [168, 196], [23, 257], [91, 177], [35, 103], [1, 17], [9, 48], [242, 262], [201, 236], [7, 102], [76, 181], [130, 193], [16, 197], [236, 268], [27, 269], [20, 229], [204, 213], [73, 256], [265, 271], [194, 207], [95, 151], [22, 32], [199, 277], [94, 228], [230, 278], [47, 219], [231, 258], [65, 252], [208, 266], [33, 235], [168, 270], [3, 283], [19, 86], [251, 288], [75, 171], [181, 290], [115, 291], [14, 220], [101, 149], [260, 293], [29, 239], [29, 276], [35, 104], [209, 261], [132, 281], [173, 284], [189, 298], [170, 206], [299, 303], [104, 272], [3, 57], [93, 306], [297, 307]], "roots": [305, 295, 296, 247, 285, 245, 294, 289, 302, 255, 249, 275, 304, 274, 216, 238, 267, 183, 301, 263, 300, 223, 286, 264, 308, 287, 282, 280, 279, 159, 244, 253, 273, 259, 254, 84, 292], "provenance": {"C_onestage": 12878.384991951672, "source": "nbsapair SA from gen5 p12 restriction: C-weighted 11.5M its (run a2) then five-stage-weighted (t ln(5h/t)) 4.5M its (run f1)", "fullword_a5_float": "7.4424584e-4", "R": "9120"}} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/qmod_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/qmod_p10.json new file mode 100644 index 0000000000..b837d6e209 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/data/qmod_p10.json @@ -0,0 +1 @@ +{"input_count": 8, "args": [null, null, null, null, null, null, null, null, [5, 7], [1, 8], [4, 0], [2, 1], [10, 3], [11, 12], [13, 8], [3, 6], [9, 15], [15, 5], [10, 17], [18, 2], [7, 19], [11, 0], [8, 21], [6, 22], [10, 16], [4, 16], [25, 2], [13, 7], [27, 6], [15, 22], [23, 4], [11, 18]], "roots": [26, 20, 24, 30, 29, 28, 14, 31], "provenance": {"source": "qsa (fastq_p one-instance C) from q5r_1 restriction of gen5 qmod_p12", "C": 7595.909682229441, "adds": 24, "arcs": 16}} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/descent.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/descent.py new file mode 100644 index 0000000000..a303fa3e55 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/descent.py @@ -0,0 +1,263 @@ +#!/usr/bin/env python3 +"""Endpoint frame descent for a physical paired-cube bit word (PR200 physical-layer rules). + +Moves equal-frame connected groups of operations to the join of their incoming frames and node value +spans, or to the meet of their outgoing frames (degenerate endpoints repaired by one row), accepting a move +only when the five-stage first-order cost sum r*ln(m/r) (m = 5h; 120 at p = 12, 100 at p = 10) over all physical +role chains decreases. +Gauge, root, source, target and full frames are fixed; alias splices (donor -> recipient gauge) are kept. + +usage: descent.py PKGDIR OUTDIR (PKGDIR = PR200-layout package whose selected/bit holds the word) +Prepared by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. +p = 10 port: m = 5h and the pP file names are read from the word (DreamingOfClouds, Anthropic Claude assistance). +""" +import sys, json, gzip, math, time +from pathlib import Path +from collections import defaultdict, Counter + +pkg = Path(sys.argv[1]); out = Path(sys.argv[2]); out.mkdir(parents=True, exist_ok=True) +sys.path.insert(0, str(pkg / 'bit')) +from word import Candidate + +t0 = time.time() +W = Candidate(); C = W.C; mod = W.module; h = W.h +C.decoder(); C.geometry() +FULL = W.w['full_frame'] +ops = W.ops; nops = len(ops) +opframe = list(W.opframe) + +# ---------------------------------------------------------------- frame registry helpers +key_of = {} +def bkey(B): return tuple(sorted(map(tuple, B))) +for f, B in C.B.items(): + key_of.setdefault(bkey(B), f) + +def register(rows): + B, _ = mod.reduce_rows(rows, h) + B = [tuple(r) for r in B] + k = bkey(B) + if k in key_of: return key_of[k] + f = max(C.B) + 1 + A, _ = mod.kernel(B, h) + C.B[f], C.A[f], C.dimf[f] = B, A, len(B) + key_of[k] = f + return f + +join_cache = {} +def join(fs): + fs = tuple(sorted(set(fs))) + if len(fs) == 1: return fs[0] + r = join_cache.get(fs) + if r is None: + rows = [b for f in fs for b in C.B[f]] + r = join_cache[fs] = register(rows) + return r + +meet_cache = {} +def meet(fs): + fs = tuple(sorted(set(fs))) + if len(fs) == 1: return fs[0] + r = meet_cache.get(fs) + if r is None: + ann = [a for f in fs for a in C.A[f]] + B, _ = mod.kernel(ann, h) if ann else ([tuple(int(i == j) for j in range(h)) for i in range(h)], None) + r = meet_cache[fs] = register(B) + return r + +nd_cache = {} +def nondeg(f): + r = nd_cache.get(f) + if r is None: r = nd_cache[f] = C.nondeg(f) + return r + +def sub(a, b): return C.sub(a, b) + +# node value spans +span_cache = {} +def node_span(n): + r = span_cache.get(n) + if r is None: + bits = C.sup[n]; rows = [] + while bits: + low = bits & -bits; s = low.bit_length() - 1; bits -= low + rows.append(C.chi[s]) + r = span_cache[n] = register(rows) + return r + +def repair_up(L, U): + """smallest nondegenerate frame containing L inside U: L itself or L + one row of U.""" + if nondeg(L): return L + for b in C.B[U]: + f = register(list(C.B[L]) + [b]) + if C.dimf[f] == C.dimf[L] + 1 and nondeg(f): return f + return None + +def repair_down(L, U): + """largest nondegenerate frame inside U containing L: U itself or U minus one row (kernel of A_U + 1 row).""" + if nondeg(U): return U + # hyperplanes of U containing L: add one annihilator row vanishing on L but not on U + BL = C.B[L] + cand = [] + for e in range(h): + a = [int(i == e) for i in range(h)] + cand.append(a) + # project candidate covectors to vanish on L: use combinations orthogonal to B_L via kernel of B_L + K, _ = mod.kernel(BL, h) if BL else ([tuple(int(i == j) for j in range(h)) for i in range(h)], None) + for a in K: + rows = list(C.A[U]) + [a] + B, _ = mod.kernel(rows, h) + f = register(B) + if C.dimf[f] == C.dimf[U] - 1 and sub(L, f) and nondeg(f): return f + return None + +# ---------------------------------------------------------------- physical chains +recipient = {d: b for b, d in W.pairs} # donor -> recipient +roots = defaultdict(list) +for j, s in enumerate(W.w['rootroles']): roots[s].append(W.w['root_frame'][j]) +start = {b: W.w['source_frame'][x] for x, b in W.source.items()} +start.update({b: z['frame'] for b, z in W.gauge.items()}) +seq = defaultdict(list) +for i, (a, b, x) in enumerate(ops): + seq[a].append(i); seq[b].append(i) + +chains = [] # list of element lists: ('f', frame) fixed or ('o', op) +for s in range(W.R): + if s in W.donor: continue # recipients are spliced into their donor's chain + el = [] + st = start.get(s) + el.append(('f', st) if st is not None else ('z', None)) + el += [('o', i) for i in seq[s]] + [('f', f) for f in roots[s]] + if s in recipient: + b = recipient[s] + el += [('f', W.gauge[b]['frame'])] + [('o', i) for i in seq[b]] + [('f', f) for f in roots[b]] + el.append(('f', FULL)) + chains.append(el) +pos = defaultdict(list) # op -> [(chain, index)] +for c, el in enumerate(chains): + for k, (t, x) in enumerate(el): + if t == 'o': pos[x].append((c, k)) +assert all(len(v) == 2 for v in pos.values()) and len(pos) == nops + +def fr(e): + t, x = e + if t == 'o': return opframe[x] + return x + +def dim(f): return 0 if f is None else C.dimf[f] + +MM = 5 * h # five-stage width m = 5h +LN = [0.0] + [r * math.log(MM / r) for r in range(1, MM + 1)] +def cost_pair(a, b): + d = dim(b) - dim(a) + assert d >= 0 + return LN[d] + +def total_cost(): + tot = 0.0 + for el in chains: + for k in range(len(el) - 1): + tot += cost_pair(fr(el[k]), fr(el[k + 1])) + return tot + +def check_nested(): + for el in chains: + for k in range(len(el) - 1): + a, b = fr(el[k]), fr(el[k + 1]) + assert a is None or sub(a, b), ('nest', el[k], el[k + 1]) + +check_nested() +c0 = total_cost() +print('loaded', round(time.time() - t0, 1), 's; chains', len(chains), 'cost', round(c0, 1), flush=True) + +# ---------------------------------------------------------------- group moves +def groups(): + parent = list(range(nops)) + def find(x): + while parent[x] != x: parent[x] = parent[parent[x]]; x = parent[x] + return x + for el in chains: + for k in range(len(el) - 1): + if el[k][0] == 'o' and el[k + 1][0] == 'o' and opframe[el[k][1]] == opframe[el[k + 1][1]]: + ra, rb = find(el[k][1]), find(el[k + 1][1]) + if ra != rb: parent[ra] = rb + g = defaultdict(list) + for i in range(nops): g[find(i)].append(i) + return list(g.values()) + +def evaluate(G): + Gs = set(G); F = opframe[G[0]] + inc, outg = [], [] + for i in G: + for c, k in pos[i]: + el = chains[c] + p = el[k - 1] + if not (p[0] == 'o' and p[1] in Gs): inc.append(fr(p)) + q = el[k + 1] + if not (q[0] == 'o' and q[1] in Gs): outg.append(fr(q)) + spans = {node_span(ops[i][2]) for i in G} + L = join([f for f in inc if f is not None] + list(spans)) + U = meet(outg) + if not sub(L, U): return None + def delta(Fn): + d = 0.0 + for f in inc: d += LN[dim(Fn) - dim(f)] - LN[dim(F) - dim(f)] + for f in outg: d += LN[dim(f) - dim(Fn)] - LN[dim(f) - dim(F)] + return d + best = (0.0, None) + cands = set() + lo = repair_up(L, U) + if lo is not None: cands.add(lo) + hi = repair_down(L, U) + if hi is not None: cands.add(hi) + for f in inc + outg: + if f is not None and sub(L, f) and sub(f, U) and nondeg(f): cands.add(f) + for Fn in cands: + if C.dimf[Fn] == C.dimf[F] and sub(Fn, F): continue + d = delta(Fn) + if d < best[0] - 1e-9: best = (d, Fn) + return best + +it = 0 +while True: + it += 1; moved = 0; gain = 0.0 + gs = groups() + gs.sort(key=len, reverse=True) + for G in gs: + # frames may have changed for neighbours; G still has a common frame since only whole groups move + if len({opframe[i] for i in G}) != 1: continue + r = evaluate(G) + if r is None or r[1] is None: continue + d, Fn = r + for i in G: opframe[i] = Fn + moved += 1; gain += d + c = total_cost() + print('iter', it, 'groups', len(gs), 'moved', moved, 'gain', round(gain, 1), 'cost', round(c, 1), round(time.time() - t0, 1), 's', flush=True) + if moved == 0 or it >= 40: break + +check_nested() +for i in range(nops): + f = opframe[i] + assert nondeg(f) + assert sub(node_span(ops[i][2]), f) +changed = sum(1 for i in range(nops) if opframe[i] != W.original_opframe[i]) +print('changed op frames', changed, 'final cost', round(total_cost(), 1), 'from', round(c0, 1)) + +# ---------------------------------------------------------------- write outputs +w = dict(W.w); w['op_frame'] = opframe +w['descent'] = 'op_frame[i]: equal-frame connected groups moved to the join of incoming frames and node spans or the meet of outgoing frames (one-row repair), five-stage first-order cost decrease' +src = pkg / 'selected/bit' +P = W.g['p']; assert h == 2 * P +frames = json.loads(gzip.decompress((src / ('frames_p%d.json.gz' % P)).read_bytes())) +used = set(opframe) +for f in sorted(C.B): + if str(f) in frames['frames'] or f not in used: continue + B, A = C.B[f], C.A[f] + frames['frames'][str(f)] = dict(dim=len(B), b=[list(r) for r in B]) if len(B) <= len(A) else dict(dim=len(B), a=[list(r) for r in A]) +used = set(opframe) +print('frames now', len(frames['frames'])) +for name in ('graph_p%d.json' % P, 'kchron_p%d.json' % P, 'profile_p%d.json' % P, 'sinks.json'): + (out / name).write_bytes((src / name).read_bytes()) +wj = json.dumps(w, sort_keys=True).encode(); fj = json.dumps(frames, sort_keys=True).encode() +(out / ('word_p%d.json' % P)).write_bytes(wj); (out / ('word_p%d.json.gz' % P)).write_bytes(gzip.compress(wj, mtime=0)) +(out / ('frames_p%d.json' % P)).write_bytes(fj); (out / ('frames_p%d.json.gz' % P)).write_bytes(gzip.compress(fj, mtime=0)) +print('wrote', out) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/make_physical.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/make_physical.py new file mode 100644 index 0000000000..87606a5384 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/make_physical.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python3 +"""Physical layer producer for a raw paired-cube bit word (PR168 format): compensated late reuse pairs. + +Input dir: graph_pP.json word_pP.json frames_pP.json kchron_pP.json profile_pP.json (raw generator output, any +cube size p; P is read from the single graph_pP.json present). +Output dir: same names, word gains op_frame (= node frames unless --descent), pairs [[donor, recipient]], +reads {recipient: absolute execution position}; frames/word also written gzipped for PR200's Candidate. + +Pair rules (PR200 bit/word.py + base_word.py): recipient gauged, read right before its first op; donor +ungauged, non-root, non-source, last op strictly before that read; donor last op frame inside the recipient +gauge frame; both nondegenerate; one-to-one; per-target gauge read times monotone along the nested chain. +Recipients are gauges of rank h - 3 by default (rank 21 at p = 12, rank 17 at p = 10). +--bank-parity: the 60-replica stage-private banks of width m = 5h need 60 * (total residual width) to be a +multiple of m. Trailing pairs are dropped until it is (at most one pair, and only for odd width, at p = 12). +p = 10 port (h-generic recipients, residual widths and bank divisibility, p-generic file names): +DreamingOfClouds with Anthropic Claude assistance. +Prepared by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. +""" +import argparse, gzip, json, sys, importlib.util, time +from collections import defaultdict, Counter +from pathlib import Path + +HERE = Path(__file__).resolve().parent +CHK = HERE.parent / 'references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py' + + +def load(name, path): + spec = importlib.util.spec_from_file_location(name, path); m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m); return m + + +def hopcroft_karp(adj, nleft): + INF = 1 << 30 + matchL = [-1] * nleft; matchR = {} + from collections import deque + while True: + dist = [INF] * nleft; q = deque() + for u in range(nleft): + if matchL[u] < 0: dist[u] = 0; q.append(u) + found = False + while q: + u = q.popleft() + for w in adj[u]: + v2 = matchR.get(w, -1) + if v2 < 0: found = True + elif dist[v2] == INF: dist[v2] = dist[u] + 1; q.append(v2) + if not found: break + sys.setrecursionlimit(100000) + def dfs(u): + for w in adj[u]: + v2 = matchR.get(w, -1) + if v2 < 0 or (dist[v2] == dist[u] + 1 and dfs(v2)): + matchL[u] = w; matchR[w] = u; return True + dist[u] = INF; return False + for u in range(nleft): + if matchL[u] < 0: dfs(u) + return matchL + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument('--src', required=True); ap.add_argument('--out', required=True) + ap.add_argument('--ranks', default='', help='gauge dims allowed as recipients, comma list') + ap.add_argument('--bank-parity', action='store_true', help='drop trailing pairs until the 60-replica bank width is a multiple of m = 5h') + a = ap.parse_args() + src, out = Path(a.src), Path(a.out); out.mkdir(parents=True, exist_ok=True) + mod = load('chk', CHK) + graphs = sorted(src.glob('graph_p*.json')); assert len(graphs) == 1, 'one raw word' + P = int(graphs[0].name[len('graph_p'):-len('.json')]) + C = mod.Checker(src, P) + assert C.h == 2 * P and C.g['p'] == P + C.frames(); C.decoder(); C.geometry() + g, w = C.g, C.w + ops = w['ops']; v = g['v'] + R = 1 + max(max(x, y) for x, y, _ in ops) + nf = {int(k): f for k, f in w['node_frame'].items()} + opframe = [nf[n] for _, _, n in ops] + phase1 = sorted(w['phase1']); ph = set(phase1) + rest = [i for i in range(len(ops)) if i not in ph] + pos = {i: p for p, i in enumerate(rest)} + role_ops = defaultdict(list) + for i in phase1 + rest: + for s in ops[i][:2]: role_ops[s].append(i) + assert all(xs == sorted(xs) for xs in role_ops.values()) + first = {s: pos.get(xs[0], -1) for s, xs in role_ops.items()} + last = {s: pos.get(xs[-1], -1) for s, xs in role_ops.items()} + endframe = {s: opframe[xs[-1]] for s, xs in role_ops.items()} + gauge = {z['role']: z for z in w['gauges']} + roots = set(w['rootroles']); sources = set(w['sources'].values()) + allowed = {int(x) for x in a.ranks.split(',')} if a.ranks else {C.h - 3} + # per-target chain order of gauges (time order = reversed selection order) + chain = defaultdict(list) + for z in reversed(w['gauges']): + for t in z['targets']: chain[t].append(z['role']) + # recipients: allowed dims; a recipient must be the LAST gauge of each of its targets' chains unless + # every later gauge on that target is also a recipient (resolved iteratively below: start with tops) + recips = [b for b in gauge if gauge[b]['dim'] in allowed] + def ok(b): + fb = gauge[b]['frame'] + for t in gauge[b]['targets']: + later = chain[t][chain[t].index(b) + 1:] + if any(not (C.sub(gauge[x]['frame'], fb) and C.sub(fb, gauge[x]['frame'])) for x in later): return False + return True + recips = [b for b in recips if ok(b)] + donors = [s for s in range(R) if s not in gauge and s not in roots and s not in sources and s in role_ops] + print('roles', R, 'gauges', len(gauge), 'recipient candidates', len(recips), 'donor candidates', len(donors), flush=True) + t0 = time.time() + nd_cache = {} + def nondeg(f): + r = nd_cache.get(f) + if r is None: r = nd_cache[f] = C.nondeg(f) + return r + # group donors by end frame to share containment tests + by_frame = defaultdict(list) + for d in donors: + if nondeg(endframe[d]): by_frame[endframe[d]].append(d) + print('donor end frames', len(by_frame), 'nondeg donors', sum(map(len, by_frame.values())), flush=True) + adj = [] + for b in recips: + gb = gauge[b]['frame']; rt = first[b] + lst = [] + if nondeg(gb): + for f, ds in by_frame.items(): + if C.dimf[f] > C.dimf[gb]: continue + cand = [d for d in ds if last[d] < rt] + if cand and C.sub(f, gb): lst.extend(cand) + adj.append(lst) + print('edges', sum(map(len, adj)), 'recipients with an edge', sum(1 for x in adj if x), 'secs', round(time.time() - t0, 1), flush=True) + m = hopcroft_karp(adj, len(recips)) + pairs = [[m[i], b] for i, b in enumerate(recips) if m[i] >= 0] + if a.bank_parity: + # residual family widths: h - dim for non-recipient gauges, h for every other physical role + M, REPLICAS = 5 * C.h, 60 + def width(): + matched = {b for _, b in pairs} + return sum(C.h - gauge[g]['dim'] for g in gauge if g not in matched) + C.h * (R - len(pairs) - (len(gauge) - len(matched))) + for _ in range(M): + if REPLICAS * width() % M == 0: break + # dropping a pair returns its recipient (rank d) to the entrances as a residual family of width h - d; + # the donor stays a plain helper, so the total width grows by h - d (3 for the default rank h - 3) + dropped = pairs.pop() + print('bank divisibility: dropped pair', dropped, 'width', width(), flush=True) + assert REPLICAS * width() % M == 0, 'bank divisibility not restored' + print('pairs', len(pairs), flush=True) + reads = {str(b): len(phase1) + first[b] for d, b in pairs} + W = dict(w); W['op_frame'] = opframe; W['pairs'] = pairs; W['reads'] = reads + W['descent'] = 'none: op_frame[i] = node_frame[ops[i][2]]' + W['reuse'] = 'late compensated reuse: recipient slot is the donor register; recipient old-value read right before its first op, after the donor last op' + for name in ('graph', 'frames', 'kchron', 'profile'): + (out / ('%s_p%d.json' % (name, P))).write_text((src / ('%s_p%d.json' % (name, P))).read_text()) + (out / ('word_p%d.json' % P)).write_text(json.dumps(W, sort_keys=True)) + for name in ('word', 'frames'): + raw = (out / ('%s_p%d.json' % (name, P))).read_bytes() + (out / ('%s_p%d.json.gz' % (name, P))).write_bytes(gzip.compress(raw, mtime=0)) + (out / 'sinks.json').write_text('[]') + print(json.dumps(dict(pairs=len(pairs), physical_R=R - len(pairs), dims=Counter(gauge[b]['dim'] for _, b in pairs)))) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/paired_cube_bit_word.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/paired_cube_bit_word.py new file mode 100644 index 0000000000..3a709d6272 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/paired_cube_bit_word.py @@ -0,0 +1,1002 @@ +#!/usr/bin/env python3 +# Modified copy of eumemic's PR168 paired-cube bit generator (research/paired-cube-bit/paired_cube_bit_word.py +# as integrated on main; Apache-2.0). Changes for gen4 (DreamingOfClouds, with Anthropic Claude assistance): +# local_design() recipe-tree local channels read from data/local_design_p12.json; the centre-sharing pair +# module patch in finish() (the pair module's extra root is the copied centre star); build() reads the +# optional design file. New data: local_design_p12.json, pair_module_p12.json, qmod_p12.json, arcs_p12.json. +# The rest of the generator, its compiler and its ledger are unchanged. +# gen5 (DreamingOfClouds, with Anthropic Claude assistance) changes only the data: new pair_module_p12.json, +# qmod_p12.json and arcs_p12.json; this file is byte-identical to #276's apart from these two comment lines. +# p = 10 port (DreamingOfClouds, with Anthropic Claude assistance): MODULES/QMODULES gain the p = 10 entries +# pm_p10.json and qmod_p10.json, and the variant-u output merge is on at p = 10 as at p = 12 (build()). The +# cube-local design is read from data/local_design_p10.json. p = 12 behaviour is unchanged. +"""Paired-cube BIT local word with partner-pair source mixing: deterministic generator and rank compiler. + +Ports are the triples of [h] (h = 2p) taking one coordinate from each of three distinct coordinate pairs +(v = 8*C(p,3)); bit labels chi_S in Q^h with H0 = (I - J/9)/2, so H0(chi_S, chi_T) = (|S cap T| - 1)/2. +Payload F2. Mod-2 decoder, for every target T: + x_T = sum_{c in T} star(c) (2p copied point-star centres, frames of dim h-2) + + face channels P'(J,i,eta_i) (cubes sharing exactly pair i, matching selector) + + edge channels Q'(J,i,j,mode) (cubes sharing pairs i,j, exactly one selector match) + + partner x_{T'}, T' = T with the selectors of cube pairs 1,2 flipped (single-source root) + + partner-pair sum of the opposite pair of T's parity class, mixed on two SOURCE registers and + delivered at the shared cap of {T, T'} (no auxiliary role). +At p = 12 each cube merges its face-1 and edge-01 outputs into u(b0,b1) and its face-2 and edge-02 outputs into +w(b0,b2) (variant u); each merged node is read by two single roots and the mod-2 sums are unchanged. Its local +channels use the L1 association (local_l1): three of the six G sums add long face diagonals instead of edges. +Its all-but-one modules are the pinned annealed module data/qmod_p12.json (pinned_all_but_one). +Compiler: the PR #144 frames.py/gauges.py ledger on rational frames (target cap ker(3 chi_T - 1), centre frame = +span of the star), coordinate-padded maximum carrier matching (frozen arcs), plain frames span(n) for additions of +span dimension <= PLAIN (closed under operands; a linked donor's span must lie in the plain target), PR #144 +chronological partial gauges with a G-nondegeneracy filter, PR #144 bit ledger (m = 3h, W = 2v + R). +Linear algebra is exact: ranks are computed modulo the Mersenne prime 2^127-1, which exceeds the Hadamard bound +of every minor that occurs (see README.md); G-nondegeneracy is certified by integer Gram determinants. + +Usage: python3 paired_cube_bit_word.py --p 12 [--out DIR] [--check] [--solve-matching] +Standard library only. Run without -O. +""" +import argparse, gzip, hashlib, json, math, os, sys, time +from collections import Counter, defaultdict, deque +from itertools import combinations, product +from pathlib import Path + +HERE = Path(__file__).resolve().parent +P = (1 << 127) - 1 +PLAIN = 8 +L1_DIAGONAL = {(0, 1, 0), (0, 1, 1), (1, 2, 1)} # (cube positions j < k, mode) of the diagonal G sums at p = 12 +MODULES = {10: 'pm_p10.json', 11: 'pair_module_p11.json', 12: 'pair_module_p12.json', 13: 'pair_module_p13.json'} +QMODULES = {10: 'qmod_p10.json', 12: 'qmod_p12.json'} +MERGE = (10, 12) # cube sizes using the variant-u output merge (p = 10 port) + + +def require(cond, msg): + if not cond: + raise SystemExit('FAIL: ' + msg) + + +# ----------------------------------------------------------------------------- exact subspaces of F_P^h +def rref(rows, h): + piv = {} + for r in rows: + x = [a % P for a in r] + for c, y in piv.items(): + if x[c]: + f = x[c] + x = [(a - f * b) % P for a, b in zip(x, y)] + nz = next((j for j in range(h) if x[j]), None) + if nz is None: + continue + inv = pow(x[nz], P - 2, P) + x = [(a * inv) % P for a in x] + for c in list(piv): + y = piv[c] + if y[nz]: + f = y[nz] + piv[c] = [(a - f * b) % P for a, b in zip(y, x)] + piv[nz] = x + return tuple(tuple(piv[c]) for c in sorted(piv)) + + +def kernel(S, h): + pivs = [next(j for j in range(h) if row[j]) for row in S] + ps = set(pivs) + out = [] + for f in range(h): + if f in ps: + continue + u = [0] * h + u[f] = 1 + for row, c in zip(S, pivs): + u[c] = (-row[f]) % P + out.append(u) + return rref(out, h) + + +class Table: + """Interned subspaces (canonical RREF) with memoized joins; id 0 is the zero space.""" + def __init__(self, h): + self.h = h + self.rows = [()] + self.index = {(): 0} + self.jc = {} + self.pc = {} + + def intern(self, rows): + S = rref(rows, self.h) + i = self.index.get(S) + if i is None: + i = len(self.rows) + self.rows.append(S) + self.index[S] = i + return i + + def dim(self, i): + return len(self.rows[i]) + + def join(self, i, j): + if i == j or j == 0: + return i + if i == 0: + return j + if i > j: + i, j = j, i + k = self.jc.get((i, j)) + if k is None: + A, B = self.rows[i], self.rows[j] + k = i if len(A) == self.h else j if len(B) == self.h else self.intern(A + B) + self.jc[(i, j)] = k + return k + + def join_many(self, ids): + k = 0 + for i in ids: + k = self.join(k, i) + return k + + def contained(self, i, j): + return self.join(i, j) == j + + def perp(self, i): + k = self.pc.get(i) + if k is None: + k = self.intern(kernel(self.rows[i], self.h)) + self.pc[i] = k + return k + + +class Geometry: + """Bit geometry: source line ; target cap annihilated by 3 chi_T - 1 (the H0 = (I-J/9)/2 cap).""" + def __init__(self, h, labels): + self.h = h + self.T = Table(h) + self.src = [self.T.intern([[1 if j in lab else 0 for j in range(h)]]) for lab in labels] + self.tcov = [self.T.intern([[(3 if j in lab else 0) - 1 for j in range(h)]]) for lab in labels] + self.coord = [self.T.intern([[1 if k == j else 0 for k in range(h)]]) for j in range(h)] + + def join(self, a, b): return self.T.join(a, b) + def join_many(self, ids): return self.T.join_many(ids) + def dim(self, a): return self.T.dim(a) + def perp(self, a): return self.T.perp(a) + def contained(self, a, b): return self.T.contained(a, b) + + +def gram_nondegenerate_frame(rows, h): + """G = I - J/9 nondegenerate on the F_P-subspace with basis rows (exact sound test: an integer determinant + nonzero mod P is nonzero over Q; frames here are reductions of rational frames of the same dimension).""" + k = len(rows) + if k == 0: + return True + inv9 = pow(9, P - 2, P) + sums = [sum(s) % P for s in rows] + M = [[(sum(a * b for a, b in zip(rows[i], rows[j])) - inv9 * sums[i] * sums[j]) % P for j in range(k)] for i in range(k)] + return len(rref(M, k)) == k + + +# ----------------------------------------------------------------------------- graph +class BitGraph: + def __init__(self, p): + self.p, self.h = p, 2 * p + self.cubes = list(combinations(range(p), 3)) + self.labels = [tuple(2 * i + b for i, b in zip(I, bits)) for I in self.cubes for bits in product(range(2), repeat=3)] + self.a = [None] * len(self.labels) + self.s = [1 << i for i in range(len(self.labels))] + self.intern = {} + self.source = {(I, bits): 8 * j + k for j, I in enumerate(self.cubes) for k, bits in enumerate(product(range(2), repeat=3))} + self.A, self.G = {}, {} + self.root, self.centers, self.mix = [], [], [] + + def add(self, a, b): + if a is None: + return b + if b is None: + return a + if a > b: + a, b = b, a + if (a, b) not in self.intern: + require(not self.s[a] & self.s[b], 'support-disjoint addition') + self.intern[a, b] = len(self.a) + self.a.append([a, b]) + self.s.append(self.s[a] | self.s[b]) + return self.intern[a, b] + + def sum(self, xs): + xs = [x for x in xs if x is not None] + while len(xs) > 1: + xs = [self.add(xs[i], xs[i + 1]) if i + 1 < len(xs) else xs[i] for i in range(0, len(xs), 2)] + return xs[0] if xs else None + + def module(self, data, inputs): + image = list(inputs) + n = data['input_count'] + require(len(image) == n, 'module arity') + for pair in data['args'][n:]: + image.append(self.add(image[pair[0]], image[pair[1]])) + return [image[x] for x in data['roots']] + + def local_channels(self): + for I in self.cubes: + src = lambda bits: self.source[I, tuple(bits)] + edges = {} + for ii, jj in combinations(range(3), 2): + kk = 3 - ii - jj + for a, b in product(range(2), repeat=2): + b0 = [0] * 3 + b0[ii], b0[jj] = a, b + b1 = b0[:] + b1[kk] = 1 + edges[ii, jj, a, b] = self.add(src(b0), src(b1)) + self.G[I, I[ii], I[jj], 0] = self.add(edges[ii, jj, 0, 0], edges[ii, jj, 1, 1]) + self.G[I, I[ii], I[jj], 1] = self.add(edges[ii, jj, 0, 1], edges[ii, jj, 1, 0]) + for ii in range(3): + jj = next(j for j in range(3) if j != ii) + for a in range(2): + ids = [edges[(ii, jj, a, b) if ii < jj else (jj, ii, b, a)] for b in range(2)] + self.A[I, I[ii], a] = self.add(*ids) + + def local_l1(self): + """L1 local-channel association (eumemic, Claude assistance): the G sums listed in L1_DIAGONAL add the two + long diagonals of their cube face, the other G sums and the A sums add two edges; same supports as + local_channels, with the nodes created in channel order.""" + for I in self.cubes: + def at(bits): + b = [0] * 3 + for q, x in bits.items(): + b[q] = x + return self.source[I, tuple(b)] + + def edge(d, fixed): + return self.add(at({**fixed, d: 0}), at({**fixed, d: 1})) + for j, k in combinations(range(3), 2): + r = 3 - j - k + for mode in range(2): + if (j, k, mode) in L1_DIAGONAL: + node = self.add(self.add(at({j: 0, k: mode, r: 0}), at({j: 1, k: 1 - mode, r: 1})), + self.add(at({j: 0, k: mode, r: 1}), at({j: 1, k: 1 - mode, r: 0}))) + else: + node = self.add(edge(r, {j: 0, k: mode}), edge(r, {j: 1, k: 1 - mode})) + self.G[I, I[j], I[k], mode] = node + for i in range(3): + j, k = [q for q in range(3) if q != i] + for a in range(2): + self.A[I, I[i], a] = self.add(edge(k, {i: a, j: 0}), edge(k, {i: a, j: 1})) + + def local_design(self, design): + """Design-driven local channels (agent-helpers search): every plane channel of every cube is built by the + recipe tree of `design` (a list of [plane key, tree] in creation order; a plane key is ['A', i, a] for the + sources with selector a at cube position i, or ['G', j, k, m] for the sources with s_j ^ s_k = m; a tree is a + 3-bit selector (leaf) or a pair of trees). Equal supports must have equal recipes (checked).""" + def members(key): + allb = list(product(range(2), repeat=3)) + if key[0] == 'A': + return {b for b in allb if b[key[1]] == key[2]} + return {b for b in allb if b[key[1]] ^ b[key[2]] == key[3]} + for I in self.cubes: + def build(t): + if isinstance(t[0], int): + return self.source[I, tuple(t)], {tuple(t)} + (a, sa), (b, sb) = build(t[0]), build(t[1]) + require(not sa & sb, 'design support-disjoint') + return self.add(a, b), sa | sb + for key, tree in design: + node, sup = build(tree) + require(sup == members(key), 'design plane support') + if key[0] == 'A': + self.A[I, I[key[1]], key[2]] = node + else: + self.G[I, I[key[1]], I[key[2]], key[3]] = node + + def finish(self, pair, allbut, merge=False, l1=False, design=None): + p = self.p + if design is not None: + self.local_design(design) + else: + self.local_l1() if l1 else self.local_channels() + Pm, Qm = {}, {} + cen = {} + for i in range(p): + pairs = list(combinations([a for a in range(p) if a != i], 2)) + for bit in range(2): + outs = self.module(pair, [self.A[tuple(sorted((i, *K))), i, bit] for K in pairs]) + for K, node in zip(pairs, outs): + Pm[tuple(sorted((i, *K))), i, bit] = node + if len(outs) == len(pairs) + 1: + # centre-sharing pair module (agent-helpers): the extra root sums all inputs = star(2i+bit) + cen[2 * i + bit] = outs[-1] + for i, j in combinations(range(p), 2): + others = [a for a in range(p) if a not in (i, j)] + for mode in range(2): + for k, node in zip(others, self.module(allbut, [self.G[tuple(sorted((i, j, k))), i, j, mode] for k in others])): + Qm[tuple(sorted((i, j, k))), i, j, mode] = node + allb = list(product(range(2), repeat=3)) + + def emit(I, bl, node, channel): + self.root.append(dict(node=node, targets=[self.source[I, b] for b in bl], kind='side', channel=channel)) + for I in self.cubes: + for a in range(2): + emit(I, [b for b in allb if b[0] == a], Pm[I, I[0], a], 'face0') + for a in range(2): + for m12 in range(2): + emit(I, [b for b in allb if b[0] == a and (b[1] ^ b[2]) == m12], Qm[I, I[1], I[2], 1 - m12], 'edge12') + if merge: + # variant u output merge (eumemic, Claude assistance): u(b0,b1) = face1 + edge01 and + # w(b0,b2) = face2 + edge02, each read by two single roots, replace the four single reads + u = {(b0, b1): self.add(Pm[I, I[1], b1], Qm[I, I[0], I[1], 1 - (b0 ^ b1)]) for b0 in range(2) for b1 in range(2)} + w = {(b0, b2): self.add(Pm[I, I[2], b2], Qm[I, I[0], I[2], 1 - (b0 ^ b2)]) for b0 in range(2) for b2 in range(2)} + for b in allb: + if merge: + emit(I, [b], u[b[0], b[1]], 'u01') + emit(I, [b], w[b[0], b[2]], 'w02') + else: + emit(I, [b], Pm[I, I[1], b[1]], 'face1') + emit(I, [b], Qm[I, I[0], I[1], 1 - (b[0] ^ b[1])], 'edge01') + emit(I, [b], Pm[I, I[2], b[2]], 'face2') + emit(I, [b], Qm[I, I[0], I[2], 1 - (b[0] ^ b[2])], 'edge02') + emit(I, [b], self.source[I, (b[0], 1 - b[1], 1 - b[2])], 'partner') + # partner-pair source mixing: in each parity class the pair with selector a on cube pair 0 + # (carrier = smaller bits, passive = its partner) is delivered to the opposite pair of the class. + for par in range(2): + for a in range(2): + pair_ = sorted(b for b in allb if sum(b) % 2 == par and b[0] == a) + recv = sorted(b for b in allb if sum(b) % 2 == par and b[0] == 1 - a) + self.mix.append(dict(carrier=self.source[I, pair_[0]], passive=self.source[I, pair_[1]], + receivers=[self.source[I, r] for r in recv])) + for i in range(p): + for e in range(2): + if 2 * i + e in cen: + self.centers.append(cen[2 * i + e]) + else: + self.centers.append(self.sum(self.A[I, i, e] for I in self.cubes if i in I)) + for coordinate, node in enumerate(self.centers): + self.root.append(dict(node=node, targets=[t for t, lab in enumerate(self.labels) if coordinate in lab], + kind='center', coordinate=coordinate)) + return dict(p=p, h=self.h, v=len(self.labels), labels=[list(l) for l in self.labels], args=self.a, + roots=self.root, partner_mix=self.mix) + + +def check_decoder(g): + v, args = g['v'], g['args'] + sup = [1 << i for i in range(v)] + [0] * (len(args) - v) + for x in range(v, len(args)): + a, b = args[x] + require(not sup[a] & sup[b], 'disjoint supports') + sup[x] = sup[a] | sup[b] + acc = [0] * v + for r in g['roots']: + for t in r['targets']: + acc[t] ^= sup[r['node']] + for mx in g['partner_mix']: + for t in mx['receivers']: + acc[t] ^= (1 << mx['carrier']) | (1 << mx['passive']) + return sum(acc[t] != 1 << t for t in range(v)) + + +# ----------------------------------------------------------------------------- matching +def hopcroft_karp(adj, nleft, nright): + INF = 1 << 30 + mL, mR = [-1] * nleft, [-1] * nright + while True: + dist = [INF] * nleft + dq = deque(u for u in range(nleft) if mL[u] < 0) + for u in dq: + dist[u] = 0 + found = False + while dq: + u = dq.popleft() + for w in adj[u]: + m = mR[w] + if m < 0: + found = True + elif dist[m] == INF: + dist[m] = dist[u] + 1 + dq.append(m) + if not found: + return mL + it = [0] * nleft + for u0 in range(nleft): + if mL[u0] >= 0: + continue + stack = [u0] + while stack: + u = stack[-1] + if it[u] < len(adj[u]): + w = adj[u][it[u]] + it[u] += 1 + m = mR[w] + if m < 0: + ws = w + for uu in reversed(stack): + prev = mL[uu] + mL[uu], mR[ws] = ws, uu + ws = prev + break + if dist[m] == dist[u] + 1: + stack.append(m) + else: + dist[u] = INF + stack.pop() + + +# ----------------------------------------------------------------------------- compiler +def compile_word(g, frozen=None, plain_k=PLAIN, log=lambda *a: None): + h, v = g['h'], g['v'] + geo = Geometry(h, [tuple(l) for l in g['labels']]) + args = [None] + [None if a is None else [x + 1 for x in a] for a in g['args']] # node 0 reserved + roots = [dict(r, node=r['node'] + 1) for r in g['roots']] + n, q = len(args), len(roots) + sup = [0] * n + for i in range(v): + sup[i + 1] = 1 << i + spans = [0] * n + for i in range(v): + spans[i + 1] = geo.src[i] + for x in range(v + 1, n): + a, b = args[x] + spans[x] = geo.join(spans[a], spans[b]) + sup[x] = sup[a] | sup[b] + rframe, rann, ell = [], [], 0 + Y, targetH = [0] * v, Counter() + for r in roots: + x = r['node'] + if r['kind'] == 'center': + U = spans[x]; A = geo.perp(U); ell += geo.dim(U) + else: + A = geo.join_many(geo.tcov[t] for t in r['targets']); U = geo.perp(A) + for t in r['targets']: + require(geo.contained(Y[t], U), 'target retreat') + targetH[geo.dim(U) - geo.dim(Y[t])] += 1 + Y[t] = U + require(geo.contained(spans[x], U), 'root physical compatibility') + rframe.append(U); rann.append(A) + for t in range(v): + require(geo.contained(Y[t], geo.perp(geo.tcov[t])), 'target cap') + targetH[h - 1 - geo.dim(Y[t])] += 1 + active, todo = set(range(1, v + 1)), [r['node'] for r in roots] + while todo: + x = todo.pop() + if x not in active: + active.add(x) + if args[x]: + todo.extend(args[x]) + succ0, cons = [[] for _ in args], [[] for _ in args] + for x in sorted(active): + if args[x]: + for y in args[x]: + succ0[y].append(x) + for j, r in enumerate(roots): + cons[r['node']].append(rann[j]) + preann, initial = [0] * n, [0] * n + for x in sorted(active, reverse=True): + preann[x] = geo.join_many(cons[x] + [preann[y] for y in succ0[x]]) + cover = 0 + s = sup[x] + while s: + b = s & -s; s ^= b + for j in g['labels'][b.bit_length() - 1]: + cover |= 1 << j + initial[x] = geo.join_many([preann[x]] + [geo.coord[j] for j in range(h) if not cover >> j & 1]) + order = sorted(active, key=lambda x: (h - geo.dim(initial[x]), x)) + position = {x: i for i, x in enumerate(order)} + uses, usevalue, usetarget, useann, usecode = [[] for _ in args], [], [], [], [] + for x in order: + if args[x]: + for j, y in enumerate(args[x]): + uses[y].append(len(usevalue)); usevalue.append(y); usetarget.append(x); useann.append(initial[x]); usecode.append(['op', x - 1, j]) + for j, r in enumerate(roots): + x = r['node'] + uses[x].append(len(usevalue)); usevalue.append(x); usetarget.append(n + j); useann.append(rann[j]); usecode.append(['root', j]) + donors = [x for x in order if args[x]] + code_index = {tuple(c): u for u, c in enumerate(usecode)} + if frozen is not None: + arcs = {d + 1: code_index[tuple(c)] for d, c in frozen} + else: + dindex = {x: i for i, x in enumerate(donors)} + adj = [[] for _ in donors] + for x in donors: + for y in args[x]: + for u in uses[y]: + t = usetarget[u] + if t == x or (t < n and position[t] <= position[x]): + continue + if geo.contained(useann[u], initial[x]): + adj[dindex[x]].append(u) + mL = hopcroft_karp(adj, len(donors), len(usevalue)) + arcs = {donors[i]: u for i, u in enumerate(mL) if u >= 0} + for x, u in arcs.items(): + t = usetarget[u] + require(usevalue[u] in args[x] and (t >= n or position[t] > position[x]), 'arc order') + require(geo.contained(useann[u], initial[x]), 'arc frame') + succ, direct = [[] for _ in args], [[] for _ in args] + for x in order: + if args[x]: + for y in args[x]: + succ[y].append(x) + for j, r in enumerate(roots): + direct[r['node']].append(rann[j]) + for x, u in arcs.items(): + t = usetarget[u] + (succ[x].append(t) if t < n else direct[x].append(rann[t - n])) + ann, rank = [0] * n, [0] * n + for x in reversed(order): + ann[x] = geo.join_many(direct[x] + [ann[y] for y in succ[x]]) + rank[x] = h - geo.dim(ann[x]) + require(geo.contained(ann[x], geo.perp(spans[x])), 'span inside frame') + # plain frames span(n): leaves and small additions, closed under operands; a linked donor must be plain and + # its span must lie in the plain target's span + cand = set(x for x in active if not args[x]) + for x in sorted(active): + if args[x] and geo.dim(spans[x]) <= plain_k and all(y in cand for y in args[x]): + cand.add(x) + arcin, users = defaultdict(list), defaultdict(list) + for x, u in arcs.items(): + if usetarget[u] < n: + arcin[usetarget[u]].append(x) + for x in active: + if args[x]: + for y in args[x]: + users[y].append(x) + changed = True + while changed: + changed = False + for t in sorted(cand): + if t in cand and any(x not in cand or not geo.contained(spans[x], spans[t]) for x in arcin[t]): + cand.discard(t); changed = True + st = [t] + while st: + z = st.pop() + for w in users[z]: + if w in cand: + cand.discard(w); st.append(w) + plain = sorted(cand) + for x in plain: + ann[x] = geo.perp(spans[x]); rank[x] = h - geo.dim(ann[x]) + H = Counter() + for x in order: + r, deg = rank[x], len(uses[x]) + require(deg > 0, 'unused node') + H[r] += deg - 1 + if args[x]: + H[h - r] += 1 + for y in args[x]: + require(geo.contained(ann[x], ann[y]), 'operand nesting') + H[r - rank[y]] += 1 + else: + H[1] += 1; H[r - 1] += 1 + for j, root in enumerate(roots): + x = root['node']; r = rank[x]; rt = geo.dim(rframe[j]) + require(r <= rt, 'root climb') + if root['kind'] == 'center': + require(r == rt, 'centre frame') + H[r] += 1; H[h - r] += 1 + else: + H[rt - r] += 1; H[h - rt] += 1 + for x, u in arcs.items(): + val, t = usevalue[u], usetarget[u] + rv, rd = rank[val], rank[x] + rt = rank[t] if t < n else geo.dim(rframe[t - n]) + require(rt >= rd >= rv, 'arc ranks') + H[h - rd] -= 1; H[rv] -= 1; H[rt - rv] -= 1; H[rt - rd] += 1 + require(min(H.values()) >= 0, 'nonnegative ledger') + R = len(donors) + q - len(arcs) + require(sum(r * c for r, c in H.items()) == h * R + ell, 'mass identity') + prof = dict(h=h, v=v, R=R, q=q, c=len(donors), matched=len(arcs), loss=ell, plain=len(plain)) + wit = dict(geo=geo, args=args, roots=roots, n=n, order=order, arcs=arcs, ann=ann, rank=rank, uses=uses, + usevalue=usevalue, usetarget=usetarget, usecode=usecode, rframe=rframe, rann=rann, spans=spans, + plain=plain, H=H, targetH=targetH) + return prof, wit + + +def nondeg_id(geo, f, cache): + if f not in cache: + cache[f] = gram_nondegenerate_frame(list(geo.T.rows[f]), geo.h) + return cache[f] + + +def select_gauges(g, prof, wit, trial_a=0.00065): + """PR #144 gauges.select, exactly, plus the bit G-nondegeneracy filter on sigma.""" + geo = wit['geo']; h, v = prof['h'], prof['v'] + args, roots, n, order, ann, arcs = wit['args'], wit['roots'], wit['n'], wit['order'], wit['ann'], wit['arcs'] + usevalue, usetarget = wit['usevalue'], wit['usetarget'] + incoming = set(arcs.values()) + uses, opuse, rootuse = [[] for _ in args], {}, {} + for u, (val, t) in enumerate(zip(usevalue, usetarget)): + uses[val].append(u) + if t < n: + opuse[t, 0 if args[t][0] == val else 1] = u + else: + rootuse[t - n] = u + assign, sources, ops, R = {}, {}, [], 0 + for x in order: + if args[x]: + aa, bb = args[x] + dest, control = assign[opuse[x, 0]], assign[opuse[x, 1]] + if x in arcs: + u = arcs[x] + if usevalue[u] == aa: + dest, control = control, dest + require(u not in assign, 'arc use assigned once') + assign[u] = control + ops.append((dest, control, x)) + else: + dest = R; R += 1; sources[x] = dest + free = [u for u in uses[x] if u not in incoming] + require(free, 'free use') + for j, u in enumerate(free): + if j == 0: + assign[u] = dest + else: + t = R; R += 1; assign[u] = t; ops.append((t, dest, x)) + require(R == prof['R'], 'role count') + rootroles = [assign[rootuse[j]] for j in range(len(roots))] + prev, pred, first = [-1] * R, [], [None] * R + for i, (a, b, x) in enumerate(ops): + pred.append((prev[a], prev[b])); prev[a] = prev[b] = i + if first[a] is None: + first[a] = x + if first[b] is None: + first[b] = x + stack = [prev[s] for r, s in zip(roots, rootroles) if r['kind'] == 'center' and prev[s] >= 0] + phase = set() + while stack: + i = stack.pop() + if i not in phase: + phase.add(i); stack.extend(j for j in pred[i] if j >= 0) + touched = set(sources.values()) + for i in phase: + touched.update(ops[i][:2]) + co = [0] * R + for r, s in zip(roots, rootroles): + co[s] |= sum(1 << t for t in r['targets']) + for a, b, x in reversed(ops): + co[b] |= co[a] + limit = [None] * v + for r in roots: + if r['kind'] != 'center': + A = geo.join_many(geo.tcov[t] for t in r['targets']) + for t in r['targets']: + if limit[t] is None: + limit[t] = A + for t in range(v): + if limit[t] is None: + limit[t] = geo.tcov[t] + H = Counter(wit['H']) + gauges, selected, cache = Counter(), [], {} + cands = sorted((s for s in range(R) if s not in touched and first[s] is not None), + key=lambda s: (geo.dim(ann[first[s]]), bin(co[s]).count('1'), s)) + + def excess(t): + return t * math.expm1(trial_a * math.log(3 * h / t)) if t else 0. + for s in cands: + A, targets, bits = ann[first[s]], [], co[s] + while bits: + low = bits & -bits; t = low.bit_length() - 1; bits ^= low; targets.append(t) + A = geo.join(A, limit[t]) + if geo.dim(A) == h: + break + if geo.dim(A) == h: + continue + r, d = h - geo.dim(ann[first[s]]), h - geo.dim(A) + delta = 3 * (excess(r - d) - excess(r)) + excess(3 * d) + delta += 3 * math.fsum(excess(d) + excess(h - geo.dim(limit[t]) - d) - excess(h - geo.dim(limit[t])) for t in targets) + if delta >= -1e-12 or not nondeg_id(geo, geo.perp(A), cache): + continue + H[r] -= 1; H[r - d] += 1; gauges[d] += 1 + require(H[r] >= 0, 'gauge ledger') + for t in targets: + limit[t] = A + selected.append(dict(role=s, first=first[s] - 1, targets=targets, dim=d, ann=A)) + Yh, cur = Counter(), [0] * v + for z in reversed(selected): + U = geo.perp(z['ann']) + for t in z['targets']: + require(geo.contained(cur[t], U), 'gauge target chain') + Yh[geo.dim(U) - geo.dim(cur[t])] += 1; cur[t] = U + for r in roots: + if r['kind'] != 'center': + U = geo.perp(geo.join_many(geo.tcov[t] for t in r['targets'])) + for t in r['targets']: + require(geo.contained(cur[t], U), 'side target chain') + Yh[geo.dim(U) - geo.dim(cur[t])] += 1; cur[t] = U + for t in range(v): + Yh[h - 1 - geo.dim(cur[t])] += 1 + word = dict(ops=[[a, b, x - 1] for a, b, x in ops], sources={str(x - 1): s for x, s in sources.items()}, + rootroles=rootroles, phase1=sorted(phase), gauges=[{k: z[k] for k in ('role', 'first', 'targets', 'dim')} for z in selected], + _gauge_ann=[z['ann'] for z in selected]) + return gauges, H, Yh, word + + +def profile(prof, gauges, H, Y): + h, v, R, ell = prof['h'], prof['v'], prof['R'], prof['loss'] + m, W = 3 * h, 2 * v + R + source = Counter({1: v, h - 4: v // 2, 2: v // 2, h - 2: v // 2}) + C = Counter() + for part in (H, source, Y): + for r, c in part.items(): + if r and c: + C[r] += 3 * c + for d, c in gauges.items(): + C[3 * d] += c + C[2] += 2 * v + mass = sum(r * c for r, c in C.items()) + require(W * m - mass == 2 * v - 3 * ell, 'shared-core telescoping deficit') + srt = lambda c: {str(k): c[k] for k in sorted(c) if c[k]} + return dict(h=h, v=v, R=R, c=prof['c'], q=prof['q'], matched=prof['matched'], loss=ell, plain_frames=prof['plain'], + m=m, W_per_vertex=W, rank_per_vertex=mass, deficit_per_vertex=W * m - mass, + selected_roles=sum(gauges.values()), selected_rank_histogram=srt(gauges), + remaining_internal_histogram=srt(H), source_data_histogram=srt(source), target_data_histogram=srt(Y), + child_histogram=srt(C), maxchild=max(C)) + + +def float_root(child, W, m): + items = [(int(t), c) for t, c in child.items()] + lo, hi = 0., .1 + for _ in range(80): + a = (lo + hi) / 2 + if math.fsum(c * (t / m) ** (1 - a) for t, c in items) < W: + lo = a + else: + hi = a + return lo + + +def ratrec(r): + """Rational reconstruction a/b of a residue mod P with |a|, b < sqrt(P/2).""" + r %= P + if r == 0: + return 0, 1 + bound = math.isqrt(P // 2) + r0, r1, s0, s1 = P, r, 0, 1 + while r1 > bound: + qq = r0 // r1 + r0, r1 = r1, r0 - qq * r1 + s0, s1 = s1, s0 - qq * s1 + require(abs(s1) <= bound and s1 != 0, 'rational reconstruction') + a, b = (r1, s1) if s1 > 0 else (-r1, -s1) + require((a - r * b) % P == 0, 'reconstruction residue') + return a, b + + +def primitive(row): + from fractions import Fraction + fr = [Fraction(*ratrec(x)) for x in row] + den = 1 + for f in fr: + den = den * f.denominator // math.gcd(den, f.denominator) + ints = [int(f * den) for f in fr] + gg = 0 + for x in ints: + gg = math.gcd(gg, abs(x)) + ints = [x // gg for x in ints] if gg else ints + first = next((x for x in ints if x), 1) + return [-x for x in ints] if first < 0 else ints + + +def frame_record(geo, ann_id): + """Exact integer description of the frame perp(ann): 'a' = integer annihilator rows (frame = common kernel) + when codim <= dim, else 'b' = integer basis rows. Both are primitive rows of the rational RREF.""" + h = geo.h + A = geo.T.rows[ann_id] + codim = len(A) + if codim <= h - codim: + rows = [primitive(r) for r in A] + return dict(dim=h - codim, a=rows) + B = geo.T.rows[geo.perp(ann_id)] + return dict(dim=h - codim, b=[primitive(r) for r in B]) + + +def dumps(obj): + return json.dumps(obj, sort_keys=True, separators=(',', ':')) + '\n' + + +def build(p, frozen_arcs=None, log=print): + mod = json.loads((HERE / 'data' / MODULES[p]).read_text()) + abo = pinned_all_but_one(QMODULES[p], p - 2) if p in QMODULES else all_but_one(p - 2) + dpath = HERE / 'data' / ('local_design_p%d.json' % p) + design = json.loads(dpath.read_text())['design'] if dpath.exists() else None + g = BitGraph(p).finish(mod, abo, merge=p in MERGE, l1=p == 12, design=design) + require(check_decoder(g) == 0, 'mod-2 decoder identity') + t0 = time.time() + prof, wit = compile_word(g, frozen=frozen_arcs) + log('compiled p=%d in %.1fs: R=%d arcs=%d plain=%d' % (p, time.time() - t0, prof['R'], prof['matched'], prof['plain'])) + gauges, H, Y, word = select_gauges(g, prof, wit) + prf = profile(prof, gauges, H, Y) + arcs = sorted([x - 1, wit['usecode'][u]] for x, u in wit['arcs'].items()) + cache = {} + geo = wit['geo'] + deg = sum(1 for x in wit['order'] if not nondeg_id(geo, geo.perp(wit['ann'][x]), cache)) + deg += sum(1 for U in wit['rframe'] if not nondeg_id(geo, U, cache)) + require(deg == 0, 'G-nondegenerate node and root frames') + out = dict(graph=dict(p=p, h=g['h'], v=g['v'], labels=g['labels'], args=g['args'], roots=g['roots'], + partner_mix=g['partner_mix'], pair_module_sha256=hashlib.sha256((HERE / 'data' / MODULES[p]).read_bytes()).hexdigest()), + compile=dict(plain_threshold=PLAIN, order=[x - 1 for x in wit['order']], plain=[x - 1 for x in wit['plain']], arcs=arcs), + word={k: v for k, v in word.items() if not k.startswith('_')}) + exp = export(p, g, prof, wit, word, prf) + return out, prf, arcs, exp + + +def export(p, g, prof, wit, word, prf): + """Plain-JSON gate files: graph, word (selection.json shape), exact frames, partial-K chronology.""" + geo, h, v = wit['geo'], g['h'], g['v'] + n, roots = wit['n'], wit['roots'] + ann = wit['ann'] + frames = {} + + def fid(a): + if a not in frames: + frames[a] = None + return a + node_frame = {str(x - 1): fid(ann[x]) for x in wit['order']} + root_frame = [fid(a) for a in wit['rann']] + gauges = [] + for z, A in zip(word['gauges'], word['_gauge_ann']): + gauges.append(dict(z, frame=fid(A))) + lab = g['labels'] + src_ann = [fid(geo.perp(geo.src[i])) for i in range(v)] + full = fid(0) + level2 = {} + for j, r in enumerate(g['roots']): + if r['kind'] == 'side' and len(r['targets']) == 2: + level2[tuple(sorted(r['targets']))] = j + kchron = [] + for mx in g['partner_mix']: + c, d = mx['carrier'], mx['passive'] + mixf = fid(geo.perp(geo.join(geo.src[c], geo.src[d]))) + j = level2[tuple(sorted(mx['receivers']))] + capf = root_frame[j] + require(geo.contained(capf, mixf), 'mix frame inside receivers cap') + kchron.append(dict(carrier=c, passive=d, receivers=mx['receivers'], mix_frame=mixf, deliver_frame=capf, + deliver_after_root=j, undo_frame=full, + carrier_chain=[src_ann[c], mixf, capf, full], passive_chain=[src_ann[d], mixf, full], + carrier_ranks=[1, h - 4, 2], passive_ranks=[1, h - 2])) + table = {str(a): frame_record(geo, a) for a in sorted(frames)} + conv = dict(target_covector='3*chi_T - 1 (target cap = {u : (3 chi_T - 1).u = 0} = H0-orthogonal complement of chi_T)', + gram='G = I - J/9 on Q^h (H0 = G/2, H0(chi_S,chi_T) = (|S cap T|-1)/2); nondegeneracy tested for G', + frame_ids='frame id = id of the canonical annihilator; record "a" lists integer annihilator rows (frame =' + ' common kernel), record "b" lists integer basis rows; id 0 (empty "a") is the full space Q^h', + ops='[dest, control, node]: dest ^= control at the frame of node (copies: dest is the fresh role)', + nodes='zero-based graph nodes; nodes < v are the source leaves (port index)') + graph = dict(p=p, h=h, v=v, labels=g['labels'], args=g['args'], + roots=[dict(r, coefficient=1) for r in g['roots']], partner_mix=g['partner_mix'], + decoder='mod 2: Y_T += sum of root nodes whose targets contain T (star roots: T reads star(c) for c in T;' + ' side roots; partner singles) + x_carrier + x_passive for each partner_mix entry receiving T;' + ' equals x_T = sum_{c in T} star(c) + sum_{|S cap T|=1} x_S') + wordj = dict(ops=word['ops'], sources=word['sources'], rootroles=word['rootroles'], phase1=word['phase1'], + gauges=gauges, order=[x - 1 for x in wit['order']], arcs=sorted([x - 1, wit['usecode'][u]] for x, u in wit['arcs'].items()), + plain=[x - 1 for x in wit['plain']], node_frame=node_frame, root_frame=root_frame, + source_frame=src_ann, full_frame=full, conventions=conv, + schedule='old-value reads of non-gauged roles (frame 0); V injections at ; ops in order (phase1 ops' + ' are those listed); centre copies read at 0; gauged old-value reads at their gauge frames' + ' (ascending per target); side root reads in root order; partial-K deliveries right after' + ' root deliver_after_root; undo at full frame; inverse ops; V removal') + return dict(graph=graph, word=wordj, frames=dict(h=h, P_used_for_ranks='2^127-1', conventions=conv, frames=table), + kchron=dict(h=h, entries=kchron, conventions=conv)) + + +def nested_prefix(n): + """Nested-prefix all-but-one module (QMOD lane; eumemic, Claude assistance): prefix p_{k+1} = p_k + x_k, suffix + s_k = x_k + s_{k+1}; y_0 = s_1, y_{n-1} = p_{n-1}, y_{i+1} = p_i + (x_i + s_{i+2}). Each prefix is used twice with + nested supports, which gives the carrier matching more links than the balanced tree. Contract-checked. It is the + seed of the pinned p = 12 module data/qmod_p12.json.""" + args = [None] * n + + def add(a, b): + args.append([a, b]) + return len(args) - 1 + pre = {1: 0} + for k in range(1, n - 1): + pre[k + 1] = add(pre[k], k) + suf = {n - 1: n - 1} + for k in range(n - 2, 0, -1): + suf[k] = add(k, suf[k + 1]) + roots = [None] * n + roots[0], roots[n - 1] = suf[1], pre[n - 1] + roots[1] = add(0, suf[2]) + for i in range(1, n - 2): + roots[i + 1] = add(pre[i], add(i, suf[i + 2])) + support = [] + for x, a in enumerate(args): + if a is None: + support.append(1 << x) + else: + require(0 <= a[0] < x and 0 <= a[1] < x and not support[a[0]] & support[a[1]], 'nested prefix disjoint') + support.append(support[a[0]] | support[a[1]]) + full = (1 << n) - 1 + require(all(support[r] == full ^ (1 << i) for i, r in enumerate(roots)), 'nested prefix all-but-one roots') + return dict(input_count=n, args=args, roots=roots) + + +def pinned_all_but_one(name, n): + """Pinned all-but-one module {input_count, args, roots} in data/ (eumemic, Claude assistance). The p = 12 + module was annealed from nested_prefix(10) by split-function moves, scored by the p = 12 bit word. + Contract-checked: disjoint supports, root i sums every input but i.""" + mod = json.loads((HERE / 'data' / name).read_text()) + args, roots = mod['args'], mod['roots'] + require(mod['input_count'] == n == len(roots) and args[:n] == [None] * n, 'pinned all-but-one arity') + support = [1 << x for x in range(n)] + for x, a in enumerate(args[n:], n): + require(a and 0 <= a[0] < x and 0 <= a[1] < x and not support[a[0]] & support[a[1]], 'pinned all-but-one disjoint') + support.append(support[a[0]] | support[a[1]]) + full = (1 << n) - 1 + require(all(support[r] == full ^ (1 << i) for i, r in enumerate(roots)), 'pinned all-but-one roots') + return dict(input_count=n, args=args, roots=roots) + + +def all_but_one(n): + """PR #144 modules.all_but_one (balanced binary tree upward sums and complementary downward sums).""" + args, support = [None] * n, [1 << i for i in range(n)] + by = {s: i for i, s in enumerate(support)} + + def add(a, b): + if a is None: + return b + if b is None: + return a + s = support[a] | support[b] + if s not in by: + by[s] = len(args); args.append([a, b]); support.append(s) + return by[s] + + def tree(lo, hi): + if hi - lo == 1: + return (lo, None, None) + mid = (lo + hi) // 2 + L, Rr = tree(lo, mid), tree(mid, hi) + return (add(L[0], Rr[0]), L, Rr) + roots = [None] * n + + def walk(t, outside): + x, L, Rr = t + if L is None: + roots[x] = outside + return + walk(L, add(outside, Rr[0])); walk(Rr, add(outside, L[0])) + walk(tree(0, n), None) + active, stack = set(range(n)), list(roots) + while stack: + x = stack.pop() + if x not in active: + active.add(x) + if args[x] is not None: + stack.extend(args[x]) + ids = sorted(active); ren = {x: i for i, x in enumerate(ids)} + return dict(input_count=n, args=[None if args[x] is None else [ren[y] for y in args[x]] for x in ids], roots=[ren[x] for x in roots]) + + +def main(): + require(not sys.flags.optimize, 'run without -O') + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--p', type=int, default=12) + ap.add_argument('--out', type=Path, default=HERE / 'out') + ap.add_argument('--check', action='store_true', help='regenerate from frozen arcs and compare byte-identically') + ap.add_argument('--solve-matching', action='store_true', help='recompute the carrier matching (Hopcroft-Karp)') + a = ap.parse_args() + a.out.mkdir(parents=True, exist_ok=True) + arcs_path = HERE / 'data' / ('arcs_p%d.json' % a.p) + frozen = None if a.solve_matching or not arcs_path.exists() else json.loads(arcs_path.read_text()) + out, prf, arcs, exp = build(a.p, frozen) + root = float_root(prf['child_histogram'], prf['W_per_vertex'], prf['m']) + word_bytes = gzip.compress(dumps(out).encode(), mtime=0) + prof_bytes = dumps(prf).encode() + names = {'word_p%d.json.gz' % a.p: word_bytes, 'profile_p%d.json' % a.p: prof_bytes} + for k, obj in exp.items(): + names['%s_p%d.json' % (k, a.p)] = dumps(obj).encode() + if a.check: + for name, data in names.items(): + old = (a.out / name).read_bytes() + if name.endswith('.gz'): # gzip bytes depend on the zlib build; compare the compressed content + old, data = gzip.decompress(old), gzip.decompress(data) + require(old == data, 'byte-identical regeneration of ' + name) + require(frozen is not None, 'frozen arcs present') + print('PASS p=%d: word and profile regenerate byte-identically (sha256 %s, %s)' % ( + a.p, hashlib.sha256(word_bytes).hexdigest()[:16], hashlib.sha256(prof_bytes).hexdigest()[:16])) + else: + for name, data in names.items(): + (a.out / name).write_bytes(data) + if frozen is None: + arcs_path.write_text(dumps(arcs)) + print('wrote p=%d: R=%d R/v=%.3f loss=%d deficit=%d W=%d gauges=%d float a_b=%.7e' % ( + a.p, prf['R'], prf['R'] / prf['v'], prf['loss'], prf['deficit_per_vertex'], prf['W_per_vertex'], + prf['selected_roles'], root)) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/regenerate.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/regenerate.py new file mode 100644 index 0000000000..35f5b2c13e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/producer/regenerate.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Rebuild bitword/selected/bit from the generator and the two physical-layer producers, and compare. + + python3 -B bitword/producer/regenerate.py --work /new/scratch/dir (about 2 minutes) + python3 -B bitword/producer/regenerate.py --work /new/dir --solve-matching --emit /new/out/dir + +1. paired_cube_bit_word.py --p 10 (frozen arcs data/arcs_p10.json) writes the virtual word; +2. make_physical.py --bank-parity adds the compensated reuse pairs and late recipient reads (recipients are + rank h - 3 = 17 gauges; trailing pairs are dropped until the 60-replica bank width is a multiple of m = 100); +3. descent.py moves operation frames (PR200 physical-layer rules, cost r*ln(100/r)) and writes the physical word. +The five pinned files must be reproduced exactly (gzip members compared after decompression). +This is provenance only: verify.py admits the pinned files themselves and never runs a producer. + +Re-pinning (new module data): --solve-matching runs the generator on a scratch copy of this producer directory, +first to recompute and freeze the carrier matching, then on the frozen arcs (the package is never written), and +--emit writes the five new selected files and the new frozen arcs_p10.json to a new directory instead of +comparing. See discovery/REPIN.md. +Prepared by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. +""" +import argparse, gzip, shutil, subprocess, sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +BIT = HERE.parent +P = 10 +NAMES = ['graph_p%d.json' % P, 'kchron_p%d.json' % P, 'profile_p%d.json' % P] +GZ = ['word_p%d.json.gz' % P, 'frames_p%d.json.gz' % P] + + +def main(): + ap = argparse.ArgumentParser(description=__doc__); ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--solve-matching', action='store_true', help='recompute the carrier matching on a scratch copy') + ap.add_argument('--emit', type=Path, help='write the new selected files and arcs here instead of comparing') + a = ap.parse_args(); work = a.work.resolve(); assert not work.exists(), 'work dir must be new' + assert a.emit is None or not a.emit.exists(), 'emit dir must be new' + assert a.emit is not None or not a.solve_matching, '--solve-matching is for re-pinning; use it with --emit' + raw, phys, pkg, final = work/'raw', work/'phys', work/'pkg', work/'final' + py = [sys.executable, '-B'] + producer = HERE # only the generator runs from a scratch copy when the matching is re-solved + if a.solve_matching: + producer = work/'producer'; shutil.copytree(HERE, producer) + (producer/'data'/('arcs_p%d.json' % P)).unlink(missing_ok=True) + # first run: solve the carrier matching and freeze it in the scratch copy's data/arcs_pP.json + subprocess.run(py + [str(producer/'paired_cube_bit_word.py'), '--p', str(P), '--out', str(work/'solve')], check=True) + # the pinned word is always the frozen-arc compile (frame ids follow the frozen arc order) + subprocess.run(py + [str(producer/'paired_cube_bit_word.py'), '--p', str(P), '--out', str(raw)], check=True) + subprocess.run(py + [str(HERE/'make_physical.py'), '--src', str(raw), '--out', str(phys), '--bank-parity'], check=True) + (pkg/'selected').mkdir(parents=True) + shutil.copytree(BIT/'bit', pkg/'bit'); shutil.copytree(BIT/'references', pkg/'references') + shutil.copytree(phys, pkg/'selected/bit') + subprocess.run(py + [str(HERE/'descent.py'), str(pkg), str(final)], check=True) + if a.emit is not None: + out = a.emit.resolve(); (out/'selected').mkdir(parents=True) + for name in NAMES + GZ: + shutil.copyfile(final/name, out/'selected'/name) + shutil.copyfile(producer/'data'/('arcs_p%d.json' % P), out/('arcs_p%d.json' % P)) + print('EMITTED new p=%d bit word to %s (selected/ and arcs_p%d.json); nothing compared' % (P, out, P)) + return + pinned = BIT/'selected/bit' + assert sorted(x.name for x in pinned.iterdir()) == sorted(NAMES + GZ), 'pinned file set' + for name in NAMES: + assert (final/name).read_bytes() == (pinned/name).read_bytes(), name + for name in GZ: + assert gzip.decompress((final/name).read_bytes()) == gzip.decompress((pinned/name).read_bytes()), name + print('PASS p=%d regeneration: all five pinned bit-word files reproduced exactly' % P) + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/SOURCE.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/SOURCE.json new file mode 100644 index 0000000000..c57edcae25 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/SOURCE.json @@ -0,0 +1,20 @@ +{ + "commit": "4a3c769e5c5430e7114c4d3e099ff34664677f17", + "files": { + "certificates/paired-cube-network.json": "05b253a21dc526b6039f56d1068162a19a8a4f29291ad94eb892656b88e9142d", + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-bit/check_paired_cube_bit.py": "4d7c86cd999a1519e0dfb6dcf33a8f26e442a353c3665a0f06881216a260fbf3", + "scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e", + "scripts/paired_cube/__init__.py": "b5fb17c79fd41a75c0648e7a5f99076f9f42a619857d5e34e71699bf00ef0c91", + "scripts/paired_cube/closure.py": "e4b3086f4b5663297fe06f4646e1349f10d8647997989f17eef6ec4e84aec693", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube/gauges.py": "8a501c66e1330f054e0e11a35e9321d2deea7b51cd03ca56b6a41765e43fe061", + "scripts/paired_cube/graph.py": "d10478ba509c7d8abcefcaaf7c5e0b580b9cd9cbe7777b3e49b2fe24620985c8", + "scripts/paired_cube/modules.py": "6c134f3d24c6cd9aca03763050aaf600005c126c09b35ac0ff5f040e0e29db87", + "scripts/paired_cube/verify.py": "b1eb42a91381ae031d97879f7c43e6c00fc4787e132ed60eb3e124994bdb7d35", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "pr": 168, + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "scope": "Byte-identical copies of the PR168 v4 files this package executes or pins (compiler frames/closure/gauges/graph/modules, physical checkers, package bit checker, parent certificate, frame theorem note), so the package is self-contained on main." +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py new file mode 100644 index 0000000000..69d535a6c2 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py @@ -0,0 +1,465 @@ +#!/usr/bin/env python3 +"""Standalone checker for subset-port bit words with broadcast roots (paired-cube bit word with partner-pair +source mixing). Standard library only; independent of the generator (own exact integer linear algebra, own +register simulation). Refuses to run under python -O. + +Inputs (plain JSON written by paired_cube_bit_word.py): graph_pP.json, word_pP.json, frames_pP.json, +kchron_pP.json, profile_pP.json. Checks: + 1. exact frames: every frame record (integer annihilator rows 'a' or integer basis rows 'b') is completed to + the other representation by exact integer elimination; A.B^T = 0 exactly and rank A + rank B = h; + 2. the mod-2 decoder: supports of all additions are disjoint; for every target the deliveries (star roots, + side roots, partner singles, partner-pair sums) XOR to {T}; stars read are exactly the c in T and the + side part is exactly sum_{|S cap T|=1} x_S; + 3. geometry: source frames are the lines ; side root frames lie in every receiver's cap + ker(3 chi_T - 1) and equal the common cap of the group; centre frames are the star spans; the frame of + every addition contains its operands' frames; every root node's frame lies in its root frame; + 4. every role chain (start -> each op frame -> root frame -> full) is nested, including gauged starts + (sigma inside the first op frame, gauged roles untouched in phase one); every target chain (gauge reads + ascending, side root caps in root order, partner-pair delivery at the level-2 cap, final cap) is nested; + the partner-pair chronology: mix frame span{chi_c,chi_d} with H0-Gram I_2, contained in the receivers' + level-2 cap, carrier chain [, mix, cap, full] and passive chain [, mix, full] nested; + 5. G = I - J/9 nondegenerate on every frame used (exact integer determinant test); + 6. literal F2 replay with arbitrary dirty scratch: y = y0 + x, scratch and sources restored; + 7. independent ledger recount from the role chains equals the saved child histogram (PR #144 bit ledger); + 8. mutation controls (must all be REJECTED): broken partner mix, delivery outside the shared cap (full + frame), delivery below the level (face cap without span{chi_c,chi_d}), dropped star, non-nested role chain. +Usage: python3 check_paired_cube_bit.py --dir out --p 12 +""" +import argparse, json, random, sys +from collections import Counter, defaultdict +from math import gcd +from operator import mul +from pathlib import Path + +if sys.flags.optimize: + raise SystemExit('refusing to run under python -O: assertions are part of the check') + + +class Fail(Exception): + pass + + +def need(cond, msg): + if not cond: + raise Fail(msg) + + +# ------------------------------------------------------------------ exact integer linear algebra +def prim(v): + g = 0 + for x in v: + g = gcd(g, abs(x)) + if g > 1: + v = [x // g for x in v] + f = next((x for x in v if x), 0) + return tuple(-x for x in v) if f < 0 else tuple(v) + + +def reduce_rows(rows, h): + """Integer reduced echelon form: returns (rows, pivot columns); each pivot column is zero outside its row.""" + rows = [list(r) for r in rows] + out, pivs = [], [] + for r in rows: + for pr, pc in zip(out, pivs): + if r[pc]: + a, b = pr[pc], r[pc] + r = [x * a - y * b for x, y in zip(r, pr)] + r = list(prim(r)) + c = next((j for j in range(h) if r[j]), None) + if c is None: + continue + for i, (pr, pc) in enumerate(zip(out, pivs)): + if pr[c]: + a, b = r[c], pr[c] + out[i] = list(prim([x * a - y * b for x, y in zip(pr, r)])) + out.append(r); pivs.append(c) + return out, pivs + + +def kernel(rows, h): + red, pivs = reduce_rows(rows, h) + ps = set(pivs) + basis = [] + for f in range(h): + if f in ps: + continue + D = 1 + for r, c in zip(red, pivs): + if r[f]: + D = D * abs(r[c]) // gcd(D, abs(r[c])) + v = [0] * h + v[f] = D + for r, c in zip(red, pivs): + if r[f]: + v[c] = -r[f] * D // r[c] + basis.append(prim(v)) + return basis, len(red) + + +def rank(rows, h): + return len(reduce_rows(rows, h)[0]) + + +def dot(a, b): + return sum(map(mul, a, b)) + + +# ------------------------------------------------------------------ checker +class Checker: + def __init__(self, d, p, mutate=None): + self.mut = mutate + rd = lambda name: json.loads((d / ('%s_p%d.json' % (name, p))).read_text()) + self.g, self.w, self.fr, self.k, self.prof = rd('graph'), rd('word'), rd('frames'), rd('kchron'), rd('profile') + self.h, self.v = self.g['h'], self.g['v'] + if mutate == 'dropped_star': + j = next(i for i, r in enumerate(self.g['roots']) if r['kind'] == 'center') + self.g['roots'][j]['targets'] = [] + if mutate == 'broken_mix': + self.k['entries'][0]['skip_mix'] = True + if mutate == 'outside_cap': + # raise the mixed carrier past the receivers' shared cap (to the full frame) and deliver there + e = self.k['entries'][0] + e['deliver_frame'] = self.w['full_frame'] + e['carrier_chain'][2] = e['deliver_frame'] + if mutate == 'below_level': + # deliver at the receivers' level-1 (face) cap, which does not contain span{chi_c, chi_d} + e = self.k['entries'][0] + face = next(j for j, r in enumerate(self.g['roots']) if r['kind'] == 'side' and set(e['receivers']) < set(r['targets'])) + e['deliver_frame'] = self.w['root_frame'][face] + e['carrier_chain'][2] = e['deliver_frame'] + if mutate == 'non_nested': + # move one addition's frame down to the frame of its smallest operand's source line + x = next(int(k) for k, f in sorted(self.w['node_frame'].items(), key=lambda kv: int(kv[0])) if int(k) >= self.v and str(int(k)) not in set(map(str, self.w['plain']))) + self.w['node_frame'][str(x)] = self.w['source_frame'][0] + + # ---------------- frames + def frames(self): + h = self.h + self.A, self.B, self.dimf = {}, {}, {} + for key, rec in self.fr['frames'].items(): + f = int(key) + if 'a' in rec: + A = [tuple(r) for r in rec['a']] + need(rank(A, h) == len(A), 'independent annihilator rows %d' % f) + B, _ = kernel(A, h) + else: + B = [tuple(r) for r in rec['b']] + need(rank(B, h) == len(B), 'independent basis rows %d' % f) + A, _ = kernel(B, h) + need(len(A) + len(B) == h and len(B) == rec['dim'], 'dimensions of frame %d' % f) + need(all(dot(a, b) == 0 for a in A for b in B), 'A.B = 0 for frame %d' % f) + self.A[f], self.B[f], self.dimf[f] = A, B, len(B) + self.cc = {} + return len(self.A) + + def sub(self, f1, f2): + """frame f1 contained in frame f2 (exact)""" + if f1 == f2: + return True + key = (f1, f2) + r = self.cc.get(key) + if r is None: + B1, A2 = self.B[f1], self.A[f2] + r = len(B1) <= len(self.B[f2]) and all(dot(a, b) == 0 for a in A2 for b in B1) + self.cc[key] = r + return r + + def in_frame(self, vec, f): + return all(dot(a, vec) == 0 for a in self.A[f]) + + def nondeg(self, f): + h = self.h + B, A = self.B[f], self.A[f] + if not B or len(B) == h: + return True + if len(B) <= len(A): + s = [sum(b) for b in B] + M = [[9 * dot(B[i], B[j]) - s[i] * s[j] for j in range(len(B))] for i in range(len(B))] + return rank(M, len(B)) == len(B) + s = [sum(a) for a in A] + M = [[(9 - h) * dot(A[i], A[j]) + s[i] * s[j] for j in range(len(A))] for i in range(len(A))] + return rank(M, len(A)) == len(A) + + # ---------------- decoder + def decoder(self): + g, v = self.g, self.v + args = g['args'] + lab = [frozenset(l) for l in g['labels']] + sup = [1 << i for i in range(v)] + [0] * (len(args) - v) + for x in range(v, len(args)): + a, b = args[x] + need(not sup[a] & sup[b], 'support-disjoint addition %d' % x) + sup[x] = sup[a] | sup[b] + self.sup = sup + acc, stars, side = [0] * v, [set() for _ in range(v)], [0] * v + for r in g['roots']: + need(r.get('coefficient', 1) == 1, 'mod-2 unit coefficients') + for t in r['targets']: + acc[t] ^= sup[r['node']] + if r['kind'] == 'center': + stars[t].add(r['coordinate']) + else: + side[t] ^= sup[r['node']] + for e in self.k['entries']: + for t in e['receivers']: + acc[t] ^= (1 << e['carrier']) | (1 << e['passive']) + side[t] ^= (1 << e['carrier']) | (1 << e['passive']) + for t in range(v): + need(acc[t] == 1 << t, 'decoder identity at target %d' % t) + need(stars[t] == set(lab[t]), 'stars read by target %d' % t) + orth = sum(1 << s for s in range(v) if len(lab[s] & lab[t]) == 1) + need(side[t] == orth, 'side part = sum over |S cap T| = 1 at target %d' % t) + for r in g['roots']: + if r['kind'] == 'center': + c = r['coordinate'] + need(sup[r['node']] == sum(1 << s for s in range(v) if c in lab[s]), 'star support %d' % c) + + # ---------------- geometry and chains + def geometry(self): + g, w, h, v = self.g, self.w, self.h, self.v + lab = g['labels'] + chi = [tuple(1 if j in l else 0 for j in range(h)) for l in lab] + cov = [tuple((3 if j in l else 0) - 1 for j in range(h)) for l in lab] + nf = {int(k): f for k, f in w['node_frame'].items()} + rf = w['root_frame'] + full = w['full_frame'] + need(self.dimf[full] == h, 'full frame') + for s in range(v): + f = w['source_frame'][s] + need(self.dimf[f] == 1 and self.in_frame(chi[s], f), 'source line ') + args = g['args'] + for x, f in nf.items(): + if x < v: + need(self.in_frame(chi[x], f), 'leaf label inside its frame') + else: + for y in args[x]: + need(self.sub(nf[y], f), 'operand frame inside node frame (%d <- %d)' % (x, y)) + loss = 0 + for j, r in enumerate(g['roots']): + f = rf[j] + need(self.sub(nf[r['node']], f), 'root node frame inside root frame %d' % j) + if r['kind'] == 'center': + c = r['coordinate'] + S = [chi[s] for s in range(v) if c in lab[s]] + need(all(self.in_frame(x, f) for x in S) and rank(S, h) == self.dimf[f], 'centre frame = star span') + loss += self.dimf[f] + else: + need(all(dot(cov[t], b) == 0 for t in r['targets'] for b in self.B[f]), 'root frame inside caps') + need(self.dimf[f] == h - rank([cov[t] for t in r['targets']], h), 'root frame = common cap') + need(loss == self.prof['loss'], 'copied-centre loss') + self.chi, self.cov, self.nf, self.rf = chi, cov, nf, rf + + def chains(self): + """Role chains of the physical word and target chains; returns the recounted child histogram.""" + g, w, h, v = self.g, self.w, self.h, self.v + nf, rf, full = self.nf, self.rf, w['full_frame'] + ops, rootroles = w['ops'], w['rootroles'] + R = 1 + max(max(a, b) for a, b, _ in ops) + R = max(R, 1 + max(rootroles), 1 + max(w['sources'].values())) + need(R == self.prof['R'], 'role count') + start = {} + for leaf, s in w['sources'].items(): + start[s] = w['source_frame'][int(leaf)] + phase1 = set(w['phase1']) + touched_p1 = set() + for i in phase1: + touched_p1.update(ops[i][:2]) + # phase one = closure of the centre roots' last ops under per-role precedence (recomputed) + prev_op, pred = {}, [] + for i, (a, b, _) in enumerate(ops): + pred.append((prev_op.get(a, -1), prev_op.get(b, -1))) + prev_op[a] = prev_op[b] = i + stack = [prev_op[s] for r, s in zip(g['roots'], rootroles) if r['kind'] == 'center' and s in prev_op] + closure = set() + while stack: + i = stack.pop() + if i not in closure: + closure.add(i); stack.extend(j for j in pred[i] if j >= 0) + need(closure == phase1, 'phase one is the centre closure') + # conservative response support of every role (union incidence through the XOR word) + co = [0] * R + for j, (r, s) in enumerate(zip(g['roots'], rootroles)): + for t in r['targets']: + co[s] |= 1 << t + for a, b, _ in reversed(ops): + co[b] |= co[a] + gauge_of = {} + for z in w['gauges']: + need(sum(1 << t for t in z['targets']) == co[z['role']], 'gauge targets = response support of its role') + s = z['role'] + need(s not in start, 'gauged role is not a source role') + need(s not in touched_p1, 'gauged role untouched in phase one') + need(self.dimf[z['frame']] == z['dim'] and z['dim'] > 0, 'gauge dimension') + need(self.nondeg(z['frame']), 'gauge frame nondegenerate') + start[s] = z['frame']; gauge_of[s] = z + seq = defaultdict(list) + for i, (a, b, x) in enumerate(ops): + f = nf[x] + seq[a].append(f); seq[b].append(f) + for j, s in enumerate(rootroles): + seq[s].append(rf[j]) + H = Counter() + for s in range(R): + chain = [start.get(s)] + seq[s] + [full] + prev = chain[0] + dprev = 0 if prev is None else self.dimf[prev] + if prev is not None and s not in gauge_of: + H[1] += 1 # source role: injection frame (entrance child of width 1) + for f in chain[1:]: + if prev is not None: + need(self.sub(prev, f), 'nested role chain (role %d)' % s) + d = self.dimf[f] + need(d >= dprev, 'ascending role chain (role %d)' % s) + if d > dprev: + H[d - dprev] += 1 + prev, dprev = f, d + for j, r in enumerate(g['roots']): + if r['kind'] == 'center': + H[self.dimf[rf[j]]] += 1 # copied-centre transform + # partner-pair chronology + src = Counter() + lab = [set(l) for l in g['labels']] + for e in self.k['entries']: + c, d = e['carrier'], e['passive'] + need(len(lab[c] & lab[d]) == 1, 'carrier and passive orthogonal (H0-Gram I_2)') + mf, cf = e['mix_frame'], e['deliver_frame'] + need(self.dimf[mf] == 2 and self.in_frame(self.chi[c], mf) and self.in_frame(self.chi[d], mf), 'mix frame = span{chi_c, chi_d}') + need(self.nondeg(mf), 'mix frame nondegenerate') + need(self.sub(mf, cf), 'mix frame inside the receivers shared cap') + need(all(dot(self.cov[t], b) == 0 for t in e['receivers'] for b in self.B[cf]), 'delivery frame inside receiver caps') + need(e['carrier_chain'][0] == w['source_frame'][c] and e['passive_chain'][0] == w['source_frame'][d], 'chains start at source lines') + need(e['carrier_chain'][1:] == [mf, cf, w['full_frame']] and e['passive_chain'][1:] == [mf, w['full_frame']], 'chain shape') + for ch in (e['carrier_chain'], e['passive_chain']): + for f1, f2 in zip(ch, ch[1:]): + need(self.sub(f1, f2), 'nested source-register chain') + for f1, f2 in zip(ch, ch[1:]): + src[self.dimf[f2] - self.dimf[f1]] += 1 + # target chains: gauge reads (time order = reverse selection order), side caps in root order, + # partner-pair delivery at the level-2 cap right after its root, final cap + events = defaultdict(list) + for z in reversed(w['gauges']): + for t in z['targets']: + events[t].append(z['frame']) + deliveries = defaultdict(list) + for e in self.k['entries']: + deliveries[e['deliver_after_root']].append(e) + for j, r in enumerate(g['roots']): + if r['kind'] == 'center': + continue + for t in r['targets']: + events[t].append(rf[j]) + for e in deliveries.get(j, []): + need(sorted(e['receivers']) == sorted(r['targets']), 'delivery after the receivers own level-2 root') + for t in e['receivers']: + events[t].append(e['deliver_frame']) + Y = Counter() + cap = {} + for t in range(v): + capf = None + prev, dprev = None, 0 + for f in events[t]: + if prev is not None: + need(self.sub(prev, f), 'nested target chain (target %d)' % t) + need(all(dot(self.cov[t], b) == 0 for b in self.B[f]), 'target frame inside cap (target %d)' % t) + if self.dimf[f] > dprev: + Y[self.dimf[f] - dprev] += 1 + prev, dprev = f, self.dimf[f] + need(dprev <= h - 1, 'target chain below the cap') + Y[h - 1 - dprev] += 1 if h - 1 - dprev else 0 + # every source register is in exactly one mixing pair + members = Counter() + for e in self.k['entries']: + members[e['carrier']] += 1; members[e['passive']] += 1 + need(all(members[s] == 1 for s in range(v)), 'each source in exactly one partner pair') + for f in set(self.nf.values()) | set(self.rf): + need(self.nondeg(f), 'G-nondegenerate frame %d' % f) + return H, Y, src, R + + # ---------------- replay + def replay(self, seeds=3): + g, w, v = self.g, self.w, self.v + ops, rootroles = w['ops'], w['rootroles'] + R = self.prof['R'] + srcmap = {int(k): s for k, s in w['sources'].items()} + roots = g['roots'] + for seed in range(seeds): + rng = random.Random(1000 + seed) + x = [rng.getrandbits(1) for _ in range(v)] + y0 = [rng.getrandbits(1) for _ in range(v)] + z0 = [rng.getrandbits(1) for _ in range(R)] + X, Yv, z = x[:], y0[:], z0[:] + # y <- y - J M z (old-value response of the dirty scratch) + zd = z0[:] + for a, b, _ in ops: + zd[a] ^= zd[b] + for j, r in enumerate(roots): + for t in r['targets']: + Yv[t] ^= zd[rootroles[j]] + for leaf, s in srcmap.items(): # z <- z + V x (at the rank-one source lines) + z[s] ^= X[leaf] + for a, b, _ in ops: # z <- M z + z[a] ^= z[b] + for j, r in enumerate(roots): # y <- y + J z + for t in r['targets']: + Yv[t] ^= z[rootroles[j]] + for e in self.k['entries']: # partner-pair sums on the source registers + if not e.get('skip_mix'): + X[e['carrier']] ^= X[e['passive']] + for t in e['receivers']: + Yv[t] ^= X[e['carrier']] + for e in self.k['entries']: # undo at the full frame + if not e.get('skip_mix'): + X[e['carrier']] ^= X[e['passive']] + for a, b, _ in reversed(ops): # z <- M^-1 z + z[a] ^= z[b] + for leaf, s in srcmap.items(): # z <- z - V x + z[s] ^= X[leaf] + need(all(Yv[t] == y0[t] ^ x[t] for t in range(v)), 'replay: y = y0 + x (seed %d)' % seed) + need(z == z0 and X == x, 'replay: scratch and sources restored (seed %d)' % seed) + + def run(self): + nfr = self.frames() + self.decoder() + self.geometry() + H, Y, src, R = self.chains() + self.replay() + h, v = self.h, self.v + m, W = 3 * h, 2 * v + R + C = Counter() + for part in (H, Y, src): + for r, c in part.items(): + if r and c: + C[r] += 3 * c + for z in self.w['gauges']: + C[3 * z['dim']] += 1 + C[2] += 2 * v + saved = {int(k): c for k, c in self.prof['child_histogram'].items()} + need(dict(C) == saved, 'independent recount equals the saved child histogram') + mass = sum(r * c for r, c in C.items()) + need(W == self.prof['W_per_vertex'] and W * m - mass == 2 * v - 3 * self.prof['loss'] == self.prof['deficit_per_vertex'], + 'W = 2v + R and deficit 2v - 3 ell') + return dict(frames=nfr, roles=R, W=W, m=m, deficit=W * m - mass, children=sum(C.values())) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--dir', type=Path, default=Path(__file__).resolve().parent / 'out') + ap.add_argument('--p', type=int, default=12) + ap.add_argument('--no-controls', action='store_true') + a = ap.parse_args() + res = Checker(a.dir, a.p).run() + print('PASS p=%d: %s' % (a.p, res)) + if a.no_controls: + return + for m in ('broken_mix', 'outside_cap', 'below_level', 'dropped_star', 'non_nested'): + try: + Checker(a.dir, a.p, mutate=m).run() + except Fail as e: + print('control %-13s REJECTED: %s' % (m, e)) + continue + raise SystemExit('FAIL: control %s was accepted' % m) + print('PASS: all 5 mutation controls rejected') + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/frames_p10.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/frames_p10.json.gz new file mode 100644 index 0000000000..3b4bb278c8 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/frames_p10.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/graph_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/graph_p10.json new file mode 100644 index 0000000000..0ccea13a95 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/graph_p10.json @@ -0,0 +1 @@ +{"args":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[1,2],[0,960],[3,961],[5,7],[6,963],[4,964],[0,5],[1,4],[966,967],[2,7],[3,6],[969,970],[967,970],[5,6],[960,973],[1,7],[0,6],[975,976],[3,5],[2,4],[978,979],[975,978],[976,979],[966,969],[4,7],[0,3],[984,985],[9,10],[8,987],[11,988],[13,15],[14,990],[12,991],[8,13],[9,12],[993,994],[10,15],[11,14],[996,997],[994,997],[13,14],[987,1000],[9,15],[8,14],[1002,1003],[11,13],[10,12],[1005,1006],[1002,1005],[1003,1006],[993,996],[12,15],[8,11],[1011,1012],[17,18],[16,1014],[19,1015],[21,23],[22,1017],[20,1018],[16,21],[17,20],[1020,1021],[18,23],[19,22],[1023,1024],[1021,1024],[21,22],[1014,1027],[17,23],[16,22],[1029,1030],[19,21],[18,20],[1032,1033],[1029,1032],[1030,1033],[1020,1023],[20,23],[16,19],[1038,1039],[25,26],[24,1041],[27,1042],[29,31],[30,1044],[28,1045],[24,29],[25,28],[1047,1048],[26,31],[27,30],[1050,1051],[1048,1051],[29,30],[1041,1054],[25,31],[24,30],[1056,1057],[27,29],[26,28],[1059,1060],[1056,1059],[1057,1060],[1047,1050],[28,31],[24,27],[1065,1066],[33,34],[32,1068],[35,1069],[37,39],[38,1071],[36,1072],[32,37],[33,36],[1074,1075],[34,39],[35,38],[1077,1078],[1075,1078],[37,38],[1068,1081],[33,39],[32,38],[1083,1084],[35,37],[34,36],[1086,1087],[1083,1086],[1084,1087],[1074,1077],[36,39],[32,35],[1092,1093],[41,42],[40,1095],[43,1096],[45,47],[46,1098],[44,1099],[40,45],[41,44],[1101,1102],[42,47],[43,46],[1104,1105],[1102,1105],[45,46],[1095,1108],[41,47],[40,46],[1110,1111],[43,45],[42,44],[1113,1114],[1110,1113],[1111,1114],[1101,1104],[44,47],[40,43],[1119,1120],[49,50],[48,1122],[51,1123],[53,55],[54,1125],[52,1126],[48,53],[49,52],[1128,1129],[50,55],[51,54],[1131,1132],[1129,1132],[53,54],[1122,1135],[49,55],[48,54],[1137,1138],[51,53],[50,52],[1140,1141],[1137,1140],[1138,1141],[1128,1131],[52,55],[48,51],[1146,1147],[57,58],[56,1149],[59,1150],[61,63],[62,1152],[60,1153],[56,61],[57,60],[1155,1156],[58,63],[59,62],[1158,1159],[1156,1159],[61,62],[1149,1162],[57,63],[56,62],[1164,1165],[59,61],[58,60],[1167,1168],[1164,1167],[1165,1168],[1155,1158],[60,63],[56,59],[1173,1174],[65,66],[64,1176],[67,1177],[69,71],[70,1179],[68,1180],[64,69],[65,68],[1182,1183],[66,71],[67,70],[1185,1186],[1183,1186],[69,70],[1176,1189],[65,71],[64,70],[1191,1192],[67,69],[66,68],[1194,1195],[1191,1194],[1192,1195],[1182,1185],[68,71],[64,67],[1200,1201],[73,74],[72,1203],[75,1204],[77,79],[78,1206],[76,1207],[72,77],[73,76],[1209,1210],[74,79],[75,78],[1212,1213],[1210,1213],[77,78],[1203,1216],[73,79],[72,78],[1218,1219],[75,77],[74,76],[1221,1222],[1218,1221],[1219,1222],[1209,1212],[76,79],[72,75],[1227,1228],[81,82],[80,1230],[83,1231],[85,87],[86,1233],[84,1234],[80,85],[81,84],[1236,1237],[82,87],[83,86],[1239,1240],[1237,1240],[85,86],[1230,1243],[81,87],[80,86],[1245,1246],[83,85],[82,84],[1248,1249],[1245,1248],[1246,1249],[1236,1239],[84,87],[80,83],[1254,1255],[89,90],[88,1257],[91,1258],[93,95],[94,1260],[92,1261],[88,93],[89,92],[1263,1264],[90,95],[91,94],[1266,1267],[1264,1267],[93,94],[1257,1270],[89,95],[88,94],[1272,1273],[91,93],[90,92],[1275,1276],[1272,1275],[1273,1276],[1263,1266],[92,95],[88,91],[1281,1282],[97,98],[96,1284],[99,1285],[101,103],[102,1287],[100,1288],[96,101],[97,100],[1290,1291],[98,103],[99,102],[1293,1294],[1291,1294],[101,102],[1284,1297],[97,103],[96,102],[1299,1300],[99,101],[98,100],[1302,1303],[1299,1302],[1300,1303],[1290,1293],[100,103],[96,99],[1308,1309],[105,106],[104,1311],[107,1312],[109,111],[110,1314],[108,1315],[104,109],[105,108],[1317,1318],[106,111],[107,110],[1320,1321],[1318,1321],[109,110],[1311,1324],[105,111],[104,110],[1326,1327],[107,109],[106,108],[1329,1330],[1326,1329],[1327,1330],[1317,1320],[108,111],[104,107],[1335,1336],[113,114],[112,1338],[115,1339],[117,119],[118,1341],[116,1342],[112,117],[113,116],[1344,1345],[114,119],[115,118],[1347,1348],[1345,1348],[117,118],[1338,1351],[113,119],[112,118],[1353,1354],[115,117],[114,116],[1356,1357],[1353,1356],[1354,1357],[1344,1347],[116,119],[112,115],[1362,1363],[121,122],[120,1365],[123,1366],[125,127],[126,1368],[124,1369],[120,125],[121,124],[1371,1372],[122,127],[123,126],[1374,1375],[1372,1375],[125,126],[1365,1378],[121,127],[120,126],[1380,1381],[123,125],[122,124],[1383,1384],[1380,1383],[1381,1384],[1371,1374],[124,127],[120,123],[1389,1390],[129,130],[128,1392],[131,1393],[133,135],[134,1395],[132,1396],[128,133],[129,132],[1398,1399],[130,135],[131,134],[1401,1402],[1399,1402],[133,134],[1392,1405],[129,135],[128,134],[1407,1408],[131,133],[130,132],[1410,1411],[1407,1410],[1408,1411],[1398,1401],[132,135],[128,131],[1416,1417],[137,138],[136,1419],[139,1420],[141,143],[142,1422],[140,1423],[136,141],[137,140],[1425,1426],[138,143],[139,142],[1428,1429],[1426,1429],[141,142],[1419,1432],[137,143],[136,142],[1434,1435],[139,141],[138,140],[1437,1438],[1434,1437],[1435,1438],[1425,1428],[140,143],[136,139],[1443,1444],[145,146],[144,1446],[147,1447],[149,151],[150,1449],[148,1450],[144,149],[145,148],[1452,1453],[146,151],[147,150],[1455,1456],[1453,1456],[149,150],[1446,1459],[145,151],[144,150],[1461,1462],[147,149],[146,148],[1464,1465],[1461,1464],[1462,1465],[1452,1455],[148,151],[144,147],[1470,1471],[153,154],[152,1473],[155,1474],[157,159],[158,1476],[156,1477],[152,157],[153,156],[1479,1480],[154,159],[155,158],[1482,1483],[1480,1483],[157,158],[1473,1486],[153,159],[152,158],[1488,1489],[155,157],[154,156],[1491,1492],[1488,1491],[1489,1492],[1479,1482],[156,159],[152,155],[1497,1498],[161,162],[160,1500],[163,1501],[165,167],[166,1503],[164,1504],[160,165],[161,164],[1506,1507],[162,167],[163,166],[1509,1510],[1507,1510],[165,166],[1500,1513],[161,167],[160,166],[1515,1516],[163,165],[162,164],[1518,1519],[1515,1518],[1516,1519],[1506,1509],[164,167],[160,163],[1524,1525],[169,170],[168,1527],[171,1528],[173,175],[174,1530],[172,1531],[168,173],[169,172],[1533,1534],[170,175],[171,174],[1536,1537],[1534,1537],[173,174],[1527,1540],[169,175],[168,174],[1542,1543],[171,173],[170,172],[1545,1546],[1542,1545],[1543,1546],[1533,1536],[172,175],[168,171],[1551,1552],[177,178],[176,1554],[179,1555],[181,183],[182,1557],[180,1558],[176,181],[177,180],[1560,1561],[178,183],[179,182],[1563,1564],[1561,1564],[181,182],[1554,1567],[177,183],[176,182],[1569,1570],[179,181],[178,180],[1572,1573],[1569,1572],[1570,1573],[1560,1563],[180,183],[176,179],[1578,1579],[185,186],[184,1581],[187,1582],[189,191],[190,1584],[188,1585],[184,189],[185,188],[1587,1588],[186,191],[187,190],[1590,1591],[1588,1591],[189,190],[1581,1594],[185,191],[184,190],[1596,1597],[187,189],[186,188],[1599,1600],[1596,1599],[1597,1600],[1587,1590],[188,191],[184,187],[1605,1606],[193,194],[192,1608],[195,1609],[197,199],[198,1611],[196,1612],[192,197],[193,196],[1614,1615],[194,199],[195,198],[1617,1618],[1615,1618],[197,198],[1608,1621],[193,199],[192,198],[1623,1624],[195,197],[194,196],[1626,1627],[1623,1626],[1624,1627],[1614,1617],[196,199],[192,195],[1632,1633],[201,202],[200,1635],[203,1636],[205,207],[206,1638],[204,1639],[200,205],[201,204],[1641,1642],[202,207],[203,206],[1644,1645],[1642,1645],[205,206],[1635,1648],[201,207],[200,206],[1650,1651],[203,205],[202,204],[1653,1654],[1650,1653],[1651,1654],[1641,1644],[204,207],[200,203],[1659,1660],[209,210],[208,1662],[211,1663],[213,215],[214,1665],[212,1666],[208,213],[209,212],[1668,1669],[210,215],[211,214],[1671,1672],[1669,1672],[213,214],[1662,1675],[209,215],[208,214],[1677,1678],[211,213],[210,212],[1680,1681],[1677,1680],[1678,1681],[1668,1671],[212,215],[208,211],[1686,1687],[217,218],[216,1689],[219,1690],[221,223],[222,1692],[220,1693],[216,221],[217,220],[1695,1696],[218,223],[219,222],[1698,1699],[1696,1699],[221,222],[1689,1702],[217,223],[216,222],[1704,1705],[219,221],[218,220],[1707,1708],[1704,1707],[1705,1708],[1695,1698],[220,223],[216,219],[1713,1714],[225,226],[224,1716],[227,1717],[229,231],[230,1719],[228,1720],[224,229],[225,228],[1722,1723],[226,231],[227,230],[1725,1726],[1723,1726],[229,230],[1716,1729],[225,231],[224,230],[1731,1732],[227,229],[226,228],[1734,1735],[1731,1734],[1732,1735],[1722,1725],[228,231],[224,227],[1740,1741],[233,234],[232,1743],[235,1744],[237,239],[238,1746],[236,1747],[232,237],[233,236],[1749,1750],[234,239],[235,238],[1752,1753],[1750,1753],[237,238],[1743,1756],[233,239],[232,238],[1758,1759],[235,237],[234,236],[1761,1762],[1758,1761],[1759,1762],[1749,1752],[236,239],[232,235],[1767,1768],[241,242],[240,1770],[243,1771],[245,247],[246,1773],[244,1774],[240,245],[241,244],[1776,1777],[242,247],[243,246],[1779,1780],[1777,1780],[245,246],[1770,1783],[241,247],[240,246],[1785,1786],[243,245],[242,244],[1788,1789],[1785,1788],[1786,1789],[1776,1779],[244,247],[240,243],[1794,1795],[249,250],[248,1797],[251,1798],[253,255],[254,1800],[252,1801],[248,253],[249,252],[1803,1804],[250,255],[251,254],[1806,1807],[1804,1807],[253,254],[1797,1810],[249,255],[248,254],[1812,1813],[251,253],[250,252],[1815,1816],[1812,1815],[1813,1816],[1803,1806],[252,255],[248,251],[1821,1822],[257,258],[256,1824],[259,1825],[261,263],[262,1827],[260,1828],[256,261],[257,260],[1830,1831],[258,263],[259,262],[1833,1834],[1831,1834],[261,262],[1824,1837],[257,263],[256,262],[1839,1840],[259,261],[258,260],[1842,1843],[1839,1842],[1840,1843],[1830,1833],[260,263],[256,259],[1848,1849],[265,266],[264,1851],[267,1852],[269,271],[270,1854],[268,1855],[264,269],[265,268],[1857,1858],[266,271],[267,270],[1860,1861],[1858,1861],[269,270],[1851,1864],[265,271],[264,270],[1866,1867],[267,269],[266,268],[1869,1870],[1866,1869],[1867,1870],[1857,1860],[268,271],[264,267],[1875,1876],[273,274],[272,1878],[275,1879],[277,279],[278,1881],[276,1882],[272,277],[273,276],[1884,1885],[274,279],[275,278],[1887,1888],[1885,1888],[277,278],[1878,1891],[273,279],[272,278],[1893,1894],[275,277],[274,276],[1896,1897],[1893,1896],[1894,1897],[1884,1887],[276,279],[272,275],[1902,1903],[281,282],[280,1905],[283,1906],[285,287],[286,1908],[284,1909],[280,285],[281,284],[1911,1912],[282,287],[283,286],[1914,1915],[1912,1915],[285,286],[1905,1918],[281,287],[280,286],[1920,1921],[283,285],[282,284],[1923,1924],[1920,1923],[1921,1924],[1911,1914],[284,287],[280,283],[1929,1930],[289,290],[288,1932],[291,1933],[293,295],[294,1935],[292,1936],[288,293],[289,292],[1938,1939],[290,295],[291,294],[1941,1942],[1939,1942],[293,294],[1932,1945],[289,295],[288,294],[1947,1948],[291,293],[290,292],[1950,1951],[1947,1950],[1948,1951],[1938,1941],[292,295],[288,291],[1956,1957],[297,298],[296,1959],[299,1960],[301,303],[302,1962],[300,1963],[296,301],[297,300],[1965,1966],[298,303],[299,302],[1968,1969],[1966,1969],[301,302],[1959,1972],[297,303],[296,302],[1974,1975],[299,301],[298,300],[1977,1978],[1974,1977],[1975,1978],[1965,1968],[300,303],[296,299],[1983,1984],[305,306],[304,1986],[307,1987],[309,311],[310,1989],[308,1990],[304,309],[305,308],[1992,1993],[306,311],[307,310],[1995,1996],[1993,1996],[309,310],[1986,1999],[305,311],[304,310],[2001,2002],[307,309],[306,308],[2004,2005],[2001,2004],[2002,2005],[1992,1995],[308,311],[304,307],[2010,2011],[313,314],[312,2013],[315,2014],[317,319],[318,2016],[316,2017],[312,317],[313,316],[2019,2020],[314,319],[315,318],[2022,2023],[2020,2023],[317,318],[2013,2026],[313,319],[312,318],[2028,2029],[315,317],[314,316],[2031,2032],[2028,2031],[2029,2032],[2019,2022],[316,319],[312,315],[2037,2038],[321,322],[320,2040],[323,2041],[325,327],[326,2043],[324,2044],[320,325],[321,324],[2046,2047],[322,327],[323,326],[2049,2050],[2047,2050],[325,326],[2040,2053],[321,327],[320,326],[2055,2056],[323,325],[322,324],[2058,2059],[2055,2058],[2056,2059],[2046,2049],[324,327],[320,323],[2064,2065],[329,330],[328,2067],[331,2068],[333,335],[334,2070],[332,2071],[328,333],[329,332],[2073,2074],[330,335],[331,334],[2076,2077],[2074,2077],[333,334],[2067,2080],[329,335],[328,334],[2082,2083],[331,333],[330,332],[2085,2086],[2082,2085],[2083,2086],[2073,2076],[332,335],[328,331],[2091,2092],[337,338],[336,2094],[339,2095],[341,343],[342,2097],[340,2098],[336,341],[337,340],[2100,2101],[338,343],[339,342],[2103,2104],[2101,2104],[341,342],[2094,2107],[337,343],[336,342],[2109,2110],[339,341],[338,340],[2112,2113],[2109,2112],[2110,2113],[2100,2103],[340,343],[336,339],[2118,2119],[345,346],[344,2121],[347,2122],[349,351],[350,2124],[348,2125],[344,349],[345,348],[2127,2128],[346,351],[347,350],[2130,2131],[2128,2131],[349,350],[2121,2134],[345,351],[344,350],[2136,2137],[347,349],[346,348],[2139,2140],[2136,2139],[2137,2140],[2127,2130],[348,351],[344,347],[2145,2146],[353,354],[352,2148],[355,2149],[357,359],[358,2151],[356,2152],[352,357],[353,356],[2154,2155],[354,359],[355,358],[2157,2158],[2155,2158],[357,358],[2148,2161],[353,359],[352,358],[2163,2164],[355,357],[354,356],[2166,2167],[2163,2166],[2164,2167],[2154,2157],[356,359],[352,355],[2172,2173],[361,362],[360,2175],[363,2176],[365,367],[366,2178],[364,2179],[360,365],[361,364],[2181,2182],[362,367],[363,366],[2184,2185],[2182,2185],[365,366],[2175,2188],[361,367],[360,366],[2190,2191],[363,365],[362,364],[2193,2194],[2190,2193],[2191,2194],[2181,2184],[364,367],[360,363],[2199,2200],[369,370],[368,2202],[371,2203],[373,375],[374,2205],[372,2206],[368,373],[369,372],[2208,2209],[370,375],[371,374],[2211,2212],[2209,2212],[373,374],[2202,2215],[369,375],[368,374],[2217,2218],[371,373],[370,372],[2220,2221],[2217,2220],[2218,2221],[2208,2211],[372,375],[368,371],[2226,2227],[377,378],[376,2229],[379,2230],[381,383],[382,2232],[380,2233],[376,381],[377,380],[2235,2236],[378,383],[379,382],[2238,2239],[2236,2239],[381,382],[2229,2242],[377,383],[376,382],[2244,2245],[379,381],[378,380],[2247,2248],[2244,2247],[2245,2248],[2235,2238],[380,383],[376,379],[2253,2254],[385,386],[384,2256],[387,2257],[389,391],[390,2259],[388,2260],[384,389],[385,388],[2262,2263],[386,391],[387,390],[2265,2266],[2263,2266],[389,390],[2256,2269],[385,391],[384,390],[2271,2272],[387,389],[386,388],[2274,2275],[2271,2274],[2272,2275],[2262,2265],[388,391],[384,387],[2280,2281],[393,394],[392,2283],[395,2284],[397,399],[398,2286],[396,2287],[392,397],[393,396],[2289,2290],[394,399],[395,398],[2292,2293],[2290,2293],[397,398],[2283,2296],[393,399],[392,398],[2298,2299],[395,397],[394,396],[2301,2302],[2298,2301],[2299,2302],[2289,2292],[396,399],[392,395],[2307,2308],[401,402],[400,2310],[403,2311],[405,407],[406,2313],[404,2314],[400,405],[401,404],[2316,2317],[402,407],[403,406],[2319,2320],[2317,2320],[405,406],[2310,2323],[401,407],[400,406],[2325,2326],[403,405],[402,404],[2328,2329],[2325,2328],[2326,2329],[2316,2319],[404,407],[400,403],[2334,2335],[409,410],[408,2337],[411,2338],[413,415],[414,2340],[412,2341],[408,413],[409,412],[2343,2344],[410,415],[411,414],[2346,2347],[2344,2347],[413,414],[2337,2350],[409,415],[408,414],[2352,2353],[411,413],[410,412],[2355,2356],[2352,2355],[2353,2356],[2343,2346],[412,415],[408,411],[2361,2362],[417,418],[416,2364],[419,2365],[421,423],[422,2367],[420,2368],[416,421],[417,420],[2370,2371],[418,423],[419,422],[2373,2374],[2371,2374],[421,422],[2364,2377],[417,423],[416,422],[2379,2380],[419,421],[418,420],[2382,2383],[2379,2382],[2380,2383],[2370,2373],[420,423],[416,419],[2388,2389],[425,426],[424,2391],[427,2392],[429,431],[430,2394],[428,2395],[424,429],[425,428],[2397,2398],[426,431],[427,430],[2400,2401],[2398,2401],[429,430],[2391,2404],[425,431],[424,430],[2406,2407],[427,429],[426,428],[2409,2410],[2406,2409],[2407,2410],[2397,2400],[428,431],[424,427],[2415,2416],[433,434],[432,2418],[435,2419],[437,439],[438,2421],[436,2422],[432,437],[433,436],[2424,2425],[434,439],[435,438],[2427,2428],[2425,2428],[437,438],[2418,2431],[433,439],[432,438],[2433,2434],[435,437],[434,436],[2436,2437],[2433,2436],[2434,2437],[2424,2427],[436,439],[432,435],[2442,2443],[441,442],[440,2445],[443,2446],[445,447],[446,2448],[444,2449],[440,445],[441,444],[2451,2452],[442,447],[443,446],[2454,2455],[2452,2455],[445,446],[2445,2458],[441,447],[440,446],[2460,2461],[443,445],[442,444],[2463,2464],[2460,2463],[2461,2464],[2451,2454],[444,447],[440,443],[2469,2470],[449,450],[448,2472],[451,2473],[453,455],[454,2475],[452,2476],[448,453],[449,452],[2478,2479],[450,455],[451,454],[2481,2482],[2479,2482],[453,454],[2472,2485],[449,455],[448,454],[2487,2488],[451,453],[450,452],[2490,2491],[2487,2490],[2488,2491],[2478,2481],[452,455],[448,451],[2496,2497],[457,458],[456,2499],[459,2500],[461,463],[462,2502],[460,2503],[456,461],[457,460],[2505,2506],[458,463],[459,462],[2508,2509],[2506,2509],[461,462],[2499,2512],[457,463],[456,462],[2514,2515],[459,461],[458,460],[2517,2518],[2514,2517],[2515,2518],[2505,2508],[460,463],[456,459],[2523,2524],[465,466],[464,2526],[467,2527],[469,471],[470,2529],[468,2530],[464,469],[465,468],[2532,2533],[466,471],[467,470],[2535,2536],[2533,2536],[469,470],[2526,2539],[465,471],[464,470],[2541,2542],[467,469],[466,468],[2544,2545],[2541,2544],[2542,2545],[2532,2535],[468,471],[464,467],[2550,2551],[473,474],[472,2553],[475,2554],[477,479],[478,2556],[476,2557],[472,477],[473,476],[2559,2560],[474,479],[475,478],[2562,2563],[2560,2563],[477,478],[2553,2566],[473,479],[472,478],[2568,2569],[475,477],[474,476],[2571,2572],[2568,2571],[2569,2572],[2559,2562],[476,479],[472,475],[2577,2578],[481,482],[480,2580],[483,2581],[485,487],[486,2583],[484,2584],[480,485],[481,484],[2586,2587],[482,487],[483,486],[2589,2590],[2587,2590],[485,486],[2580,2593],[481,487],[480,486],[2595,2596],[483,485],[482,484],[2598,2599],[2595,2598],[2596,2599],[2586,2589],[484,487],[480,483],[2604,2605],[489,490],[488,2607],[491,2608],[493,495],[494,2610],[492,2611],[488,493],[489,492],[2613,2614],[490,495],[491,494],[2616,2617],[2614,2617],[493,494],[2607,2620],[489,495],[488,494],[2622,2623],[491,493],[490,492],[2625,2626],[2622,2625],[2623,2626],[2613,2616],[492,495],[488,491],[2631,2632],[497,498],[496,2634],[499,2635],[501,503],[502,2637],[500,2638],[496,501],[497,500],[2640,2641],[498,503],[499,502],[2643,2644],[2641,2644],[501,502],[2634,2647],[497,503],[496,502],[2649,2650],[499,501],[498,500],[2652,2653],[2649,2652],[2650,2653],[2640,2643],[500,503],[496,499],[2658,2659],[505,506],[504,2661],[507,2662],[509,511],[510,2664],[508,2665],[504,509],[505,508],[2667,2668],[506,511],[507,510],[2670,2671],[2668,2671],[509,510],[2661,2674],[505,511],[504,510],[2676,2677],[507,509],[506,508],[2679,2680],[2676,2679],[2677,2680],[2667,2670],[508,511],[504,507],[2685,2686],[513,514],[512,2688],[515,2689],[517,519],[518,2691],[516,2692],[512,517],[513,516],[2694,2695],[514,519],[515,518],[2697,2698],[2695,2698],[517,518],[2688,2701],[513,519],[512,518],[2703,2704],[515,517],[514,516],[2706,2707],[2703,2706],[2704,2707],[2694,2697],[516,519],[512,515],[2712,2713],[521,522],[520,2715],[523,2716],[525,527],[526,2718],[524,2719],[520,525],[521,524],[2721,2722],[522,527],[523,526],[2724,2725],[2722,2725],[525,526],[2715,2728],[521,527],[520,526],[2730,2731],[523,525],[522,524],[2733,2734],[2730,2733],[2731,2734],[2721,2724],[524,527],[520,523],[2739,2740],[529,530],[528,2742],[531,2743],[533,535],[534,2745],[532,2746],[528,533],[529,532],[2748,2749],[530,535],[531,534],[2751,2752],[2749,2752],[533,534],[2742,2755],[529,535],[528,534],[2757,2758],[531,533],[530,532],[2760,2761],[2757,2760],[2758,2761],[2748,2751],[532,535],[528,531],[2766,2767],[537,538],[536,2769],[539,2770],[541,543],[542,2772],[540,2773],[536,541],[537,540],[2775,2776],[538,543],[539,542],[2778,2779],[2776,2779],[541,542],[2769,2782],[537,543],[536,542],[2784,2785],[539,541],[538,540],[2787,2788],[2784,2787],[2785,2788],[2775,2778],[540,543],[536,539],[2793,2794],[545,546],[544,2796],[547,2797],[549,551],[550,2799],[548,2800],[544,549],[545,548],[2802,2803],[546,551],[547,550],[2805,2806],[2803,2806],[549,550],[2796,2809],[545,551],[544,550],[2811,2812],[547,549],[546,548],[2814,2815],[2811,2814],[2812,2815],[2802,2805],[548,551],[544,547],[2820,2821],[553,554],[552,2823],[555,2824],[557,559],[558,2826],[556,2827],[552,557],[553,556],[2829,2830],[554,559],[555,558],[2832,2833],[2830,2833],[557,558],[2823,2836],[553,559],[552,558],[2838,2839],[555,557],[554,556],[2841,2842],[2838,2841],[2839,2842],[2829,2832],[556,559],[552,555],[2847,2848],[561,562],[560,2850],[563,2851],[565,567],[566,2853],[564,2854],[560,565],[561,564],[2856,2857],[562,567],[563,566],[2859,2860],[2857,2860],[565,566],[2850,2863],[561,567],[560,566],[2865,2866],[563,565],[562,564],[2868,2869],[2865,2868],[2866,2869],[2856,2859],[564,567],[560,563],[2874,2875],[569,570],[568,2877],[571,2878],[573,575],[574,2880],[572,2881],[568,573],[569,572],[2883,2884],[570,575],[571,574],[2886,2887],[2884,2887],[573,574],[2877,2890],[569,575],[568,574],[2892,2893],[571,573],[570,572],[2895,2896],[2892,2895],[2893,2896],[2883,2886],[572,575],[568,571],[2901,2902],[577,578],[576,2904],[579,2905],[581,583],[582,2907],[580,2908],[576,581],[577,580],[2910,2911],[578,583],[579,582],[2913,2914],[2911,2914],[581,582],[2904,2917],[577,583],[576,582],[2919,2920],[579,581],[578,580],[2922,2923],[2919,2922],[2920,2923],[2910,2913],[580,583],[576,579],[2928,2929],[585,586],[584,2931],[587,2932],[589,591],[590,2934],[588,2935],[584,589],[585,588],[2937,2938],[586,591],[587,590],[2940,2941],[2938,2941],[589,590],[2931,2944],[585,591],[584,590],[2946,2947],[587,589],[586,588],[2949,2950],[2946,2949],[2947,2950],[2937,2940],[588,591],[584,587],[2955,2956],[593,594],[592,2958],[595,2959],[597,599],[598,2961],[596,2962],[592,597],[593,596],[2964,2965],[594,599],[595,598],[2967,2968],[2965,2968],[597,598],[2958,2971],[593,599],[592,598],[2973,2974],[595,597],[594,596],[2976,2977],[2973,2976],[2974,2977],[2964,2967],[596,599],[592,595],[2982,2983],[601,602],[600,2985],[603,2986],[605,607],[606,2988],[604,2989],[600,605],[601,604],[2991,2992],[602,607],[603,606],[2994,2995],[2992,2995],[605,606],[2985,2998],[601,607],[600,606],[3000,3001],[603,605],[602,604],[3003,3004],[3000,3003],[3001,3004],[2991,2994],[604,607],[600,603],[3009,3010],[609,610],[608,3012],[611,3013],[613,615],[614,3015],[612,3016],[608,613],[609,612],[3018,3019],[610,615],[611,614],[3021,3022],[3019,3022],[613,614],[3012,3025],[609,615],[608,614],[3027,3028],[611,613],[610,612],[3030,3031],[3027,3030],[3028,3031],[3018,3021],[612,615],[608,611],[3036,3037],[617,618],[616,3039],[619,3040],[621,623],[622,3042],[620,3043],[616,621],[617,620],[3045,3046],[618,623],[619,622],[3048,3049],[3046,3049],[621,622],[3039,3052],[617,623],[616,622],[3054,3055],[619,621],[618,620],[3057,3058],[3054,3057],[3055,3058],[3045,3048],[620,623],[616,619],[3063,3064],[625,626],[624,3066],[627,3067],[629,631],[630,3069],[628,3070],[624,629],[625,628],[3072,3073],[626,631],[627,630],[3075,3076],[3073,3076],[629,630],[3066,3079],[625,631],[624,630],[3081,3082],[627,629],[626,628],[3084,3085],[3081,3084],[3082,3085],[3072,3075],[628,631],[624,627],[3090,3091],[633,634],[632,3093],[635,3094],[637,639],[638,3096],[636,3097],[632,637],[633,636],[3099,3100],[634,639],[635,638],[3102,3103],[3100,3103],[637,638],[3093,3106],[633,639],[632,638],[3108,3109],[635,637],[634,636],[3111,3112],[3108,3111],[3109,3112],[3099,3102],[636,639],[632,635],[3117,3118],[641,642],[640,3120],[643,3121],[645,647],[646,3123],[644,3124],[640,645],[641,644],[3126,3127],[642,647],[643,646],[3129,3130],[3127,3130],[645,646],[3120,3133],[641,647],[640,646],[3135,3136],[643,645],[642,644],[3138,3139],[3135,3138],[3136,3139],[3126,3129],[644,647],[640,643],[3144,3145],[649,650],[648,3147],[651,3148],[653,655],[654,3150],[652,3151],[648,653],[649,652],[3153,3154],[650,655],[651,654],[3156,3157],[3154,3157],[653,654],[3147,3160],[649,655],[648,654],[3162,3163],[651,653],[650,652],[3165,3166],[3162,3165],[3163,3166],[3153,3156],[652,655],[648,651],[3171,3172],[657,658],[656,3174],[659,3175],[661,663],[662,3177],[660,3178],[656,661],[657,660],[3180,3181],[658,663],[659,662],[3183,3184],[3181,3184],[661,662],[3174,3187],[657,663],[656,662],[3189,3190],[659,661],[658,660],[3192,3193],[3189,3192],[3190,3193],[3180,3183],[660,663],[656,659],[3198,3199],[665,666],[664,3201],[667,3202],[669,671],[670,3204],[668,3205],[664,669],[665,668],[3207,3208],[666,671],[667,670],[3210,3211],[3208,3211],[669,670],[3201,3214],[665,671],[664,670],[3216,3217],[667,669],[666,668],[3219,3220],[3216,3219],[3217,3220],[3207,3210],[668,671],[664,667],[3225,3226],[673,674],[672,3228],[675,3229],[677,679],[678,3231],[676,3232],[672,677],[673,676],[3234,3235],[674,679],[675,678],[3237,3238],[3235,3238],[677,678],[3228,3241],[673,679],[672,678],[3243,3244],[675,677],[674,676],[3246,3247],[3243,3246],[3244,3247],[3234,3237],[676,679],[672,675],[3252,3253],[681,682],[680,3255],[683,3256],[685,687],[686,3258],[684,3259],[680,685],[681,684],[3261,3262],[682,687],[683,686],[3264,3265],[3262,3265],[685,686],[3255,3268],[681,687],[680,686],[3270,3271],[683,685],[682,684],[3273,3274],[3270,3273],[3271,3274],[3261,3264],[684,687],[680,683],[3279,3280],[689,690],[688,3282],[691,3283],[693,695],[694,3285],[692,3286],[688,693],[689,692],[3288,3289],[690,695],[691,694],[3291,3292],[3289,3292],[693,694],[3282,3295],[689,695],[688,694],[3297,3298],[691,693],[690,692],[3300,3301],[3297,3300],[3298,3301],[3288,3291],[692,695],[688,691],[3306,3307],[697,698],[696,3309],[699,3310],[701,703],[702,3312],[700,3313],[696,701],[697,700],[3315,3316],[698,703],[699,702],[3318,3319],[3316,3319],[701,702],[3309,3322],[697,703],[696,702],[3324,3325],[699,701],[698,700],[3327,3328],[3324,3327],[3325,3328],[3315,3318],[700,703],[696,699],[3333,3334],[705,706],[704,3336],[707,3337],[709,711],[710,3339],[708,3340],[704,709],[705,708],[3342,3343],[706,711],[707,710],[3345,3346],[3343,3346],[709,710],[3336,3349],[705,711],[704,710],[3351,3352],[707,709],[706,708],[3354,3355],[3351,3354],[3352,3355],[3342,3345],[708,711],[704,707],[3360,3361],[713,714],[712,3363],[715,3364],[717,719],[718,3366],[716,3367],[712,717],[713,716],[3369,3370],[714,719],[715,718],[3372,3373],[3370,3373],[717,718],[3363,3376],[713,719],[712,718],[3378,3379],[715,717],[714,716],[3381,3382],[3378,3381],[3379,3382],[3369,3372],[716,719],[712,715],[3387,3388],[721,722],[720,3390],[723,3391],[725,727],[726,3393],[724,3394],[720,725],[721,724],[3396,3397],[722,727],[723,726],[3399,3400],[3397,3400],[725,726],[3390,3403],[721,727],[720,726],[3405,3406],[723,725],[722,724],[3408,3409],[3405,3408],[3406,3409],[3396,3399],[724,727],[720,723],[3414,3415],[729,730],[728,3417],[731,3418],[733,735],[734,3420],[732,3421],[728,733],[729,732],[3423,3424],[730,735],[731,734],[3426,3427],[3424,3427],[733,734],[3417,3430],[729,735],[728,734],[3432,3433],[731,733],[730,732],[3435,3436],[3432,3435],[3433,3436],[3423,3426],[732,735],[728,731],[3441,3442],[737,738],[736,3444],[739,3445],[741,743],[742,3447],[740,3448],[736,741],[737,740],[3450,3451],[738,743],[739,742],[3453,3454],[3451,3454],[741,742],[3444,3457],[737,743],[736,742],[3459,3460],[739,741],[738,740],[3462,3463],[3459,3462],[3460,3463],[3450,3453],[740,743],[736,739],[3468,3469],[745,746],[744,3471],[747,3472],[749,751],[750,3474],[748,3475],[744,749],[745,748],[3477,3478],[746,751],[747,750],[3480,3481],[3478,3481],[749,750],[3471,3484],[745,751],[744,750],[3486,3487],[747,749],[746,748],[3489,3490],[3486,3489],[3487,3490],[3477,3480],[748,751],[744,747],[3495,3496],[753,754],[752,3498],[755,3499],[757,759],[758,3501],[756,3502],[752,757],[753,756],[3504,3505],[754,759],[755,758],[3507,3508],[3505,3508],[757,758],[3498,3511],[753,759],[752,758],[3513,3514],[755,757],[754,756],[3516,3517],[3513,3516],[3514,3517],[3504,3507],[756,759],[752,755],[3522,3523],[761,762],[760,3525],[763,3526],[765,767],[766,3528],[764,3529],[760,765],[761,764],[3531,3532],[762,767],[763,766],[3534,3535],[3532,3535],[765,766],[3525,3538],[761,767],[760,766],[3540,3541],[763,765],[762,764],[3543,3544],[3540,3543],[3541,3544],[3531,3534],[764,767],[760,763],[3549,3550],[769,770],[768,3552],[771,3553],[773,775],[774,3555],[772,3556],[768,773],[769,772],[3558,3559],[770,775],[771,774],[3561,3562],[3559,3562],[773,774],[3552,3565],[769,775],[768,774],[3567,3568],[771,773],[770,772],[3570,3571],[3567,3570],[3568,3571],[3558,3561],[772,775],[768,771],[3576,3577],[777,778],[776,3579],[779,3580],[781,783],[782,3582],[780,3583],[776,781],[777,780],[3585,3586],[778,783],[779,782],[3588,3589],[3586,3589],[781,782],[3579,3592],[777,783],[776,782],[3594,3595],[779,781],[778,780],[3597,3598],[3594,3597],[3595,3598],[3585,3588],[780,783],[776,779],[3603,3604],[785,786],[784,3606],[787,3607],[789,791],[790,3609],[788,3610],[784,789],[785,788],[3612,3613],[786,791],[787,790],[3615,3616],[3613,3616],[789,790],[3606,3619],[785,791],[784,790],[3621,3622],[787,789],[786,788],[3624,3625],[3621,3624],[3622,3625],[3612,3615],[788,791],[784,787],[3630,3631],[793,794],[792,3633],[795,3634],[797,799],[798,3636],[796,3637],[792,797],[793,796],[3639,3640],[794,799],[795,798],[3642,3643],[3640,3643],[797,798],[3633,3646],[793,799],[792,798],[3648,3649],[795,797],[794,796],[3651,3652],[3648,3651],[3649,3652],[3639,3642],[796,799],[792,795],[3657,3658],[801,802],[800,3660],[803,3661],[805,807],[806,3663],[804,3664],[800,805],[801,804],[3666,3667],[802,807],[803,806],[3669,3670],[3667,3670],[805,806],[3660,3673],[801,807],[800,806],[3675,3676],[803,805],[802,804],[3678,3679],[3675,3678],[3676,3679],[3666,3669],[804,807],[800,803],[3684,3685],[809,810],[808,3687],[811,3688],[813,815],[814,3690],[812,3691],[808,813],[809,812],[3693,3694],[810,815],[811,814],[3696,3697],[3694,3697],[813,814],[3687,3700],[809,815],[808,814],[3702,3703],[811,813],[810,812],[3705,3706],[3702,3705],[3703,3706],[3693,3696],[812,815],[808,811],[3711,3712],[817,818],[816,3714],[819,3715],[821,823],[822,3717],[820,3718],[816,821],[817,820],[3720,3721],[818,823],[819,822],[3723,3724],[3721,3724],[821,822],[3714,3727],[817,823],[816,822],[3729,3730],[819,821],[818,820],[3732,3733],[3729,3732],[3730,3733],[3720,3723],[820,823],[816,819],[3738,3739],[825,826],[824,3741],[827,3742],[829,831],[830,3744],[828,3745],[824,829],[825,828],[3747,3748],[826,831],[827,830],[3750,3751],[3748,3751],[829,830],[3741,3754],[825,831],[824,830],[3756,3757],[827,829],[826,828],[3759,3760],[3756,3759],[3757,3760],[3747,3750],[828,831],[824,827],[3765,3766],[833,834],[832,3768],[835,3769],[837,839],[838,3771],[836,3772],[832,837],[833,836],[3774,3775],[834,839],[835,838],[3777,3778],[3775,3778],[837,838],[3768,3781],[833,839],[832,838],[3783,3784],[835,837],[834,836],[3786,3787],[3783,3786],[3784,3787],[3774,3777],[836,839],[832,835],[3792,3793],[841,842],[840,3795],[843,3796],[845,847],[846,3798],[844,3799],[840,845],[841,844],[3801,3802],[842,847],[843,846],[3804,3805],[3802,3805],[845,846],[3795,3808],[841,847],[840,846],[3810,3811],[843,845],[842,844],[3813,3814],[3810,3813],[3811,3814],[3801,3804],[844,847],[840,843],[3819,3820],[849,850],[848,3822],[851,3823],[853,855],[854,3825],[852,3826],[848,853],[849,852],[3828,3829],[850,855],[851,854],[3831,3832],[3829,3832],[853,854],[3822,3835],[849,855],[848,854],[3837,3838],[851,853],[850,852],[3840,3841],[3837,3840],[3838,3841],[3828,3831],[852,855],[848,851],[3846,3847],[857,858],[856,3849],[859,3850],[861,863],[862,3852],[860,3853],[856,861],[857,860],[3855,3856],[858,863],[859,862],[3858,3859],[3856,3859],[861,862],[3849,3862],[857,863],[856,862],[3864,3865],[859,861],[858,860],[3867,3868],[3864,3867],[3865,3868],[3855,3858],[860,863],[856,859],[3873,3874],[865,866],[864,3876],[867,3877],[869,871],[870,3879],[868,3880],[864,869],[865,868],[3882,3883],[866,871],[867,870],[3885,3886],[3883,3886],[869,870],[3876,3889],[865,871],[864,870],[3891,3892],[867,869],[866,868],[3894,3895],[3891,3894],[3892,3895],[3882,3885],[868,871],[864,867],[3900,3901],[873,874],[872,3903],[875,3904],[877,879],[878,3906],[876,3907],[872,877],[873,876],[3909,3910],[874,879],[875,878],[3912,3913],[3910,3913],[877,878],[3903,3916],[873,879],[872,878],[3918,3919],[875,877],[874,876],[3921,3922],[3918,3921],[3919,3922],[3909,3912],[876,879],[872,875],[3927,3928],[881,882],[880,3930],[883,3931],[885,887],[886,3933],[884,3934],[880,885],[881,884],[3936,3937],[882,887],[883,886],[3939,3940],[3937,3940],[885,886],[3930,3943],[881,887],[880,886],[3945,3946],[883,885],[882,884],[3948,3949],[3945,3948],[3946,3949],[3936,3939],[884,887],[880,883],[3954,3955],[889,890],[888,3957],[891,3958],[893,895],[894,3960],[892,3961],[888,893],[889,892],[3963,3964],[890,895],[891,894],[3966,3967],[3964,3967],[893,894],[3957,3970],[889,895],[888,894],[3972,3973],[891,893],[890,892],[3975,3976],[3972,3975],[3973,3976],[3963,3966],[892,895],[888,891],[3981,3982],[897,898],[896,3984],[899,3985],[901,903],[902,3987],[900,3988],[896,901],[897,900],[3990,3991],[898,903],[899,902],[3993,3994],[3991,3994],[901,902],[3984,3997],[897,903],[896,902],[3999,4000],[899,901],[898,900],[4002,4003],[3999,4002],[4000,4003],[3990,3993],[900,903],[896,899],[4008,4009],[905,906],[904,4011],[907,4012],[909,911],[910,4014],[908,4015],[904,909],[905,908],[4017,4018],[906,911],[907,910],[4020,4021],[4018,4021],[909,910],[4011,4024],[905,911],[904,910],[4026,4027],[907,909],[906,908],[4029,4030],[4026,4029],[4027,4030],[4017,4020],[908,911],[904,907],[4035,4036],[913,914],[912,4038],[915,4039],[917,919],[918,4041],[916,4042],[912,917],[913,916],[4044,4045],[914,919],[915,918],[4047,4048],[4045,4048],[917,918],[4038,4051],[913,919],[912,918],[4053,4054],[915,917],[914,916],[4056,4057],[4053,4056],[4054,4057],[4044,4047],[916,919],[912,915],[4062,4063],[921,922],[920,4065],[923,4066],[925,927],[926,4068],[924,4069],[920,925],[921,924],[4071,4072],[922,927],[923,926],[4074,4075],[4072,4075],[925,926],[4065,4078],[921,927],[920,926],[4080,4081],[923,925],[922,924],[4083,4084],[4080,4083],[4081,4084],[4071,4074],[924,927],[920,923],[4089,4090],[929,930],[928,4092],[931,4093],[933,935],[934,4095],[932,4096],[928,933],[929,932],[4098,4099],[930,935],[931,934],[4101,4102],[4099,4102],[933,934],[4092,4105],[929,935],[928,934],[4107,4108],[931,933],[930,932],[4110,4111],[4107,4110],[4108,4111],[4098,4101],[932,935],[928,931],[4116,4117],[937,938],[936,4119],[939,4120],[941,943],[942,4122],[940,4123],[936,941],[937,940],[4125,4126],[938,943],[939,942],[4128,4129],[4126,4129],[941,942],[4119,4132],[937,943],[936,942],[4134,4135],[939,941],[938,940],[4137,4138],[4134,4137],[4135,4138],[4125,4128],[940,943],[936,939],[4143,4144],[945,946],[944,4146],[947,4147],[949,951],[950,4149],[948,4150],[944,949],[945,948],[4152,4153],[946,951],[947,950],[4155,4156],[4153,4156],[949,950],[4146,4159],[945,951],[944,950],[4161,4162],[947,949],[946,948],[4164,4165],[4161,4164],[4162,4165],[4152,4155],[948,951],[944,947],[4170,4171],[953,954],[952,4173],[955,4174],[957,959],[958,4176],[956,4177],[952,957],[953,956],[4179,4180],[954,959],[955,958],[4182,4183],[4180,4183],[957,958],[4173,4186],[953,959],[952,958],[4188,4189],[955,957],[954,956],[4191,4192],[4188,4191],[4189,4192],[4179,4182],[956,959],[952,955],[4197,4198],[1070,1178],[1259,1286],[962,1016],[1664,1772],[1583,1691],[1529,4204],[1556,4205],[4203,4206],[1070,1097],[1043,4208],[4207,4209],[4202,4210],[4201,4211],[989,4212],[1556,1583],[1016,1610],[1367,4215],[4214,4216],[1772,4201],[1421,4218],[1448,4219],[1097,4220],[1070,4221],[962,1124],[1178,1475],[4223,4224],[989,1313],[4225,4226],[1853,4227],[4222,4228],[1799,4229],[4217,4230],[1772,4208],[1826,1880],[4232,4233],[1799,1853],[4234,4235],[1448,4204],[1286,4237],[4236,4238],[1205,1232],[1691,4240],[1286,4241],[1421,1448],[1367,1394],[1178,4244],[4240,4245],[4243,4246],[4213,4247],[1610,4235],[1718,4249],[1556,4250],[962,989],[4200,4252],[1340,1502],[1151,4254],[4253,4255],[4233,4256],[4220,4257],[1394,1664],[1718,4259],[1691,4243],[4260,4261],[4203,4205],[1637,1745],[1826,4264],[1880,4265],[4263,4266],[4251,4267],[1313,1340],[1907,4269],[1502,4270],[1475,4271],[1178,4272],[4218,4273],[1799,1826],[1259,1421],[1556,1664],[4276,4277],[4246,4278],[4275,4279],[1016,1043],[1745,4281],[1637,4282],[1529,4244],[1178,4284],[4240,4285],[4283,4286],[4233,4235],[4243,4288],[4274,4289],[1205,1286],[1637,4214],[1610,4292],[4291,4293],[1124,1718],[4249,4295],[1070,4276],[4252,4297],[4287,4298],[4225,4297],[1799,4300],[1610,1718],[4240,4284],[4302,4303],[4281,4304],[4226,4305],[4301,4306],[4240,4254],[4245,4308],[1880,4309],[4201,4207],[4243,4311],[4310,4312],[4272,4302],[1232,1691],[1664,4315],[4201,4316],[1043,1745],[1718,4318],[4317,4319],[1124,1151],[1907,4321],[1205,4231],[1097,1853],[1880,4324],[1583,4325],[1529,4264],[4314,4327],[1448,1880],[1097,1286],[1853,4330],[4329,4331],[4260,4315],[1475,1502],[989,4334],[4324,4335],[1070,1259],[4302,4327],[1907,4338],[1826,4277],[4299,4340],[4321,4339],[4281,4342],[962,4269],[4343,4344],[4242,4345],[4326,4346],[4252,4255],[4236,4322],[4335,4349],[4318,4350],[1016,4209],[4321,4352],[4322,4344],[4236,4354],[1259,4355],[1016,4356],[4329,4336],[989,4225],[4271,4359],[1151,4360],[1799,4297],[4361,4362],[1826,4363],[4259,4364],[4290,4293],[4245,4328],[1907,4334],[4244,4281],[4342,4369],[4204,4370],[4275,4277],[1070,4372],[1016,4210],[4296,4374],[1394,4243],[1367,4376],[989,4377],[4375,4378],[1475,4379],[4227,4331],[4201,4240],[1313,4382],[4251,4383],[4235,4361],[4233,4385],[4222,4386],[1205,1367],[1637,4388],[1016,4389],[1097,4390],[4214,4391],[4374,4378],[4215,4389],[1151,4394],[4287,4348],[1880,4238],[4240,4397],[4367,4398],[1232,4319],[1097,4396],[4320,4355],[4290,4333],[1151,1340],[1232,4404],[4266,4405],[4283,4304],[4361,4407],[4280,4328],[4216,4292],[4366,4388],[4243,4350],[4410,4412],[4247,4311],[1313,4414],[1799,4333],[4397,4401],[4277,4307],[4262,4351],[4305,4381],[4332,4360],[1583,4421],[4255,4341],[1907,4267],[989,1421],[1205,4212],[4406,4426],[4365,4400],[1151,4266],[4240,4345],[4294,4357],[1394,4361],[4400,4432],[1691,4433],[1502,4393],[4368,4377],[4237,4420],[4429,4435],[4358,4371],[4259,4315],[1556,1826],[4363,4441],[4258,4392],[4394,4442],[4211,4383],[4395,4422],[4229,4416],[4372,4430],[1853,4399],[4332,4434],[1043,4447],[1475,4250],[4415,4452],[4239,4335],[4345,4454],[4279,4455],[1340,4384],[4265,4313],[4424,4457],[1745,4403],[1745,4440],[1907,4268],[4373,4425],[4296,4445],[4337,4448],[4353,4462],[4334,4370],[4463,4467],[4268,4436],[1043,4221],[4257,4470],[4461,4471],[1073,1181],[1262,1289],[965,1019],[1667,1775],[1586,1694],[1532,4477],[1559,4478],[4476,4479],[1073,1100],[1046,4481],[4480,4482],[4475,4483],[4474,4484],[992,4485],[1559,1586],[1019,1613],[1370,4488],[4487,4489],[1775,4474],[1424,4491],[1451,4492],[1100,4493],[1073,4494],[965,1127],[1181,1478],[4496,4497],[992,1316],[4498,4499],[1856,4500],[4495,4501],[1802,4502],[4490,4503],[1775,4481],[1829,1883],[4505,4506],[1802,1856],[4507,4508],[1451,4477],[1289,4510],[4509,4511],[1208,1235],[1694,4513],[1289,4514],[1424,1451],[1370,1397],[1181,4517],[4513,4518],[4516,4519],[4486,4520],[1613,4508],[1721,4522],[1559,4523],[965,992],[4473,4525],[1343,1505],[1154,4527],[4526,4528],[4506,4529],[4493,4530],[1397,1667],[1721,4532],[1694,4516],[4533,4534],[4476,4478],[1640,1748],[1829,4537],[1883,4538],[4536,4539],[4524,4540],[1316,1343],[1910,4542],[1505,4543],[1478,4544],[1181,4545],[4491,4546],[1802,1829],[1262,1424],[1559,1667],[4549,4550],[4519,4551],[4548,4552],[1019,1046],[1748,4554],[1640,4555],[1532,4517],[1181,4557],[4513,4558],[4556,4559],[4506,4508],[4516,4561],[4547,4562],[1208,1289],[1640,4487],[1613,4565],[4564,4566],[1127,1721],[4522,4568],[1073,4549],[4525,4570],[4560,4571],[4498,4570],[1802,4573],[1613,1721],[4513,4557],[4575,4576],[4554,4577],[4499,4578],[4574,4579],[4513,4527],[4518,4581],[1883,4582],[4474,4480],[4516,4584],[4583,4585],[4545,4575],[1235,1694],[1667,4588],[4474,4589],[1046,1748],[1721,4591],[4590,4592],[1127,1154],[1910,4594],[1208,4504],[1100,1856],[1883,4597],[1586,4598],[1532,4537],[4587,4600],[1451,1883],[1100,1289],[1856,4603],[4602,4604],[4533,4588],[1478,1505],[992,4607],[4597,4608],[1073,1262],[4575,4600],[1910,4611],[1829,4550],[4572,4613],[4594,4612],[4554,4615],[965,4542],[4616,4617],[4515,4618],[4599,4619],[4525,4528],[4509,4595],[4608,4622],[4591,4623],[1019,4482],[4594,4625],[4595,4617],[4509,4627],[1262,4628],[1019,4629],[4602,4609],[992,4498],[4544,4632],[1154,4633],[1802,4570],[4634,4635],[1829,4636],[4532,4637],[4563,4566],[4518,4601],[1910,4607],[4517,4554],[4615,4642],[4477,4643],[4548,4550],[1073,4645],[1019,4483],[4569,4647],[1397,4516],[1370,4649],[992,4650],[4648,4651],[1478,4652],[4500,4604],[4474,4513],[1316,4655],[4524,4656],[4508,4634],[4506,4658],[4495,4659],[1208,1370],[1640,4661],[1019,4662],[1100,4663],[4487,4664],[4647,4651],[4488,4662],[1154,4667],[4560,4621],[1883,4511],[4513,4670],[4640,4671],[1235,4592],[1100,4669],[4593,4628],[4563,4606],[1154,1343],[1235,4677],[4539,4678],[4556,4577],[4634,4680],[4553,4601],[4489,4565],[4639,4661],[4516,4623],[4683,4685],[4520,4584],[1316,4687],[1802,4606],[4670,4674],[4550,4580],[4535,4624],[4578,4654],[4605,4633],[1586,4694],[4528,4614],[1910,4540],[992,1424],[1208,4485],[4679,4699],[4638,4673],[1154,4539],[4513,4618],[4567,4630],[1397,4634],[4673,4705],[1694,4706],[1505,4666],[4641,4650],[4510,4693],[4702,4708],[4631,4644],[4532,4588],[1559,1829],[4636,4714],[4531,4665],[4667,4715],[4484,4656],[4668,4695],[4502,4689],[4645,4703],[1856,4672],[4605,4707],[1046,4720],[1478,4523],[4688,4725],[4512,4608],[4618,4727],[4552,4728],[1343,4657],[4538,4586],[4697,4730],[1748,4676],[1748,4713],[1910,4541],[4646,4698],[4569,4718],[4610,4721],[4626,4735],[4607,4643],[4736,4740],[4541,4709],[1046,4494],[4530,4743],[4734,4744],[1076,1934],[2015,2042],[968,1022],[2420,2528],[2339,2447],[2285,4750],[2312,4751],[4749,4752],[1076,1103],[1049,4754],[4753,4755],[4748,4756],[4747,4757],[995,4758],[2312,2339],[1022,2366],[2123,4761],[4760,4762],[2528,4747],[2177,4764],[2204,4765],[1103,4766],[1076,4767],[968,1130],[1934,2231],[4769,4770],[995,2069],[4771,4772],[2609,4773],[4768,4774],[2555,4775],[4763,4776],[2528,4754],[2582,2636],[4778,4779],[2555,2609],[4780,4781],[2204,4750],[2042,4783],[4782,4784],[1961,1988],[2447,4786],[2042,4787],[2177,2204],[2123,2150],[1934,4790],[4786,4791],[4789,4792],[4759,4793],[2366,4781],[2474,4795],[2312,4796],[968,995],[4746,4798],[2096,2258],[1157,4800],[4799,4801],[4779,4802],[4766,4803],[2150,2420],[2474,4805],[2447,4789],[4806,4807],[4749,4751],[2393,2501],[2582,4810],[2636,4811],[4809,4812],[4797,4813],[2069,2096],[2663,4815],[2258,4816],[2231,4817],[1934,4818],[4764,4819],[2555,2582],[2015,2177],[2312,2420],[4822,4823],[4792,4824],[4821,4825],[1022,1049],[2501,4827],[2393,4828],[2285,4790],[1934,4830],[4786,4831],[4829,4832],[4779,4781],[4789,4834],[4820,4835],[1961,2042],[2393,4760],[2366,4838],[4837,4839],[1130,2474],[4795,4841],[1076,4822],[4798,4843],[4833,4844],[4771,4843],[2555,4846],[2366,2474],[4786,4830],[4848,4849],[4827,4850],[4772,4851],[4847,4852],[4786,4800],[4791,4854],[2636,4855],[4747,4753],[4789,4857],[4856,4858],[4818,4848],[1988,2447],[2420,4861],[4747,4862],[1049,2501],[2474,4864],[4863,4865],[1130,1157],[2663,4867],[1961,4777],[1103,2609],[2636,4870],[2339,4871],[2285,4810],[4860,4873],[2204,2636],[1103,2042],[2609,4876],[4875,4877],[4806,4861],[2231,2258],[995,4880],[4870,4881],[1076,2015],[4848,4873],[2663,4884],[2582,4823],[4845,4886],[4867,4885],[4827,4888],[968,4815],[4889,4890],[4788,4891],[4872,4892],[4798,4801],[4782,4868],[4881,4895],[4864,4896],[1022,4755],[4867,4898],[4868,4890],[4782,4900],[2015,4901],[1022,4902],[4875,4882],[995,4771],[4817,4905],[1157,4906],[2555,4843],[4907,4908],[2582,4909],[4805,4910],[4836,4839],[4791,4874],[2663,4880],[4790,4827],[4888,4915],[4750,4916],[4821,4823],[1076,4918],[1022,4756],[4842,4920],[2150,4789],[2123,4922],[995,4923],[4921,4924],[2231,4925],[4773,4877],[4747,4786],[2069,4928],[4797,4929],[4781,4907],[4779,4931],[4768,4932],[1961,2123],[2393,4934],[1022,4935],[1103,4936],[4760,4937],[4920,4924],[4761,4935],[1157,4940],[4833,4894],[2636,4784],[4786,4943],[4913,4944],[1988,4865],[1103,4942],[4866,4901],[4836,4879],[1157,2096],[1988,4950],[4812,4951],[4829,4850],[4907,4953],[4826,4874],[4762,4838],[4912,4934],[4789,4896],[4956,4958],[4793,4857],[2069,4960],[2555,4879],[4943,4947],[4823,4853],[4808,4897],[4851,4927],[4878,4906],[2339,4967],[4801,4887],[2663,4813],[995,2177],[1961,4758],[4952,4972],[4911,4946],[1157,4812],[4786,4891],[4840,4903],[2150,4907],[4946,4978],[2447,4979],[2258,4939],[4914,4923],[4783,4966],[4975,4981],[4904,4917],[4805,4861],[2312,2582],[4909,4987],[4804,4938],[4940,4988],[4757,4929],[4941,4968],[4775,4962],[4918,4976],[2609,4945],[4878,4980],[1049,4993],[2231,4796],[4961,4998],[4785,4881],[4891,5000],[4825,5001],[2096,4930],[4811,4859],[4970,5003],[2501,4949],[2501,4986],[2663,4814],[4919,4971],[4842,4991],[4883,4994],[4899,5008],[4880,4916],[5009,5013],[4814,4982],[1049,4767],[4803,5016],[5007,5017],[1079,1937],[2018,2045],[971,1025],[2423,2531],[2342,2450],[2288,5023],[2315,5024],[5022,5025],[1079,1106],[1052,5027],[5026,5028],[5021,5029],[5020,5030],[998,5031],[2315,2342],[1025,2369],[2126,5034],[5033,5035],[2531,5020],[2180,5037],[2207,5038],[1106,5039],[1079,5040],[971,1133],[1937,2234],[5042,5043],[998,2072],[5044,5045],[2612,5046],[5041,5047],[2558,5048],[5036,5049],[2531,5027],[2585,2639],[5051,5052],[2558,2612],[5053,5054],[2207,5023],[2045,5056],[5055,5057],[1964,1991],[2450,5059],[2045,5060],[2180,2207],[2126,2153],[1937,5063],[5059,5064],[5062,5065],[5032,5066],[2369,5054],[2477,5068],[2315,5069],[971,998],[5019,5071],[2099,2261],[1160,5073],[5072,5074],[5052,5075],[5039,5076],[2153,2423],[2477,5078],[2450,5062],[5079,5080],[5022,5024],[2396,2504],[2585,5083],[2639,5084],[5082,5085],[5070,5086],[2072,2099],[2666,5088],[2261,5089],[2234,5090],[1937,5091],[5037,5092],[2558,2585],[2018,2180],[2315,2423],[5095,5096],[5065,5097],[5094,5098],[1025,1052],[2504,5100],[2396,5101],[2288,5063],[1937,5103],[5059,5104],[5102,5105],[5052,5054],[5062,5107],[5093,5108],[1964,2045],[2396,5033],[2369,5111],[5110,5112],[1133,2477],[5068,5114],[1079,5095],[5071,5116],[5106,5117],[5044,5116],[2558,5119],[2369,2477],[5059,5103],[5121,5122],[5100,5123],[5045,5124],[5120,5125],[5059,5073],[5064,5127],[2639,5128],[5020,5026],[5062,5130],[5129,5131],[5091,5121],[1991,2450],[2423,5134],[5020,5135],[1052,2504],[2477,5137],[5136,5138],[1133,1160],[2666,5140],[1964,5050],[1106,2612],[2639,5143],[2342,5144],[2288,5083],[5133,5146],[2207,2639],[1106,2045],[2612,5149],[5148,5150],[5079,5134],[2234,2261],[998,5153],[5143,5154],[1079,2018],[5121,5146],[2666,5157],[2585,5096],[5118,5159],[5140,5158],[5100,5161],[971,5088],[5162,5163],[5061,5164],[5145,5165],[5071,5074],[5055,5141],[5154,5168],[5137,5169],[1025,5028],[5140,5171],[5141,5163],[5055,5173],[2018,5174],[1025,5175],[5148,5155],[998,5044],[5090,5178],[1160,5179],[2558,5116],[5180,5181],[2585,5182],[5078,5183],[5109,5112],[5064,5147],[2666,5153],[5063,5100],[5161,5188],[5023,5189],[5094,5096],[1079,5191],[1025,5029],[5115,5193],[2153,5062],[2126,5195],[998,5196],[5194,5197],[2234,5198],[5046,5150],[5020,5059],[2072,5201],[5070,5202],[5054,5180],[5052,5204],[5041,5205],[1964,2126],[2396,5207],[1025,5208],[1106,5209],[5033,5210],[5193,5197],[5034,5208],[1160,5213],[5106,5167],[2639,5057],[5059,5216],[5186,5217],[1991,5138],[1106,5215],[5139,5174],[5109,5152],[1160,2099],[1991,5223],[5085,5224],[5102,5123],[5180,5226],[5099,5147],[5035,5111],[5185,5207],[5062,5169],[5229,5231],[5066,5130],[2072,5233],[2558,5152],[5216,5220],[5096,5126],[5081,5170],[5124,5200],[5151,5179],[2342,5240],[5074,5160],[2666,5086],[998,2180],[1964,5031],[5225,5245],[5184,5219],[1160,5085],[5059,5164],[5113,5176],[2153,5180],[5219,5251],[2450,5252],[2261,5212],[5187,5196],[5056,5239],[5248,5254],[5177,5190],[5078,5134],[2315,2585],[5182,5260],[5077,5211],[5213,5261],[5030,5202],[5214,5241],[5048,5235],[5191,5249],[2612,5218],[5151,5253],[1052,5266],[2234,5069],[5234,5271],[5058,5154],[5164,5273],[5098,5274],[2099,5203],[5084,5132],[5243,5276],[2504,5222],[2504,5259],[2666,5087],[5192,5244],[5115,5264],[5156,5267],[5172,5281],[5153,5189],[5282,5286],[5087,5255],[1052,5040],[5076,5289],[5280,5290],[1265,1940],[2021,2048],[982,1211],[2987,3095],[2906,3014],[2852,5296],[2879,5297],[5295,5298],[1265,1292],[1238,5300],[5299,5301],[5294,5302],[5293,5303],[1184,5304],[2879,2906],[1211,2933],[2690,5307],[5306,5308],[3095,5293],[2744,5310],[2771,5311],[1292,5312],[1265,5313],[982,1319],[1940,2798],[5315,5316],[1184,2075],[5317,5318],[3176,5319],[5314,5320],[3122,5321],[5309,5322],[3095,5300],[3149,3203],[5324,5325],[3122,3176],[5326,5327],[2771,5296],[2048,5329],[5328,5330],[1967,1994],[3014,5332],[2048,5333],[2744,2771],[2690,2717],[1940,5336],[5332,5337],[5335,5338],[5305,5339],[2933,5327],[3041,5341],[2879,5342],[982,1184],[5292,5344],[2102,2825],[1346,5346],[5345,5347],[5325,5348],[5312,5349],[2717,2987],[3041,5351],[3014,5335],[5352,5353],[5295,5297],[2960,3068],[3149,5356],[3203,5357],[5355,5358],[5343,5359],[2075,2102],[3230,5361],[2825,5362],[2798,5363],[1940,5364],[5310,5365],[3122,3149],[2021,2744],[2879,2987],[5368,5369],[5338,5370],[5367,5371],[1211,1238],[3068,5373],[2960,5374],[2852,5336],[1940,5376],[5332,5377],[5375,5378],[5325,5327],[5335,5380],[5366,5381],[1967,2048],[2960,5306],[2933,5384],[5383,5385],[1319,3041],[5341,5387],[1265,5368],[5344,5389],[5379,5390],[5317,5389],[3122,5392],[2933,3041],[5332,5376],[5394,5395],[5373,5396],[5318,5397],[5393,5398],[5332,5346],[5337,5400],[3203,5401],[5293,5299],[5335,5403],[5402,5404],[5364,5394],[1994,3014],[2987,5407],[5293,5408],[1238,3068],[3041,5410],[5409,5411],[1319,1346],[3230,5413],[1967,5323],[1292,3176],[3203,5416],[2906,5417],[2852,5356],[5406,5419],[2771,3203],[1292,2048],[3176,5422],[5421,5423],[5352,5407],[2798,2825],[1184,5426],[5416,5427],[1265,2021],[5394,5419],[3230,5430],[3149,5369],[5391,5432],[5413,5431],[5373,5434],[982,5361],[5435,5436],[5334,5437],[5418,5438],[5344,5347],[5328,5414],[5427,5441],[5410,5442],[1211,5301],[5413,5444],[5414,5436],[5328,5446],[2021,5447],[1211,5448],[5421,5428],[1184,5317],[5363,5451],[1346,5452],[3122,5389],[5453,5454],[3149,5455],[5351,5456],[5382,5385],[5337,5420],[3230,5426],[5336,5373],[5434,5461],[5296,5462],[5367,5369],[1265,5464],[1211,5302],[5388,5466],[2717,5335],[2690,5468],[1184,5469],[5467,5470],[2798,5471],[5319,5423],[5293,5332],[2075,5474],[5343,5475],[5327,5453],[5325,5477],[5314,5478],[1967,2690],[2960,5480],[1211,5481],[1292,5482],[5306,5483],[5466,5470],[5307,5481],[1346,5486],[5379,5440],[3203,5330],[5332,5489],[5459,5490],[1994,5411],[1292,5488],[5412,5447],[5382,5425],[1346,2102],[1994,5496],[5358,5497],[5375,5396],[5453,5499],[5372,5420],[5308,5384],[5458,5480],[5335,5442],[5502,5504],[5339,5403],[2075,5506],[3122,5425],[5489,5493],[5369,5399],[5354,5443],[5397,5473],[5424,5452],[2906,5513],[5347,5433],[3230,5359],[1184,2744],[1967,5304],[5498,5518],[5457,5492],[1346,5358],[5332,5437],[5386,5449],[2717,5453],[5492,5524],[3014,5525],[2825,5485],[5460,5469],[5329,5512],[5521,5527],[5450,5463],[5351,5407],[2879,3149],[5455,5533],[5350,5484],[5486,5534],[5303,5475],[5487,5514],[5321,5508],[5464,5522],[3176,5491],[5424,5526],[1238,5539],[2798,5342],[5507,5544],[5331,5427],[5437,5546],[5371,5547],[2102,5476],[5357,5405],[5516,5549],[3068,5495],[3068,5532],[3230,5360],[5465,5517],[5388,5537],[5429,5540],[5445,5554],[5426,5462],[5555,5559],[5360,5528],[1238,5313],[5349,5562],[5553,5563],[1268,1943],[2024,2051],[981,1214],[2990,3098],[2909,3017],[2855,5569],[2882,5570],[5568,5571],[1268,1295],[1241,5573],[5572,5574],[5567,5575],[5566,5576],[1187,5577],[2882,2909],[1214,2936],[2693,5580],[5579,5581],[3098,5566],[2747,5583],[2774,5584],[1295,5585],[1268,5586],[981,1322],[1943,2801],[5588,5589],[1187,2078],[5590,5591],[3179,5592],[5587,5593],[3125,5594],[5582,5595],[3098,5573],[3152,3206],[5597,5598],[3125,3179],[5599,5600],[2774,5569],[2051,5602],[5601,5603],[1970,1997],[3017,5605],[2051,5606],[2747,2774],[2693,2720],[1943,5609],[5605,5610],[5608,5611],[5578,5612],[2936,5600],[3044,5614],[2882,5615],[981,1187],[5565,5617],[2105,2828],[1349,5619],[5618,5620],[5598,5621],[5585,5622],[2720,2990],[3044,5624],[3017,5608],[5625,5626],[5568,5570],[2963,3071],[3152,5629],[3206,5630],[5628,5631],[5616,5632],[2078,2105],[3233,5634],[2828,5635],[2801,5636],[1943,5637],[5583,5638],[3125,3152],[2024,2747],[2882,2990],[5641,5642],[5611,5643],[5640,5644],[1214,1241],[3071,5646],[2963,5647],[2855,5609],[1943,5649],[5605,5650],[5648,5651],[5598,5600],[5608,5653],[5639,5654],[1970,2051],[2963,5579],[2936,5657],[5656,5658],[1322,3044],[5614,5660],[1268,5641],[5617,5662],[5652,5663],[5590,5662],[3125,5665],[2936,3044],[5605,5649],[5667,5668],[5646,5669],[5591,5670],[5666,5671],[5605,5619],[5610,5673],[3206,5674],[5566,5572],[5608,5676],[5675,5677],[5637,5667],[1997,3017],[2990,5680],[5566,5681],[1241,3071],[3044,5683],[5682,5684],[1322,1349],[3233,5686],[1970,5596],[1295,3179],[3206,5689],[2909,5690],[2855,5629],[5679,5692],[2774,3206],[1295,2051],[3179,5695],[5694,5696],[5625,5680],[2801,2828],[1187,5699],[5689,5700],[1268,2024],[5667,5692],[3233,5703],[3152,5642],[5664,5705],[5686,5704],[5646,5707],[981,5634],[5708,5709],[5607,5710],[5691,5711],[5617,5620],[5601,5687],[5700,5714],[5683,5715],[1214,5574],[5686,5717],[5687,5709],[5601,5719],[2024,5720],[1214,5721],[5694,5701],[1187,5590],[5636,5724],[1349,5725],[3125,5662],[5726,5727],[3152,5728],[5624,5729],[5655,5658],[5610,5693],[3233,5699],[5609,5646],[5707,5734],[5569,5735],[5640,5642],[1268,5737],[1214,5575],[5661,5739],[2720,5608],[2693,5741],[1187,5742],[5740,5743],[2801,5744],[5592,5696],[5566,5605],[2078,5747],[5616,5748],[5600,5726],[5598,5750],[5587,5751],[1970,2693],[2963,5753],[1214,5754],[1295,5755],[5579,5756],[5739,5743],[5580,5754],[1349,5759],[5652,5713],[3206,5603],[5605,5762],[5732,5763],[1997,5684],[1295,5761],[5685,5720],[5655,5698],[1349,2105],[1997,5769],[5631,5770],[5648,5669],[5726,5772],[5645,5693],[5581,5657],[5731,5753],[5608,5715],[5775,5777],[5612,5676],[2078,5779],[3125,5698],[5762,5766],[5642,5672],[5627,5716],[5670,5746],[5697,5725],[2909,5786],[5620,5706],[3233,5632],[1187,2747],[1970,5577],[5771,5791],[5730,5765],[1349,5631],[5605,5710],[5659,5722],[2720,5726],[5765,5797],[3017,5798],[2828,5758],[5733,5742],[5602,5785],[5794,5800],[5723,5736],[5624,5680],[2882,3152],[5728,5806],[5623,5757],[5759,5807],[5576,5748],[5760,5787],[5594,5781],[5737,5795],[3179,5764],[5697,5799],[1241,5812],[2801,5615],[5780,5817],[5604,5700],[5710,5819],[5644,5820],[2105,5749],[5630,5678],[5789,5822],[3071,5768],[3071,5805],[3233,5633],[5738,5790],[5661,5810],[5702,5813],[5718,5827],[5699,5735],[5828,5832],[5633,5801],[1241,5586],[5622,5835],[5826,5836],[1427,1954],[2183,2210],[1009,1373],[3392,3500],[3311,3419],[3257,5842],[3284,5843],[5841,5844],[1427,1454],[1400,5846],[5845,5847],[5840,5848],[5839,5849],[1198,5850],[3284,3311],[1373,3338],[2696,5853],[5852,5854],[3500,5839],[2750,5856],[2777,5857],[1454,5858],[1427,5859],[1009,1481],[1954,2804],[5861,5862],[1198,2237],[5863,5864],[3581,5865],[5860,5866],[3527,5867],[5855,5868],[3500,5846],[3554,3608],[5870,5871],[3527,3581],[5872,5873],[2777,5842],[2210,5875],[5874,5876],[2129,2156],[3419,5878],[2210,5879],[2750,2777],[2696,2723],[1954,5882],[5878,5883],[5881,5884],[5851,5885],[3338,5873],[3446,5887],[3284,5888],[1009,1198],[5838,5890],[2264,2831],[1508,5892],[5891,5893],[5871,5894],[5858,5895],[2723,3392],[3446,5897],[3419,5881],[5898,5899],[5841,5843],[3365,3473],[3554,5902],[3608,5903],[5901,5904],[5889,5905],[2237,2264],[3635,5907],[2831,5908],[2804,5909],[1954,5910],[5856,5911],[3527,3554],[2183,2750],[3284,3392],[5914,5915],[5884,5916],[5913,5917],[1373,1400],[3473,5919],[3365,5920],[3257,5882],[1954,5922],[5878,5923],[5921,5924],[5871,5873],[5881,5926],[5912,5927],[2129,2210],[3365,5852],[3338,5930],[5929,5931],[1481,3446],[5887,5933],[1427,5914],[5890,5935],[5925,5936],[5863,5935],[3527,5938],[3338,3446],[5878,5922],[5940,5941],[5919,5942],[5864,5943],[5939,5944],[5878,5892],[5883,5946],[3608,5947],[5839,5845],[5881,5949],[5948,5950],[5910,5940],[2156,3419],[3392,5953],[5839,5954],[1400,3473],[3446,5956],[5955,5957],[1481,1508],[3635,5959],[2129,5869],[1454,3581],[3608,5962],[3311,5963],[3257,5902],[5952,5965],[2777,3608],[1454,2210],[3581,5968],[5967,5969],[5898,5953],[2804,2831],[1198,5972],[5962,5973],[1427,2183],[5940,5965],[3635,5976],[3554,5915],[5937,5978],[5959,5977],[5919,5980],[1009,5907],[5981,5982],[5880,5983],[5964,5984],[5890,5893],[5874,5960],[5973,5987],[5956,5988],[1373,5847],[5959,5990],[5960,5982],[5874,5992],[2183,5993],[1373,5994],[5967,5974],[1198,5863],[5909,5997],[1508,5998],[3527,5935],[5999,6000],[3554,6001],[5897,6002],[5928,5931],[5883,5966],[3635,5972],[5882,5919],[5980,6007],[5842,6008],[5913,5915],[1427,6010],[1373,5848],[5934,6012],[2723,5881],[2696,6014],[1198,6015],[6013,6016],[2804,6017],[5865,5969],[5839,5878],[2237,6020],[5889,6021],[5873,5999],[5871,6023],[5860,6024],[2129,2696],[3365,6026],[1373,6027],[1454,6028],[5852,6029],[6012,6016],[5853,6027],[1508,6032],[5925,5986],[3608,5876],[5878,6035],[6005,6036],[2156,5957],[1454,6034],[5958,5993],[5928,5971],[1508,2264],[2156,6042],[5904,6043],[5921,5942],[5999,6045],[5918,5966],[5854,5930],[6004,6026],[5881,5988],[6048,6050],[5885,5949],[2237,6052],[3527,5971],[6035,6039],[5915,5945],[5900,5989],[5943,6019],[5970,5998],[3311,6059],[5893,5979],[3635,5905],[1198,2750],[2129,5850],[6044,6064],[6003,6038],[1508,5904],[5878,5983],[5932,5995],[2723,5999],[6038,6070],[3419,6071],[2831,6031],[6006,6015],[5875,6058],[6067,6073],[5996,6009],[5897,5953],[3284,3554],[6001,6079],[5896,6030],[6032,6080],[5849,6021],[6033,6060],[5867,6054],[6010,6068],[3581,6037],[5970,6072],[1400,6085],[2804,5888],[6053,6090],[5877,5973],[5983,6092],[5917,6093],[2264,6022],[5903,5951],[6062,6095],[3473,6041],[3473,6078],[3635,5906],[6011,6063],[5934,6083],[5975,6086],[5991,6100],[5972,6008],[6101,6105],[5906,6074],[1400,5859],[5895,6108],[6099,6109],[1430,1953],[2186,2213],[1008,1376],[3395,3503],[3314,3422],[3260,6115],[3287,6116],[6114,6117],[1430,1457],[1403,6119],[6118,6120],[6113,6121],[6112,6122],[1197,6123],[3287,3314],[1376,3341],[2699,6126],[6125,6127],[3503,6112],[2753,6129],[2780,6130],[1457,6131],[1430,6132],[1008,1484],[1953,2807],[6134,6135],[1197,2240],[6136,6137],[3584,6138],[6133,6139],[3530,6140],[6128,6141],[3503,6119],[3557,3611],[6143,6144],[3530,3584],[6145,6146],[2780,6115],[2213,6148],[6147,6149],[2132,2159],[3422,6151],[2213,6152],[2753,2780],[2699,2726],[1953,6155],[6151,6156],[6154,6157],[6124,6158],[3341,6146],[3449,6160],[3287,6161],[1008,1197],[6111,6163],[2267,2834],[1511,6165],[6164,6166],[6144,6167],[6131,6168],[2726,3395],[3449,6170],[3422,6154],[6171,6172],[6114,6116],[3368,3476],[3557,6175],[3611,6176],[6174,6177],[6162,6178],[2240,2267],[3638,6180],[2834,6181],[2807,6182],[1953,6183],[6129,6184],[3530,3557],[2186,2753],[3287,3395],[6187,6188],[6157,6189],[6186,6190],[1376,1403],[3476,6192],[3368,6193],[3260,6155],[1953,6195],[6151,6196],[6194,6197],[6144,6146],[6154,6199],[6185,6200],[2132,2213],[3368,6125],[3341,6203],[6202,6204],[1484,3449],[6160,6206],[1430,6187],[6163,6208],[6198,6209],[6136,6208],[3530,6211],[3341,3449],[6151,6195],[6213,6214],[6192,6215],[6137,6216],[6212,6217],[6151,6165],[6156,6219],[3611,6220],[6112,6118],[6154,6222],[6221,6223],[6183,6213],[2159,3422],[3395,6226],[6112,6227],[1403,3476],[3449,6229],[6228,6230],[1484,1511],[3638,6232],[2132,6142],[1457,3584],[3611,6235],[3314,6236],[3260,6175],[6225,6238],[2780,3611],[1457,2213],[3584,6241],[6240,6242],[6171,6226],[2807,2834],[1197,6245],[6235,6246],[1430,2186],[6213,6238],[3638,6249],[3557,6188],[6210,6251],[6232,6250],[6192,6253],[1008,6180],[6254,6255],[6153,6256],[6237,6257],[6163,6166],[6147,6233],[6246,6260],[6229,6261],[1376,6120],[6232,6263],[6233,6255],[6147,6265],[2186,6266],[1376,6267],[6240,6247],[1197,6136],[6182,6270],[1511,6271],[3530,6208],[6272,6273],[3557,6274],[6170,6275],[6201,6204],[6156,6239],[3638,6245],[6155,6192],[6253,6280],[6115,6281],[6186,6188],[1430,6283],[1376,6121],[6207,6285],[2726,6154],[2699,6287],[1197,6288],[6286,6289],[2807,6290],[6138,6242],[6112,6151],[2240,6293],[6162,6294],[6146,6272],[6144,6296],[6133,6297],[2132,2699],[3368,6299],[1376,6300],[1457,6301],[6125,6302],[6285,6289],[6126,6300],[1511,6305],[6198,6259],[3611,6149],[6151,6308],[6278,6309],[2159,6230],[1457,6307],[6231,6266],[6201,6244],[1511,2267],[2159,6315],[6177,6316],[6194,6215],[6272,6318],[6191,6239],[6127,6203],[6277,6299],[6154,6261],[6321,6323],[6158,6222],[2240,6325],[3530,6244],[6308,6312],[6188,6218],[6173,6262],[6216,6292],[6243,6271],[3314,6332],[6166,6252],[3638,6178],[1197,2753],[2132,6123],[6317,6337],[6276,6311],[1511,6177],[6151,6256],[6205,6268],[2726,6272],[6311,6343],[3422,6344],[2834,6304],[6279,6288],[6148,6331],[6340,6346],[6269,6282],[6170,6226],[3287,3557],[6274,6352],[6169,6303],[6305,6353],[6122,6294],[6306,6333],[6140,6327],[6283,6341],[3584,6310],[6243,6345],[1403,6358],[2807,6161],[6326,6363],[6150,6246],[6256,6365],[6190,6366],[2267,6295],[6176,6224],[6335,6368],[3476,6314],[3476,6351],[3638,6179],[6284,6336],[6207,6356],[6248,6359],[6264,6373],[6245,6281],[6374,6378],[6179,6347],[1403,6132],[6168,6381],[6372,6382],[1562,1981],[2318,2345],[1036,1387],[3662,3770],[3317,3689],[3263,6388],[3290,6389],[6387,6390],[1562,1589],[1535,6392],[6391,6393],[6386,6394],[6385,6395],[1225,6396],[3290,3317],[1387,3344],[2710,6399],[6398,6400],[3770,6385],[2885,6402],[2912,6403],[1589,6404],[1562,6405],[1036,1616],[1981,2939],[6407,6408],[1225,2372],[6409,6410],[3851,6411],[6406,6412],[3797,6413],[6401,6414],[3770,6392],[3824,3878],[6416,6417],[3797,3851],[6418,6419],[2912,6388],[2345,6421],[6420,6422],[2143,2291],[3689,6424],[2345,6425],[2885,2912],[2710,2858],[1981,6428],[6424,6429],[6427,6430],[6397,6431],[3344,6419],[3716,6433],[3290,6434],[1036,1225],[6384,6436],[2399,2966],[1643,6438],[6437,6439],[6417,6440],[6404,6441],[2858,3662],[3716,6443],[3689,6427],[6444,6445],[6387,6389],[3371,3743],[3824,6448],[3878,6449],[6447,6450],[6435,6451],[2372,2399],[3905,6453],[2966,6454],[2939,6455],[1981,6456],[6402,6457],[3797,3824],[2318,2885],[3290,3662],[6460,6461],[6430,6462],[6459,6463],[1387,1535],[3743,6465],[3371,6466],[3263,6428],[1981,6468],[6424,6469],[6467,6470],[6417,6419],[6427,6472],[6458,6473],[2143,2345],[3371,6398],[3344,6476],[6475,6477],[1616,3716],[6433,6479],[1562,6460],[6436,6481],[6471,6482],[6409,6481],[3797,6484],[3344,3716],[6424,6468],[6486,6487],[6465,6488],[6410,6489],[6485,6490],[6424,6438],[6429,6492],[3878,6493],[6385,6391],[6427,6495],[6494,6496],[6456,6486],[2291,3689],[3662,6499],[6385,6500],[1535,3743],[3716,6502],[6501,6503],[1616,1643],[3905,6505],[2143,6415],[1589,3851],[3878,6508],[3317,6509],[3263,6448],[6498,6511],[2912,3878],[1589,2345],[3851,6514],[6513,6515],[6444,6499],[2939,2966],[1225,6518],[6508,6519],[1562,2318],[6486,6511],[3905,6522],[3824,6461],[6483,6524],[6505,6523],[6465,6526],[1036,6453],[6527,6528],[6426,6529],[6510,6530],[6436,6439],[6420,6506],[6519,6533],[6502,6534],[1387,6393],[6505,6536],[6506,6528],[6420,6538],[2318,6539],[1387,6540],[6513,6520],[1225,6409],[6455,6543],[1643,6544],[3797,6481],[6545,6546],[3824,6547],[6443,6548],[6474,6477],[6429,6512],[3905,6518],[6428,6465],[6526,6553],[6388,6554],[6459,6461],[1562,6556],[1387,6394],[6480,6558],[2858,6427],[2710,6560],[1225,6561],[6559,6562],[2939,6563],[6411,6515],[6385,6424],[2372,6566],[6435,6567],[6419,6545],[6417,6569],[6406,6570],[2143,2710],[3371,6572],[1387,6573],[1589,6574],[6398,6575],[6558,6562],[6399,6573],[1643,6578],[6471,6532],[3878,6422],[6424,6581],[6551,6582],[2291,6503],[1589,6580],[6504,6539],[6474,6517],[1643,2399],[2291,6588],[6450,6589],[6467,6488],[6545,6591],[6464,6512],[6400,6476],[6550,6572],[6427,6534],[6594,6596],[6431,6495],[2372,6598],[3797,6517],[6581,6585],[6461,6491],[6446,6535],[6489,6565],[6516,6544],[3317,6605],[6439,6525],[3905,6451],[1225,2885],[2143,6396],[6590,6610],[6549,6584],[1643,6450],[6424,6529],[6478,6541],[2858,6545],[6584,6616],[3689,6617],[2966,6577],[6552,6561],[6421,6604],[6613,6619],[6542,6555],[6443,6499],[3290,3824],[6547,6625],[6442,6576],[6578,6626],[6395,6567],[6579,6606],[6413,6600],[6556,6614],[3851,6583],[6516,6618],[1535,6631],[2939,6434],[6599,6636],[6423,6519],[6529,6638],[6463,6639],[2399,6568],[6449,6497],[6608,6641],[3743,6587],[3743,6624],[3905,6452],[6557,6609],[6480,6629],[6521,6632],[6537,6646],[6518,6554],[6647,6651],[6452,6620],[1535,6405],[6441,6654],[6645,6655],[1565,1980],[2321,2348],[1035,1386],[3665,3773],[3320,3692],[3266,6661],[3293,6662],[6660,6663],[1565,1592],[1538,6665],[6664,6666],[6659,6667],[6658,6668],[1224,6669],[3293,3320],[1386,3347],[2709,6672],[6671,6673],[3773,6658],[2888,6675],[2915,6676],[1592,6677],[1565,6678],[1035,1619],[1980,2942],[6680,6681],[1224,2375],[6682,6683],[3854,6684],[6679,6685],[3800,6686],[6674,6687],[3773,6665],[3827,3881],[6689,6690],[3800,3854],[6691,6692],[2915,6661],[2348,6694],[6693,6695],[2142,2294],[3692,6697],[2348,6698],[2888,2915],[2709,2861],[1980,6701],[6697,6702],[6700,6703],[6670,6704],[3347,6692],[3719,6706],[3293,6707],[1035,1224],[6657,6709],[2402,2969],[1646,6711],[6710,6712],[6690,6713],[6677,6714],[2861,3665],[3719,6716],[3692,6700],[6717,6718],[6660,6662],[3374,3746],[3827,6721],[3881,6722],[6720,6723],[6708,6724],[2375,2402],[3908,6726],[2969,6727],[2942,6728],[1980,6729],[6675,6730],[3800,3827],[2321,2888],[3293,3665],[6733,6734],[6703,6735],[6732,6736],[1386,1538],[3746,6738],[3374,6739],[3266,6701],[1980,6741],[6697,6742],[6740,6743],[6690,6692],[6700,6745],[6731,6746],[2142,2348],[3374,6671],[3347,6749],[6748,6750],[1619,3719],[6706,6752],[1565,6733],[6709,6754],[6744,6755],[6682,6754],[3800,6757],[3347,3719],[6697,6741],[6759,6760],[6738,6761],[6683,6762],[6758,6763],[6697,6711],[6702,6765],[3881,6766],[6658,6664],[6700,6768],[6767,6769],[6729,6759],[2294,3692],[3665,6772],[6658,6773],[1538,3746],[3719,6775],[6774,6776],[1619,1646],[3908,6778],[2142,6688],[1592,3854],[3881,6781],[3320,6782],[3266,6721],[6771,6784],[2915,3881],[1592,2348],[3854,6787],[6786,6788],[6717,6772],[2942,2969],[1224,6791],[6781,6792],[1565,2321],[6759,6784],[3908,6795],[3827,6734],[6756,6797],[6778,6796],[6738,6799],[1035,6726],[6800,6801],[6699,6802],[6783,6803],[6709,6712],[6693,6779],[6792,6806],[6775,6807],[1386,6666],[6778,6809],[6779,6801],[6693,6811],[2321,6812],[1386,6813],[6786,6793],[1224,6682],[6728,6816],[1646,6817],[3800,6754],[6818,6819],[3827,6820],[6716,6821],[6747,6750],[6702,6785],[3908,6791],[6701,6738],[6799,6826],[6661,6827],[6732,6734],[1565,6829],[1386,6667],[6753,6831],[2861,6700],[2709,6833],[1224,6834],[6832,6835],[2942,6836],[6684,6788],[6658,6697],[2375,6839],[6708,6840],[6692,6818],[6690,6842],[6679,6843],[2142,2709],[3374,6845],[1386,6846],[1592,6847],[6671,6848],[6831,6835],[6672,6846],[1646,6851],[6744,6805],[3881,6695],[6697,6854],[6824,6855],[2294,6776],[1592,6853],[6777,6812],[6747,6790],[1646,2402],[2294,6861],[6723,6862],[6740,6761],[6818,6864],[6737,6785],[6673,6749],[6823,6845],[6700,6807],[6867,6869],[6704,6768],[2375,6871],[3800,6790],[6854,6858],[6734,6764],[6719,6808],[6762,6838],[6789,6817],[3320,6878],[6712,6798],[3908,6724],[1224,2888],[2142,6669],[6863,6883],[6822,6857],[1646,6723],[6697,6802],[6751,6814],[2861,6818],[6857,6889],[3692,6890],[2969,6850],[6825,6834],[6694,6877],[6886,6892],[6815,6828],[6716,6772],[3293,3827],[6820,6898],[6715,6849],[6851,6899],[6668,6840],[6852,6879],[6686,6873],[6829,6887],[3854,6856],[6789,6891],[1538,6904],[2942,6707],[6872,6909],[6696,6792],[6802,6911],[6736,6912],[2402,6841],[6722,6770],[6881,6914],[3746,6860],[3746,6897],[3908,6725],[6830,6882],[6753,6902],[6794,6905],[6810,6919],[6791,6827],[6920,6924],[6725,6893],[1538,6678],[6714,6927],[6918,6928],[1670,2008],[2426,2453],[1063,1414],[3668,3932],[3425,3695],[3277,6934],[3398,6935],[6933,6936],[1670,1697],[1549,6938],[6937,6939],[6932,6940],[6931,6941],[1252,6942],[3398,3425],[1414,3452],[2737,6945],[6944,6946],[3932,6931],[2993,6948],[3020,6949],[1697,6950],[1670,6951],[1063,1724],[2008,3047],[6953,6954],[1252,2480],[6955,6956],[4013,6957],[6952,6958],[3959,6959],[6947,6960],[3932,6938],[3986,4040],[6962,6963],[3959,4013],[6964,6965],[3020,6934],[2453,6967],[6966,6968],[2170,2305],[3695,6970],[2453,6971],[2993,3020],[2737,2872],[2008,6974],[6970,6975],[6973,6976],[6943,6977],[3452,6965],[3722,6979],[3398,6980],[1063,1252],[6930,6982],[2507,3074],[1751,6984],[6983,6985],[6963,6986],[6950,6987],[2872,3668],[3722,6989],[3695,6973],[6990,6991],[6933,6935],[3479,3749],[3986,6994],[4040,6995],[6993,6996],[6981,6997],[2480,2507],[4067,6999],[3074,7000],[3047,7001],[2008,7002],[6948,7003],[3959,3986],[2426,2993],[3398,3668],[7006,7007],[6976,7008],[7005,7009],[1414,1549],[3749,7011],[3479,7012],[3277,6974],[2008,7014],[6970,7015],[7013,7016],[6963,6965],[6973,7018],[7004,7019],[2170,2453],[3479,6944],[3452,7022],[7021,7023],[1724,3722],[6979,7025],[1670,7006],[6982,7027],[7017,7028],[6955,7027],[3959,7030],[3452,3722],[6970,7014],[7032,7033],[7011,7034],[6956,7035],[7031,7036],[6970,6984],[6975,7038],[4040,7039],[6931,6937],[6973,7041],[7040,7042],[7002,7032],[2305,3695],[3668,7045],[6931,7046],[1549,3749],[3722,7048],[7047,7049],[1724,1751],[4067,7051],[2170,6961],[1697,4013],[4040,7054],[3425,7055],[3277,6994],[7044,7057],[3020,4040],[1697,2453],[4013,7060],[7059,7061],[6990,7045],[3047,3074],[1252,7064],[7054,7065],[1670,2426],[7032,7057],[4067,7068],[3986,7007],[7029,7070],[7051,7069],[7011,7072],[1063,6999],[7073,7074],[6972,7075],[7056,7076],[6982,6985],[6966,7052],[7065,7079],[7048,7080],[1414,6939],[7051,7082],[7052,7074],[6966,7084],[2426,7085],[1414,7086],[7059,7066],[1252,6955],[7001,7089],[1751,7090],[3959,7027],[7091,7092],[3986,7093],[6989,7094],[7020,7023],[6975,7058],[4067,7064],[6974,7011],[7072,7099],[6934,7100],[7005,7007],[1670,7102],[1414,6940],[7026,7104],[2872,6973],[2737,7106],[1252,7107],[7105,7108],[3047,7109],[6957,7061],[6931,6970],[2480,7112],[6981,7113],[6965,7091],[6963,7115],[6952,7116],[2170,2737],[3479,7118],[1414,7119],[1697,7120],[6944,7121],[7104,7108],[6945,7119],[1751,7124],[7017,7078],[4040,6968],[6970,7127],[7097,7128],[2305,7049],[1697,7126],[7050,7085],[7020,7063],[1751,2507],[2305,7134],[6996,7135],[7013,7034],[7091,7137],[7010,7058],[6946,7022],[7096,7118],[6973,7080],[7140,7142],[6977,7041],[2480,7144],[3959,7063],[7127,7131],[7007,7037],[6992,7081],[7035,7111],[7062,7090],[3425,7151],[6985,7071],[4067,6997],[1252,2993],[2170,6942],[7136,7156],[7095,7130],[1751,6996],[6970,7075],[7024,7087],[2872,7091],[7130,7162],[3695,7163],[3074,7123],[7098,7107],[6967,7150],[7159,7165],[7088,7101],[6989,7045],[3398,3986],[7093,7171],[6988,7122],[7124,7172],[6941,7113],[7125,7152],[6959,7146],[7102,7160],[4013,7129],[7062,7164],[1549,7177],[3047,6980],[7145,7182],[6969,7065],[7075,7184],[7009,7185],[2507,7114],[6995,7043],[7154,7187],[3749,7133],[3749,7170],[4067,6998],[7103,7155],[7026,7175],[7067,7178],[7083,7192],[7064,7100],[7193,7197],[6998,7166],[1549,6951],[6987,7200],[7191,7201],[1673,2007],[2429,2456],[1062,1413],[3671,3935],[3428,3698],[3276,7207],[3401,7208],[7206,7209],[1673,1700],[1548,7211],[7210,7212],[7205,7213],[7204,7214],[1251,7215],[3401,3428],[1413,3455],[2736,7218],[7217,7219],[3935,7204],[2996,7221],[3023,7222],[1700,7223],[1673,7224],[1062,1727],[2007,3050],[7226,7227],[1251,2483],[7228,7229],[4016,7230],[7225,7231],[3962,7232],[7220,7233],[3935,7211],[3989,4043],[7235,7236],[3962,4016],[7237,7238],[3023,7207],[2456,7240],[7239,7241],[2169,2304],[3698,7243],[2456,7244],[2996,3023],[2736,2871],[2007,7247],[7243,7248],[7246,7249],[7216,7250],[3455,7238],[3725,7252],[3401,7253],[1062,1251],[7203,7255],[2510,3077],[1754,7257],[7256,7258],[7236,7259],[7223,7260],[2871,3671],[3725,7262],[3698,7246],[7263,7264],[7206,7208],[3482,3752],[3989,7267],[4043,7268],[7266,7269],[7254,7270],[2483,2510],[4070,7272],[3077,7273],[3050,7274],[2007,7275],[7221,7276],[3962,3989],[2429,2996],[3401,3671],[7279,7280],[7249,7281],[7278,7282],[1413,1548],[3752,7284],[3482,7285],[3276,7247],[2007,7287],[7243,7288],[7286,7289],[7236,7238],[7246,7291],[7277,7292],[2169,2456],[3482,7217],[3455,7295],[7294,7296],[1727,3725],[7252,7298],[1673,7279],[7255,7300],[7290,7301],[7228,7300],[3962,7303],[3455,3725],[7243,7287],[7305,7306],[7284,7307],[7229,7308],[7304,7309],[7243,7257],[7248,7311],[4043,7312],[7204,7210],[7246,7314],[7313,7315],[7275,7305],[2304,3698],[3671,7318],[7204,7319],[1548,3752],[3725,7321],[7320,7322],[1727,1754],[4070,7324],[2169,7234],[1700,4016],[4043,7327],[3428,7328],[3276,7267],[7317,7330],[3023,4043],[1700,2456],[4016,7333],[7332,7334],[7263,7318],[3050,3077],[1251,7337],[7327,7338],[1673,2429],[7305,7330],[4070,7341],[3989,7280],[7302,7343],[7324,7342],[7284,7345],[1062,7272],[7346,7347],[7245,7348],[7329,7349],[7255,7258],[7239,7325],[7338,7352],[7321,7353],[1413,7212],[7324,7355],[7325,7347],[7239,7357],[2429,7358],[1413,7359],[7332,7339],[1251,7228],[7274,7362],[1754,7363],[3962,7300],[7364,7365],[3989,7366],[7262,7367],[7293,7296],[7248,7331],[4070,7337],[7247,7284],[7345,7372],[7207,7373],[7278,7280],[1673,7375],[1413,7213],[7299,7377],[2871,7246],[2736,7379],[1251,7380],[7378,7381],[3050,7382],[7230,7334],[7204,7243],[2483,7385],[7254,7386],[7238,7364],[7236,7388],[7225,7389],[2169,2736],[3482,7391],[1413,7392],[1700,7393],[7217,7394],[7377,7381],[7218,7392],[1754,7397],[7290,7351],[4043,7241],[7243,7400],[7370,7401],[2304,7322],[1700,7399],[7323,7358],[7293,7336],[1754,2510],[2304,7407],[7269,7408],[7286,7307],[7364,7410],[7283,7331],[7219,7295],[7369,7391],[7246,7353],[7413,7415],[7250,7314],[2483,7417],[3962,7336],[7400,7404],[7280,7310],[7265,7354],[7308,7384],[7335,7363],[3428,7424],[7258,7344],[4070,7270],[1251,2996],[2169,7215],[7409,7429],[7368,7403],[1754,7269],[7243,7348],[7297,7360],[2871,7364],[7403,7435],[3698,7436],[3077,7396],[7371,7380],[7240,7423],[7432,7438],[7361,7374],[7262,7318],[3401,3989],[7366,7444],[7261,7395],[7397,7445],[7214,7386],[7398,7425],[7232,7419],[7375,7433],[4016,7402],[7335,7437],[1548,7450],[3050,7253],[7418,7455],[7242,7338],[7348,7457],[7282,7458],[2510,7387],[7268,7316],[7427,7460],[3752,7406],[3752,7443],[4070,7271],[7376,7428],[7299,7448],[7340,7451],[7356,7465],[7337,7373],[7466,7470],[7271,7439],[1548,7224],[7260,7473],[7464,7474],[1684,2035],[2440,2534],[1090,1441],[3682,3938],[3506,3776],[3304,7480],[3412,7481],[7479,7482],[1684,1778],[1576,7484],[7483,7485],[7478,7486],[7477,7487],[1279,7488],[3412,3506],[1441,3533],[2764,7491],[7490,7492],[3938,7477],[3007,7494],[3101,7495],[1778,7496],[1684,7497],[1090,1805],[2035,3128],[7499,7500],[1279,2561],[7501,7502],[4094,7503],[7498,7504],[3965,7505],[7493,7506],[3938,7484],[3992,4121],[7508,7509],[3965,4094],[7510,7511],[3101,7480],[2534,7513],[7512,7514],[2197,2332],[3776,7516],[2534,7517],[3007,3101],[2764,2899],[2035,7520],[7516,7521],[7519,7522],[7489,7523],[3533,7511],[3803,7525],[3412,7526],[1090,1279],[7476,7528],[2588,3155],[1832,7530],[7529,7531],[7509,7532],[7496,7533],[2899,3682],[3803,7535],[3776,7519],[7536,7537],[7479,7481],[3560,3830],[3992,7540],[4121,7541],[7539,7542],[7527,7543],[2561,2588],[4148,7545],[3155,7546],[3128,7547],[2035,7548],[7494,7549],[3965,3992],[2440,3007],[3412,3682],[7552,7553],[7522,7554],[7551,7555],[1441,1576],[3830,7557],[3560,7558],[3304,7520],[2035,7560],[7516,7561],[7559,7562],[7509,7511],[7519,7564],[7550,7565],[2197,2534],[3560,7490],[3533,7568],[7567,7569],[1805,3803],[7525,7571],[1684,7552],[7528,7573],[7563,7574],[7501,7573],[3965,7576],[3533,3803],[7516,7560],[7578,7579],[7557,7580],[7502,7581],[7577,7582],[7516,7530],[7521,7584],[4121,7585],[7477,7483],[7519,7587],[7586,7588],[7548,7578],[2332,3776],[3682,7591],[7477,7592],[1576,3830],[3803,7594],[7593,7595],[1805,1832],[4148,7597],[2197,7507],[1778,4094],[4121,7600],[3506,7601],[3304,7540],[7590,7603],[3101,4121],[1778,2534],[4094,7606],[7605,7607],[7536,7591],[3128,3155],[1279,7610],[7600,7611],[1684,2440],[7578,7603],[4148,7614],[3992,7553],[7575,7616],[7597,7615],[7557,7618],[1090,7545],[7619,7620],[7518,7621],[7602,7622],[7528,7531],[7512,7598],[7611,7625],[7594,7626],[1441,7485],[7597,7628],[7598,7620],[7512,7630],[2440,7631],[1441,7632],[7605,7612],[1279,7501],[7547,7635],[1832,7636],[3965,7573],[7637,7638],[3992,7639],[7535,7640],[7566,7569],[7521,7604],[4148,7610],[7520,7557],[7618,7645],[7480,7646],[7551,7553],[1684,7648],[1441,7486],[7572,7650],[2899,7519],[2764,7652],[1279,7653],[7651,7654],[3128,7655],[7503,7607],[7477,7516],[2561,7658],[7527,7659],[7511,7637],[7509,7661],[7498,7662],[2197,2764],[3560,7664],[1441,7665],[1778,7666],[7490,7667],[7650,7654],[7491,7665],[1832,7670],[7563,7624],[4121,7514],[7516,7673],[7643,7674],[2332,7595],[1778,7672],[7596,7631],[7566,7609],[1832,2588],[2332,7680],[7542,7681],[7559,7580],[7637,7683],[7556,7604],[7492,7568],[7642,7664],[7519,7626],[7686,7688],[7523,7587],[2561,7690],[3965,7609],[7673,7677],[7553,7583],[7538,7627],[7581,7657],[7608,7636],[3506,7697],[7531,7617],[4148,7543],[1279,3007],[2197,7488],[7682,7702],[7641,7676],[1832,7542],[7516,7621],[7570,7633],[2899,7637],[7676,7708],[3776,7709],[3155,7669],[7644,7653],[7513,7696],[7705,7711],[7634,7647],[7535,7591],[3412,3992],[7639,7717],[7534,7668],[7670,7718],[7487,7659],[7671,7698],[7505,7692],[7648,7706],[4094,7675],[7608,7710],[1576,7723],[3128,7526],[7691,7728],[7515,7611],[7621,7730],[7555,7731],[2588,7660],[7541,7589],[7700,7733],[3830,7679],[3830,7716],[4148,7544],[7649,7701],[7572,7721],[7613,7724],[7629,7738],[7610,7646],[7739,7743],[7544,7712],[1576,7497],[7533,7746],[7737,7747],[1683,2034],[2439,2537],[1089,1440],[3681,3941],[3509,3779],[3303,7753],[3411,7754],[7752,7755],[1683,1781],[1575,7757],[7756,7758],[7751,7759],[7750,7760],[1278,7761],[3411,3509],[1440,3536],[2763,7764],[7763,7765],[3941,7750],[3006,7767],[3104,7768],[1781,7769],[1683,7770],[1089,1808],[2034,3131],[7772,7773],[1278,2564],[7774,7775],[4097,7776],[7771,7777],[3968,7778],[7766,7779],[3941,7757],[3995,4124],[7781,7782],[3968,4097],[7783,7784],[3104,7753],[2537,7786],[7785,7787],[2196,2331],[3779,7789],[2537,7790],[3006,3104],[2763,2898],[2034,7793],[7789,7794],[7792,7795],[7762,7796],[3536,7784],[3806,7798],[3411,7799],[1089,1278],[7749,7801],[2591,3158],[1835,7803],[7802,7804],[7782,7805],[7769,7806],[2898,3681],[3806,7808],[3779,7792],[7809,7810],[7752,7754],[3563,3833],[3995,7813],[4124,7814],[7812,7815],[7800,7816],[2564,2591],[4151,7818],[3158,7819],[3131,7820],[2034,7821],[7767,7822],[3968,3995],[2439,3006],[3411,3681],[7825,7826],[7795,7827],[7824,7828],[1440,1575],[3833,7830],[3563,7831],[3303,7793],[2034,7833],[7789,7834],[7832,7835],[7782,7784],[7792,7837],[7823,7838],[2196,2537],[3563,7763],[3536,7841],[7840,7842],[1808,3806],[7798,7844],[1683,7825],[7801,7846],[7836,7847],[7774,7846],[3968,7849],[3536,3806],[7789,7833],[7851,7852],[7830,7853],[7775,7854],[7850,7855],[7789,7803],[7794,7857],[4124,7858],[7750,7756],[7792,7860],[7859,7861],[7821,7851],[2331,3779],[3681,7864],[7750,7865],[1575,3833],[3806,7867],[7866,7868],[1808,1835],[4151,7870],[2196,7780],[1781,4097],[4124,7873],[3509,7874],[3303,7813],[7863,7876],[3104,4124],[1781,2537],[4097,7879],[7878,7880],[7809,7864],[3131,3158],[1278,7883],[7873,7884],[1683,2439],[7851,7876],[4151,7887],[3995,7826],[7848,7889],[7870,7888],[7830,7891],[1089,7818],[7892,7893],[7791,7894],[7875,7895],[7801,7804],[7785,7871],[7884,7898],[7867,7899],[1440,7758],[7870,7901],[7871,7893],[7785,7903],[2439,7904],[1440,7905],[7878,7885],[1278,7774],[7820,7908],[1835,7909],[3968,7846],[7910,7911],[3995,7912],[7808,7913],[7839,7842],[7794,7877],[4151,7883],[7793,7830],[7891,7918],[7753,7919],[7824,7826],[1683,7921],[1440,7759],[7845,7923],[2898,7792],[2763,7925],[1278,7926],[7924,7927],[3131,7928],[7776,7880],[7750,7789],[2564,7931],[7800,7932],[7784,7910],[7782,7934],[7771,7935],[2196,2763],[3563,7937],[1440,7938],[1781,7939],[7763,7940],[7923,7927],[7764,7938],[1835,7943],[7836,7897],[4124,7787],[7789,7946],[7916,7947],[2331,7868],[1781,7945],[7869,7904],[7839,7882],[1835,2591],[2331,7953],[7815,7954],[7832,7853],[7910,7956],[7829,7877],[7765,7841],[7915,7937],[7792,7899],[7959,7961],[7796,7860],[2564,7963],[3968,7882],[7946,7950],[7826,7856],[7811,7900],[7854,7930],[7881,7909],[3509,7970],[7804,7890],[4151,7816],[1278,3006],[2196,7761],[7955,7975],[7914,7949],[1835,7815],[7789,7894],[7843,7906],[2898,7910],[7949,7981],[3779,7982],[3158,7942],[7917,7926],[7786,7969],[7978,7984],[7907,7920],[7808,7864],[3411,3995],[7912,7990],[7807,7941],[7943,7991],[7760,7932],[7944,7971],[7778,7965],[7921,7979],[4097,7948],[7881,7983],[1575,7996],[3131,7799],[7964,8001],[7788,7884],[7894,8003],[7828,8004],[2591,7933],[7814,7862],[7973,8006],[3833,7952],[3833,7989],[4151,7817],[7922,7974],[7845,7994],[7886,7997],[7902,8011],[7883,7919],[8012,8016],[7817,7985],[1575,7770],[7806,8019],[8010,8020],[1711,2062],[2467,2548],[1117,1468],[3709,3952],[3520,3790],[3331,8026],[3439,8027],[8025,8028],[1711,1792],[1603,8030],[8029,8031],[8024,8032],[8023,8033],[1306,8034],[3439,3520],[1468,3587],[2791,8037],[8036,8038],[3952,8023],[3034,8040],[3115,8041],[1792,8042],[1711,8043],[1117,1859],[2062,3182],[8045,8046],[1306,2615],[8047,8048],[4100,8049],[8044,8050],[4019,8051],[8039,8052],[3952,8030],[4046,4127],[8054,8055],[4019,4100],[8056,8057],[3115,8026],[2548,8059],[8058,8060],[2224,2359],[3790,8062],[2548,8063],[3034,3115],[2791,2926],[2062,8066],[8062,8067],[8065,8068],[8035,8069],[3587,8057],[3857,8071],[3439,8072],[1117,1306],[8022,8074],[2642,3209],[1886,8076],[8075,8077],[8055,8078],[8042,8079],[2926,3709],[3857,8081],[3790,8065],[8082,8083],[8025,8027],[3614,3884],[4046,8086],[4127,8087],[8085,8088],[8073,8089],[2615,2642],[4175,8091],[3209,8092],[3182,8093],[2062,8094],[8040,8095],[4019,4046],[2467,3034],[3439,3709],[8098,8099],[8068,8100],[8097,8101],[1468,1603],[3884,8103],[3614,8104],[3331,8066],[2062,8106],[8062,8107],[8105,8108],[8055,8057],[8065,8110],[8096,8111],[2224,2548],[3614,8036],[3587,8114],[8113,8115],[1859,3857],[8071,8117],[1711,8098],[8074,8119],[8109,8120],[8047,8119],[4019,8122],[3587,3857],[8062,8106],[8124,8125],[8103,8126],[8048,8127],[8123,8128],[8062,8076],[8067,8130],[4127,8131],[8023,8029],[8065,8133],[8132,8134],[8094,8124],[2359,3790],[3709,8137],[8023,8138],[1603,3884],[3857,8140],[8139,8141],[1859,1886],[4175,8143],[2224,8053],[1792,4100],[4127,8146],[3520,8147],[3331,8086],[8136,8149],[3115,4127],[1792,2548],[4100,8152],[8151,8153],[8082,8137],[3182,3209],[1306,8156],[8146,8157],[1711,2467],[8124,8149],[4175,8160],[4046,8099],[8121,8162],[8143,8161],[8103,8164],[1117,8091],[8165,8166],[8064,8167],[8148,8168],[8074,8077],[8058,8144],[8157,8171],[8140,8172],[1468,8031],[8143,8174],[8144,8166],[8058,8176],[2467,8177],[1468,8178],[8151,8158],[1306,8047],[8093,8181],[1886,8182],[4019,8119],[8183,8184],[4046,8185],[8081,8186],[8112,8115],[8067,8150],[4175,8156],[8066,8103],[8164,8191],[8026,8192],[8097,8099],[1711,8194],[1468,8032],[8118,8196],[2926,8065],[2791,8198],[1306,8199],[8197,8200],[3182,8201],[8049,8153],[8023,8062],[2615,8204],[8073,8205],[8057,8183],[8055,8207],[8044,8208],[2224,2791],[3614,8210],[1468,8211],[1792,8212],[8036,8213],[8196,8200],[8037,8211],[1886,8216],[8109,8170],[4127,8060],[8062,8219],[8189,8220],[2359,8141],[1792,8218],[8142,8177],[8112,8155],[1886,2642],[2359,8226],[8088,8227],[8105,8126],[8183,8229],[8102,8150],[8038,8114],[8188,8210],[8065,8172],[8232,8234],[8069,8133],[2615,8236],[4019,8155],[8219,8223],[8099,8129],[8084,8173],[8127,8203],[8154,8182],[3520,8243],[8077,8163],[4175,8089],[1306,3034],[2224,8034],[8228,8248],[8187,8222],[1886,8088],[8062,8167],[8116,8179],[2926,8183],[8222,8254],[3790,8255],[3209,8215],[8190,8199],[8059,8242],[8251,8257],[8180,8193],[8081,8137],[3439,4046],[8185,8263],[8080,8214],[8216,8264],[8033,8205],[8217,8244],[8051,8238],[8194,8252],[4100,8221],[8154,8256],[1603,8269],[3182,8072],[8237,8274],[8061,8157],[8167,8276],[8101,8277],[2642,8206],[8087,8135],[8246,8279],[3884,8225],[3884,8262],[4175,8090],[8195,8247],[8118,8267],[8159,8270],[8175,8284],[8156,8192],[8285,8289],[8090,8258],[1603,8043],[8079,8292],[8283,8293],[1710,2061],[2466,2547],[1116,1467],[3708,3951],[3519,3789],[3330,8299],[3438,8300],[8298,8301],[1710,1791],[1602,8303],[8302,8304],[8297,8305],[8296,8306],[1305,8307],[3438,3519],[1467,3590],[2790,8310],[8309,8311],[3951,8296],[3033,8313],[3114,8314],[1791,8315],[1710,8316],[1116,1862],[2061,3185],[8318,8319],[1305,2618],[8320,8321],[4103,8322],[8317,8323],[4022,8324],[8312,8325],[3951,8303],[4049,4130],[8327,8328],[4022,4103],[8329,8330],[3114,8299],[2547,8332],[8331,8333],[2223,2358],[3789,8335],[2547,8336],[3033,3114],[2790,2925],[2061,8339],[8335,8340],[8338,8341],[8308,8342],[3590,8330],[3860,8344],[3438,8345],[1116,1305],[8295,8347],[2645,3212],[1889,8349],[8348,8350],[8328,8351],[8315,8352],[2925,3708],[3860,8354],[3789,8338],[8355,8356],[8298,8300],[3617,3887],[4049,8359],[4130,8360],[8358,8361],[8346,8362],[2618,2645],[4178,8364],[3212,8365],[3185,8366],[2061,8367],[8313,8368],[4022,4049],[2466,3033],[3438,3708],[8371,8372],[8341,8373],[8370,8374],[1467,1602],[3887,8376],[3617,8377],[3330,8339],[2061,8379],[8335,8380],[8378,8381],[8328,8330],[8338,8383],[8369,8384],[2223,2547],[3617,8309],[3590,8387],[8386,8388],[1862,3860],[8344,8390],[1710,8371],[8347,8392],[8382,8393],[8320,8392],[4022,8395],[3590,3860],[8335,8379],[8397,8398],[8376,8399],[8321,8400],[8396,8401],[8335,8349],[8340,8403],[4130,8404],[8296,8302],[8338,8406],[8405,8407],[8367,8397],[2358,3789],[3708,8410],[8296,8411],[1602,3887],[3860,8413],[8412,8414],[1862,1889],[4178,8416],[2223,8326],[1791,4103],[4130,8419],[3519,8420],[3330,8359],[8409,8422],[3114,4130],[1791,2547],[4103,8425],[8424,8426],[8355,8410],[3185,3212],[1305,8429],[8419,8430],[1710,2466],[8397,8422],[4178,8433],[4049,8372],[8394,8435],[8416,8434],[8376,8437],[1116,8364],[8438,8439],[8337,8440],[8421,8441],[8347,8350],[8331,8417],[8430,8444],[8413,8445],[1467,8304],[8416,8447],[8417,8439],[8331,8449],[2466,8450],[1467,8451],[8424,8431],[1305,8320],[8366,8454],[1889,8455],[4022,8392],[8456,8457],[4049,8458],[8354,8459],[8385,8388],[8340,8423],[4178,8429],[8339,8376],[8437,8464],[8299,8465],[8370,8372],[1710,8467],[1467,8305],[8391,8469],[2925,8338],[2790,8471],[1305,8472],[8470,8473],[3185,8474],[8322,8426],[8296,8335],[2618,8477],[8346,8478],[8330,8456],[8328,8480],[8317,8481],[2223,2790],[3617,8483],[1467,8484],[1791,8485],[8309,8486],[8469,8473],[8310,8484],[1889,8489],[8382,8443],[4130,8333],[8335,8492],[8462,8493],[2358,8414],[1791,8491],[8415,8450],[8385,8428],[1889,2645],[2358,8499],[8361,8500],[8378,8399],[8456,8502],[8375,8423],[8311,8387],[8461,8483],[8338,8445],[8505,8507],[8342,8406],[2618,8509],[4022,8428],[8492,8496],[8372,8402],[8357,8446],[8400,8476],[8427,8455],[3519,8516],[8350,8436],[4178,8362],[1305,3033],[2223,8307],[8501,8521],[8460,8495],[1889,8361],[8335,8440],[8389,8452],[2925,8456],[8495,8527],[3789,8528],[3212,8488],[8463,8472],[8332,8515],[8524,8530],[8453,8466],[8354,8410],[3438,4049],[8458,8536],[8353,8487],[8489,8537],[8306,8478],[8490,8517],[8324,8511],[8467,8525],[4103,8494],[8427,8529],[1602,8542],[3185,8345],[8510,8547],[8334,8430],[8440,8549],[8374,8550],[2645,8479],[8360,8408],[8519,8552],[3887,8498],[3887,8535],[4178,8363],[8468,8520],[8391,8540],[8432,8543],[8448,8557],[8429,8465],[8558,8562],[8363,8531],[1602,8316],[8352,8565],[8556,8566],[1738,2089],[2494,2575],[1144,1495],[3736,3979],[3547,3817],[3358,8572],[3466,8573],[8571,8574],[1738,1819],[1630,8576],[8575,8577],[8570,8578],[8569,8579],[1333,8580],[3466,3547],[1495,3601],[2818,8583],[8582,8584],[3979,8569],[3061,8586],[3142,8587],[1819,8588],[1738,8589],[1144,1873],[2089,3196],[8591,8592],[1333,2629],[8593,8594],[4114,8595],[8590,8596],[4033,8597],[8585,8598],[3979,8576],[4073,4154],[8600,8601],[4033,4114],[8602,8603],[3142,8572],[2575,8605],[8604,8606],[2251,2386],[3817,8608],[2575,8609],[3061,3142],[2818,2953],[2089,8612],[8608,8613],[8611,8614],[8581,8615],[3601,8603],[3871,8617],[3466,8618],[1144,1333],[8568,8620],[2669,3236],[1913,8622],[8621,8623],[8601,8624],[8588,8625],[2953,3736],[3871,8627],[3817,8611],[8628,8629],[8571,8573],[3641,3911],[4073,8632],[4154,8633],[8631,8634],[8619,8635],[2629,2669],[4181,8637],[3236,8638],[3196,8639],[2089,8640],[8586,8641],[4033,4073],[2494,3061],[3466,3736],[8644,8645],[8614,8646],[8643,8647],[1495,1630],[3911,8649],[3641,8650],[3358,8612],[2089,8652],[8608,8653],[8651,8654],[8601,8603],[8611,8656],[8642,8657],[2251,2575],[3641,8582],[3601,8660],[8659,8661],[1873,3871],[8617,8663],[1738,8644],[8620,8665],[8655,8666],[8593,8665],[4033,8668],[3601,3871],[8608,8652],[8670,8671],[8649,8672],[8594,8673],[8669,8674],[8608,8622],[8613,8676],[4154,8677],[8569,8575],[8611,8679],[8678,8680],[8640,8670],[2386,3817],[3736,8683],[8569,8684],[1630,3911],[3871,8686],[8685,8687],[1873,1913],[4181,8689],[2251,8599],[1819,4114],[4154,8692],[3547,8693],[3358,8632],[8682,8695],[3142,4154],[1819,2575],[4114,8698],[8697,8699],[8628,8683],[3196,3236],[1333,8702],[8692,8703],[1738,2494],[8670,8695],[4181,8706],[4073,8645],[8667,8708],[8689,8707],[8649,8710],[1144,8637],[8711,8712],[8610,8713],[8694,8714],[8620,8623],[8604,8690],[8703,8717],[8686,8718],[1495,8577],[8689,8720],[8690,8712],[8604,8722],[2494,8723],[1495,8724],[8697,8704],[1333,8593],[8639,8727],[1913,8728],[4033,8665],[8729,8730],[4073,8731],[8627,8732],[8658,8661],[8613,8696],[4181,8702],[8612,8649],[8710,8737],[8572,8738],[8643,8645],[1738,8740],[1495,8578],[8664,8742],[2953,8611],[2818,8744],[1333,8745],[8743,8746],[3196,8747],[8595,8699],[8569,8608],[2629,8750],[8619,8751],[8603,8729],[8601,8753],[8590,8754],[2251,2818],[3641,8756],[1495,8757],[1819,8758],[8582,8759],[8742,8746],[8583,8757],[1913,8762],[8655,8716],[4154,8606],[8608,8765],[8735,8766],[2386,8687],[1819,8764],[8688,8723],[8658,8701],[1913,2669],[2386,8772],[8634,8773],[8651,8672],[8729,8775],[8648,8696],[8584,8660],[8734,8756],[8611,8718],[8778,8780],[8615,8679],[2629,8782],[4033,8701],[8765,8769],[8645,8675],[8630,8719],[8673,8749],[8700,8728],[3547,8789],[8623,8709],[4181,8635],[1333,3061],[2251,8580],[8774,8794],[8733,8768],[1913,8634],[8608,8713],[8662,8725],[2953,8729],[8768,8800],[3817,8801],[3236,8761],[8736,8745],[8605,8788],[8797,8803],[8726,8739],[8627,8683],[3466,4073],[8731,8809],[8626,8760],[8762,8810],[8579,8751],[8763,8790],[8597,8784],[8740,8798],[4114,8767],[8700,8802],[1630,8815],[3196,8618],[8783,8820],[8607,8703],[8713,8822],[8647,8823],[2669,8752],[8633,8681],[8792,8825],[3911,8771],[3911,8808],[4181,8636],[8741,8793],[8664,8813],[8705,8816],[8721,8830],[8702,8738],[8831,8835],[8636,8804],[1630,8589],[8625,8838],[8829,8839],[1737,2088],[2493,2574],[1143,1494],[3735,3978],[3546,3816],[3357,8845],[3465,8846],[8844,8847],[1737,1818],[1629,8849],[8848,8850],[8843,8851],[8842,8852],[1332,8853],[3465,3546],[1494,3600],[2817,8856],[8855,8857],[3978,8842],[3060,8859],[3141,8860],[1818,8861],[1737,8862],[1143,1872],[2088,3195],[8864,8865],[1332,2628],[8866,8867],[4113,8868],[8863,8869],[4032,8870],[8858,8871],[3978,8849],[4076,4157],[8873,8874],[4032,4113],[8875,8876],[3141,8845],[2574,8878],[8877,8879],[2250,2385],[3816,8881],[2574,8882],[3060,3141],[2817,2952],[2088,8885],[8881,8886],[8884,8887],[8854,8888],[3600,8876],[3870,8890],[3465,8891],[1143,1332],[8841,8893],[2672,3239],[1916,8895],[8894,8896],[8874,8897],[8861,8898],[2952,3735],[3870,8900],[3816,8884],[8901,8902],[8844,8846],[3644,3914],[4076,8905],[4157,8906],[8904,8907],[8892,8908],[2628,2672],[4184,8910],[3239,8911],[3195,8912],[2088,8913],[8859,8914],[4032,4076],[2493,3060],[3465,3735],[8917,8918],[8887,8919],[8916,8920],[1494,1629],[3914,8922],[3644,8923],[3357,8885],[2088,8925],[8881,8926],[8924,8927],[8874,8876],[8884,8929],[8915,8930],[2250,2574],[3644,8855],[3600,8933],[8932,8934],[1872,3870],[8890,8936],[1737,8917],[8893,8938],[8928,8939],[8866,8938],[4032,8941],[3600,3870],[8881,8925],[8943,8944],[8922,8945],[8867,8946],[8942,8947],[8881,8895],[8886,8949],[4157,8950],[8842,8848],[8884,8952],[8951,8953],[8913,8943],[2385,3816],[3735,8956],[8842,8957],[1629,3914],[3870,8959],[8958,8960],[1872,1916],[4184,8962],[2250,8872],[1818,4113],[4157,8965],[3546,8966],[3357,8905],[8955,8968],[3141,4157],[1818,2574],[4113,8971],[8970,8972],[8901,8956],[3195,3239],[1332,8975],[8965,8976],[1737,2493],[8943,8968],[4184,8979],[4076,8918],[8940,8981],[8962,8980],[8922,8983],[1143,8910],[8984,8985],[8883,8986],[8967,8987],[8893,8896],[8877,8963],[8976,8990],[8959,8991],[1494,8850],[8962,8993],[8963,8985],[8877,8995],[2493,8996],[1494,8997],[8970,8977],[1332,8866],[8912,9000],[1916,9001],[4032,8938],[9002,9003],[4076,9004],[8900,9005],[8931,8934],[8886,8969],[4184,8975],[8885,8922],[8983,9010],[8845,9011],[8916,8918],[1737,9013],[1494,8851],[8937,9015],[2952,8884],[2817,9017],[1332,9018],[9016,9019],[3195,9020],[8868,8972],[8842,8881],[2628,9023],[8892,9024],[8876,9002],[8874,9026],[8863,9027],[2250,2817],[3644,9029],[1494,9030],[1818,9031],[8855,9032],[9015,9019],[8856,9030],[1916,9035],[8928,8989],[4157,8879],[8881,9038],[9008,9039],[2385,8960],[1818,9037],[8961,8996],[8931,8974],[1916,2672],[2385,9045],[8907,9046],[8924,8945],[9002,9048],[8921,8969],[8857,8933],[9007,9029],[8884,8991],[9051,9053],[8888,8952],[2628,9055],[4032,8974],[9038,9042],[8918,8948],[8903,8992],[8946,9022],[8973,9001],[3546,9062],[8896,8982],[4184,8908],[1332,3060],[2250,8853],[9047,9067],[9006,9041],[1916,8907],[8881,8986],[8935,8998],[2952,9002],[9041,9073],[3816,9074],[3239,9034],[9009,9018],[8878,9061],[9070,9076],[8999,9012],[8900,8956],[3465,4076],[9004,9082],[8899,9033],[9035,9083],[8852,9024],[9036,9063],[8870,9057],[9013,9071],[4113,9040],[8973,9075],[1629,9088],[3195,8891],[9056,9093],[8880,8976],[8986,9095],[8920,9096],[2672,9025],[8906,8954],[9065,9098],[3914,9044],[3914,9081],[4184,8909],[9014,9066],[8937,9086],[8978,9089],[8994,9103],[8975,9011],[9104,9108],[8909,9077],[1629,8862],[8898,9111],[9102,9112],[1765,2116],[2521,2602],[1171,1522],[3763,4006],[3574,3844],[3385,9118],[3493,9119],[9117,9120],[1765,1846],[1657,9122],[9121,9123],[9116,9124],[9115,9125],[1360,9126],[3493,3574],[1522,3628],[2845,9129],[9128,9130],[4006,9115],[3088,9132],[3169,9133],[1846,9134],[1765,9135],[1171,1900],[2116,3223],[9137,9138],[1360,2656],[9139,9140],[4141,9141],[9136,9142],[4060,9143],[9131,9144],[4006,9122],[4087,4168],[9146,9147],[4060,4141],[9148,9149],[3169,9118],[2602,9151],[9150,9152],[2278,2413],[3844,9154],[2602,9155],[3088,3169],[2845,2980],[2116,9158],[9154,9159],[9157,9160],[9127,9161],[3628,9149],[3898,9163],[3493,9164],[1171,1360],[9114,9166],[2683,3250],[1927,9168],[9167,9169],[9147,9170],[9134,9171],[2980,3763],[3898,9173],[3844,9157],[9174,9175],[9117,9119],[3655,3925],[4087,9178],[4168,9179],[9177,9180],[9165,9181],[2656,2683],[4195,9183],[3250,9184],[3223,9185],[2116,9186],[9132,9187],[4060,4087],[2521,3088],[3493,3763],[9190,9191],[9160,9192],[9189,9193],[1522,1657],[3925,9195],[3655,9196],[3385,9158],[2116,9198],[9154,9199],[9197,9200],[9147,9149],[9157,9202],[9188,9203],[2278,2602],[3655,9128],[3628,9206],[9205,9207],[1900,3898],[9163,9209],[1765,9190],[9166,9211],[9201,9212],[9139,9211],[4060,9214],[3628,3898],[9154,9198],[9216,9217],[9195,9218],[9140,9219],[9215,9220],[9154,9168],[9159,9222],[4168,9223],[9115,9121],[9157,9225],[9224,9226],[9186,9216],[2413,3844],[3763,9229],[9115,9230],[1657,3925],[3898,9232],[9231,9233],[1900,1927],[4195,9235],[2278,9145],[1846,4141],[4168,9238],[3574,9239],[3385,9178],[9228,9241],[3169,4168],[1846,2602],[4141,9244],[9243,9245],[9174,9229],[3223,3250],[1360,9248],[9238,9249],[1765,2521],[9216,9241],[4195,9252],[4087,9191],[9213,9254],[9235,9253],[9195,9256],[1171,9183],[9257,9258],[9156,9259],[9240,9260],[9166,9169],[9150,9236],[9249,9263],[9232,9264],[1522,9123],[9235,9266],[9236,9258],[9150,9268],[2521,9269],[1522,9270],[9243,9250],[1360,9139],[9185,9273],[1927,9274],[4060,9211],[9275,9276],[4087,9277],[9173,9278],[9204,9207],[9159,9242],[4195,9248],[9158,9195],[9256,9283],[9118,9284],[9189,9191],[1765,9286],[1522,9124],[9210,9288],[2980,9157],[2845,9290],[1360,9291],[9289,9292],[3223,9293],[9141,9245],[9115,9154],[2656,9296],[9165,9297],[9149,9275],[9147,9299],[9136,9300],[2278,2845],[3655,9302],[1522,9303],[1846,9304],[9128,9305],[9288,9292],[9129,9303],[1927,9308],[9201,9262],[4168,9152],[9154,9311],[9281,9312],[2413,9233],[1846,9310],[9234,9269],[9204,9247],[1927,2683],[2413,9318],[9180,9319],[9197,9218],[9275,9321],[9194,9242],[9130,9206],[9280,9302],[9157,9264],[9324,9326],[9161,9225],[2656,9328],[4060,9247],[9311,9315],[9191,9221],[9176,9265],[9219,9295],[9246,9274],[3574,9335],[9169,9255],[4195,9181],[1360,3088],[2278,9126],[9320,9340],[9279,9314],[1927,9180],[9154,9259],[9208,9271],[2980,9275],[9314,9346],[3844,9347],[3250,9307],[9282,9291],[9151,9334],[9343,9349],[9272,9285],[9173,9229],[3493,4087],[9277,9355],[9172,9306],[9308,9356],[9125,9297],[9309,9336],[9143,9330],[9286,9344],[4141,9313],[9246,9348],[1657,9361],[3223,9164],[9329,9366],[9153,9249],[9259,9368],[9193,9369],[2683,9298],[9179,9227],[9338,9371],[3925,9317],[3925,9354],[4195,9182],[9287,9339],[9210,9359],[9251,9362],[9267,9376],[9248,9284],[9377,9381],[9182,9350],[1657,9135],[9171,9384],[9375,9385],[1764,2115],[2520,2601],[1170,1521],[3762,4005],[3573,3843],[3384,9391],[3492,9392],[9390,9393],[1764,1845],[1656,9395],[9394,9396],[9389,9397],[9388,9398],[1359,9399],[3492,3573],[1521,3627],[2844,9402],[9401,9403],[4005,9388],[3087,9405],[3168,9406],[1845,9407],[1764,9408],[1170,1899],[2115,3222],[9410,9411],[1359,2655],[9412,9413],[4140,9414],[9409,9415],[4059,9416],[9404,9417],[4005,9395],[4086,4167],[9419,9420],[4059,4140],[9421,9422],[3168,9391],[2601,9424],[9423,9425],[2277,2412],[3843,9427],[2601,9428],[3087,3168],[2844,2979],[2115,9431],[9427,9432],[9430,9433],[9400,9434],[3627,9422],[3897,9436],[3492,9437],[1170,1359],[9387,9439],[2682,3249],[1926,9441],[9440,9442],[9420,9443],[9407,9444],[2979,3762],[3897,9446],[3843,9430],[9447,9448],[9390,9392],[3654,3924],[4086,9451],[4167,9452],[9450,9453],[9438,9454],[2655,2682],[4194,9456],[3249,9457],[3222,9458],[2115,9459],[9405,9460],[4059,4086],[2520,3087],[3492,3762],[9463,9464],[9433,9465],[9462,9466],[1521,1656],[3924,9468],[3654,9469],[3384,9431],[2115,9471],[9427,9472],[9470,9473],[9420,9422],[9430,9475],[9461,9476],[2277,2601],[3654,9401],[3627,9479],[9478,9480],[1899,3897],[9436,9482],[1764,9463],[9439,9484],[9474,9485],[9412,9484],[4059,9487],[3627,3897],[9427,9471],[9489,9490],[9468,9491],[9413,9492],[9488,9493],[9427,9441],[9432,9495],[4167,9496],[9388,9394],[9430,9498],[9497,9499],[9459,9489],[2412,3843],[3762,9502],[9388,9503],[1656,3924],[3897,9505],[9504,9506],[1899,1926],[4194,9508],[2277,9418],[1845,4140],[4167,9511],[3573,9512],[3384,9451],[9501,9514],[3168,4167],[1845,2601],[4140,9517],[9516,9518],[9447,9502],[3222,3249],[1359,9521],[9511,9522],[1764,2520],[9489,9514],[4194,9525],[4086,9464],[9486,9527],[9508,9526],[9468,9529],[1170,9456],[9530,9531],[9429,9532],[9513,9533],[9439,9442],[9423,9509],[9522,9536],[9505,9537],[1521,9396],[9508,9539],[9509,9531],[9423,9541],[2520,9542],[1521,9543],[9516,9523],[1359,9412],[9458,9546],[1926,9547],[4059,9484],[9548,9549],[4086,9550],[9446,9551],[9477,9480],[9432,9515],[4194,9521],[9431,9468],[9529,9556],[9391,9557],[9462,9464],[1764,9559],[1521,9397],[9483,9561],[2979,9430],[2844,9563],[1359,9564],[9562,9565],[3222,9566],[9414,9518],[9388,9427],[2655,9569],[9438,9570],[9422,9548],[9420,9572],[9409,9573],[2277,2844],[3654,9575],[1521,9576],[1845,9577],[9401,9578],[9561,9565],[9402,9576],[1926,9581],[9474,9535],[4167,9425],[9427,9584],[9554,9585],[2412,9506],[1845,9583],[9507,9542],[9477,9520],[1926,2682],[2412,9591],[9453,9592],[9470,9491],[9548,9594],[9467,9515],[9403,9479],[9553,9575],[9430,9537],[9597,9599],[9434,9498],[2655,9601],[4059,9520],[9584,9588],[9464,9494],[9449,9538],[9492,9568],[9519,9547],[3573,9608],[9442,9528],[4194,9454],[1359,3087],[2277,9399],[9593,9613],[9552,9587],[1926,9453],[9427,9532],[9481,9544],[2979,9548],[9587,9619],[3843,9620],[3249,9580],[9555,9564],[9424,9607],[9616,9622],[9545,9558],[9446,9502],[3492,4086],[9550,9628],[9445,9579],[9581,9629],[9398,9570],[9582,9609],[9416,9603],[9559,9617],[4140,9586],[9519,9621],[1656,9634],[3222,9437],[9602,9639],[9426,9522],[9532,9641],[9466,9642],[2682,9571],[9452,9500],[9611,9644],[3924,9590],[3924,9627],[4194,9455],[9560,9612],[9483,9632],[9524,9635],[9540,9649],[9521,9557],[9650,9654],[9455,9623],[1656,9408],[9444,9657],[9648,9658],[1112,1166],[1004,9660],[977,1085],[1004,1031],[1058,9662],[9663,9664],[9660,9665],[1058,1139],[9661,9667],[1112,9667],[9662,9669],[1031,9670],[1166,9671],[977,9663],[9660,9673],[1139,9674],[9662,9668],[1085,9668],[1031,9677],[1166,9665],[1139,9679],[9667,9674],[1085,9675],[9663,9670],[1115,1169],[1007,9684],[980,1088],[1007,1034],[1061,9686],[9687,9688],[9684,9689],[1061,1142],[9685,9691],[1115,9691],[9686,9693],[1034,9694],[1169,9695],[980,9687],[9684,9697],[1142,9698],[9686,9692],[1088,9692],[1034,9701],[1169,9689],[1142,9703],[9691,9698],[1088,9699],[9687,9694],[1301,1355],[1193,9708],[983,1274],[1193,1220],[1247,9710],[9711,9712],[9708,9713],[1247,1328],[9709,9715],[1301,9715],[9710,9717],[1220,9718],[1355,9719],[983,9711],[9708,9721],[1328,9722],[9710,9716],[1274,9716],[1220,9725],[1355,9713],[1328,9727],[9715,9722],[1274,9723],[9711,9718],[1304,1358],[1196,9732],[972,1277],[1196,1223],[1250,9734],[9735,9736],[9732,9737],[1250,1331],[9733,9739],[1304,9739],[9734,9741],[1223,9742],[1358,9743],[972,9735],[9732,9745],[1331,9746],[9734,9740],[1277,9740],[1223,9749],[1358,9737],[1331,9751],[9739,9746],[1277,9747],[9735,9742],[1463,1517],[1199,9756],[1010,1436],[1199,1382],[1409,9758],[9759,9760],[9756,9761],[1409,1490],[9757,9763],[1463,9763],[9758,9765],[1382,9766],[1517,9767],[1010,9759],[9756,9769],[1490,9770],[9758,9764],[1436,9764],[1382,9773],[1517,9761],[1490,9775],[9763,9770],[1436,9771],[9759,9766],[1466,1520],[1188,9780],[999,1439],[1188,1385],[1412,9782],[9783,9784],[9780,9785],[1412,1493],[9781,9787],[1466,9787],[9782,9789],[1385,9790],[1520,9791],[999,9783],[9780,9793],[1493,9794],[9782,9788],[1439,9788],[1385,9797],[1520,9785],[1493,9799],[9787,9794],[1439,9795],[9783,9790],[1598,1652],[1226,9804],[1037,1571],[1226,1388],[1544,9806],[9807,9808],[9804,9809],[1544,1625],[9805,9811],[1598,9811],[9806,9813],[1388,9814],[1652,9815],[1037,9807],[9804,9817],[1625,9818],[9806,9812],[1571,9812],[1388,9821],[1652,9809],[1625,9823],[9811,9818],[1571,9819],[9807,9814],[1601,1655],[1215,9828],[1026,1574],[1215,1377],[1547,9830],[9831,9832],[9828,9833],[1547,1628],[9829,9835],[1601,9835],[9830,9837],[1377,9838],[1655,9839],[1026,9831],[9828,9841],[1628,9842],[9830,9836],[1574,9836],[1377,9845],[1655,9833],[1628,9847],[9835,9842],[1574,9843],[9831,9838],[1706,1760],[1253,9852],[1064,1679],[1253,1415],[1550,9854],[9855,9856],[9852,9857],[1550,1733],[9853,9859],[1706,9859],[9854,9861],[1415,9862],[1760,9863],[1064,9855],[9852,9865],[1733,9866],[9854,9860],[1679,9860],[1415,9869],[1760,9857],[1733,9871],[9859,9866],[1679,9867],[9855,9862],[1709,1763],[1242,9876],[1053,1682],[1242,1404],[1539,9878],[9879,9880],[9876,9881],[1539,1736],[9877,9883],[1709,9883],[9878,9885],[1404,9886],[1763,9887],[1053,9879],[9876,9889],[1736,9890],[9878,9884],[1682,9884],[1404,9893],[1763,9881],[1736,9895],[9883,9890],[1682,9891],[9879,9886],[1787,1841],[1280,9900],[1091,1685],[1280,1442],[1577,9902],[9903,9904],[9900,9905],[1577,1814],[9901,9907],[1787,9907],[9902,9909],[1442,9910],[1841,9911],[1091,9903],[9900,9913],[1814,9914],[9902,9908],[1685,9908],[1442,9917],[1841,9905],[1814,9919],[9907,9914],[1685,9915],[9903,9910],[1790,1844],[1269,9924],[1080,1674],[1269,1431],[1566,9926],[9927,9928],[9924,9929],[1566,1817],[9925,9931],[1790,9931],[9926,9933],[1431,9934],[1844,9935],[1080,9927],[9924,9937],[1817,9938],[9926,9932],[1674,9932],[1431,9941],[1844,9929],[1817,9943],[9931,9938],[1674,9939],[9927,9934],[1793,1895],[1307,9948],[1118,1712],[1307,1469],[1604,9950],[9951,9952],[9948,9953],[1604,1868],[9949,9955],[1793,9955],[9950,9957],[1469,9958],[1895,9959],[1118,9951],[9948,9961],[1868,9962],[9950,9956],[1712,9956],[1469,9965],[1895,9953],[1868,9967],[9955,9962],[1712,9963],[9951,9958],[1782,1898],[1296,9972],[1107,1701],[1296,1458],[1593,9974],[9975,9976],[9972,9977],[1593,1871],[9973,9979],[1782,9979],[9974,9981],[1458,9982],[1898,9983],[1107,9975],[9972,9985],[1871,9986],[9974,9980],[1701,9980],[1458,9989],[1898,9977],[1871,9991],[9979,9986],[1701,9987],[9975,9982],[1820,1922],[1334,9996],[1145,1739],[1334,1496],[1631,9998],[9999,10000],[9996,10001],[1631,1874],[9997,10003],[1820,10003],[9998,10005],[1496,10006],[1922,10007],[1145,9999],[9996,10009],[1874,10010],[9998,10004],[1739,10004],[1496,10013],[1922,10001],[1874,10015],[10003,10010],[1739,10011],[9999,10006],[1809,1925],[1323,10020],[1134,1728],[1323,1485],[1620,10022],[10023,10024],[10020,10025],[1620,1863],[10021,10027],[1809,10027],[10022,10029],[1485,10030],[1925,10031],[1134,10023],[10020,10033],[1863,10034],[10022,10028],[1728,10028],[1485,10037],[1925,10025],[1863,10039],[10027,10034],[1728,10035],[10023,10030],[1847,1928],[1361,10044],[1172,1766],[1361,1523],[1658,10046],[10047,10048],[10044,10049],[1658,1901],[10045,10051],[1847,10051],[10046,10053],[1523,10054],[1928,10055],[1172,10047],[10044,10057],[1901,10058],[10046,10052],[1766,10052],[1523,10061],[1928,10049],[1901,10063],[10051,10058],[1766,10059],[10047,10054],[1836,1917],[1350,10068],[1161,1755],[1350,1512],[1647,10070],[10071,10072],[10068,10073],[1647,1890],[10069,10075],[1836,10075],[10070,10077],[1512,10078],[1917,10079],[1161,10071],[10068,10081],[1890,10082],[10070,10076],[1755,10076],[1512,10085],[1917,10073],[1890,10087],[10075,10082],[1755,10083],[10071,10078],[2057,2111],[1949,10092],[986,2030],[1949,1976],[2003,10094],[10095,10096],[10092,10097],[2003,2084],[10093,10099],[2057,10099],[10094,10101],[1976,10102],[2111,10103],[986,10095],[10092,10105],[2084,10106],[10094,10100],[2030,10100],[1976,10109],[2111,10097],[2084,10111],[10099,10106],[2030,10107],[10095,10102],[2060,2114],[1952,10116],[974,2033],[1952,1979],[2006,10118],[10119,10120],[10116,10121],[2006,2087],[10117,10123],[2060,10123],[10118,10125],[1979,10126],[2114,10127],[974,10119],[10116,10129],[2087,10130],[10118,10124],[2033,10124],[1979,10133],[2114,10121],[2087,10135],[10123,10130],[2033,10131],[10119,10126],[2219,2273],[1955,10140],[1013,2192],[1955,2138],[2165,10142],[10143,10144],[10140,10145],[2165,2246],[10141,10147],[2219,10147],[10142,10149],[2138,10150],[2273,10151],[1013,10143],[10140,10153],[2246,10154],[10142,10148],[2192,10148],[2138,10157],[2273,10145],[2246,10159],[10147,10154],[2192,10155],[10143,10150],[2222,2276],[1944,10164],[1001,2195],[1944,2141],[2168,10166],[10167,10168],[10164,10169],[2168,2249],[10165,10171],[2222,10171],[10166,10173],[2141,10174],[2276,10175],[1001,10167],[10164,10177],[2249,10178],[10166,10172],[2195,10172],[2141,10181],[2276,10169],[2249,10183],[10171,10178],[2195,10179],[10167,10174],[2354,2408],[1982,10188],[1040,2327],[1982,2144],[2300,10190],[10191,10192],[10188,10193],[2300,2381],[10189,10195],[2354,10195],[10190,10197],[2144,10198],[2408,10199],[1040,10191],[10188,10201],[2381,10202],[10190,10196],[2327,10196],[2144,10205],[2408,10193],[2381,10207],[10195,10202],[2327,10203],[10191,10198],[2357,2411],[1971,10212],[1028,2330],[1971,2133],[2303,10214],[10215,10216],[10212,10217],[2303,2384],[10213,10219],[2357,10219],[10214,10221],[2133,10222],[2411,10223],[1028,10215],[10212,10225],[2384,10226],[10214,10220],[2330,10220],[2133,10229],[2411,10217],[2384,10231],[10219,10226],[2330,10227],[10215,10222],[2462,2516],[2009,10236],[1067,2435],[2009,2171],[2306,10238],[10239,10240],[10236,10241],[2306,2489],[10237,10243],[2462,10243],[10238,10245],[2171,10246],[2516,10247],[1067,10239],[10236,10249],[2489,10250],[10238,10244],[2435,10244],[2171,10253],[2516,10241],[2489,10255],[10243,10250],[2435,10251],[10239,10246],[2465,2519],[1998,10260],[1055,2438],[1998,2160],[2295,10262],[10263,10264],[10260,10265],[2295,2492],[10261,10267],[2465,10267],[10262,10269],[2160,10270],[2519,10271],[1055,10263],[10260,10273],[2492,10274],[10262,10268],[2438,10268],[2160,10277],[2519,10265],[2492,10279],[10267,10274],[2438,10275],[10263,10270],[2543,2597],[2036,10284],[1094,2441],[2036,2198],[2333,10286],[10287,10288],[10284,10289],[2333,2570],[10285,10291],[2543,10291],[10286,10293],[2198,10294],[2597,10295],[1094,10287],[10284,10297],[2570,10298],[10286,10292],[2441,10292],[2198,10301],[2597,10289],[2570,10303],[10291,10298],[2441,10299],[10287,10294],[2546,2600],[2025,10308],[1082,2430],[2025,2187],[2322,10310],[10311,10312],[10308,10313],[2322,2573],[10309,10315],[2546,10315],[10310,10317],[2187,10318],[2600,10319],[1082,10311],[10308,10321],[2573,10322],[10310,10316],[2430,10316],[2187,10325],[2600,10313],[2573,10327],[10315,10322],[2430,10323],[10311,10318],[2549,2651],[2063,10332],[1121,2468],[2063,2225],[2360,10334],[10335,10336],[10332,10337],[2360,2624],[10333,10339],[2549,10339],[10334,10341],[2225,10342],[2651,10343],[1121,10335],[10332,10345],[2624,10346],[10334,10340],[2468,10340],[2225,10349],[2651,10337],[2624,10351],[10339,10346],[2468,10347],[10335,10342],[2538,2654],[2052,10356],[1109,2457],[2052,2214],[2349,10358],[10359,10360],[10356,10361],[2349,2627],[10357,10363],[2538,10363],[10358,10365],[2214,10366],[2654,10367],[1109,10359],[10356,10369],[2627,10370],[10358,10364],[2457,10364],[2214,10373],[2654,10361],[2627,10375],[10363,10370],[2457,10371],[10359,10366],[2576,2678],[2090,10380],[1148,2495],[2090,2252],[2387,10382],[10383,10384],[10380,10385],[2387,2630],[10381,10387],[2576,10387],[10382,10389],[2252,10390],[2678,10391],[1148,10383],[10380,10393],[2630,10394],[10382,10388],[2495,10388],[2252,10397],[2678,10385],[2630,10399],[10387,10394],[2495,10395],[10383,10390],[2565,2681],[2079,10404],[1136,2484],[2079,2241],[2376,10406],[10407,10408],[10404,10409],[2376,2619],[10405,10411],[2565,10411],[10406,10413],[2241,10414],[2681,10415],[1136,10407],[10404,10417],[2619,10418],[10406,10412],[2484,10412],[2241,10421],[2681,10409],[2619,10423],[10411,10418],[2484,10419],[10407,10414],[2603,2684],[2117,10428],[1175,2522],[2117,2279],[2414,10430],[10431,10432],[10428,10433],[2414,2657],[10429,10435],[2603,10435],[10430,10437],[2279,10438],[2684,10439],[1175,10431],[10428,10441],[2657,10442],[10430,10436],[2522,10436],[2279,10445],[2684,10433],[2657,10447],[10435,10442],[2522,10443],[10431,10438],[2592,2673],[2106,10452],[1163,2511],[2106,2268],[2403,10454],[10455,10456],[10452,10457],[2403,2646],[10453,10459],[2592,10459],[10454,10461],[2268,10462],[2673,10463],[1163,10455],[10452,10465],[2646,10466],[10454,10460],[2511,10460],[2268,10469],[2673,10457],[2646,10471],[10459,10466],[2511,10467],[10455,10462],[2786,2840],[1958,10476],[1202,2759],[1958,2705],[2732,10478],[10479,10480],[10476,10481],[2732,2813],[10477,10483],[2786,10483],[10478,10485],[2705,10486],[2840,10487],[1202,10479],[10476,10489],[2813,10490],[10478,10484],[2759,10484],[2705,10493],[2840,10481],[2813,10495],[10483,10490],[2759,10491],[10479,10486],[2789,2843],[1946,10500],[1190,2762],[1946,2708],[2735,10502],[10503,10504],[10500,10505],[2735,2816],[10501,10507],[2789,10507],[10502,10509],[2708,10510],[2843,10511],[1190,10503],[10500,10513],[2816,10514],[10502,10508],[2762,10508],[2708,10517],[2843,10505],[2816,10519],[10507,10514],[2762,10515],[10503,10510],[2921,2975],[1985,10524],[1229,2894],[1985,2711],[2867,10526],[10527,10528],[10524,10529],[2867,2948],[10525,10531],[2921,10531],[10526,10533],[2711,10534],[2975,10535],[1229,10527],[10524,10537],[2948,10538],[10526,10532],[2894,10532],[2711,10541],[2975,10529],[2948,10543],[10531,10538],[2894,10539],[10527,10534],[2924,2978],[1973,10548],[1217,2897],[1973,2700],[2870,10550],[10551,10552],[10548,10553],[2870,2951],[10549,10555],[2924,10555],[10550,10557],[2700,10558],[2978,10559],[1217,10551],[10548,10561],[2951,10562],[10550,10556],[2897,10556],[2700,10565],[2978,10553],[2951,10567],[10555,10562],[2897,10563],[10551,10558],[3029,3083],[2012,10572],[1256,3002],[2012,2738],[2873,10574],[10575,10576],[10572,10577],[2873,3056],[10573,10579],[3029,10579],[10574,10581],[2738,10582],[3083,10583],[1256,10575],[10572,10585],[3056,10586],[10574,10580],[3002,10580],[2738,10589],[3083,10577],[3056,10591],[10579,10586],[3002,10587],[10575,10582],[3032,3086],[2000,10596],[1244,3005],[2000,2727],[2862,10598],[10599,10600],[10596,10601],[2862,3059],[10597,10603],[3032,10603],[10598,10605],[2727,10606],[3086,10607],[1244,10599],[10596,10609],[3059,10610],[10598,10604],[3005,10604],[2727,10613],[3086,10601],[3059,10615],[10603,10610],[3005,10611],[10599,10606],[3110,3164],[2039,10620],[1283,3008],[2039,2765],[2900,10622],[10623,10624],[10620,10625],[2900,3137],[10621,10627],[3110,10627],[10622,10629],[2765,10630],[3164,10631],[1283,10623],[10620,10633],[3137,10634],[10622,10628],[3008,10628],[2765,10637],[3164,10625],[3137,10639],[10627,10634],[3008,10635],[10623,10630],[3113,3167],[2027,10644],[1271,2997],[2027,2754],[2889,10646],[10647,10648],[10644,10649],[2889,3140],[10645,10651],[3113,10651],[10646,10653],[2754,10654],[3167,10655],[1271,10647],[10644,10657],[3140,10658],[10646,10652],[2997,10652],[2754,10661],[3167,10649],[3140,10663],[10651,10658],[2997,10659],[10647,10654],[3116,3218],[2066,10668],[1310,3035],[2066,2792],[2927,10670],[10671,10672],[10668,10673],[2927,3191],[10669,10675],[3116,10675],[10670,10677],[2792,10678],[3218,10679],[1310,10671],[10668,10681],[3191,10682],[10670,10676],[3035,10676],[2792,10685],[3218,10673],[3191,10687],[10675,10682],[3035,10683],[10671,10678],[3105,3221],[2054,10692],[1298,3024],[2054,2781],[2916,10694],[10695,10696],[10692,10697],[2916,3194],[10693,10699],[3105,10699],[10694,10701],[2781,10702],[3221,10703],[1298,10695],[10692,10705],[3194,10706],[10694,10700],[3024,10700],[2781,10709],[3221,10697],[3194,10711],[10699,10706],[3024,10707],[10695,10702],[3143,3245],[2093,10716],[1337,3062],[2093,2819],[2954,10718],[10719,10720],[10716,10721],[2954,3197],[10717,10723],[3143,10723],[10718,10725],[2819,10726],[3245,10727],[1337,10719],[10716,10729],[3197,10730],[10718,10724],[3062,10724],[2819,10733],[3245,10721],[3197,10735],[10723,10730],[3062,10731],[10719,10726],[3132,3248],[2081,10740],[1325,3051],[2081,2808],[2943,10742],[10743,10744],[10740,10745],[2943,3186],[10741,10747],[3132,10747],[10742,10749],[2808,10750],[3248,10751],[1325,10743],[10740,10753],[3186,10754],[10742,10748],[3051,10748],[2808,10757],[3248,10745],[3186,10759],[10747,10754],[3051,10755],[10743,10750],[3170,3251],[2120,10764],[1364,3089],[2120,2846],[2981,10766],[10767,10768],[10764,10769],[2981,3224],[10765,10771],[3170,10771],[10766,10773],[2846,10774],[3251,10775],[1364,10767],[10764,10777],[3224,10778],[10766,10772],[3089,10772],[2846,10781],[3251,10769],[3224,10783],[10771,10778],[3089,10779],[10767,10774],[3159,3240],[2108,10788],[1352,3078],[2108,2835],[2970,10790],[10791,10792],[10788,10793],[2970,3213],[10789,10795],[3159,10795],[10790,10797],[2835,10798],[3240,10799],[1352,10791],[10788,10801],[3213,10802],[10790,10796],[3078,10796],[2835,10805],[3240,10793],[3213,10807],[10795,10802],[3078,10803],[10791,10798],[3326,3380],[2147,10812],[1391,3299],[2147,2714],[3272,10814],[10815,10816],[10812,10817],[3272,3353],[10813,10819],[3326,10819],[10814,10821],[2714,10822],[3380,10823],[1391,10815],[10812,10825],[3353,10826],[10814,10820],[3299,10820],[2714,10829],[3380,10817],[3353,10831],[10819,10826],[3299,10827],[10815,10822],[3329,3383],[2135,10836],[1379,3302],[2135,2702],[3275,10838],[10839,10840],[10836,10841],[3275,3356],[10837,10843],[3329,10843],[10838,10845],[2702,10846],[3383,10847],[1379,10839],[10836,10849],[3356,10850],[10838,10844],[3302,10844],[2702,10853],[3383,10841],[3356,10855],[10843,10850],[3302,10851],[10839,10846],[3434,3488],[2174,10860],[1418,3407],[2174,2741],[3278,10862],[10863,10864],[10860,10865],[3278,3461],[10861,10867],[3434,10867],[10862,10869],[2741,10870],[3488,10871],[1418,10863],[10860,10873],[3461,10874],[10862,10868],[3407,10868],[2741,10877],[3488,10865],[3461,10879],[10867,10874],[3407,10875],[10863,10870],[3437,3491],[2162,10884],[1406,3410],[2162,2729],[3267,10886],[10887,10888],[10884,10889],[3267,3464],[10885,10891],[3437,10891],[10886,10893],[2729,10894],[3491,10895],[1406,10887],[10884,10897],[3464,10898],[10886,10892],[3410,10892],[2729,10901],[3491,10889],[3464,10903],[10891,10898],[3410,10899],[10887,10894],[3515,3569],[2201,10908],[1445,3413],[2201,2768],[3305,10910],[10911,10912],[10908,10913],[3305,3542],[10909,10915],[3515,10915],[10910,10917],[2768,10918],[3569,10919],[1445,10911],[10908,10921],[3542,10922],[10910,10916],[3413,10916],[2768,10925],[3569,10913],[3542,10927],[10915,10922],[3413,10923],[10911,10918],[3518,3572],[2189,10932],[1433,3402],[2189,2756],[3294,10934],[10935,10936],[10932,10937],[3294,3545],[10933,10939],[3518,10939],[10934,10941],[2756,10942],[3572,10943],[1433,10935],[10932,10945],[3545,10946],[10934,10940],[3402,10940],[2756,10949],[3572,10937],[3545,10951],[10939,10946],[3402,10947],[10935,10942],[3521,3623],[2228,10956],[1472,3440],[2228,2795],[3332,10958],[10959,10960],[10956,10961],[3332,3596],[10957,10963],[3521,10963],[10958,10965],[2795,10966],[3623,10967],[1472,10959],[10956,10969],[3596,10970],[10958,10964],[3440,10964],[2795,10973],[3623,10961],[3596,10975],[10963,10970],[3440,10971],[10959,10966],[3510,3626],[2216,10980],[1460,3429],[2216,2783],[3321,10982],[10983,10984],[10980,10985],[3321,3599],[10981,10987],[3510,10987],[10982,10989],[2783,10990],[3626,10991],[1460,10983],[10980,10993],[3599,10994],[10982,10988],[3429,10988],[2783,10997],[3626,10985],[3599,10999],[10987,10994],[3429,10995],[10983,10990],[3548,3650],[2255,11004],[1499,3467],[2255,2822],[3359,11006],[11007,11008],[11004,11009],[3359,3602],[11005,11011],[3548,11011],[11006,11013],[2822,11014],[3650,11015],[1499,11007],[11004,11017],[3602,11018],[11006,11012],[3467,11012],[2822,11021],[3650,11009],[3602,11023],[11011,11018],[3467,11019],[11007,11014],[3537,3653],[2243,11028],[1487,3456],[2243,2810],[3348,11030],[11031,11032],[11028,11033],[3348,3591],[11029,11035],[3537,11035],[11030,11037],[2810,11038],[3653,11039],[1487,11031],[11028,11041],[3591,11042],[11030,11036],[3456,11036],[2810,11045],[3653,11033],[3591,11047],[11035,11042],[3456,11043],[11031,11038],[3575,3656],[2282,11052],[1526,3494],[2282,2849],[3386,11054],[11055,11056],[11052,11057],[3386,3629],[11053,11059],[3575,11059],[11054,11061],[2849,11062],[3656,11063],[1526,11055],[11052,11065],[3629,11066],[11054,11060],[3494,11060],[2849,11069],[3656,11057],[3629,11071],[11059,11066],[3494,11067],[11055,11062],[3564,3645],[2270,11076],[1514,3483],[2270,2837],[3375,11078],[11079,11080],[11076,11081],[3375,3618],[11077,11083],[3564,11083],[11078,11085],[2837,11086],[3645,11087],[1514,11079],[11076,11089],[3618,11090],[11078,11084],[3483,11084],[2837,11093],[3645,11081],[3618,11095],[11083,11090],[3483,11091],[11079,11086],[3704,3758],[2309,11100],[1553,3677],[2309,2876],[3281,11102],[11103,11104],[11100,11105],[3281,3731],[11101,11107],[3704,11107],[11102,11109],[2876,11110],[3758,11111],[1553,11103],[11100,11113],[3731,11114],[11102,11108],[3677,11108],[2876,11117],[3758,11105],[3731,11119],[11107,11114],[3677,11115],[11103,11110],[3707,3761],[2297,11124],[1541,3680],[2297,2864],[3269,11126],[11127,11128],[11124,11129],[3269,3734],[11125,11131],[3707,11131],[11126,11133],[2864,11134],[3761,11135],[1541,11127],[11124,11137],[3734,11138],[11126,11132],[3680,11132],[2864,11141],[3761,11129],[3734,11143],[11131,11138],[3680,11139],[11127,11134],[3785,3839],[2336,11148],[1580,3683],[2336,2903],[3308,11150],[11151,11152],[11148,11153],[3308,3812],[11149,11155],[3785,11155],[11150,11157],[2903,11158],[3839,11159],[1580,11151],[11148,11161],[3812,11162],[11150,11156],[3683,11156],[2903,11165],[3839,11153],[3812,11167],[11155,11162],[3683,11163],[11151,11158],[3788,3842],[2324,11172],[1568,3672],[2324,2891],[3296,11174],[11175,11176],[11172,11177],[3296,3815],[11173,11179],[3788,11179],[11174,11181],[2891,11182],[3842,11183],[1568,11175],[11172,11185],[3815,11186],[11174,11180],[3672,11180],[2891,11189],[3842,11177],[3815,11191],[11179,11186],[3672,11187],[11175,11182],[3791,3893],[2363,11196],[1607,3710],[2363,2930],[3335,11198],[11199,11200],[11196,11201],[3335,3866],[11197,11203],[3791,11203],[11198,11205],[2930,11206],[3893,11207],[1607,11199],[11196,11209],[3866,11210],[11198,11204],[3710,11204],[2930,11213],[3893,11201],[3866,11215],[11203,11210],[3710,11211],[11199,11206],[3780,3896],[2351,11220],[1595,3699],[2351,2918],[3323,11222],[11223,11224],[11220,11225],[3323,3869],[11221,11227],[3780,11227],[11222,11229],[2918,11230],[3896,11231],[1595,11223],[11220,11233],[3869,11234],[11222,11228],[3699,11228],[2918,11237],[3896,11225],[3869,11239],[11227,11234],[3699,11235],[11223,11230],[3818,3920],[2390,11244],[1634,3737],[2390,2957],[3362,11246],[11247,11248],[11244,11249],[3362,3872],[11245,11251],[3818,11251],[11246,11253],[2957,11254],[3920,11255],[1634,11247],[11244,11257],[3872,11258],[11246,11252],[3737,11252],[2957,11261],[3920,11249],[3872,11263],[11251,11258],[3737,11259],[11247,11254],[3807,3923],[2378,11268],[1622,3726],[2378,2945],[3350,11270],[11271,11272],[11268,11273],[3350,3861],[11269,11275],[3807,11275],[11270,11277],[2945,11278],[3923,11279],[1622,11271],[11268,11281],[3861,11282],[11270,11276],[3726,11276],[2945,11285],[3923,11273],[3861,11287],[11275,11282],[3726,11283],[11271,11278],[3845,3926],[2417,11292],[1661,3764],[2417,2984],[3389,11294],[11295,11296],[11292,11297],[3389,3899],[11293,11299],[3845,11299],[11294,11301],[2984,11302],[3926,11303],[1661,11295],[11292,11305],[3899,11306],[11294,11300],[3764,11300],[2984,11309],[3926,11297],[3899,11311],[11299,11306],[3764,11307],[11295,11302],[3834,3915],[2405,11316],[1649,3753],[2405,2972],[3377,11318],[11319,11320],[11316,11321],[3377,3888],[11317,11323],[3834,11323],[11318,11325],[2972,11326],[3915,11327],[1649,11319],[11316,11329],[3888,11330],[11318,11324],[3753,11324],[2972,11333],[3915,11321],[3888,11335],[11323,11330],[3753,11331],[11319,11326],[3947,4001],[2444,11340],[1688,3686],[2444,3011],[3416,11342],[11343,11344],[11340,11345],[3416,3974],[11341,11347],[3947,11347],[11342,11349],[3011,11350],[4001,11351],[1688,11343],[11340,11353],[3974,11354],[11342,11348],[3686,11348],[3011,11357],[4001,11345],[3974,11359],[11347,11354],[3686,11355],[11343,11350],[3950,4004],[2432,11364],[1676,3674],[2432,2999],[3404,11366],[11367,11368],[11364,11369],[3404,3977],[11365,11371],[3950,11371],[11366,11373],[2999,11374],[4004,11375],[1676,11367],[11364,11377],[3977,11378],[11366,11372],[3674,11372],[2999,11381],[4004,11369],[3977,11383],[11371,11378],[3674,11379],[11367,11374],[3953,4055],[2471,11388],[1715,3713],[2471,3038],[3443,11390],[11391,11392],[11388,11393],[3443,4028],[11389,11395],[3953,11395],[11390,11397],[3038,11398],[4055,11399],[1715,11391],[11388,11401],[4028,11402],[11390,11396],[3713,11396],[3038,11405],[4055,11393],[4028,11407],[11395,11402],[3713,11403],[11391,11398],[3942,4058],[2459,11412],[1703,3701],[2459,3026],[3431,11414],[11415,11416],[11412,11417],[3431,4031],[11413,11419],[3942,11419],[11414,11421],[3026,11422],[4058,11423],[1703,11415],[11412,11425],[4031,11426],[11414,11420],[3701,11420],[3026,11429],[4058,11417],[4031,11431],[11419,11426],[3701,11427],[11415,11422],[3980,4082],[2498,11436],[1742,3740],[2498,3065],[3470,11438],[11439,11440],[11436,11441],[3470,4034],[11437,11443],[3980,11443],[11438,11445],[3065,11446],[4082,11447],[1742,11439],[11436,11449],[4034,11450],[11438,11444],[3740,11444],[3065,11453],[4082,11441],[4034,11455],[11443,11450],[3740,11451],[11439,11446],[3969,4085],[2486,11460],[1730,3728],[2486,3053],[3458,11462],[11463,11464],[11460,11465],[3458,4023],[11461,11467],[3969,11467],[11462,11469],[3053,11470],[4085,11471],[1730,11463],[11460,11473],[4023,11474],[11462,11468],[3728,11468],[3053,11477],[4085,11465],[4023,11479],[11467,11474],[3728,11475],[11463,11470],[4007,4088],[2525,11484],[1769,3767],[2525,3092],[3497,11486],[11487,11488],[11484,11489],[3497,4061],[11485,11491],[4007,11491],[11486,11493],[3092,11494],[4088,11495],[1769,11487],[11484,11497],[4061,11498],[11486,11492],[3767,11492],[3092,11501],[4088,11489],[4061,11503],[11491,11498],[3767,11499],[11487,11494],[3996,4077],[2513,11508],[1757,3755],[2513,3080],[3485,11510],[11511,11512],[11508,11513],[3485,4050],[11509,11515],[3996,11515],[11510,11517],[3080,11518],[4077,11519],[1757,11511],[11508,11521],[4050,11522],[11510,11516],[3755,11516],[3080,11525],[4077,11513],[4050,11527],[11515,11522],[3755,11523],[11511,11518],[3956,4136],[2552,11532],[1796,3794],[2552,3119],[3524,11534],[11535,11536],[11532,11537],[3524,4109],[11533,11539],[3956,11539],[11534,11541],[3119,11542],[4136,11543],[1796,11535],[11532,11545],[4109,11546],[11534,11540],[3794,11540],[3119,11549],[4136,11537],[4109,11551],[11539,11546],[3794,11547],[11535,11542],[3944,4139],[2540,11556],[1784,3782],[2540,3107],[3512,11558],[11559,11560],[11556,11561],[3512,4112],[11557,11563],[3944,11563],[11558,11565],[3107,11566],[4139,11567],[1784,11559],[11556,11569],[4112,11570],[11558,11564],[3782,11564],[3107,11573],[4139,11561],[4112,11575],[11563,11570],[3782,11571],[11559,11566],[3983,4163],[2579,11580],[1823,3821],[2579,3146],[3551,11582],[11583,11584],[11580,11585],[3551,4115],[11581,11587],[3983,11587],[11582,11589],[3146,11590],[4163,11591],[1823,11583],[11580,11593],[4115,11594],[11582,11588],[3821,11588],[3146,11597],[4163,11585],[4115,11599],[11587,11594],[3821,11595],[11583,11590],[3971,4166],[2567,11604],[1811,3809],[2567,3134],[3539,11606],[11607,11608],[11604,11609],[3539,4104],[11605,11611],[3971,11611],[11606,11613],[3134,11614],[4166,11615],[1811,11607],[11604,11617],[4104,11618],[11606,11612],[3809,11612],[3134,11621],[4166,11609],[4104,11623],[11611,11618],[3809,11619],[11607,11614],[4010,4169],[2606,11628],[1850,3848],[2606,3173],[3578,11630],[11631,11632],[11628,11633],[3578,4142],[11629,11635],[4010,11635],[11630,11637],[3173,11638],[4169,11639],[1850,11631],[11628,11641],[4142,11642],[11630,11636],[3848,11636],[3173,11645],[4169,11633],[4142,11647],[11635,11642],[3848,11643],[11631,11638],[3998,4158],[2594,11652],[1838,3836],[2594,3161],[3566,11654],[11655,11656],[11652,11657],[3566,4131],[11653,11659],[3998,11659],[11654,11661],[3161,11662],[4158,11663],[1838,11655],[11652,11665],[4131,11666],[11654,11660],[3836,11660],[3161,11669],[4158,11657],[4131,11671],[11659,11666],[3836,11667],[11655,11662],[4037,4190],[2633,11676],[1877,3875],[2633,3200],[3605,11678],[11679,11680],[11676,11681],[3605,4118],[11677,11683],[4037,11683],[11678,11685],[3200,11686],[4190,11687],[1877,11679],[11676,11689],[4118,11690],[11678,11684],[3875,11684],[3200,11693],[4190,11681],[4118,11695],[11683,11690],[3875,11691],[11679,11686],[4025,4193],[2621,11700],[1865,3863],[2621,3188],[3593,11702],[11703,11704],[11700,11705],[3593,4106],[11701,11707],[4025,11707],[11702,11709],[3188,11710],[4193,11711],[1865,11703],[11700,11713],[4106,11714],[11702,11708],[3863,11708],[3188,11717],[4193,11705],[4106,11719],[11707,11714],[3863,11715],[11703,11710],[4064,4196],[2660,11724],[1904,3902],[2660,3227],[3632,11726],[11727,11728],[11724,11729],[3632,4145],[11725,11731],[4064,11731],[11726,11733],[3227,11734],[4196,11735],[1904,11727],[11724,11737],[4145,11738],[11726,11732],[3902,11732],[3227,11741],[4196,11729],[4145,11743],[11731,11738],[3902,11739],[11727,11734],[4052,4185],[2648,11748],[1892,3890],[2648,3215],[3620,11750],[11751,11752],[11748,11753],[3620,4133],[11749,11755],[4052,11755],[11750,11757],[3215,11758],[4185,11759],[1892,11751],[11748,11761],[4133,11762],[11750,11756],[3890,11756],[3215,11765],[4185,11753],[4133,11767],[11755,11762],[3890,11763],[11751,11758],[4091,4199],[2687,11772],[1931,3929],[2687,3254],[3659,11774],[11775,11776],[11772,11777],[3659,4172],[11773,11779],[4091,11779],[11774,11781],[3254,11782],[4199,11783],[1931,11775],[11772,11785],[4172,11786],[11774,11780],[3929,11780],[3254,11789],[4199,11777],[4172,11791],[11779,11786],[3929,11787],[11775,11782],[4079,4187],[2675,11796],[1919,3917],[2675,3242],[3647,11798],[11799,11800],[11796,11801],[3647,4160],[11797,11803],[4079,11803],[11798,11805],[3242,11806],[4187,11807],[1919,11799],[11796,11809],[4160,11810],[11798,11804],[3917,11804],[3242,11813],[4187,11801],[4160,11815],[11803,11810],[3917,11811],[11799,11806],[5015,9702],[5288,9678],[5015,9678],[5288,9702],[5561,9750],[5834,9726],[5561,9726],[5834,9750],[5005,9696],[5278,9672],[5005,9672],[5278,9696],[6107,9798],[6380,9774],[6107,9774],[6380,9798],[5006,9700],[5279,9676],[5006,9676],[5279,9700],[6653,9846],[6926,9822],[6653,9822],[6926,9846],[4957,9706],[5230,9682],[4957,9682],[5230,9706],[7199,9894],[7472,9870],[7199,9870],[7472,9894],[4995,9705],[5268,9681],[4995,9681],[5268,9705],[7745,9942],[8018,9918],[7745,9918],[8018,9942],[4955,9704],[5228,9680],[4955,9680],[5228,9704],[8291,9990],[8564,9966],[8291,9966],[8564,9990],[5004,9690],[5277,9666],[5004,9666],[5277,9690],[8837,10038],[9110,10014],[8837,10014],[9110,10038],[4999,9707],[5272,9683],[4999,9683],[5272,9707],[9383,10086],[9656,10062],[9383,10062],[9656,10086],[5551,9744],[5824,9720],[5551,9720],[5824,9744],[6097,9792],[6370,9768],[6097,9768],[6370,9792],[5552,9748],[5825,9724],[5552,9724],[5825,9748],[6643,9840],[6916,9816],[6643,9816],[6916,9840],[5503,9754],[5776,9730],[5503,9730],[5776,9754],[7189,9888],[7462,9864],[7189,9864],[7462,9888],[5541,9753],[5814,9729],[5541,9729],[5814,9753],[7735,9936],[8008,9912],[7735,9912],[8008,9936],[5501,9752],[5774,9728],[5501,9728],[5774,9752],[8281,9984],[8554,9960],[8281,9960],[8554,9984],[5550,9738],[5823,9714],[5550,9714],[5823,9738],[8827,10032],[9100,10008],[8827,10008],[9100,10032],[5545,9755],[5818,9731],[5545,9731],[5818,9755],[9373,10080],[9646,10056],[9373,10056],[9646,10080],[6098,9796],[6371,9772],[6098,9772],[6371,9796],[6644,9844],[6917,9820],[6644,9820],[6917,9844],[6049,9802],[6322,9778],[6049,9778],[6322,9802],[7190,9892],[7463,9868],[7190,9868],[7463,9892],[6087,9801],[6360,9777],[6087,9777],[6360,9801],[7736,9940],[8009,9916],[7736,9916],[8009,9940],[6047,9800],[6320,9776],[6047,9776],[6320,9800],[8282,9988],[8555,9964],[8282,9964],[8555,9988],[6096,9786],[6369,9762],[6096,9762],[6369,9786],[8828,10036],[9101,10012],[8828,10012],[9101,10036],[6091,9803],[6364,9779],[6091,9779],[6364,9803],[9374,10084],[9647,10060],[9374,10060],[9647,10084],[6595,9850],[6868,9826],[6595,9826],[6868,9850],[7141,9898],[7414,9874],[7141,9874],[7414,9898],[6633,9849],[6906,9825],[6633,9825],[6906,9849],[7687,9946],[7960,9922],[7687,9922],[7960,9946],[6593,9848],[6866,9824],[6593,9824],[6866,9848],[8233,9994],[8506,9970],[8233,9970],[8506,9994],[6642,9834],[6915,9810],[6642,9810],[6915,9834],[8779,10042],[9052,10018],[8779,10018],[9052,10042],[6637,9851],[6910,9827],[6637,9827],[6910,9851],[9325,10090],[9598,10066],[9325,10066],[9598,10090],[7179,9897],[7452,9873],[7179,9873],[7452,9897],[7725,9945],[7998,9921],[7725,9921],[7998,9945],[7139,9896],[7412,9872],[7139,9872],[7412,9896],[8271,9993],[8544,9969],[8271,9969],[8544,9993],[7188,9882],[7461,9858],[7188,9858],[7461,9882],[8817,10041],[9090,10017],[8817,10017],[9090,10041],[7183,9899],[7456,9875],[7183,9875],[7456,9899],[9363,10089],[9636,10065],[9363,10065],[9636,10089],[7685,9944],[7958,9920],[7685,9920],[7958,9944],[8231,9992],[8504,9968],[8231,9968],[8504,9992],[7734,9930],[8007,9906],[7734,9906],[8007,9930],[8777,10040],[9050,10016],[8777,10016],[9050,10040],[7729,9947],[8002,9923],[7729,9923],[8002,9947],[9323,10088],[9596,10064],[9323,10064],[9596,10088],[8280,9978],[8553,9954],[8280,9954],[8553,9978],[8826,10026],[9099,10002],[8826,10002],[9099,10026],[8275,9995],[8548,9971],[8275,9971],[8548,9995],[9372,10074],[9645,10050],[9372,10050],[9645,10074],[8821,10043],[9094,10019],[8821,10019],[9094,10043],[9367,10091],[9640,10067],[9367,10067],[9640,10091],[5558,10128],[5831,10104],[5558,10104],[5831,10128],[6104,10176],[6377,10152],[6104,10152],[6377,10176],[5511,10132],[5784,10108],[5511,10108],[5784,10132],[6650,10224],[6923,10200],[6650,10200],[6923,10224],[5505,10138],[5778,10114],[5505,10114],[5778,10138],[7196,10272],[7469,10248],[7196,10248],[7469,10272],[5531,10137],[5804,10113],[5531,10113],[5804,10137],[7742,10320],[8015,10296],[7742,10296],[8015,10320],[5560,10136],[5833,10112],[5560,10112],[5833,10136],[8288,10368],[8561,10344],[8288,10344],[8561,10368],[5530,10122],[5803,10098],[5530,10098],[5803,10122],[8834,10416],[9107,10392],[8834,10392],[9107,10416],[5472,10139],[5745,10115],[5472,10115],[5745,10139],[9380,10464],[9653,10440],[9380,10440],[9653,10464],[6057,10180],[6330,10156],[6057,10156],[6330,10180],[6603,10228],[6876,10204],[6603,10204],[6876,10228],[6051,10186],[6324,10162],[6051,10162],[6324,10186],[7149,10276],[7422,10252],[7149,10252],[7422,10276],[6077,10185],[6350,10161],[6077,10161],[6350,10185],[7695,10324],[7968,10300],[7695,10300],[7968,10324],[6106,10184],[6379,10160],[6106,10160],[6379,10184],[8241,10372],[8514,10348],[8241,10348],[8514,10372],[6076,10170],[6349,10146],[6076,10146],[6349,10170],[8787,10420],[9060,10396],[8787,10396],[9060,10420],[6018,10187],[6291,10163],[6018,10163],[6291,10187],[9333,10468],[9606,10444],[9333,10444],[9606,10468],[6597,10234],[6870,10210],[6597,10210],[6870,10234],[7143,10282],[7416,10258],[7143,10258],[7416,10282],[6623,10233],[6896,10209],[6623,10209],[6896,10233],[7689,10330],[7962,10306],[7689,10306],[7962,10330],[6652,10232],[6925,10208],[6652,10208],[6925,10232],[8235,10378],[8508,10354],[8235,10354],[8508,10378],[6622,10218],[6895,10194],[6622,10194],[6895,10218],[8781,10426],[9054,10402],[8781,10402],[9054,10426],[6564,10235],[6837,10211],[6564,10211],[6837,10235],[9327,10474],[9600,10450],[9327,10450],[9600,10474],[7169,10281],[7442,10257],[7169,10257],[7442,10281],[7715,10329],[7988,10305],[7715,10305],[7988,10329],[7198,10280],[7471,10256],[7198,10256],[7471,10280],[8261,10377],[8534,10353],[8261,10353],[8534,10377],[7168,10266],[7441,10242],[7168,10242],[7441,10266],[8807,10425],[9080,10401],[8807,10401],[9080,10425],[7110,10283],[7383,10259],[7110,10259],[7383,10283],[9353,10473],[9626,10449],[9353,10449],[9626,10473],[7744,10328],[8017,10304],[7744,10304],[8017,10328],[8290,10376],[8563,10352],[8290,10352],[8563,10376],[7714,10314],[7987,10290],[7714,10290],[7987,10314],[8836,10424],[9109,10400],[8836,10400],[9109,10424],[7656,10331],[7929,10307],[7656,10307],[7929,10331],[9382,10472],[9655,10448],[9382,10448],[9655,10472],[8260,10362],[8533,10338],[8260,10338],[8533,10362],[8806,10410],[9079,10386],[8806,10386],[9079,10410],[8202,10379],[8475,10355],[8202,10355],[8475,10379],[9352,10458],[9625,10434],[9352,10434],[9625,10458],[8748,10427],[9021,10403],[8748,10403],[9021,10427],[9294,10475],[9567,10451],[9294,10451],[9567,10475],[6040,10516],[6313,10492],[6040,10492],[6313,10516],[6586,10564],[6859,10540],[6586,10540],[6859,10564],[6069,10522],[6342,10498],[6069,10498],[6342,10522],[7132,10612],[7405,10588],[7132,10588],[7405,10612],[5985,10521],[6258,10497],[5985,10497],[6258,10521],[7678,10660],[7951,10636],[7678,10636],[7951,10660],[6103,10520],[6376,10496],[6103,10496],[6376,10520],[8224,10708],[8497,10684],[8224,10684],[8497,10708],[6065,10506],[6338,10482],[6065,10482],[6338,10506],[8770,10756],[9043,10732],[8770,10732],[9043,10756],[6102,10523],[6375,10499],[6102,10499],[6375,10523],[9316,10804],[9589,10780],[9316,10780],[9589,10804],[6615,10570],[6888,10546],[6615,10546],[6888,10570],[7161,10618],[7434,10594],[7161,10594],[7434,10618],[6531,10569],[6804,10545],[6531,10545],[6804,10569],[7707,10666],[7980,10642],[7707,10642],[7980,10666],[6649,10568],[6922,10544],[6649,10544],[6922,10568],[8253,10714],[8526,10690],[8253,10690],[8526,10714],[6611,10554],[6884,10530],[6611,10530],[6884,10554],[8799,10762],[9072,10738],[8799,10738],[9072,10762],[6648,10571],[6921,10547],[6648,10547],[6921,10571],[9345,10810],[9618,10786],[9345,10786],[9618,10810],[7077,10617],[7350,10593],[7077,10593],[7350,10617],[7623,10665],[7896,10641],[7623,10641],[7896,10665],[7195,10616],[7468,10592],[7195,10592],[7468,10616],[8169,10713],[8442,10689],[8169,10689],[8442,10713],[7157,10602],[7430,10578],[7157,10578],[7430,10602],[8715,10761],[8988,10737],[8715,10737],[8988,10761],[7194,10619],[7467,10595],[7194,10595],[7467,10619],[9261,10809],[9534,10785],[9261,10785],[9534,10809],[7741,10664],[8014,10640],[7741,10640],[8014,10664],[8287,10712],[8560,10688],[8287,10688],[8560,10712],[7703,10650],[7976,10626],[7703,10626],[7976,10650],[8833,10760],[9106,10736],[8833,10736],[9106,10760],[7740,10667],[8013,10643],[7740,10643],[8013,10667],[9379,10808],[9652,10784],[9379,10784],[9652,10808],[8249,10698],[8522,10674],[8249,10674],[8522,10698],[8795,10746],[9068,10722],[8795,10722],[9068,10746],[8286,10715],[8559,10691],[8286,10691],[8559,10715],[9341,10794],[9614,10770],[9341,10770],[9614,10794],[8832,10763],[9105,10739],[8832,10739],[9105,10763],[9378,10811],[9651,10787],[9378,10787],[9651,10811],[6571,10858],[6844,10834],[6571,10834],[6844,10858],[7117,10906],[7390,10882],[7117,10882],[7390,10906],[6634,10857],[6907,10833],[6634,10833],[6907,10857],[7663,10954],[7936,10930],[7663,10930],[7936,10954],[6612,10856],[6885,10832],[6612,10832],[6885,10856],[8209,11002],[8482,10978],[8209,10978],[8482,11002],[6656,10842],[6929,10818],[6656,10818],[6929,10842],[8755,11050],[9028,11026],[8755,11026],[9028,11050],[6635,10859],[6908,10835],[6635,10835],[6908,10859],[9301,11098],[9574,11074],[9301,11074],[9574,11098],[7180,10905],[7453,10881],[7180,10881],[7453,10905],[7726,10953],[7999,10929],[7726,10929],[7999,10953],[7158,10904],[7431,10880],[7158,10880],[7431,10904],[8272,11001],[8545,10977],[8272,10977],[8545,11001],[7202,10890],[7475,10866],[7202,10866],[7475,10890],[8818,11049],[9091,11025],[8818,11025],[9091,11049],[7181,10907],[7454,10883],[7181,10883],[7454,10907],[9364,11097],[9637,11073],[9364,11073],[9637,11097],[7704,10952],[7977,10928],[7704,10928],[7977,10952],[8250,11000],[8523,10976],[8250,10976],[8523,11000],[7748,10938],[8021,10914],[7748,10914],[8021,10938],[8796,11048],[9069,11024],[8796,11024],[9069,11048],[7727,10955],[8000,10931],[7727,10931],[8000,10955],[9342,11096],[9615,11072],[9342,11072],[9615,11096],[8294,10986],[8567,10962],[8294,10962],[8567,10986],[8840,11034],[9113,11010],[8840,11010],[9113,11034],[8273,11003],[8546,10979],[8273,10979],[8546,11003],[9386,11082],[9659,11058],[9386,11058],[9659,11082],[8819,11051],[9092,11027],[8819,11027],[9092,11051],[9365,11099],[9638,11075],[9365,11075],[9638,11099],[7176,11145],[7449,11121],[7176,11121],[7449,11145],[7722,11193],[7995,11169],[7722,11169],[7995,11193],[7174,11144],[7447,11120],[7174,11120],[7447,11144],[8268,11241],[8541,11217],[8268,11217],[8541,11241],[7173,11130],[7446,11106],[7173,11106],[7446,11130],[8814,11289],[9087,11265],[8814,11265],[9087,11289],[7053,11147],[7326,11123],[7053,11123],[7326,11147],[9360,11337],[9633,11313],[9360,11313],[9633,11337],[7720,11192],[7993,11168],[7720,11168],[7993,11192],[8266,11240],[8539,11216],[8266,11216],[8539,11240],[7719,11178],[7992,11154],[7719,11154],[7992,11178],[8812,11288],[9085,11264],[8812,11264],[9085,11288],[7599,11195],[7872,11171],[7599,11171],[7872,11195],[9358,11336],[9631,11312],[9358,11312],[9631,11336],[8265,11226],[8538,11202],[8265,11202],[8538,11226],[8811,11274],[9084,11250],[8811,11250],[9084,11274],[8145,11243],[8418,11219],[8145,11219],[8418,11243],[9357,11322],[9630,11298],[9357,11298],[9630,11322],[8691,11291],[8964,11267],[8691,11267],[8964,11291],[9237,11339],[9510,11315],[9237,11315],[9510,11339],[7684,11384],[7957,11360],[7684,11360],[7957,11384],[8230,11432],[8503,11408],[8230,11408],[8503,11432],[7693,11370],[7966,11346],[7693,11346],[7966,11370],[8776,11480],[9049,11456],[8776,11456],[9049,11480],[7713,11387],[7986,11363],[7713,11363],[7986,11387],[9322,11528],[9595,11504],[9322,11504],[9595,11528],[8239,11418],[8512,11394],[8239,11394],[8512,11418],[8785,11466],[9058,11442],[8785,11442],[9058,11466],[8259,11435],[8532,11411],[8259,11411],[8532,11435],[9331,11514],[9604,11490],[9331,11490],[9604,11514],[8805,11483],[9078,11459],[8805,11459],[9078,11483],[9351,11531],[9624,11507],[9351,11507],[9624,11531],[8245,11562],[8518,11538],[8245,11538],[8518,11562],[8791,11610],[9064,11586],[8791,11586],[9064,11610],[8240,11579],[8513,11555],[8240,11555],[8513,11579],[9337,11658],[9610,11634],[9337,11634],[9610,11658],[8786,11627],[9059,11603],[8786,11603],[9059,11627],[9332,11675],[9605,11651],[9332,11651],[9605,11675],[8616,11723],[8889,11699],[8616,11699],[8889,11723],[9162,11771],[9435,11747],[9162,11747],[9435,11771]],"decoder":"mod 2: Y_T += sum of root nodes whose targets contain T (star roots: T reads star(c) for c in T; side roots; partner singles) + x_carrier + x_passive for each partner_mix entry receiving T; equals x_T = sum_{c in T} star(c) + sum_{|S cap T|=1} x_S","h":20,"labels":[[0,2,4],[0,2,5],[0,3,4],[0,3,5],[1,2,4],[1,2,5],[1,3,4],[1,3,5],[0,2,6],[0,2,7],[0,3,6],[0,3,7],[1,2,6],[1,2,7],[1,3,6],[1,3,7],[0,2,8],[0,2,9],[0,3,8],[0,3,9],[1,2,8],[1,2,9],[1,3,8],[1,3,9],[0,2,10],[0,2,11],[0,3,10],[0,3,11],[1,2,10],[1,2,11],[1,3,10],[1,3,11],[0,2,12],[0,2,13],[0,3,12],[0,3,13],[1,2,12],[1,2,13],[1,3,12],[1,3,13],[0,2,14],[0,2,15],[0,3,14],[0,3,15],[1,2,14],[1,2,15],[1,3,14],[1,3,15],[0,2,16],[0,2,17],[0,3,16],[0,3,17],[1,2,16],[1,2,17],[1,3,16],[1,3,17],[0,2,18],[0,2,19],[0,3,18],[0,3,19],[1,2,18],[1,2,19],[1,3,18],[1,3,19],[0,4,6],[0,4,7],[0,5,6],[0,5,7],[1,4,6],[1,4,7],[1,5,6],[1,5,7],[0,4,8],[0,4,9],[0,5,8],[0,5,9],[1,4,8],[1,4,9],[1,5,8],[1,5,9],[0,4,10],[0,4,11],[0,5,10],[0,5,11],[1,4,10],[1,4,11],[1,5,10],[1,5,11],[0,4,12],[0,4,13],[0,5,12],[0,5,13],[1,4,12],[1,4,13],[1,5,12],[1,5,13],[0,4,14],[0,4,15],[0,5,14],[0,5,15],[1,4,14],[1,4,15],[1,5,14],[1,5,15],[0,4,16],[0,4,17],[0,5,16],[0,5,17],[1,4,16],[1,4,17],[1,5,16],[1,5,17],[0,4,18],[0,4,19],[0,5,18],[0,5,19],[1,4,18],[1,4,19],[1,5,18],[1,5,19],[0,6,8],[0,6,9],[0,7,8],[0,7,9],[1,6,8],[1,6,9],[1,7,8],[1,7,9],[0,6,10],[0,6,11],[0,7,10],[0,7,11],[1,6,10],[1,6,11],[1,7,10],[1,7,11],[0,6,12],[0,6,13],[0,7,12],[0,7,13],[1,6,12],[1,6,13],[1,7,12],[1,7,13],[0,6,14],[0,6,15],[0,7,14],[0,7,15],[1,6,14],[1,6,15],[1,7,14],[1,7,15],[0,6,16],[0,6,17],[0,7,16],[0,7,17],[1,6,16],[1,6,17],[1,7,16],[1,7,17],[0,6,18],[0,6,19],[0,7,18],[0,7,19],[1,6,18],[1,6,19],[1,7,18],[1,7,19],[0,8,10],[0,8,11],[0,9,10],[0,9,11],[1,8,10],[1,8,11],[1,9,10],[1,9,11],[0,8,12],[0,8,13],[0,9,12],[0,9,13],[1,8,12],[1,8,13],[1,9,12],[1,9,13],[0,8,14],[0,8,15],[0,9,14],[0,9,15],[1,8,14],[1,8,15],[1,9,14],[1,9,15],[0,8,16],[0,8,17],[0,9,16],[0,9,17],[1,8,16],[1,8,17],[1,9,16],[1,9,17],[0,8,18],[0,8,19],[0,9,18],[0,9,19],[1,8,18],[1,8,19],[1,9,18],[1,9,19],[0,10,12],[0,10,13],[0,11,12],[0,11,13],[1,10,12],[1,10,13],[1,11,12],[1,11,13],[0,10,14],[0,10,15],[0,11,14],[0,11,15],[1,10,14],[1,10,15],[1,11,14],[1,11,15],[0,10,16],[0,10,17],[0,11,16],[0,11,17],[1,10,16],[1,10,17],[1,11,16],[1,11,17],[0,10,18],[0,10,19],[0,11,18],[0,11,19],[1,10,18],[1,10,19],[1,11,18],[1,11,19],[0,12,14],[0,12,15],[0,13,14],[0,13,15],[1,12,14],[1,12,15],[1,13,14],[1,13,15],[0,12,16],[0,12,17],[0,13,16],[0,13,17],[1,12,16],[1,12,17],[1,13,16],[1,13,17],[0,12,18],[0,12,19],[0,13,18],[0,13,19],[1,12,18],[1,12,19],[1,13,18],[1,13,19],[0,14,16],[0,14,17],[0,15,16],[0,15,17],[1,14,16],[1,14,17],[1,15,16],[1,15,17],[0,14,18],[0,14,19],[0,15,18],[0,15,19],[1,14,18],[1,14,19],[1,15,18],[1,15,19],[0,16,18],[0,16,19],[0,17,18],[0,17,19],[1,16,18],[1,16,19],[1,17,18],[1,17,19],[2,4,6],[2,4,7],[2,5,6],[2,5,7],[3,4,6],[3,4,7],[3,5,6],[3,5,7],[2,4,8],[2,4,9],[2,5,8],[2,5,9],[3,4,8],[3,4,9],[3,5,8],[3,5,9],[2,4,10],[2,4,11],[2,5,10],[2,5,11],[3,4,10],[3,4,11],[3,5,10],[3,5,11],[2,4,12],[2,4,13],[2,5,12],[2,5,13],[3,4,12],[3,4,13],[3,5,12],[3,5,13],[2,4,14],[2,4,15],[2,5,14],[2,5,15],[3,4,14],[3,4,15],[3,5,14],[3,5,15],[2,4,16],[2,4,17],[2,5,16],[2,5,17],[3,4,16],[3,4,17],[3,5,16],[3,5,17],[2,4,18],[2,4,19],[2,5,18],[2,5,19],[3,4,18],[3,4,19],[3,5,18],[3,5,19],[2,6,8],[2,6,9],[2,7,8],[2,7,9],[3,6,8],[3,6,9],[3,7,8],[3,7,9],[2,6,10],[2,6,11],[2,7,10],[2,7,11],[3,6,10],[3,6,11],[3,7,10],[3,7,11],[2,6,12],[2,6,13],[2,7,12],[2,7,13],[3,6,12],[3,6,13],[3,7,12],[3,7,13],[2,6,14],[2,6,15],[2,7,14],[2,7,15],[3,6,14],[3,6,15],[3,7,14],[3,7,15],[2,6,16],[2,6,17],[2,7,16],[2,7,17],[3,6,16],[3,6,17],[3,7,16],[3,7,17],[2,6,18],[2,6,19],[2,7,18],[2,7,19],[3,6,18],[3,6,19],[3,7,18],[3,7,19],[2,8,10],[2,8,11],[2,9,10],[2,9,11],[3,8,10],[3,8,11],[3,9,10],[3,9,11],[2,8,12],[2,8,13],[2,9,12],[2,9,13],[3,8,12],[3,8,13],[3,9,12],[3,9,13],[2,8,14],[2,8,15],[2,9,14],[2,9,15],[3,8,14],[3,8,15],[3,9,14],[3,9,15],[2,8,16],[2,8,17],[2,9,16],[2,9,17],[3,8,16],[3,8,17],[3,9,16],[3,9,17],[2,8,18],[2,8,19],[2,9,18],[2,9,19],[3,8,18],[3,8,19],[3,9,18],[3,9,19],[2,10,12],[2,10,13],[2,11,12],[2,11,13],[3,10,12],[3,10,13],[3,11,12],[3,11,13],[2,10,14],[2,10,15],[2,11,14],[2,11,15],[3,10,14],[3,10,15],[3,11,14],[3,11,15],[2,10,16],[2,10,17],[2,11,16],[2,11,17],[3,10,16],[3,10,17],[3,11,16],[3,11,17],[2,10,18],[2,10,19],[2,11,18],[2,11,19],[3,10,18],[3,10,19],[3,11,18],[3,11,19],[2,12,14],[2,12,15],[2,13,14],[2,13,15],[3,12,14],[3,12,15],[3,13,14],[3,13,15],[2,12,16],[2,12,17],[2,13,16],[2,13,17],[3,12,16],[3,12,17],[3,13,16],[3,13,17],[2,12,18],[2,12,19],[2,13,18],[2,13,19],[3,12,18],[3,12,19],[3,13,18],[3,13,19],[2,14,16],[2,14,17],[2,15,16],[2,15,17],[3,14,16],[3,14,17],[3,15,16],[3,15,17],[2,14,18],[2,14,19],[2,15,18],[2,15,19],[3,14,18],[3,14,19],[3,15,18],[3,15,19],[2,16,18],[2,16,19],[2,17,18],[2,17,19],[3,16,18],[3,16,19],[3,17,18],[3,17,19],[4,6,8],[4,6,9],[4,7,8],[4,7,9],[5,6,8],[5,6,9],[5,7,8],[5,7,9],[4,6,10],[4,6,11],[4,7,10],[4,7,11],[5,6,10],[5,6,11],[5,7,10],[5,7,11],[4,6,12],[4,6,13],[4,7,12],[4,7,13],[5,6,12],[5,6,13],[5,7,12],[5,7,13],[4,6,14],[4,6,15],[4,7,14],[4,7,15],[5,6,14],[5,6,15],[5,7,14],[5,7,15],[4,6,16],[4,6,17],[4,7,16],[4,7,17],[5,6,16],[5,6,17],[5,7,16],[5,7,17],[4,6,18],[4,6,19],[4,7,18],[4,7,19],[5,6,18],[5,6,19],[5,7,18],[5,7,19],[4,8,10],[4,8,11],[4,9,10],[4,9,11],[5,8,10],[5,8,11],[5,9,10],[5,9,11],[4,8,12],[4,8,13],[4,9,12],[4,9,13],[5,8,12],[5,8,13],[5,9,12],[5,9,13],[4,8,14],[4,8,15],[4,9,14],[4,9,15],[5,8,14],[5,8,15],[5,9,14],[5,9,15],[4,8,16],[4,8,17],[4,9,16],[4,9,17],[5,8,16],[5,8,17],[5,9,16],[5,9,17],[4,8,18],[4,8,19],[4,9,18],[4,9,19],[5,8,18],[5,8,19],[5,9,18],[5,9,19],[4,10,12],[4,10,13],[4,11,12],[4,11,13],[5,10,12],[5,10,13],[5,11,12],[5,11,13],[4,10,14],[4,10,15],[4,11,14],[4,11,15],[5,10,14],[5,10,15],[5,11,14],[5,11,15],[4,10,16],[4,10,17],[4,11,16],[4,11,17],[5,10,16],[5,10,17],[5,11,16],[5,11,17],[4,10,18],[4,10,19],[4,11,18],[4,11,19],[5,10,18],[5,10,19],[5,11,18],[5,11,19],[4,12,14],[4,12,15],[4,13,14],[4,13,15],[5,12,14],[5,12,15],[5,13,14],[5,13,15],[4,12,16],[4,12,17],[4,13,16],[4,13,17],[5,12,16],[5,12,17],[5,13,16],[5,13,17],[4,12,18],[4,12,19],[4,13,18],[4,13,19],[5,12,18],[5,12,19],[5,13,18],[5,13,19],[4,14,16],[4,14,17],[4,15,16],[4,15,17],[5,14,16],[5,14,17],[5,15,16],[5,15,17],[4,14,18],[4,14,19],[4,15,18],[4,15,19],[5,14,18],[5,14,19],[5,15,18],[5,15,19],[4,16,18],[4,16,19],[4,17,18],[4,17,19],[5,16,18],[5,16,19],[5,17,18],[5,17,19],[6,8,10],[6,8,11],[6,9,10],[6,9,11],[7,8,10],[7,8,11],[7,9,10],[7,9,11],[6,8,12],[6,8,13],[6,9,12],[6,9,13],[7,8,12],[7,8,13],[7,9,12],[7,9,13],[6,8,14],[6,8,15],[6,9,14],[6,9,15],[7,8,14],[7,8,15],[7,9,14],[7,9,15],[6,8,16],[6,8,17],[6,9,16],[6,9,17],[7,8,16],[7,8,17],[7,9,16],[7,9,17],[6,8,18],[6,8,19],[6,9,18],[6,9,19],[7,8,18],[7,8,19],[7,9,18],[7,9,19],[6,10,12],[6,10,13],[6,11,12],[6,11,13],[7,10,12],[7,10,13],[7,11,12],[7,11,13],[6,10,14],[6,10,15],[6,11,14],[6,11,15],[7,10,14],[7,10,15],[7,11,14],[7,11,15],[6,10,16],[6,10,17],[6,11,16],[6,11,17],[7,10,16],[7,10,17],[7,11,16],[7,11,17],[6,10,18],[6,10,19],[6,11,18],[6,11,19],[7,10,18],[7,10,19],[7,11,18],[7,11,19],[6,12,14],[6,12,15],[6,13,14],[6,13,15],[7,12,14],[7,12,15],[7,13,14],[7,13,15],[6,12,16],[6,12,17],[6,13,16],[6,13,17],[7,12,16],[7,12,17],[7,13,16],[7,13,17],[6,12,18],[6,12,19],[6,13,18],[6,13,19],[7,12,18],[7,12,19],[7,13,18],[7,13,19],[6,14,16],[6,14,17],[6,15,16],[6,15,17],[7,14,16],[7,14,17],[7,15,16],[7,15,17],[6,14,18],[6,14,19],[6,15,18],[6,15,19],[7,14,18],[7,14,19],[7,15,18],[7,15,19],[6,16,18],[6,16,19],[6,17,18],[6,17,19],[7,16,18],[7,16,19],[7,17,18],[7,17,19],[8,10,12],[8,10,13],[8,11,12],[8,11,13],[9,10,12],[9,10,13],[9,11,12],[9,11,13],[8,10,14],[8,10,15],[8,11,14],[8,11,15],[9,10,14],[9,10,15],[9,11,14],[9,11,15],[8,10,16],[8,10,17],[8,11,16],[8,11,17],[9,10,16],[9,10,17],[9,11,16],[9,11,17],[8,10,18],[8,10,19],[8,11,18],[8,11,19],[9,10,18],[9,10,19],[9,11,18],[9,11,19],[8,12,14],[8,12,15],[8,13,14],[8,13,15],[9,12,14],[9,12,15],[9,13,14],[9,13,15],[8,12,16],[8,12,17],[8,13,16],[8,13,17],[9,12,16],[9,12,17],[9,13,16],[9,13,17],[8,12,18],[8,12,19],[8,13,18],[8,13,19],[9,12,18],[9,12,19],[9,13,18],[9,13,19],[8,14,16],[8,14,17],[8,15,16],[8,15,17],[9,14,16],[9,14,17],[9,15,16],[9,15,17],[8,14,18],[8,14,19],[8,15,18],[8,15,19],[9,14,18],[9,14,19],[9,15,18],[9,15,19],[8,16,18],[8,16,19],[8,17,18],[8,17,19],[9,16,18],[9,16,19],[9,17,18],[9,17,19],[10,12,14],[10,12,15],[10,13,14],[10,13,15],[11,12,14],[11,12,15],[11,13,14],[11,13,15],[10,12,16],[10,12,17],[10,13,16],[10,13,17],[11,12,16],[11,12,17],[11,13,16],[11,13,17],[10,12,18],[10,12,19],[10,13,18],[10,13,19],[11,12,18],[11,12,19],[11,13,18],[11,13,19],[10,14,16],[10,14,17],[10,15,16],[10,15,17],[11,14,16],[11,14,17],[11,15,16],[11,15,17],[10,14,18],[10,14,19],[10,15,18],[10,15,19],[11,14,18],[11,14,19],[11,15,18],[11,15,19],[10,16,18],[10,16,19],[10,17,18],[10,17,19],[11,16,18],[11,16,19],[11,17,18],[11,17,19],[12,14,16],[12,14,17],[12,15,16],[12,15,17],[13,14,16],[13,14,17],[13,15,16],[13,15,17],[12,14,18],[12,14,19],[12,15,18],[12,15,19],[13,14,18],[13,14,19],[13,15,18],[13,15,19],[12,16,18],[12,16,19],[12,17,18],[12,17,19],[13,16,18],[13,16,19],[13,17,18],[13,17,19],[14,16,18],[14,16,19],[14,17,18],[14,17,19],[15,16,18],[15,16,19],[15,17,18],[15,17,19]],"p":10,"partner_mix":[{"carrier":0,"passive":3,"receivers":[5,6]},{"carrier":5,"passive":6,"receivers":[0,3]},{"carrier":1,"passive":2,"receivers":[4,7]},{"carrier":4,"passive":7,"receivers":[1,2]},{"carrier":8,"passive":11,"receivers":[13,14]},{"carrier":13,"passive":14,"receivers":[8,11]},{"carrier":9,"passive":10,"receivers":[12,15]},{"carrier":12,"passive":15,"receivers":[9,10]},{"carrier":16,"passive":19,"receivers":[21,22]},{"carrier":21,"passive":22,"receivers":[16,19]},{"carrier":17,"passive":18,"receivers":[20,23]},{"carrier":20,"passive":23,"receivers":[17,18]},{"carrier":24,"passive":27,"receivers":[29,30]},{"carrier":29,"passive":30,"receivers":[24,27]},{"carrier":25,"passive":26,"receivers":[28,31]},{"carrier":28,"passive":31,"receivers":[25,26]},{"carrier":32,"passive":35,"receivers":[37,38]},{"carrier":37,"passive":38,"receivers":[32,35]},{"carrier":33,"passive":34,"receivers":[36,39]},{"carrier":36,"passive":39,"receivers":[33,34]},{"carrier":40,"passive":43,"receivers":[45,46]},{"carrier":45,"passive":46,"receivers":[40,43]},{"carrier":41,"passive":42,"receivers":[44,47]},{"carrier":44,"passive":47,"receivers":[41,42]},{"carrier":48,"passive":51,"receivers":[53,54]},{"carrier":53,"passive":54,"receivers":[48,51]},{"carrier":49,"passive":50,"receivers":[52,55]},{"carrier":52,"passive":55,"receivers":[49,50]},{"carrier":56,"passive":59,"receivers":[61,62]},{"carrier":61,"passive":62,"receivers":[56,59]},{"carrier":57,"passive":58,"receivers":[60,63]},{"carrier":60,"passive":63,"receivers":[57,58]},{"carrier":64,"passive":67,"receivers":[69,70]},{"carrier":69,"passive":70,"receivers":[64,67]},{"carrier":65,"passive":66,"receivers":[68,71]},{"carrier":68,"passive":71,"receivers":[65,66]},{"carrier":72,"passive":75,"receivers":[77,78]},{"carrier":77,"passive":78,"receivers":[72,75]},{"carrier":73,"passive":74,"receivers":[76,79]},{"carrier":76,"passive":79,"receivers":[73,74]},{"carrier":80,"passive":83,"receivers":[85,86]},{"carrier":85,"passive":86,"receivers":[80,83]},{"carrier":81,"passive":82,"receivers":[84,87]},{"carrier":84,"passive":87,"receivers":[81,82]},{"carrier":88,"passive":91,"receivers":[93,94]},{"carrier":93,"passive":94,"receivers":[88,91]},{"carrier":89,"passive":90,"receivers":[92,95]},{"carrier":92,"passive":95,"receivers":[89,90]},{"carrier":96,"passive":99,"receivers":[101,102]},{"carrier":101,"passive":102,"receivers":[96,99]},{"carrier":97,"passive":98,"receivers":[100,103]},{"carrier":100,"passive":103,"receivers":[97,98]},{"carrier":104,"passive":107,"receivers":[109,110]},{"carrier":109,"passive":110,"receivers":[104,107]},{"carrier":105,"passive":106,"receivers":[108,111]},{"carrier":108,"passive":111,"receivers":[105,106]},{"carrier":112,"passive":115,"receivers":[117,118]},{"carrier":117,"passive":118,"receivers":[112,115]},{"carrier":113,"passive":114,"receivers":[116,119]},{"carrier":116,"passive":119,"receivers":[113,114]},{"carrier":120,"passive":123,"receivers":[125,126]},{"carrier":125,"passive":126,"receivers":[120,123]},{"carrier":121,"passive":122,"receivers":[124,127]},{"carrier":124,"passive":127,"receivers":[121,122]},{"carrier":128,"passive":131,"receivers":[133,134]},{"carrier":133,"passive":134,"receivers":[128,131]},{"carrier":129,"passive":130,"receivers":[132,135]},{"carrier":132,"passive":135,"receivers":[129,130]},{"carrier":136,"passive":139,"receivers":[141,142]},{"carrier":141,"passive":142,"receivers":[136,139]},{"carrier":137,"passive":138,"receivers":[140,143]},{"carrier":140,"passive":143,"receivers":[137,138]},{"carrier":144,"passive":147,"receivers":[149,150]},{"carrier":149,"passive":150,"receivers":[144,147]},{"carrier":145,"passive":146,"receivers":[148,151]},{"carrier":148,"passive":151,"receivers":[145,146]},{"carrier":152,"passive":155,"receivers":[157,158]},{"carrier":157,"passive":158,"receivers":[152,155]},{"carrier":153,"passive":154,"receivers":[156,159]},{"carrier":156,"passive":159,"receivers":[153,154]},{"carrier":160,"passive":163,"receivers":[165,166]},{"carrier":165,"passive":166,"receivers":[160,163]},{"carrier":161,"passive":162,"receivers":[164,167]},{"carrier":164,"passive":167,"receivers":[161,162]},{"carrier":168,"passive":171,"receivers":[173,174]},{"carrier":173,"passive":174,"receivers":[168,171]},{"carrier":169,"passive":170,"receivers":[172,175]},{"carrier":172,"passive":175,"receivers":[169,170]},{"carrier":176,"passive":179,"receivers":[181,182]},{"carrier":181,"passive":182,"receivers":[176,179]},{"carrier":177,"passive":178,"receivers":[180,183]},{"carrier":180,"passive":183,"receivers":[177,178]},{"carrier":184,"passive":187,"receivers":[189,190]},{"carrier":189,"passive":190,"receivers":[184,187]},{"carrier":185,"passive":186,"receivers":[188,191]},{"carrier":188,"passive":191,"receivers":[185,186]},{"carrier":192,"passive":195,"receivers":[197,198]},{"carrier":197,"passive":198,"receivers":[192,195]},{"carrier":193,"passive":194,"receivers":[196,199]},{"carrier":196,"passive":199,"receivers":[193,194]},{"carrier":200,"passive":203,"receivers":[205,206]},{"carrier":205,"passive":206,"receivers":[200,203]},{"carrier":201,"passive":202,"receivers":[204,207]},{"carrier":204,"passive":207,"receivers":[201,202]},{"carrier":208,"passive":211,"receivers":[213,214]},{"carrier":213,"passive":214,"receivers":[208,211]},{"carrier":209,"passive":210,"receivers":[212,215]},{"carrier":212,"passive":215,"receivers":[209,210]},{"carrier":216,"passive":219,"receivers":[221,222]},{"carrier":221,"passive":222,"receivers":[216,219]},{"carrier":217,"passive":218,"receivers":[220,223]},{"carrier":220,"passive":223,"receivers":[217,218]},{"carrier":224,"passive":227,"receivers":[229,230]},{"carrier":229,"passive":230,"receivers":[224,227]},{"carrier":225,"passive":226,"receivers":[228,231]},{"carrier":228,"passive":231,"receivers":[225,226]},{"carrier":232,"passive":235,"receivers":[237,238]},{"carrier":237,"passive":238,"receivers":[232,235]},{"carrier":233,"passive":234,"receivers":[236,239]},{"carrier":236,"passive":239,"receivers":[233,234]},{"carrier":240,"passive":243,"receivers":[245,246]},{"carrier":245,"passive":246,"receivers":[240,243]},{"carrier":241,"passive":242,"receivers":[244,247]},{"carrier":244,"passive":247,"receivers":[241,242]},{"carrier":248,"passive":251,"receivers":[253,254]},{"carrier":253,"passive":254,"receivers":[248,251]},{"carrier":249,"passive":250,"receivers":[252,255]},{"carrier":252,"passive":255,"receivers":[249,250]},{"carrier":256,"passive":259,"receivers":[261,262]},{"carrier":261,"passive":262,"receivers":[256,259]},{"carrier":257,"passive":258,"receivers":[260,263]},{"carrier":260,"passive":263,"receivers":[257,258]},{"carrier":264,"passive":267,"receivers":[269,270]},{"carrier":269,"passive":270,"receivers":[264,267]},{"carrier":265,"passive":266,"receivers":[268,271]},{"carrier":268,"passive":271,"receivers":[265,266]},{"carrier":272,"passive":275,"receivers":[277,278]},{"carrier":277,"passive":278,"receivers":[272,275]},{"carrier":273,"passive":274,"receivers":[276,279]},{"carrier":276,"passive":279,"receivers":[273,274]},{"carrier":280,"passive":283,"receivers":[285,286]},{"carrier":285,"passive":286,"receivers":[280,283]},{"carrier":281,"passive":282,"receivers":[284,287]},{"carrier":284,"passive":287,"receivers":[281,282]},{"carrier":288,"passive":291,"receivers":[293,294]},{"carrier":293,"passive":294,"receivers":[288,291]},{"carrier":289,"passive":290,"receivers":[292,295]},{"carrier":292,"passive":295,"receivers":[289,290]},{"carrier":296,"passive":299,"receivers":[301,302]},{"carrier":301,"passive":302,"receivers":[296,299]},{"carrier":297,"passive":298,"receivers":[300,303]},{"carrier":300,"passive":303,"receivers":[297,298]},{"carrier":304,"passive":307,"receivers":[309,310]},{"carrier":309,"passive":310,"receivers":[304,307]},{"carrier":305,"passive":306,"receivers":[308,311]},{"carrier":308,"passive":311,"receivers":[305,306]},{"carrier":312,"passive":315,"receivers":[317,318]},{"carrier":317,"passive":318,"receivers":[312,315]},{"carrier":313,"passive":314,"receivers":[316,319]},{"carrier":316,"passive":319,"receivers":[313,314]},{"carrier":320,"passive":323,"receivers":[325,326]},{"carrier":325,"passive":326,"receivers":[320,323]},{"carrier":321,"passive":322,"receivers":[324,327]},{"carrier":324,"passive":327,"receivers":[321,322]},{"carrier":328,"passive":331,"receivers":[333,334]},{"carrier":333,"passive":334,"receivers":[328,331]},{"carrier":329,"passive":330,"receivers":[332,335]},{"carrier":332,"passive":335,"receivers":[329,330]},{"carrier":336,"passive":339,"receivers":[341,342]},{"carrier":341,"passive":342,"receivers":[336,339]},{"carrier":337,"passive":338,"receivers":[340,343]},{"carrier":340,"passive":343,"receivers":[337,338]},{"carrier":344,"passive":347,"receivers":[349,350]},{"carrier":349,"passive":350,"receivers":[344,347]},{"carrier":345,"passive":346,"receivers":[348,351]},{"carrier":348,"passive":351,"receivers":[345,346]},{"carrier":352,"passive":355,"receivers":[357,358]},{"carrier":357,"passive":358,"receivers":[352,355]},{"carrier":353,"passive":354,"receivers":[356,359]},{"carrier":356,"passive":359,"receivers":[353,354]},{"carrier":360,"passive":363,"receivers":[365,366]},{"carrier":365,"passive":366,"receivers":[360,363]},{"carrier":361,"passive":362,"receivers":[364,367]},{"carrier":364,"passive":367,"receivers":[361,362]},{"carrier":368,"passive":371,"receivers":[373,374]},{"carrier":373,"passive":374,"receivers":[368,371]},{"carrier":369,"passive":370,"receivers":[372,375]},{"carrier":372,"passive":375,"receivers":[369,370]},{"carrier":376,"passive":379,"receivers":[381,382]},{"carrier":381,"passive":382,"receivers":[376,379]},{"carrier":377,"passive":378,"receivers":[380,383]},{"carrier":380,"passive":383,"receivers":[377,378]},{"carrier":384,"passive":387,"receivers":[389,390]},{"carrier":389,"passive":390,"receivers":[384,387]},{"carrier":385,"passive":386,"receivers":[388,391]},{"carrier":388,"passive":391,"receivers":[385,386]},{"carrier":392,"passive":395,"receivers":[397,398]},{"carrier":397,"passive":398,"receivers":[392,395]},{"carrier":393,"passive":394,"receivers":[396,399]},{"carrier":396,"passive":399,"receivers":[393,394]},{"carrier":400,"passive":403,"receivers":[405,406]},{"carrier":405,"passive":406,"receivers":[400,403]},{"carrier":401,"passive":402,"receivers":[404,407]},{"carrier":404,"passive":407,"receivers":[401,402]},{"carrier":408,"passive":411,"receivers":[413,414]},{"carrier":413,"passive":414,"receivers":[408,411]},{"carrier":409,"passive":410,"receivers":[412,415]},{"carrier":412,"passive":415,"receivers":[409,410]},{"carrier":416,"passive":419,"receivers":[421,422]},{"carrier":421,"passive":422,"receivers":[416,419]},{"carrier":417,"passive":418,"receivers":[420,423]},{"carrier":420,"passive":423,"receivers":[417,418]},{"carrier":424,"passive":427,"receivers":[429,430]},{"carrier":429,"passive":430,"receivers":[424,427]},{"carrier":425,"passive":426,"receivers":[428,431]},{"carrier":428,"passive":431,"receivers":[425,426]},{"carrier":432,"passive":435,"receivers":[437,438]},{"carrier":437,"passive":438,"receivers":[432,435]},{"carrier":433,"passive":434,"receivers":[436,439]},{"carrier":436,"passive":439,"receivers":[433,434]},{"carrier":440,"passive":443,"receivers":[445,446]},{"carrier":445,"passive":446,"receivers":[440,443]},{"carrier":441,"passive":442,"receivers":[444,447]},{"carrier":444,"passive":447,"receivers":[441,442]},{"carrier":448,"passive":451,"receivers":[453,454]},{"carrier":453,"passive":454,"receivers":[448,451]},{"carrier":449,"passive":450,"receivers":[452,455]},{"carrier":452,"passive":455,"receivers":[449,450]},{"carrier":456,"passive":459,"receivers":[461,462]},{"carrier":461,"passive":462,"receivers":[456,459]},{"carrier":457,"passive":458,"receivers":[460,463]},{"carrier":460,"passive":463,"receivers":[457,458]},{"carrier":464,"passive":467,"receivers":[469,470]},{"carrier":469,"passive":470,"receivers":[464,467]},{"carrier":465,"passive":466,"receivers":[468,471]},{"carrier":468,"passive":471,"receivers":[465,466]},{"carrier":472,"passive":475,"receivers":[477,478]},{"carrier":477,"passive":478,"receivers":[472,475]},{"carrier":473,"passive":474,"receivers":[476,479]},{"carrier":476,"passive":479,"receivers":[473,474]},{"carrier":480,"passive":483,"receivers":[485,486]},{"carrier":485,"passive":486,"receivers":[480,483]},{"carrier":481,"passive":482,"receivers":[484,487]},{"carrier":484,"passive":487,"receivers":[481,482]},{"carrier":488,"passive":491,"receivers":[493,494]},{"carrier":493,"passive":494,"receivers":[488,491]},{"carrier":489,"passive":490,"receivers":[492,495]},{"carrier":492,"passive":495,"receivers":[489,490]},{"carrier":496,"passive":499,"receivers":[501,502]},{"carrier":501,"passive":502,"receivers":[496,499]},{"carrier":497,"passive":498,"receivers":[500,503]},{"carrier":500,"passive":503,"receivers":[497,498]},{"carrier":504,"passive":507,"receivers":[509,510]},{"carrier":509,"passive":510,"receivers":[504,507]},{"carrier":505,"passive":506,"receivers":[508,511]},{"carrier":508,"passive":511,"receivers":[505,506]},{"carrier":512,"passive":515,"receivers":[517,518]},{"carrier":517,"passive":518,"receivers":[512,515]},{"carrier":513,"passive":514,"receivers":[516,519]},{"carrier":516,"passive":519,"receivers":[513,514]},{"carrier":520,"passive":523,"receivers":[525,526]},{"carrier":525,"passive":526,"receivers":[520,523]},{"carrier":521,"passive":522,"receivers":[524,527]},{"carrier":524,"passive":527,"receivers":[521,522]},{"carrier":528,"passive":531,"receivers":[533,534]},{"carrier":533,"passive":534,"receivers":[528,531]},{"carrier":529,"passive":530,"receivers":[532,535]},{"carrier":532,"passive":535,"receivers":[529,530]},{"carrier":536,"passive":539,"receivers":[541,542]},{"carrier":541,"passive":542,"receivers":[536,539]},{"carrier":537,"passive":538,"receivers":[540,543]},{"carrier":540,"passive":543,"receivers":[537,538]},{"carrier":544,"passive":547,"receivers":[549,550]},{"carrier":549,"passive":550,"receivers":[544,547]},{"carrier":545,"passive":546,"receivers":[548,551]},{"carrier":548,"passive":551,"receivers":[545,546]},{"carrier":552,"passive":555,"receivers":[557,558]},{"carrier":557,"passive":558,"receivers":[552,555]},{"carrier":553,"passive":554,"receivers":[556,559]},{"carrier":556,"passive":559,"receivers":[553,554]},{"carrier":560,"passive":563,"receivers":[565,566]},{"carrier":565,"passive":566,"receivers":[560,563]},{"carrier":561,"passive":562,"receivers":[564,567]},{"carrier":564,"passive":567,"receivers":[561,562]},{"carrier":568,"passive":571,"receivers":[573,574]},{"carrier":573,"passive":574,"receivers":[568,571]},{"carrier":569,"passive":570,"receivers":[572,575]},{"carrier":572,"passive":575,"receivers":[569,570]},{"carrier":576,"passive":579,"receivers":[581,582]},{"carrier":581,"passive":582,"receivers":[576,579]},{"carrier":577,"passive":578,"receivers":[580,583]},{"carrier":580,"passive":583,"receivers":[577,578]},{"carrier":584,"passive":587,"receivers":[589,590]},{"carrier":589,"passive":590,"receivers":[584,587]},{"carrier":585,"passive":586,"receivers":[588,591]},{"carrier":588,"passive":591,"receivers":[585,586]},{"carrier":592,"passive":595,"receivers":[597,598]},{"carrier":597,"passive":598,"receivers":[592,595]},{"carrier":593,"passive":594,"receivers":[596,599]},{"carrier":596,"passive":599,"receivers":[593,594]},{"carrier":600,"passive":603,"receivers":[605,606]},{"carrier":605,"passive":606,"receivers":[600,603]},{"carrier":601,"passive":602,"receivers":[604,607]},{"carrier":604,"passive":607,"receivers":[601,602]},{"carrier":608,"passive":611,"receivers":[613,614]},{"carrier":613,"passive":614,"receivers":[608,611]},{"carrier":609,"passive":610,"receivers":[612,615]},{"carrier":612,"passive":615,"receivers":[609,610]},{"carrier":616,"passive":619,"receivers":[621,622]},{"carrier":621,"passive":622,"receivers":[616,619]},{"carrier":617,"passive":618,"receivers":[620,623]},{"carrier":620,"passive":623,"receivers":[617,618]},{"carrier":624,"passive":627,"receivers":[629,630]},{"carrier":629,"passive":630,"receivers":[624,627]},{"carrier":625,"passive":626,"receivers":[628,631]},{"carrier":628,"passive":631,"receivers":[625,626]},{"carrier":632,"passive":635,"receivers":[637,638]},{"carrier":637,"passive":638,"receivers":[632,635]},{"carrier":633,"passive":634,"receivers":[636,639]},{"carrier":636,"passive":639,"receivers":[633,634]},{"carrier":640,"passive":643,"receivers":[645,646]},{"carrier":645,"passive":646,"receivers":[640,643]},{"carrier":641,"passive":642,"receivers":[644,647]},{"carrier":644,"passive":647,"receivers":[641,642]},{"carrier":648,"passive":651,"receivers":[653,654]},{"carrier":653,"passive":654,"receivers":[648,651]},{"carrier":649,"passive":650,"receivers":[652,655]},{"carrier":652,"passive":655,"receivers":[649,650]},{"carrier":656,"passive":659,"receivers":[661,662]},{"carrier":661,"passive":662,"receivers":[656,659]},{"carrier":657,"passive":658,"receivers":[660,663]},{"carrier":660,"passive":663,"receivers":[657,658]},{"carrier":664,"passive":667,"receivers":[669,670]},{"carrier":669,"passive":670,"receivers":[664,667]},{"carrier":665,"passive":666,"receivers":[668,671]},{"carrier":668,"passive":671,"receivers":[665,666]},{"carrier":672,"passive":675,"receivers":[677,678]},{"carrier":677,"passive":678,"receivers":[672,675]},{"carrier":673,"passive":674,"receivers":[676,679]},{"carrier":676,"passive":679,"receivers":[673,674]},{"carrier":680,"passive":683,"receivers":[685,686]},{"carrier":685,"passive":686,"receivers":[680,683]},{"carrier":681,"passive":682,"receivers":[684,687]},{"carrier":684,"passive":687,"receivers":[681,682]},{"carrier":688,"passive":691,"receivers":[693,694]},{"carrier":693,"passive":694,"receivers":[688,691]},{"carrier":689,"passive":690,"receivers":[692,695]},{"carrier":692,"passive":695,"receivers":[689,690]},{"carrier":696,"passive":699,"receivers":[701,702]},{"carrier":701,"passive":702,"receivers":[696,699]},{"carrier":697,"passive":698,"receivers":[700,703]},{"carrier":700,"passive":703,"receivers":[697,698]},{"carrier":704,"passive":707,"receivers":[709,710]},{"carrier":709,"passive":710,"receivers":[704,707]},{"carrier":705,"passive":706,"receivers":[708,711]},{"carrier":708,"passive":711,"receivers":[705,706]},{"carrier":712,"passive":715,"receivers":[717,718]},{"carrier":717,"passive":718,"receivers":[712,715]},{"carrier":713,"passive":714,"receivers":[716,719]},{"carrier":716,"passive":719,"receivers":[713,714]},{"carrier":720,"passive":723,"receivers":[725,726]},{"carrier":725,"passive":726,"receivers":[720,723]},{"carrier":721,"passive":722,"receivers":[724,727]},{"carrier":724,"passive":727,"receivers":[721,722]},{"carrier":728,"passive":731,"receivers":[733,734]},{"carrier":733,"passive":734,"receivers":[728,731]},{"carrier":729,"passive":730,"receivers":[732,735]},{"carrier":732,"passive":735,"receivers":[729,730]},{"carrier":736,"passive":739,"receivers":[741,742]},{"carrier":741,"passive":742,"receivers":[736,739]},{"carrier":737,"passive":738,"receivers":[740,743]},{"carrier":740,"passive":743,"receivers":[737,738]},{"carrier":744,"passive":747,"receivers":[749,750]},{"carrier":749,"passive":750,"receivers":[744,747]},{"carrier":745,"passive":746,"receivers":[748,751]},{"carrier":748,"passive":751,"receivers":[745,746]},{"carrier":752,"passive":755,"receivers":[757,758]},{"carrier":757,"passive":758,"receivers":[752,755]},{"carrier":753,"passive":754,"receivers":[756,759]},{"carrier":756,"passive":759,"receivers":[753,754]},{"carrier":760,"passive":763,"receivers":[765,766]},{"carrier":765,"passive":766,"receivers":[760,763]},{"carrier":761,"passive":762,"receivers":[764,767]},{"carrier":764,"passive":767,"receivers":[761,762]},{"carrier":768,"passive":771,"receivers":[773,774]},{"carrier":773,"passive":774,"receivers":[768,771]},{"carrier":769,"passive":770,"receivers":[772,775]},{"carrier":772,"passive":775,"receivers":[769,770]},{"carrier":776,"passive":779,"receivers":[781,782]},{"carrier":781,"passive":782,"receivers":[776,779]},{"carrier":777,"passive":778,"receivers":[780,783]},{"carrier":780,"passive":783,"receivers":[777,778]},{"carrier":784,"passive":787,"receivers":[789,790]},{"carrier":789,"passive":790,"receivers":[784,787]},{"carrier":785,"passive":786,"receivers":[788,791]},{"carrier":788,"passive":791,"receivers":[785,786]},{"carrier":792,"passive":795,"receivers":[797,798]},{"carrier":797,"passive":798,"receivers":[792,795]},{"carrier":793,"passive":794,"receivers":[796,799]},{"carrier":796,"passive":799,"receivers":[793,794]},{"carrier":800,"passive":803,"receivers":[805,806]},{"carrier":805,"passive":806,"receivers":[800,803]},{"carrier":801,"passive":802,"receivers":[804,807]},{"carrier":804,"passive":807,"receivers":[801,802]},{"carrier":808,"passive":811,"receivers":[813,814]},{"carrier":813,"passive":814,"receivers":[808,811]},{"carrier":809,"passive":810,"receivers":[812,815]},{"carrier":812,"passive":815,"receivers":[809,810]},{"carrier":816,"passive":819,"receivers":[821,822]},{"carrier":821,"passive":822,"receivers":[816,819]},{"carrier":817,"passive":818,"receivers":[820,823]},{"carrier":820,"passive":823,"receivers":[817,818]},{"carrier":824,"passive":827,"receivers":[829,830]},{"carrier":829,"passive":830,"receivers":[824,827]},{"carrier":825,"passive":826,"receivers":[828,831]},{"carrier":828,"passive":831,"receivers":[825,826]},{"carrier":832,"passive":835,"receivers":[837,838]},{"carrier":837,"passive":838,"receivers":[832,835]},{"carrier":833,"passive":834,"receivers":[836,839]},{"carrier":836,"passive":839,"receivers":[833,834]},{"carrier":840,"passive":843,"receivers":[845,846]},{"carrier":845,"passive":846,"receivers":[840,843]},{"carrier":841,"passive":842,"receivers":[844,847]},{"carrier":844,"passive":847,"receivers":[841,842]},{"carrier":848,"passive":851,"receivers":[853,854]},{"carrier":853,"passive":854,"receivers":[848,851]},{"carrier":849,"passive":850,"receivers":[852,855]},{"carrier":852,"passive":855,"receivers":[849,850]},{"carrier":856,"passive":859,"receivers":[861,862]},{"carrier":861,"passive":862,"receivers":[856,859]},{"carrier":857,"passive":858,"receivers":[860,863]},{"carrier":860,"passive":863,"receivers":[857,858]},{"carrier":864,"passive":867,"receivers":[869,870]},{"carrier":869,"passive":870,"receivers":[864,867]},{"carrier":865,"passive":866,"receivers":[868,871]},{"carrier":868,"passive":871,"receivers":[865,866]},{"carrier":872,"passive":875,"receivers":[877,878]},{"carrier":877,"passive":878,"receivers":[872,875]},{"carrier":873,"passive":874,"receivers":[876,879]},{"carrier":876,"passive":879,"receivers":[873,874]},{"carrier":880,"passive":883,"receivers":[885,886]},{"carrier":885,"passive":886,"receivers":[880,883]},{"carrier":881,"passive":882,"receivers":[884,887]},{"carrier":884,"passive":887,"receivers":[881,882]},{"carrier":888,"passive":891,"receivers":[893,894]},{"carrier":893,"passive":894,"receivers":[888,891]},{"carrier":889,"passive":890,"receivers":[892,895]},{"carrier":892,"passive":895,"receivers":[889,890]},{"carrier":896,"passive":899,"receivers":[901,902]},{"carrier":901,"passive":902,"receivers":[896,899]},{"carrier":897,"passive":898,"receivers":[900,903]},{"carrier":900,"passive":903,"receivers":[897,898]},{"carrier":904,"passive":907,"receivers":[909,910]},{"carrier":909,"passive":910,"receivers":[904,907]},{"carrier":905,"passive":906,"receivers":[908,911]},{"carrier":908,"passive":911,"receivers":[905,906]},{"carrier":912,"passive":915,"receivers":[917,918]},{"carrier":917,"passive":918,"receivers":[912,915]},{"carrier":913,"passive":914,"receivers":[916,919]},{"carrier":916,"passive":919,"receivers":[913,914]},{"carrier":920,"passive":923,"receivers":[925,926]},{"carrier":925,"passive":926,"receivers":[920,923]},{"carrier":921,"passive":922,"receivers":[924,927]},{"carrier":924,"passive":927,"receivers":[921,922]},{"carrier":928,"passive":931,"receivers":[933,934]},{"carrier":933,"passive":934,"receivers":[928,931]},{"carrier":929,"passive":930,"receivers":[932,935]},{"carrier":932,"passive":935,"receivers":[929,930]},{"carrier":936,"passive":939,"receivers":[941,942]},{"carrier":941,"passive":942,"receivers":[936,939]},{"carrier":937,"passive":938,"receivers":[940,943]},{"carrier":940,"passive":943,"receivers":[937,938]},{"carrier":944,"passive":947,"receivers":[949,950]},{"carrier":949,"passive":950,"receivers":[944,947]},{"carrier":945,"passive":946,"receivers":[948,951]},{"carrier":948,"passive":951,"receivers":[945,946]},{"carrier":952,"passive":955,"receivers":[957,958]},{"carrier":957,"passive":958,"receivers":[952,955]},{"carrier":953,"passive":954,"receivers":[956,959]},{"carrier":956,"passive":959,"receivers":[953,954]}],"roots":[{"channel":"face0","coefficient":1,"kind":"side","node":4469,"targets":[0,1,2,3]},{"channel":"face0","coefficient":1,"kind":"side","node":4742,"targets":[4,5,6,7]},{"channel":"edge12","coefficient":1,"kind":"side","node":10134,"targets":[0,3]},{"channel":"edge12","coefficient":1,"kind":"side","node":10110,"targets":[1,2]},{"channel":"edge12","coefficient":1,"kind":"side","node":10134,"targets":[4,7]},{"channel":"edge12","coefficient":1,"kind":"side","node":10110,"targets":[5,6]},{"channel":"u01","coefficient":1,"kind":"side","node":11820,"targets":[0]},{"channel":"w02","coefficient":1,"kind":"side","node":11824,"targets":[0]},{"channel":"partner","coefficient":1,"kind":"side","node":3,"targets":[0]},{"channel":"u01","coefficient":1,"kind":"side","node":11820,"targets":[1]},{"channel":"w02","coefficient":1,"kind":"side","node":11825,"targets":[1]},{"channel":"partner","coefficient":1,"kind":"side","node":2,"targets":[1]},{"channel":"u01","coefficient":1,"kind":"side","node":11821,"targets":[2]},{"channel":"w02","coefficient":1,"kind":"side","node":11824,"targets":[2]},{"channel":"partner","coefficient":1,"kind":"side","node":1,"targets":[2]},{"channel":"u01","coefficient":1,"kind":"side","node":11821,"targets":[3]},{"channel":"w02","coefficient":1,"kind":"side","node":11825,"targets":[3]},{"channel":"partner","coefficient":1,"kind":"side","node":0,"targets":[3]},{"channel":"u01","coefficient":1,"kind":"side","node":11822,"targets":[4]},{"channel":"w02","coefficient":1,"kind":"side","node":11826,"targets":[4]},{"channel":"partner","coefficient":1,"kind":"side","node":7,"targets":[4]},{"channel":"u01","coefficient":1,"kind":"side","node":11822,"targets":[5]},{"channel":"w02","coefficient":1,"kind":"side","node":11827,"targets":[5]},{"channel":"partner","coefficient":1,"kind":"side","node":6,"targets":[5]},{"channel":"u01","coefficient":1,"kind":"side","node":11823,"targets":[6]},{"channel":"w02","coefficient":1,"kind":"side","node":11826,"targets":[6]},{"channel":"partner","coefficient":1,"kind":"side","node":5,"targets":[6]},{"channel":"u01","coefficient":1,"kind":"side","node":11823,"targets":[7]},{"channel":"w02","coefficient":1,"kind":"side","node":11827,"targets":[7]},{"channel":"partner","coefficient":1,"kind":"side","node":4,"targets":[7]},{"channel":"face0","coefficient":1,"kind":"side","node":4459,"targets":[8,9,10,11]},{"channel":"face0","coefficient":1,"kind":"side","node":4732,"targets":[12,13,14,15]},{"channel":"edge12","coefficient":1,"kind":"side","node":10182,"targets":[8,11]},{"channel":"edge12","coefficient":1,"kind":"side","node":10158,"targets":[9,10]},{"channel":"edge12","coefficient":1,"kind":"side","node":10182,"targets":[12,15]},{"channel":"edge12","coefficient":1,"kind":"side","node":10158,"targets":[13,14]},{"channel":"u01","coefficient":1,"kind":"side","node":11828,"targets":[8]},{"channel":"w02","coefficient":1,"kind":"side","node":11832,"targets":[8]},{"channel":"partner","coefficient":1,"kind":"side","node":11,"targets":[8]},{"channel":"u01","coefficient":1,"kind":"side","node":11828,"targets":[9]},{"channel":"w02","coefficient":1,"kind":"side","node":11833,"targets":[9]},{"channel":"partner","coefficient":1,"kind":"side","node":10,"targets":[9]},{"channel":"u01","coefficient":1,"kind":"side","node":11829,"targets":[10]},{"channel":"w02","coefficient":1,"kind":"side","node":11832,"targets":[10]},{"channel":"partner","coefficient":1,"kind":"side","node":9,"targets":[10]},{"channel":"u01","coefficient":1,"kind":"side","node":11829,"targets":[11]},{"channel":"w02","coefficient":1,"kind":"side","node":11833,"targets":[11]},{"channel":"partner","coefficient":1,"kind":"side","node":8,"targets":[11]},{"channel":"u01","coefficient":1,"kind":"side","node":11830,"targets":[12]},{"channel":"w02","coefficient":1,"kind":"side","node":11834,"targets":[12]},{"channel":"partner","coefficient":1,"kind":"side","node":15,"targets":[12]},{"channel":"u01","coefficient":1,"kind":"side","node":11830,"targets":[13]},{"channel":"w02","coefficient":1,"kind":"side","node":11835,"targets":[13]},{"channel":"partner","coefficient":1,"kind":"side","node":14,"targets":[13]},{"channel":"u01","coefficient":1,"kind":"side","node":11831,"targets":[14]},{"channel":"w02","coefficient":1,"kind":"side","node":11834,"targets":[14]},{"channel":"partner","coefficient":1,"kind":"side","node":13,"targets":[14]},{"channel":"u01","coefficient":1,"kind":"side","node":11831,"targets":[15]},{"channel":"w02","coefficient":1,"kind":"side","node":11835,"targets":[15]},{"channel":"partner","coefficient":1,"kind":"side","node":12,"targets":[15]},{"channel":"face0","coefficient":1,"kind":"side","node":4460,"targets":[16,17,18,19]},{"channel":"face0","coefficient":1,"kind":"side","node":4733,"targets":[20,21,22,23]},{"channel":"edge12","coefficient":1,"kind":"side","node":10230,"targets":[16,19]},{"channel":"edge12","coefficient":1,"kind":"side","node":10206,"targets":[17,18]},{"channel":"edge12","coefficient":1,"kind":"side","node":10230,"targets":[20,23]},{"channel":"edge12","coefficient":1,"kind":"side","node":10206,"targets":[21,22]},{"channel":"u01","coefficient":1,"kind":"side","node":11836,"targets":[16]},{"channel":"w02","coefficient":1,"kind":"side","node":11840,"targets":[16]},{"channel":"partner","coefficient":1,"kind":"side","node":19,"targets":[16]},{"channel":"u01","coefficient":1,"kind":"side","node":11836,"targets":[17]},{"channel":"w02","coefficient":1,"kind":"side","node":11841,"targets":[17]},{"channel":"partner","coefficient":1,"kind":"side","node":18,"targets":[17]},{"channel":"u01","coefficient":1,"kind":"side","node":11837,"targets":[18]},{"channel":"w02","coefficient":1,"kind":"side","node":11840,"targets":[18]},{"channel":"partner","coefficient":1,"kind":"side","node":17,"targets":[18]},{"channel":"u01","coefficient":1,"kind":"side","node":11837,"targets":[19]},{"channel":"w02","coefficient":1,"kind":"side","node":11841,"targets":[19]},{"channel":"partner","coefficient":1,"kind":"side","node":16,"targets":[19]},{"channel":"u01","coefficient":1,"kind":"side","node":11838,"targets":[20]},{"channel":"w02","coefficient":1,"kind":"side","node":11842,"targets":[20]},{"channel":"partner","coefficient":1,"kind":"side","node":23,"targets":[20]},{"channel":"u01","coefficient":1,"kind":"side","node":11838,"targets":[21]},{"channel":"w02","coefficient":1,"kind":"side","node":11843,"targets":[21]},{"channel":"partner","coefficient":1,"kind":"side","node":22,"targets":[21]},{"channel":"u01","coefficient":1,"kind":"side","node":11839,"targets":[22]},{"channel":"w02","coefficient":1,"kind":"side","node":11842,"targets":[22]},{"channel":"partner","coefficient":1,"kind":"side","node":21,"targets":[22]},{"channel":"u01","coefficient":1,"kind":"side","node":11839,"targets":[23]},{"channel":"w02","coefficient":1,"kind":"side","node":11843,"targets":[23]},{"channel":"partner","coefficient":1,"kind":"side","node":20,"targets":[23]},{"channel":"face0","coefficient":1,"kind":"side","node":4411,"targets":[24,25,26,27]},{"channel":"face0","coefficient":1,"kind":"side","node":4684,"targets":[28,29,30,31]},{"channel":"edge12","coefficient":1,"kind":"side","node":10278,"targets":[24,27]},{"channel":"edge12","coefficient":1,"kind":"side","node":10254,"targets":[25,26]},{"channel":"edge12","coefficient":1,"kind":"side","node":10278,"targets":[28,31]},{"channel":"edge12","coefficient":1,"kind":"side","node":10254,"targets":[29,30]},{"channel":"u01","coefficient":1,"kind":"side","node":11844,"targets":[24]},{"channel":"w02","coefficient":1,"kind":"side","node":11848,"targets":[24]},{"channel":"partner","coefficient":1,"kind":"side","node":27,"targets":[24]},{"channel":"u01","coefficient":1,"kind":"side","node":11844,"targets":[25]},{"channel":"w02","coefficient":1,"kind":"side","node":11849,"targets":[25]},{"channel":"partner","coefficient":1,"kind":"side","node":26,"targets":[25]},{"channel":"u01","coefficient":1,"kind":"side","node":11845,"targets":[26]},{"channel":"w02","coefficient":1,"kind":"side","node":11848,"targets":[26]},{"channel":"partner","coefficient":1,"kind":"side","node":25,"targets":[26]},{"channel":"u01","coefficient":1,"kind":"side","node":11845,"targets":[27]},{"channel":"w02","coefficient":1,"kind":"side","node":11849,"targets":[27]},{"channel":"partner","coefficient":1,"kind":"side","node":24,"targets":[27]},{"channel":"u01","coefficient":1,"kind":"side","node":11846,"targets":[28]},{"channel":"w02","coefficient":1,"kind":"side","node":11850,"targets":[28]},{"channel":"partner","coefficient":1,"kind":"side","node":31,"targets":[28]},{"channel":"u01","coefficient":1,"kind":"side","node":11846,"targets":[29]},{"channel":"w02","coefficient":1,"kind":"side","node":11851,"targets":[29]},{"channel":"partner","coefficient":1,"kind":"side","node":30,"targets":[29]},{"channel":"u01","coefficient":1,"kind":"side","node":11847,"targets":[30]},{"channel":"w02","coefficient":1,"kind":"side","node":11850,"targets":[30]},{"channel":"partner","coefficient":1,"kind":"side","node":29,"targets":[30]},{"channel":"u01","coefficient":1,"kind":"side","node":11847,"targets":[31]},{"channel":"w02","coefficient":1,"kind":"side","node":11851,"targets":[31]},{"channel":"partner","coefficient":1,"kind":"side","node":28,"targets":[31]},{"channel":"face0","coefficient":1,"kind":"side","node":4449,"targets":[32,33,34,35]},{"channel":"face0","coefficient":1,"kind":"side","node":4722,"targets":[36,37,38,39]},{"channel":"edge12","coefficient":1,"kind":"side","node":10326,"targets":[32,35]},{"channel":"edge12","coefficient":1,"kind":"side","node":10302,"targets":[33,34]},{"channel":"edge12","coefficient":1,"kind":"side","node":10326,"targets":[36,39]},{"channel":"edge12","coefficient":1,"kind":"side","node":10302,"targets":[37,38]},{"channel":"u01","coefficient":1,"kind":"side","node":11852,"targets":[32]},{"channel":"w02","coefficient":1,"kind":"side","node":11856,"targets":[32]},{"channel":"partner","coefficient":1,"kind":"side","node":35,"targets":[32]},{"channel":"u01","coefficient":1,"kind":"side","node":11852,"targets":[33]},{"channel":"w02","coefficient":1,"kind":"side","node":11857,"targets":[33]},{"channel":"partner","coefficient":1,"kind":"side","node":34,"targets":[33]},{"channel":"u01","coefficient":1,"kind":"side","node":11853,"targets":[34]},{"channel":"w02","coefficient":1,"kind":"side","node":11856,"targets":[34]},{"channel":"partner","coefficient":1,"kind":"side","node":33,"targets":[34]},{"channel":"u01","coefficient":1,"kind":"side","node":11853,"targets":[35]},{"channel":"w02","coefficient":1,"kind":"side","node":11857,"targets":[35]},{"channel":"partner","coefficient":1,"kind":"side","node":32,"targets":[35]},{"channel":"u01","coefficient":1,"kind":"side","node":11854,"targets":[36]},{"channel":"w02","coefficient":1,"kind":"side","node":11858,"targets":[36]},{"channel":"partner","coefficient":1,"kind":"side","node":39,"targets":[36]},{"channel":"u01","coefficient":1,"kind":"side","node":11854,"targets":[37]},{"channel":"w02","coefficient":1,"kind":"side","node":11859,"targets":[37]},{"channel":"partner","coefficient":1,"kind":"side","node":38,"targets":[37]},{"channel":"u01","coefficient":1,"kind":"side","node":11855,"targets":[38]},{"channel":"w02","coefficient":1,"kind":"side","node":11858,"targets":[38]},{"channel":"partner","coefficient":1,"kind":"side","node":37,"targets":[38]},{"channel":"u01","coefficient":1,"kind":"side","node":11855,"targets":[39]},{"channel":"w02","coefficient":1,"kind":"side","node":11859,"targets":[39]},{"channel":"partner","coefficient":1,"kind":"side","node":36,"targets":[39]},{"channel":"face0","coefficient":1,"kind":"side","node":4409,"targets":[40,41,42,43]},{"channel":"face0","coefficient":1,"kind":"side","node":4682,"targets":[44,45,46,47]},{"channel":"edge12","coefficient":1,"kind":"side","node":10374,"targets":[40,43]},{"channel":"edge12","coefficient":1,"kind":"side","node":10350,"targets":[41,42]},{"channel":"edge12","coefficient":1,"kind":"side","node":10374,"targets":[44,47]},{"channel":"edge12","coefficient":1,"kind":"side","node":10350,"targets":[45,46]},{"channel":"u01","coefficient":1,"kind":"side","node":11860,"targets":[40]},{"channel":"w02","coefficient":1,"kind":"side","node":11864,"targets":[40]},{"channel":"partner","coefficient":1,"kind":"side","node":43,"targets":[40]},{"channel":"u01","coefficient":1,"kind":"side","node":11860,"targets":[41]},{"channel":"w02","coefficient":1,"kind":"side","node":11865,"targets":[41]},{"channel":"partner","coefficient":1,"kind":"side","node":42,"targets":[41]},{"channel":"u01","coefficient":1,"kind":"side","node":11861,"targets":[42]},{"channel":"w02","coefficient":1,"kind":"side","node":11864,"targets":[42]},{"channel":"partner","coefficient":1,"kind":"side","node":41,"targets":[42]},{"channel":"u01","coefficient":1,"kind":"side","node":11861,"targets":[43]},{"channel":"w02","coefficient":1,"kind":"side","node":11865,"targets":[43]},{"channel":"partner","coefficient":1,"kind":"side","node":40,"targets":[43]},{"channel":"u01","coefficient":1,"kind":"side","node":11862,"targets":[44]},{"channel":"w02","coefficient":1,"kind":"side","node":11866,"targets":[44]},{"channel":"partner","coefficient":1,"kind":"side","node":47,"targets":[44]},{"channel":"u01","coefficient":1,"kind":"side","node":11862,"targets":[45]},{"channel":"w02","coefficient":1,"kind":"side","node":11867,"targets":[45]},{"channel":"partner","coefficient":1,"kind":"side","node":46,"targets":[45]},{"channel":"u01","coefficient":1,"kind":"side","node":11863,"targets":[46]},{"channel":"w02","coefficient":1,"kind":"side","node":11866,"targets":[46]},{"channel":"partner","coefficient":1,"kind":"side","node":45,"targets":[46]},{"channel":"u01","coefficient":1,"kind":"side","node":11863,"targets":[47]},{"channel":"w02","coefficient":1,"kind":"side","node":11867,"targets":[47]},{"channel":"partner","coefficient":1,"kind":"side","node":44,"targets":[47]},{"channel":"face0","coefficient":1,"kind":"side","node":4458,"targets":[48,49,50,51]},{"channel":"face0","coefficient":1,"kind":"side","node":4731,"targets":[52,53,54,55]},{"channel":"edge12","coefficient":1,"kind":"side","node":10422,"targets":[48,51]},{"channel":"edge12","coefficient":1,"kind":"side","node":10398,"targets":[49,50]},{"channel":"edge12","coefficient":1,"kind":"side","node":10422,"targets":[52,55]},{"channel":"edge12","coefficient":1,"kind":"side","node":10398,"targets":[53,54]},{"channel":"u01","coefficient":1,"kind":"side","node":11868,"targets":[48]},{"channel":"w02","coefficient":1,"kind":"side","node":11872,"targets":[48]},{"channel":"partner","coefficient":1,"kind":"side","node":51,"targets":[48]},{"channel":"u01","coefficient":1,"kind":"side","node":11868,"targets":[49]},{"channel":"w02","coefficient":1,"kind":"side","node":11873,"targets":[49]},{"channel":"partner","coefficient":1,"kind":"side","node":50,"targets":[49]},{"channel":"u01","coefficient":1,"kind":"side","node":11869,"targets":[50]},{"channel":"w02","coefficient":1,"kind":"side","node":11872,"targets":[50]},{"channel":"partner","coefficient":1,"kind":"side","node":49,"targets":[50]},{"channel":"u01","coefficient":1,"kind":"side","node":11869,"targets":[51]},{"channel":"w02","coefficient":1,"kind":"side","node":11873,"targets":[51]},{"channel":"partner","coefficient":1,"kind":"side","node":48,"targets":[51]},{"channel":"u01","coefficient":1,"kind":"side","node":11870,"targets":[52]},{"channel":"w02","coefficient":1,"kind":"side","node":11874,"targets":[52]},{"channel":"partner","coefficient":1,"kind":"side","node":55,"targets":[52]},{"channel":"u01","coefficient":1,"kind":"side","node":11870,"targets":[53]},{"channel":"w02","coefficient":1,"kind":"side","node":11875,"targets":[53]},{"channel":"partner","coefficient":1,"kind":"side","node":54,"targets":[53]},{"channel":"u01","coefficient":1,"kind":"side","node":11871,"targets":[54]},{"channel":"w02","coefficient":1,"kind":"side","node":11874,"targets":[54]},{"channel":"partner","coefficient":1,"kind":"side","node":53,"targets":[54]},{"channel":"u01","coefficient":1,"kind":"side","node":11871,"targets":[55]},{"channel":"w02","coefficient":1,"kind":"side","node":11875,"targets":[55]},{"channel":"partner","coefficient":1,"kind":"side","node":52,"targets":[55]},{"channel":"face0","coefficient":1,"kind":"side","node":4453,"targets":[56,57,58,59]},{"channel":"face0","coefficient":1,"kind":"side","node":4726,"targets":[60,61,62,63]},{"channel":"edge12","coefficient":1,"kind":"side","node":10470,"targets":[56,59]},{"channel":"edge12","coefficient":1,"kind":"side","node":10446,"targets":[57,58]},{"channel":"edge12","coefficient":1,"kind":"side","node":10470,"targets":[60,63]},{"channel":"edge12","coefficient":1,"kind":"side","node":10446,"targets":[61,62]},{"channel":"u01","coefficient":1,"kind":"side","node":11876,"targets":[56]},{"channel":"w02","coefficient":1,"kind":"side","node":11880,"targets":[56]},{"channel":"partner","coefficient":1,"kind":"side","node":59,"targets":[56]},{"channel":"u01","coefficient":1,"kind":"side","node":11876,"targets":[57]},{"channel":"w02","coefficient":1,"kind":"side","node":11881,"targets":[57]},{"channel":"partner","coefficient":1,"kind":"side","node":58,"targets":[57]},{"channel":"u01","coefficient":1,"kind":"side","node":11877,"targets":[58]},{"channel":"w02","coefficient":1,"kind":"side","node":11880,"targets":[58]},{"channel":"partner","coefficient":1,"kind":"side","node":57,"targets":[58]},{"channel":"u01","coefficient":1,"kind":"side","node":11877,"targets":[59]},{"channel":"w02","coefficient":1,"kind":"side","node":11881,"targets":[59]},{"channel":"partner","coefficient":1,"kind":"side","node":56,"targets":[59]},{"channel":"u01","coefficient":1,"kind":"side","node":11878,"targets":[60]},{"channel":"w02","coefficient":1,"kind":"side","node":11882,"targets":[60]},{"channel":"partner","coefficient":1,"kind":"side","node":63,"targets":[60]},{"channel":"u01","coefficient":1,"kind":"side","node":11878,"targets":[61]},{"channel":"w02","coefficient":1,"kind":"side","node":11883,"targets":[61]},{"channel":"partner","coefficient":1,"kind":"side","node":62,"targets":[61]},{"channel":"u01","coefficient":1,"kind":"side","node":11879,"targets":[62]},{"channel":"w02","coefficient":1,"kind":"side","node":11882,"targets":[62]},{"channel":"partner","coefficient":1,"kind":"side","node":61,"targets":[62]},{"channel":"u01","coefficient":1,"kind":"side","node":11879,"targets":[63]},{"channel":"w02","coefficient":1,"kind":"side","node":11883,"targets":[63]},{"channel":"partner","coefficient":1,"kind":"side","node":60,"targets":[63]},{"channel":"face0","coefficient":1,"kind":"side","node":4466,"targets":[64,65,66,67]},{"channel":"face0","coefficient":1,"kind":"side","node":4739,"targets":[68,69,70,71]},{"channel":"edge12","coefficient":1,"kind":"side","node":10518,"targets":[64,67]},{"channel":"edge12","coefficient":1,"kind":"side","node":10494,"targets":[65,66]},{"channel":"edge12","coefficient":1,"kind":"side","node":10518,"targets":[68,71]},{"channel":"edge12","coefficient":1,"kind":"side","node":10494,"targets":[69,70]},{"channel":"u01","coefficient":1,"kind":"side","node":11884,"targets":[64]},{"channel":"w02","coefficient":1,"kind":"side","node":11888,"targets":[64]},{"channel":"partner","coefficient":1,"kind":"side","node":67,"targets":[64]},{"channel":"u01","coefficient":1,"kind":"side","node":11884,"targets":[65]},{"channel":"w02","coefficient":1,"kind":"side","node":11889,"targets":[65]},{"channel":"partner","coefficient":1,"kind":"side","node":66,"targets":[65]},{"channel":"u01","coefficient":1,"kind":"side","node":11885,"targets":[66]},{"channel":"w02","coefficient":1,"kind":"side","node":11888,"targets":[66]},{"channel":"partner","coefficient":1,"kind":"side","node":65,"targets":[66]},{"channel":"u01","coefficient":1,"kind":"side","node":11885,"targets":[67]},{"channel":"w02","coefficient":1,"kind":"side","node":11889,"targets":[67]},{"channel":"partner","coefficient":1,"kind":"side","node":64,"targets":[67]},{"channel":"u01","coefficient":1,"kind":"side","node":11886,"targets":[68]},{"channel":"w02","coefficient":1,"kind":"side","node":11890,"targets":[68]},{"channel":"partner","coefficient":1,"kind":"side","node":71,"targets":[68]},{"channel":"u01","coefficient":1,"kind":"side","node":11886,"targets":[69]},{"channel":"w02","coefficient":1,"kind":"side","node":11891,"targets":[69]},{"channel":"partner","coefficient":1,"kind":"side","node":70,"targets":[69]},{"channel":"u01","coefficient":1,"kind":"side","node":11887,"targets":[70]},{"channel":"w02","coefficient":1,"kind":"side","node":11890,"targets":[70]},{"channel":"partner","coefficient":1,"kind":"side","node":69,"targets":[70]},{"channel":"u01","coefficient":1,"kind":"side","node":11887,"targets":[71]},{"channel":"w02","coefficient":1,"kind":"side","node":11891,"targets":[71]},{"channel":"partner","coefficient":1,"kind":"side","node":68,"targets":[71]},{"channel":"face0","coefficient":1,"kind":"side","node":4419,"targets":[72,73,74,75]},{"channel":"face0","coefficient":1,"kind":"side","node":4692,"targets":[76,77,78,79]},{"channel":"edge12","coefficient":1,"kind":"side","node":10566,"targets":[72,75]},{"channel":"edge12","coefficient":1,"kind":"side","node":10542,"targets":[73,74]},{"channel":"edge12","coefficient":1,"kind":"side","node":10566,"targets":[76,79]},{"channel":"edge12","coefficient":1,"kind":"side","node":10542,"targets":[77,78]},{"channel":"u01","coefficient":1,"kind":"side","node":11892,"targets":[72]},{"channel":"w02","coefficient":1,"kind":"side","node":11896,"targets":[72]},{"channel":"partner","coefficient":1,"kind":"side","node":75,"targets":[72]},{"channel":"u01","coefficient":1,"kind":"side","node":11892,"targets":[73]},{"channel":"w02","coefficient":1,"kind":"side","node":11897,"targets":[73]},{"channel":"partner","coefficient":1,"kind":"side","node":74,"targets":[73]},{"channel":"u01","coefficient":1,"kind":"side","node":11893,"targets":[74]},{"channel":"w02","coefficient":1,"kind":"side","node":11896,"targets":[74]},{"channel":"partner","coefficient":1,"kind":"side","node":73,"targets":[74]},{"channel":"u01","coefficient":1,"kind":"side","node":11893,"targets":[75]},{"channel":"w02","coefficient":1,"kind":"side","node":11897,"targets":[75]},{"channel":"partner","coefficient":1,"kind":"side","node":72,"targets":[75]},{"channel":"u01","coefficient":1,"kind":"side","node":11894,"targets":[76]},{"channel":"w02","coefficient":1,"kind":"side","node":11898,"targets":[76]},{"channel":"partner","coefficient":1,"kind":"side","node":79,"targets":[76]},{"channel":"u01","coefficient":1,"kind":"side","node":11894,"targets":[77]},{"channel":"w02","coefficient":1,"kind":"side","node":11899,"targets":[77]},{"channel":"partner","coefficient":1,"kind":"side","node":78,"targets":[77]},{"channel":"u01","coefficient":1,"kind":"side","node":11895,"targets":[78]},{"channel":"w02","coefficient":1,"kind":"side","node":11898,"targets":[78]},{"channel":"partner","coefficient":1,"kind":"side","node":77,"targets":[78]},{"channel":"u01","coefficient":1,"kind":"side","node":11895,"targets":[79]},{"channel":"w02","coefficient":1,"kind":"side","node":11899,"targets":[79]},{"channel":"partner","coefficient":1,"kind":"side","node":76,"targets":[79]},{"channel":"face0","coefficient":1,"kind":"side","node":4413,"targets":[80,81,82,83]},{"channel":"face0","coefficient":1,"kind":"side","node":4686,"targets":[84,85,86,87]},{"channel":"edge12","coefficient":1,"kind":"side","node":10614,"targets":[80,83]},{"channel":"edge12","coefficient":1,"kind":"side","node":10590,"targets":[81,82]},{"channel":"edge12","coefficient":1,"kind":"side","node":10614,"targets":[84,87]},{"channel":"edge12","coefficient":1,"kind":"side","node":10590,"targets":[85,86]},{"channel":"u01","coefficient":1,"kind":"side","node":11900,"targets":[80]},{"channel":"w02","coefficient":1,"kind":"side","node":11904,"targets":[80]},{"channel":"partner","coefficient":1,"kind":"side","node":83,"targets":[80]},{"channel":"u01","coefficient":1,"kind":"side","node":11900,"targets":[81]},{"channel":"w02","coefficient":1,"kind":"side","node":11905,"targets":[81]},{"channel":"partner","coefficient":1,"kind":"side","node":82,"targets":[81]},{"channel":"u01","coefficient":1,"kind":"side","node":11901,"targets":[82]},{"channel":"w02","coefficient":1,"kind":"side","node":11904,"targets":[82]},{"channel":"partner","coefficient":1,"kind":"side","node":81,"targets":[82]},{"channel":"u01","coefficient":1,"kind":"side","node":11901,"targets":[83]},{"channel":"w02","coefficient":1,"kind":"side","node":11905,"targets":[83]},{"channel":"partner","coefficient":1,"kind":"side","node":80,"targets":[83]},{"channel":"u01","coefficient":1,"kind":"side","node":11902,"targets":[84]},{"channel":"w02","coefficient":1,"kind":"side","node":11906,"targets":[84]},{"channel":"partner","coefficient":1,"kind":"side","node":87,"targets":[84]},{"channel":"u01","coefficient":1,"kind":"side","node":11902,"targets":[85]},{"channel":"w02","coefficient":1,"kind":"side","node":11907,"targets":[85]},{"channel":"partner","coefficient":1,"kind":"side","node":86,"targets":[85]},{"channel":"u01","coefficient":1,"kind":"side","node":11903,"targets":[86]},{"channel":"w02","coefficient":1,"kind":"side","node":11906,"targets":[86]},{"channel":"partner","coefficient":1,"kind":"side","node":85,"targets":[86]},{"channel":"u01","coefficient":1,"kind":"side","node":11903,"targets":[87]},{"channel":"w02","coefficient":1,"kind":"side","node":11907,"targets":[87]},{"channel":"partner","coefficient":1,"kind":"side","node":84,"targets":[87]},{"channel":"face0","coefficient":1,"kind":"side","node":4439,"targets":[88,89,90,91]},{"channel":"face0","coefficient":1,"kind":"side","node":4712,"targets":[92,93,94,95]},{"channel":"edge12","coefficient":1,"kind":"side","node":10662,"targets":[88,91]},{"channel":"edge12","coefficient":1,"kind":"side","node":10638,"targets":[89,90]},{"channel":"edge12","coefficient":1,"kind":"side","node":10662,"targets":[92,95]},{"channel":"edge12","coefficient":1,"kind":"side","node":10638,"targets":[93,94]},{"channel":"u01","coefficient":1,"kind":"side","node":11908,"targets":[88]},{"channel":"w02","coefficient":1,"kind":"side","node":11912,"targets":[88]},{"channel":"partner","coefficient":1,"kind":"side","node":91,"targets":[88]},{"channel":"u01","coefficient":1,"kind":"side","node":11908,"targets":[89]},{"channel":"w02","coefficient":1,"kind":"side","node":11913,"targets":[89]},{"channel":"partner","coefficient":1,"kind":"side","node":90,"targets":[89]},{"channel":"u01","coefficient":1,"kind":"side","node":11909,"targets":[90]},{"channel":"w02","coefficient":1,"kind":"side","node":11912,"targets":[90]},{"channel":"partner","coefficient":1,"kind":"side","node":89,"targets":[90]},{"channel":"u01","coefficient":1,"kind":"side","node":11909,"targets":[91]},{"channel":"w02","coefficient":1,"kind":"side","node":11913,"targets":[91]},{"channel":"partner","coefficient":1,"kind":"side","node":88,"targets":[91]},{"channel":"u01","coefficient":1,"kind":"side","node":11910,"targets":[92]},{"channel":"w02","coefficient":1,"kind":"side","node":11914,"targets":[92]},{"channel":"partner","coefficient":1,"kind":"side","node":95,"targets":[92]},{"channel":"u01","coefficient":1,"kind":"side","node":11910,"targets":[93]},{"channel":"w02","coefficient":1,"kind":"side","node":11915,"targets":[93]},{"channel":"partner","coefficient":1,"kind":"side","node":94,"targets":[93]},{"channel":"u01","coefficient":1,"kind":"side","node":11911,"targets":[94]},{"channel":"w02","coefficient":1,"kind":"side","node":11914,"targets":[94]},{"channel":"partner","coefficient":1,"kind":"side","node":93,"targets":[94]},{"channel":"u01","coefficient":1,"kind":"side","node":11911,"targets":[95]},{"channel":"w02","coefficient":1,"kind":"side","node":11915,"targets":[95]},{"channel":"partner","coefficient":1,"kind":"side","node":92,"targets":[95]},{"channel":"face0","coefficient":1,"kind":"side","node":4468,"targets":[96,97,98,99]},{"channel":"face0","coefficient":1,"kind":"side","node":4741,"targets":[100,101,102,103]},{"channel":"edge12","coefficient":1,"kind":"side","node":10710,"targets":[96,99]},{"channel":"edge12","coefficient":1,"kind":"side","node":10686,"targets":[97,98]},{"channel":"edge12","coefficient":1,"kind":"side","node":10710,"targets":[100,103]},{"channel":"edge12","coefficient":1,"kind":"side","node":10686,"targets":[101,102]},{"channel":"u01","coefficient":1,"kind":"side","node":11916,"targets":[96]},{"channel":"w02","coefficient":1,"kind":"side","node":11920,"targets":[96]},{"channel":"partner","coefficient":1,"kind":"side","node":99,"targets":[96]},{"channel":"u01","coefficient":1,"kind":"side","node":11916,"targets":[97]},{"channel":"w02","coefficient":1,"kind":"side","node":11921,"targets":[97]},{"channel":"partner","coefficient":1,"kind":"side","node":98,"targets":[97]},{"channel":"u01","coefficient":1,"kind":"side","node":11917,"targets":[98]},{"channel":"w02","coefficient":1,"kind":"side","node":11920,"targets":[98]},{"channel":"partner","coefficient":1,"kind":"side","node":97,"targets":[98]},{"channel":"u01","coefficient":1,"kind":"side","node":11917,"targets":[99]},{"channel":"w02","coefficient":1,"kind":"side","node":11921,"targets":[99]},{"channel":"partner","coefficient":1,"kind":"side","node":96,"targets":[99]},{"channel":"u01","coefficient":1,"kind":"side","node":11918,"targets":[100]},{"channel":"w02","coefficient":1,"kind":"side","node":11922,"targets":[100]},{"channel":"partner","coefficient":1,"kind":"side","node":103,"targets":[100]},{"channel":"u01","coefficient":1,"kind":"side","node":11918,"targets":[101]},{"channel":"w02","coefficient":1,"kind":"side","node":11923,"targets":[101]},{"channel":"partner","coefficient":1,"kind":"side","node":102,"targets":[101]},{"channel":"u01","coefficient":1,"kind":"side","node":11919,"targets":[102]},{"channel":"w02","coefficient":1,"kind":"side","node":11922,"targets":[102]},{"channel":"partner","coefficient":1,"kind":"side","node":101,"targets":[102]},{"channel":"u01","coefficient":1,"kind":"side","node":11919,"targets":[103]},{"channel":"w02","coefficient":1,"kind":"side","node":11923,"targets":[103]},{"channel":"partner","coefficient":1,"kind":"side","node":100,"targets":[103]},{"channel":"face0","coefficient":1,"kind":"side","node":4438,"targets":[104,105,106,107]},{"channel":"face0","coefficient":1,"kind":"side","node":4711,"targets":[108,109,110,111]},{"channel":"edge12","coefficient":1,"kind":"side","node":10758,"targets":[104,107]},{"channel":"edge12","coefficient":1,"kind":"side","node":10734,"targets":[105,106]},{"channel":"edge12","coefficient":1,"kind":"side","node":10758,"targets":[108,111]},{"channel":"edge12","coefficient":1,"kind":"side","node":10734,"targets":[109,110]},{"channel":"u01","coefficient":1,"kind":"side","node":11924,"targets":[104]},{"channel":"w02","coefficient":1,"kind":"side","node":11928,"targets":[104]},{"channel":"partner","coefficient":1,"kind":"side","node":107,"targets":[104]},{"channel":"u01","coefficient":1,"kind":"side","node":11924,"targets":[105]},{"channel":"w02","coefficient":1,"kind":"side","node":11929,"targets":[105]},{"channel":"partner","coefficient":1,"kind":"side","node":106,"targets":[105]},{"channel":"u01","coefficient":1,"kind":"side","node":11925,"targets":[106]},{"channel":"w02","coefficient":1,"kind":"side","node":11928,"targets":[106]},{"channel":"partner","coefficient":1,"kind":"side","node":105,"targets":[106]},{"channel":"u01","coefficient":1,"kind":"side","node":11925,"targets":[107]},{"channel":"w02","coefficient":1,"kind":"side","node":11929,"targets":[107]},{"channel":"partner","coefficient":1,"kind":"side","node":104,"targets":[107]},{"channel":"u01","coefficient":1,"kind":"side","node":11926,"targets":[108]},{"channel":"w02","coefficient":1,"kind":"side","node":11930,"targets":[108]},{"channel":"partner","coefficient":1,"kind":"side","node":111,"targets":[108]},{"channel":"u01","coefficient":1,"kind":"side","node":11926,"targets":[109]},{"channel":"w02","coefficient":1,"kind":"side","node":11931,"targets":[109]},{"channel":"partner","coefficient":1,"kind":"side","node":110,"targets":[109]},{"channel":"u01","coefficient":1,"kind":"side","node":11927,"targets":[110]},{"channel":"w02","coefficient":1,"kind":"side","node":11930,"targets":[110]},{"channel":"partner","coefficient":1,"kind":"side","node":109,"targets":[110]},{"channel":"u01","coefficient":1,"kind":"side","node":11927,"targets":[111]},{"channel":"w02","coefficient":1,"kind":"side","node":11931,"targets":[111]},{"channel":"partner","coefficient":1,"kind":"side","node":108,"targets":[111]},{"channel":"face0","coefficient":1,"kind":"side","node":4380,"targets":[112,113,114,115]},{"channel":"face0","coefficient":1,"kind":"side","node":4653,"targets":[116,117,118,119]},{"channel":"edge12","coefficient":1,"kind":"side","node":10806,"targets":[112,115]},{"channel":"edge12","coefficient":1,"kind":"side","node":10782,"targets":[113,114]},{"channel":"edge12","coefficient":1,"kind":"side","node":10806,"targets":[116,119]},{"channel":"edge12","coefficient":1,"kind":"side","node":10782,"targets":[117,118]},{"channel":"u01","coefficient":1,"kind":"side","node":11932,"targets":[112]},{"channel":"w02","coefficient":1,"kind":"side","node":11936,"targets":[112]},{"channel":"partner","coefficient":1,"kind":"side","node":115,"targets":[112]},{"channel":"u01","coefficient":1,"kind":"side","node":11932,"targets":[113]},{"channel":"w02","coefficient":1,"kind":"side","node":11937,"targets":[113]},{"channel":"partner","coefficient":1,"kind":"side","node":114,"targets":[113]},{"channel":"u01","coefficient":1,"kind":"side","node":11933,"targets":[114]},{"channel":"w02","coefficient":1,"kind":"side","node":11936,"targets":[114]},{"channel":"partner","coefficient":1,"kind":"side","node":113,"targets":[114]},{"channel":"u01","coefficient":1,"kind":"side","node":11933,"targets":[115]},{"channel":"w02","coefficient":1,"kind":"side","node":11937,"targets":[115]},{"channel":"partner","coefficient":1,"kind":"side","node":112,"targets":[115]},{"channel":"u01","coefficient":1,"kind":"side","node":11934,"targets":[116]},{"channel":"w02","coefficient":1,"kind":"side","node":11938,"targets":[116]},{"channel":"partner","coefficient":1,"kind":"side","node":119,"targets":[116]},{"channel":"u01","coefficient":1,"kind":"side","node":11934,"targets":[117]},{"channel":"w02","coefficient":1,"kind":"side","node":11939,"targets":[117]},{"channel":"partner","coefficient":1,"kind":"side","node":118,"targets":[117]},{"channel":"u01","coefficient":1,"kind":"side","node":11935,"targets":[118]},{"channel":"w02","coefficient":1,"kind":"side","node":11938,"targets":[118]},{"channel":"partner","coefficient":1,"kind":"side","node":117,"targets":[118]},{"channel":"u01","coefficient":1,"kind":"side","node":11935,"targets":[119]},{"channel":"w02","coefficient":1,"kind":"side","node":11939,"targets":[119]},{"channel":"partner","coefficient":1,"kind":"side","node":116,"targets":[119]},{"channel":"face0","coefficient":1,"kind":"side","node":4402,"targets":[120,121,122,123]},{"channel":"face0","coefficient":1,"kind":"side","node":4675,"targets":[124,125,126,127]},{"channel":"edge12","coefficient":1,"kind":"side","node":10854,"targets":[120,123]},{"channel":"edge12","coefficient":1,"kind":"side","node":10830,"targets":[121,122]},{"channel":"edge12","coefficient":1,"kind":"side","node":10854,"targets":[124,127]},{"channel":"edge12","coefficient":1,"kind":"side","node":10830,"targets":[125,126]},{"channel":"u01","coefficient":1,"kind":"side","node":11940,"targets":[120]},{"channel":"w02","coefficient":1,"kind":"side","node":11944,"targets":[120]},{"channel":"partner","coefficient":1,"kind":"side","node":123,"targets":[120]},{"channel":"u01","coefficient":1,"kind":"side","node":11940,"targets":[121]},{"channel":"w02","coefficient":1,"kind":"side","node":11945,"targets":[121]},{"channel":"partner","coefficient":1,"kind":"side","node":122,"targets":[121]},{"channel":"u01","coefficient":1,"kind":"side","node":11941,"targets":[122]},{"channel":"w02","coefficient":1,"kind":"side","node":11944,"targets":[122]},{"channel":"partner","coefficient":1,"kind":"side","node":121,"targets":[122]},{"channel":"u01","coefficient":1,"kind":"side","node":11941,"targets":[123]},{"channel":"w02","coefficient":1,"kind":"side","node":11945,"targets":[123]},{"channel":"partner","coefficient":1,"kind":"side","node":120,"targets":[123]},{"channel":"u01","coefficient":1,"kind":"side","node":11942,"targets":[124]},{"channel":"w02","coefficient":1,"kind":"side","node":11946,"targets":[124]},{"channel":"partner","coefficient":1,"kind":"side","node":127,"targets":[124]},{"channel":"u01","coefficient":1,"kind":"side","node":11942,"targets":[125]},{"channel":"w02","coefficient":1,"kind":"side","node":11947,"targets":[125]},{"channel":"partner","coefficient":1,"kind":"side","node":126,"targets":[125]},{"channel":"u01","coefficient":1,"kind":"side","node":11943,"targets":[126]},{"channel":"w02","coefficient":1,"kind":"side","node":11946,"targets":[126]},{"channel":"partner","coefficient":1,"kind":"side","node":125,"targets":[126]},{"channel":"u01","coefficient":1,"kind":"side","node":11943,"targets":[127]},{"channel":"w02","coefficient":1,"kind":"side","node":11947,"targets":[127]},{"channel":"partner","coefficient":1,"kind":"side","node":124,"targets":[127]},{"channel":"face0","coefficient":1,"kind":"side","node":4431,"targets":[128,129,130,131]},{"channel":"face0","coefficient":1,"kind":"side","node":4704,"targets":[132,133,134,135]},{"channel":"edge12","coefficient":1,"kind":"side","node":10902,"targets":[128,131]},{"channel":"edge12","coefficient":1,"kind":"side","node":10878,"targets":[129,130]},{"channel":"edge12","coefficient":1,"kind":"side","node":10902,"targets":[132,135]},{"channel":"edge12","coefficient":1,"kind":"side","node":10878,"targets":[133,134]},{"channel":"u01","coefficient":1,"kind":"side","node":11948,"targets":[128]},{"channel":"w02","coefficient":1,"kind":"side","node":11952,"targets":[128]},{"channel":"partner","coefficient":1,"kind":"side","node":131,"targets":[128]},{"channel":"u01","coefficient":1,"kind":"side","node":11948,"targets":[129]},{"channel":"w02","coefficient":1,"kind":"side","node":11953,"targets":[129]},{"channel":"partner","coefficient":1,"kind":"side","node":130,"targets":[129]},{"channel":"u01","coefficient":1,"kind":"side","node":11949,"targets":[130]},{"channel":"w02","coefficient":1,"kind":"side","node":11952,"targets":[130]},{"channel":"partner","coefficient":1,"kind":"side","node":129,"targets":[130]},{"channel":"u01","coefficient":1,"kind":"side","node":11949,"targets":[131]},{"channel":"w02","coefficient":1,"kind":"side","node":11953,"targets":[131]},{"channel":"partner","coefficient":1,"kind":"side","node":128,"targets":[131]},{"channel":"u01","coefficient":1,"kind":"side","node":11950,"targets":[132]},{"channel":"w02","coefficient":1,"kind":"side","node":11954,"targets":[132]},{"channel":"partner","coefficient":1,"kind":"side","node":135,"targets":[132]},{"channel":"u01","coefficient":1,"kind":"side","node":11950,"targets":[133]},{"channel":"w02","coefficient":1,"kind":"side","node":11955,"targets":[133]},{"channel":"partner","coefficient":1,"kind":"side","node":134,"targets":[133]},{"channel":"u01","coefficient":1,"kind":"side","node":11951,"targets":[134]},{"channel":"w02","coefficient":1,"kind":"side","node":11954,"targets":[134]},{"channel":"partner","coefficient":1,"kind":"side","node":133,"targets":[134]},{"channel":"u01","coefficient":1,"kind":"side","node":11951,"targets":[135]},{"channel":"w02","coefficient":1,"kind":"side","node":11955,"targets":[135]},{"channel":"partner","coefficient":1,"kind":"side","node":132,"targets":[135]},{"channel":"face0","coefficient":1,"kind":"side","node":4347,"targets":[136,137,138,139]},{"channel":"face0","coefficient":1,"kind":"side","node":4620,"targets":[140,141,142,143]},{"channel":"edge12","coefficient":1,"kind":"side","node":10950,"targets":[136,139]},{"channel":"edge12","coefficient":1,"kind":"side","node":10926,"targets":[137,138]},{"channel":"edge12","coefficient":1,"kind":"side","node":10950,"targets":[140,143]},{"channel":"edge12","coefficient":1,"kind":"side","node":10926,"targets":[141,142]},{"channel":"u01","coefficient":1,"kind":"side","node":11956,"targets":[136]},{"channel":"w02","coefficient":1,"kind":"side","node":11960,"targets":[136]},{"channel":"partner","coefficient":1,"kind":"side","node":139,"targets":[136]},{"channel":"u01","coefficient":1,"kind":"side","node":11956,"targets":[137]},{"channel":"w02","coefficient":1,"kind":"side","node":11961,"targets":[137]},{"channel":"partner","coefficient":1,"kind":"side","node":138,"targets":[137]},{"channel":"u01","coefficient":1,"kind":"side","node":11957,"targets":[138]},{"channel":"w02","coefficient":1,"kind":"side","node":11960,"targets":[138]},{"channel":"partner","coefficient":1,"kind":"side","node":137,"targets":[138]},{"channel":"u01","coefficient":1,"kind":"side","node":11957,"targets":[139]},{"channel":"w02","coefficient":1,"kind":"side","node":11961,"targets":[139]},{"channel":"partner","coefficient":1,"kind":"side","node":136,"targets":[139]},{"channel":"u01","coefficient":1,"kind":"side","node":11958,"targets":[140]},{"channel":"w02","coefficient":1,"kind":"side","node":11962,"targets":[140]},{"channel":"partner","coefficient":1,"kind":"side","node":143,"targets":[140]},{"channel":"u01","coefficient":1,"kind":"side","node":11958,"targets":[141]},{"channel":"w02","coefficient":1,"kind":"side","node":11963,"targets":[141]},{"channel":"partner","coefficient":1,"kind":"side","node":142,"targets":[141]},{"channel":"u01","coefficient":1,"kind":"side","node":11959,"targets":[142]},{"channel":"w02","coefficient":1,"kind":"side","node":11962,"targets":[142]},{"channel":"partner","coefficient":1,"kind":"side","node":141,"targets":[142]},{"channel":"u01","coefficient":1,"kind":"side","node":11959,"targets":[143]},{"channel":"w02","coefficient":1,"kind":"side","node":11963,"targets":[143]},{"channel":"partner","coefficient":1,"kind":"side","node":140,"targets":[143]},{"channel":"face0","coefficient":1,"kind":"side","node":4465,"targets":[144,145,146,147]},{"channel":"face0","coefficient":1,"kind":"side","node":4738,"targets":[148,149,150,151]},{"channel":"edge12","coefficient":1,"kind":"side","node":10998,"targets":[144,147]},{"channel":"edge12","coefficient":1,"kind":"side","node":10974,"targets":[145,146]},{"channel":"edge12","coefficient":1,"kind":"side","node":10998,"targets":[148,151]},{"channel":"edge12","coefficient":1,"kind":"side","node":10974,"targets":[149,150]},{"channel":"u01","coefficient":1,"kind":"side","node":11964,"targets":[144]},{"channel":"w02","coefficient":1,"kind":"side","node":11968,"targets":[144]},{"channel":"partner","coefficient":1,"kind":"side","node":147,"targets":[144]},{"channel":"u01","coefficient":1,"kind":"side","node":11964,"targets":[145]},{"channel":"w02","coefficient":1,"kind":"side","node":11969,"targets":[145]},{"channel":"partner","coefficient":1,"kind":"side","node":146,"targets":[145]},{"channel":"u01","coefficient":1,"kind":"side","node":11965,"targets":[146]},{"channel":"w02","coefficient":1,"kind":"side","node":11968,"targets":[146]},{"channel":"partner","coefficient":1,"kind":"side","node":145,"targets":[146]},{"channel":"u01","coefficient":1,"kind":"side","node":11965,"targets":[147]},{"channel":"w02","coefficient":1,"kind":"side","node":11969,"targets":[147]},{"channel":"partner","coefficient":1,"kind":"side","node":144,"targets":[147]},{"channel":"u01","coefficient":1,"kind":"side","node":11966,"targets":[148]},{"channel":"w02","coefficient":1,"kind":"side","node":11970,"targets":[148]},{"channel":"partner","coefficient":1,"kind":"side","node":151,"targets":[148]},{"channel":"u01","coefficient":1,"kind":"side","node":11966,"targets":[149]},{"channel":"w02","coefficient":1,"kind":"side","node":11971,"targets":[149]},{"channel":"partner","coefficient":1,"kind":"side","node":150,"targets":[149]},{"channel":"u01","coefficient":1,"kind":"side","node":11967,"targets":[150]},{"channel":"w02","coefficient":1,"kind":"side","node":11970,"targets":[150]},{"channel":"partner","coefficient":1,"kind":"side","node":149,"targets":[150]},{"channel":"u01","coefficient":1,"kind":"side","node":11967,"targets":[151]},{"channel":"w02","coefficient":1,"kind":"side","node":11971,"targets":[151]},{"channel":"partner","coefficient":1,"kind":"side","node":148,"targets":[151]},{"channel":"face0","coefficient":1,"kind":"side","node":4427,"targets":[152,153,154,155]},{"channel":"face0","coefficient":1,"kind":"side","node":4700,"targets":[156,157,158,159]},{"channel":"edge12","coefficient":1,"kind":"side","node":11046,"targets":[152,155]},{"channel":"edge12","coefficient":1,"kind":"side","node":11022,"targets":[153,154]},{"channel":"edge12","coefficient":1,"kind":"side","node":11046,"targets":[156,159]},{"channel":"edge12","coefficient":1,"kind":"side","node":11022,"targets":[157,158]},{"channel":"u01","coefficient":1,"kind":"side","node":11972,"targets":[152]},{"channel":"w02","coefficient":1,"kind":"side","node":11976,"targets":[152]},{"channel":"partner","coefficient":1,"kind":"side","node":155,"targets":[152]},{"channel":"u01","coefficient":1,"kind":"side","node":11972,"targets":[153]},{"channel":"w02","coefficient":1,"kind":"side","node":11977,"targets":[153]},{"channel":"partner","coefficient":1,"kind":"side","node":154,"targets":[153]},{"channel":"u01","coefficient":1,"kind":"side","node":11973,"targets":[154]},{"channel":"w02","coefficient":1,"kind":"side","node":11976,"targets":[154]},{"channel":"partner","coefficient":1,"kind":"side","node":153,"targets":[154]},{"channel":"u01","coefficient":1,"kind":"side","node":11973,"targets":[155]},{"channel":"w02","coefficient":1,"kind":"side","node":11977,"targets":[155]},{"channel":"partner","coefficient":1,"kind":"side","node":152,"targets":[155]},{"channel":"u01","coefficient":1,"kind":"side","node":11974,"targets":[156]},{"channel":"w02","coefficient":1,"kind":"side","node":11978,"targets":[156]},{"channel":"partner","coefficient":1,"kind":"side","node":159,"targets":[156]},{"channel":"u01","coefficient":1,"kind":"side","node":11974,"targets":[157]},{"channel":"w02","coefficient":1,"kind":"side","node":11979,"targets":[157]},{"channel":"partner","coefficient":1,"kind":"side","node":158,"targets":[157]},{"channel":"u01","coefficient":1,"kind":"side","node":11975,"targets":[158]},{"channel":"w02","coefficient":1,"kind":"side","node":11978,"targets":[158]},{"channel":"partner","coefficient":1,"kind":"side","node":157,"targets":[158]},{"channel":"u01","coefficient":1,"kind":"side","node":11975,"targets":[159]},{"channel":"w02","coefficient":1,"kind":"side","node":11979,"targets":[159]},{"channel":"partner","coefficient":1,"kind":"side","node":156,"targets":[159]},{"channel":"face0","coefficient":1,"kind":"side","node":4464,"targets":[160,161,162,163]},{"channel":"face0","coefficient":1,"kind":"side","node":4737,"targets":[164,165,166,167]},{"channel":"edge12","coefficient":1,"kind":"side","node":11094,"targets":[160,163]},{"channel":"edge12","coefficient":1,"kind":"side","node":11070,"targets":[161,162]},{"channel":"edge12","coefficient":1,"kind":"side","node":11094,"targets":[164,167]},{"channel":"edge12","coefficient":1,"kind":"side","node":11070,"targets":[165,166]},{"channel":"u01","coefficient":1,"kind":"side","node":11980,"targets":[160]},{"channel":"w02","coefficient":1,"kind":"side","node":11984,"targets":[160]},{"channel":"partner","coefficient":1,"kind":"side","node":163,"targets":[160]},{"channel":"u01","coefficient":1,"kind":"side","node":11980,"targets":[161]},{"channel":"w02","coefficient":1,"kind":"side","node":11985,"targets":[161]},{"channel":"partner","coefficient":1,"kind":"side","node":162,"targets":[161]},{"channel":"u01","coefficient":1,"kind":"side","node":11981,"targets":[162]},{"channel":"w02","coefficient":1,"kind":"side","node":11984,"targets":[162]},{"channel":"partner","coefficient":1,"kind":"side","node":161,"targets":[162]},{"channel":"u01","coefficient":1,"kind":"side","node":11981,"targets":[163]},{"channel":"w02","coefficient":1,"kind":"side","node":11985,"targets":[163]},{"channel":"partner","coefficient":1,"kind":"side","node":160,"targets":[163]},{"channel":"u01","coefficient":1,"kind":"side","node":11982,"targets":[164]},{"channel":"w02","coefficient":1,"kind":"side","node":11986,"targets":[164]},{"channel":"partner","coefficient":1,"kind":"side","node":167,"targets":[164]},{"channel":"u01","coefficient":1,"kind":"side","node":11982,"targets":[165]},{"channel":"w02","coefficient":1,"kind":"side","node":11987,"targets":[165]},{"channel":"partner","coefficient":1,"kind":"side","node":166,"targets":[165]},{"channel":"u01","coefficient":1,"kind":"side","node":11983,"targets":[166]},{"channel":"w02","coefficient":1,"kind":"side","node":11986,"targets":[166]},{"channel":"partner","coefficient":1,"kind":"side","node":165,"targets":[166]},{"channel":"u01","coefficient":1,"kind":"side","node":11983,"targets":[167]},{"channel":"w02","coefficient":1,"kind":"side","node":11987,"targets":[167]},{"channel":"partner","coefficient":1,"kind":"side","node":164,"targets":[167]},{"channel":"face0","coefficient":1,"kind":"side","node":4387,"targets":[168,169,170,171]},{"channel":"face0","coefficient":1,"kind":"side","node":4660,"targets":[172,173,174,175]},{"channel":"edge12","coefficient":1,"kind":"side","node":11142,"targets":[168,171]},{"channel":"edge12","coefficient":1,"kind":"side","node":11118,"targets":[169,170]},{"channel":"edge12","coefficient":1,"kind":"side","node":11142,"targets":[172,175]},{"channel":"edge12","coefficient":1,"kind":"side","node":11118,"targets":[173,174]},{"channel":"u01","coefficient":1,"kind":"side","node":11988,"targets":[168]},{"channel":"w02","coefficient":1,"kind":"side","node":11992,"targets":[168]},{"channel":"partner","coefficient":1,"kind":"side","node":171,"targets":[168]},{"channel":"u01","coefficient":1,"kind":"side","node":11988,"targets":[169]},{"channel":"w02","coefficient":1,"kind":"side","node":11993,"targets":[169]},{"channel":"partner","coefficient":1,"kind":"side","node":170,"targets":[169]},{"channel":"u01","coefficient":1,"kind":"side","node":11989,"targets":[170]},{"channel":"w02","coefficient":1,"kind":"side","node":11992,"targets":[170]},{"channel":"partner","coefficient":1,"kind":"side","node":169,"targets":[170]},{"channel":"u01","coefficient":1,"kind":"side","node":11989,"targets":[171]},{"channel":"w02","coefficient":1,"kind":"side","node":11993,"targets":[171]},{"channel":"partner","coefficient":1,"kind":"side","node":168,"targets":[171]},{"channel":"u01","coefficient":1,"kind":"side","node":11990,"targets":[172]},{"channel":"w02","coefficient":1,"kind":"side","node":11994,"targets":[172]},{"channel":"partner","coefficient":1,"kind":"side","node":175,"targets":[172]},{"channel":"u01","coefficient":1,"kind":"side","node":11990,"targets":[173]},{"channel":"w02","coefficient":1,"kind":"side","node":11995,"targets":[173]},{"channel":"partner","coefficient":1,"kind":"side","node":174,"targets":[173]},{"channel":"u01","coefficient":1,"kind":"side","node":11991,"targets":[174]},{"channel":"w02","coefficient":1,"kind":"side","node":11994,"targets":[174]},{"channel":"partner","coefficient":1,"kind":"side","node":173,"targets":[174]},{"channel":"u01","coefficient":1,"kind":"side","node":11991,"targets":[175]},{"channel":"w02","coefficient":1,"kind":"side","node":11995,"targets":[175]},{"channel":"partner","coefficient":1,"kind":"side","node":172,"targets":[175]},{"channel":"face0","coefficient":1,"kind":"side","node":4450,"targets":[176,177,178,179]},{"channel":"face0","coefficient":1,"kind":"side","node":4723,"targets":[180,181,182,183]},{"channel":"edge12","coefficient":1,"kind":"side","node":11190,"targets":[176,179]},{"channel":"edge12","coefficient":1,"kind":"side","node":11166,"targets":[177,178]},{"channel":"edge12","coefficient":1,"kind":"side","node":11190,"targets":[180,183]},{"channel":"edge12","coefficient":1,"kind":"side","node":11166,"targets":[181,182]},{"channel":"u01","coefficient":1,"kind":"side","node":11996,"targets":[176]},{"channel":"w02","coefficient":1,"kind":"side","node":12000,"targets":[176]},{"channel":"partner","coefficient":1,"kind":"side","node":179,"targets":[176]},{"channel":"u01","coefficient":1,"kind":"side","node":11996,"targets":[177]},{"channel":"w02","coefficient":1,"kind":"side","node":12001,"targets":[177]},{"channel":"partner","coefficient":1,"kind":"side","node":178,"targets":[177]},{"channel":"u01","coefficient":1,"kind":"side","node":11997,"targets":[178]},{"channel":"w02","coefficient":1,"kind":"side","node":12000,"targets":[178]},{"channel":"partner","coefficient":1,"kind":"side","node":177,"targets":[178]},{"channel":"u01","coefficient":1,"kind":"side","node":11997,"targets":[179]},{"channel":"w02","coefficient":1,"kind":"side","node":12001,"targets":[179]},{"channel":"partner","coefficient":1,"kind":"side","node":176,"targets":[179]},{"channel":"u01","coefficient":1,"kind":"side","node":11998,"targets":[180]},{"channel":"w02","coefficient":1,"kind":"side","node":12002,"targets":[180]},{"channel":"partner","coefficient":1,"kind":"side","node":183,"targets":[180]},{"channel":"u01","coefficient":1,"kind":"side","node":11998,"targets":[181]},{"channel":"w02","coefficient":1,"kind":"side","node":12003,"targets":[181]},{"channel":"partner","coefficient":1,"kind":"side","node":182,"targets":[181]},{"channel":"u01","coefficient":1,"kind":"side","node":11999,"targets":[182]},{"channel":"w02","coefficient":1,"kind":"side","node":12002,"targets":[182]},{"channel":"partner","coefficient":1,"kind":"side","node":181,"targets":[182]},{"channel":"u01","coefficient":1,"kind":"side","node":11999,"targets":[183]},{"channel":"w02","coefficient":1,"kind":"side","node":12003,"targets":[183]},{"channel":"partner","coefficient":1,"kind":"side","node":180,"targets":[183]},{"channel":"face0","coefficient":1,"kind":"side","node":4428,"targets":[184,185,186,187]},{"channel":"face0","coefficient":1,"kind":"side","node":4701,"targets":[188,189,190,191]},{"channel":"edge12","coefficient":1,"kind":"side","node":11238,"targets":[184,187]},{"channel":"edge12","coefficient":1,"kind":"side","node":11214,"targets":[185,186]},{"channel":"edge12","coefficient":1,"kind":"side","node":11238,"targets":[188,191]},{"channel":"edge12","coefficient":1,"kind":"side","node":11214,"targets":[189,190]},{"channel":"u01","coefficient":1,"kind":"side","node":12004,"targets":[184]},{"channel":"w02","coefficient":1,"kind":"side","node":12008,"targets":[184]},{"channel":"partner","coefficient":1,"kind":"side","node":187,"targets":[184]},{"channel":"u01","coefficient":1,"kind":"side","node":12004,"targets":[185]},{"channel":"w02","coefficient":1,"kind":"side","node":12009,"targets":[185]},{"channel":"partner","coefficient":1,"kind":"side","node":186,"targets":[185]},{"channel":"u01","coefficient":1,"kind":"side","node":12005,"targets":[186]},{"channel":"w02","coefficient":1,"kind":"side","node":12008,"targets":[186]},{"channel":"partner","coefficient":1,"kind":"side","node":185,"targets":[186]},{"channel":"u01","coefficient":1,"kind":"side","node":12005,"targets":[187]},{"channel":"w02","coefficient":1,"kind":"side","node":12009,"targets":[187]},{"channel":"partner","coefficient":1,"kind":"side","node":184,"targets":[187]},{"channel":"u01","coefficient":1,"kind":"side","node":12006,"targets":[188]},{"channel":"w02","coefficient":1,"kind":"side","node":12010,"targets":[188]},{"channel":"partner","coefficient":1,"kind":"side","node":191,"targets":[188]},{"channel":"u01","coefficient":1,"kind":"side","node":12006,"targets":[189]},{"channel":"w02","coefficient":1,"kind":"side","node":12011,"targets":[189]},{"channel":"partner","coefficient":1,"kind":"side","node":190,"targets":[189]},{"channel":"u01","coefficient":1,"kind":"side","node":12007,"targets":[190]},{"channel":"w02","coefficient":1,"kind":"side","node":12010,"targets":[190]},{"channel":"partner","coefficient":1,"kind":"side","node":189,"targets":[190]},{"channel":"u01","coefficient":1,"kind":"side","node":12007,"targets":[191]},{"channel":"w02","coefficient":1,"kind":"side","node":12011,"targets":[191]},{"channel":"partner","coefficient":1,"kind":"side","node":188,"targets":[191]},{"channel":"face0","coefficient":1,"kind":"side","node":4472,"targets":[192,193,194,195]},{"channel":"face0","coefficient":1,"kind":"side","node":4745,"targets":[196,197,198,199]},{"channel":"edge12","coefficient":1,"kind":"side","node":11286,"targets":[192,195]},{"channel":"edge12","coefficient":1,"kind":"side","node":11262,"targets":[193,194]},{"channel":"edge12","coefficient":1,"kind":"side","node":11286,"targets":[196,199]},{"channel":"edge12","coefficient":1,"kind":"side","node":11262,"targets":[197,198]},{"channel":"u01","coefficient":1,"kind":"side","node":12012,"targets":[192]},{"channel":"w02","coefficient":1,"kind":"side","node":12016,"targets":[192]},{"channel":"partner","coefficient":1,"kind":"side","node":195,"targets":[192]},{"channel":"u01","coefficient":1,"kind":"side","node":12012,"targets":[193]},{"channel":"w02","coefficient":1,"kind":"side","node":12017,"targets":[193]},{"channel":"partner","coefficient":1,"kind":"side","node":194,"targets":[193]},{"channel":"u01","coefficient":1,"kind":"side","node":12013,"targets":[194]},{"channel":"w02","coefficient":1,"kind":"side","node":12016,"targets":[194]},{"channel":"partner","coefficient":1,"kind":"side","node":193,"targets":[194]},{"channel":"u01","coefficient":1,"kind":"side","node":12013,"targets":[195]},{"channel":"w02","coefficient":1,"kind":"side","node":12017,"targets":[195]},{"channel":"partner","coefficient":1,"kind":"side","node":192,"targets":[195]},{"channel":"u01","coefficient":1,"kind":"side","node":12014,"targets":[196]},{"channel":"w02","coefficient":1,"kind":"side","node":12018,"targets":[196]},{"channel":"partner","coefficient":1,"kind":"side","node":199,"targets":[196]},{"channel":"u01","coefficient":1,"kind":"side","node":12014,"targets":[197]},{"channel":"w02","coefficient":1,"kind":"side","node":12019,"targets":[197]},{"channel":"partner","coefficient":1,"kind":"side","node":198,"targets":[197]},{"channel":"u01","coefficient":1,"kind":"side","node":12015,"targets":[198]},{"channel":"w02","coefficient":1,"kind":"side","node":12018,"targets":[198]},{"channel":"partner","coefficient":1,"kind":"side","node":197,"targets":[198]},{"channel":"u01","coefficient":1,"kind":"side","node":12015,"targets":[199]},{"channel":"w02","coefficient":1,"kind":"side","node":12019,"targets":[199]},{"channel":"partner","coefficient":1,"kind":"side","node":196,"targets":[199]},{"channel":"face0","coefficient":1,"kind":"side","node":4451,"targets":[200,201,202,203]},{"channel":"face0","coefficient":1,"kind":"side","node":4724,"targets":[204,205,206,207]},{"channel":"edge12","coefficient":1,"kind":"side","node":11334,"targets":[200,203]},{"channel":"edge12","coefficient":1,"kind":"side","node":11310,"targets":[201,202]},{"channel":"edge12","coefficient":1,"kind":"side","node":11334,"targets":[204,207]},{"channel":"edge12","coefficient":1,"kind":"side","node":11310,"targets":[205,206]},{"channel":"u01","coefficient":1,"kind":"side","node":12020,"targets":[200]},{"channel":"w02","coefficient":1,"kind":"side","node":12024,"targets":[200]},{"channel":"partner","coefficient":1,"kind":"side","node":203,"targets":[200]},{"channel":"u01","coefficient":1,"kind":"side","node":12020,"targets":[201]},{"channel":"w02","coefficient":1,"kind":"side","node":12025,"targets":[201]},{"channel":"partner","coefficient":1,"kind":"side","node":202,"targets":[201]},{"channel":"u01","coefficient":1,"kind":"side","node":12021,"targets":[202]},{"channel":"w02","coefficient":1,"kind":"side","node":12024,"targets":[202]},{"channel":"partner","coefficient":1,"kind":"side","node":201,"targets":[202]},{"channel":"u01","coefficient":1,"kind":"side","node":12021,"targets":[203]},{"channel":"w02","coefficient":1,"kind":"side","node":12025,"targets":[203]},{"channel":"partner","coefficient":1,"kind":"side","node":200,"targets":[203]},{"channel":"u01","coefficient":1,"kind":"side","node":12022,"targets":[204]},{"channel":"w02","coefficient":1,"kind":"side","node":12026,"targets":[204]},{"channel":"partner","coefficient":1,"kind":"side","node":207,"targets":[204]},{"channel":"u01","coefficient":1,"kind":"side","node":12022,"targets":[205]},{"channel":"w02","coefficient":1,"kind":"side","node":12027,"targets":[205]},{"channel":"partner","coefficient":1,"kind":"side","node":206,"targets":[205]},{"channel":"u01","coefficient":1,"kind":"side","node":12023,"targets":[206]},{"channel":"w02","coefficient":1,"kind":"side","node":12026,"targets":[206]},{"channel":"partner","coefficient":1,"kind":"side","node":205,"targets":[206]},{"channel":"u01","coefficient":1,"kind":"side","node":12023,"targets":[207]},{"channel":"w02","coefficient":1,"kind":"side","node":12027,"targets":[207]},{"channel":"partner","coefficient":1,"kind":"side","node":204,"targets":[207]},{"channel":"face0","coefficient":1,"kind":"side","node":4446,"targets":[208,209,210,211]},{"channel":"face0","coefficient":1,"kind":"side","node":4719,"targets":[212,213,214,215]},{"channel":"edge12","coefficient":1,"kind":"side","node":11382,"targets":[208,211]},{"channel":"edge12","coefficient":1,"kind":"side","node":11358,"targets":[209,210]},{"channel":"edge12","coefficient":1,"kind":"side","node":11382,"targets":[212,215]},{"channel":"edge12","coefficient":1,"kind":"side","node":11358,"targets":[213,214]},{"channel":"u01","coefficient":1,"kind":"side","node":12028,"targets":[208]},{"channel":"w02","coefficient":1,"kind":"side","node":12032,"targets":[208]},{"channel":"partner","coefficient":1,"kind":"side","node":211,"targets":[208]},{"channel":"u01","coefficient":1,"kind":"side","node":12028,"targets":[209]},{"channel":"w02","coefficient":1,"kind":"side","node":12033,"targets":[209]},{"channel":"partner","coefficient":1,"kind":"side","node":210,"targets":[209]},{"channel":"u01","coefficient":1,"kind":"side","node":12029,"targets":[210]},{"channel":"w02","coefficient":1,"kind":"side","node":12032,"targets":[210]},{"channel":"partner","coefficient":1,"kind":"side","node":209,"targets":[210]},{"channel":"u01","coefficient":1,"kind":"side","node":12029,"targets":[211]},{"channel":"w02","coefficient":1,"kind":"side","node":12033,"targets":[211]},{"channel":"partner","coefficient":1,"kind":"side","node":208,"targets":[211]},{"channel":"u01","coefficient":1,"kind":"side","node":12030,"targets":[212]},{"channel":"w02","coefficient":1,"kind":"side","node":12034,"targets":[212]},{"channel":"partner","coefficient":1,"kind":"side","node":215,"targets":[212]},{"channel":"u01","coefficient":1,"kind":"side","node":12030,"targets":[213]},{"channel":"w02","coefficient":1,"kind":"side","node":12035,"targets":[213]},{"channel":"partner","coefficient":1,"kind":"side","node":214,"targets":[213]},{"channel":"u01","coefficient":1,"kind":"side","node":12031,"targets":[214]},{"channel":"w02","coefficient":1,"kind":"side","node":12034,"targets":[214]},{"channel":"partner","coefficient":1,"kind":"side","node":213,"targets":[214]},{"channel":"u01","coefficient":1,"kind":"side","node":12031,"targets":[215]},{"channel":"w02","coefficient":1,"kind":"side","node":12035,"targets":[215]},{"channel":"partner","coefficient":1,"kind":"side","node":212,"targets":[215]},{"channel":"face0","coefficient":1,"kind":"side","node":4444,"targets":[216,217,218,219]},{"channel":"face0","coefficient":1,"kind":"side","node":4717,"targets":[220,221,222,223]},{"channel":"edge12","coefficient":1,"kind":"side","node":11430,"targets":[216,219]},{"channel":"edge12","coefficient":1,"kind":"side","node":11406,"targets":[217,218]},{"channel":"edge12","coefficient":1,"kind":"side","node":11430,"targets":[220,223]},{"channel":"edge12","coefficient":1,"kind":"side","node":11406,"targets":[221,222]},{"channel":"u01","coefficient":1,"kind":"side","node":12036,"targets":[216]},{"channel":"w02","coefficient":1,"kind":"side","node":12040,"targets":[216]},{"channel":"partner","coefficient":1,"kind":"side","node":219,"targets":[216]},{"channel":"u01","coefficient":1,"kind":"side","node":12036,"targets":[217]},{"channel":"w02","coefficient":1,"kind":"side","node":12041,"targets":[217]},{"channel":"partner","coefficient":1,"kind":"side","node":218,"targets":[217]},{"channel":"u01","coefficient":1,"kind":"side","node":12037,"targets":[218]},{"channel":"w02","coefficient":1,"kind":"side","node":12040,"targets":[218]},{"channel":"partner","coefficient":1,"kind":"side","node":217,"targets":[218]},{"channel":"u01","coefficient":1,"kind":"side","node":12037,"targets":[219]},{"channel":"w02","coefficient":1,"kind":"side","node":12041,"targets":[219]},{"channel":"partner","coefficient":1,"kind":"side","node":216,"targets":[219]},{"channel":"u01","coefficient":1,"kind":"side","node":12038,"targets":[220]},{"channel":"w02","coefficient":1,"kind":"side","node":12042,"targets":[220]},{"channel":"partner","coefficient":1,"kind":"side","node":223,"targets":[220]},{"channel":"u01","coefficient":1,"kind":"side","node":12038,"targets":[221]},{"channel":"w02","coefficient":1,"kind":"side","node":12043,"targets":[221]},{"channel":"partner","coefficient":1,"kind":"side","node":222,"targets":[221]},{"channel":"u01","coefficient":1,"kind":"side","node":12039,"targets":[222]},{"channel":"w02","coefficient":1,"kind":"side","node":12042,"targets":[222]},{"channel":"partner","coefficient":1,"kind":"side","node":221,"targets":[222]},{"channel":"u01","coefficient":1,"kind":"side","node":12039,"targets":[223]},{"channel":"w02","coefficient":1,"kind":"side","node":12043,"targets":[223]},{"channel":"partner","coefficient":1,"kind":"side","node":220,"targets":[223]},{"channel":"face0","coefficient":1,"kind":"side","node":4443,"targets":[224,225,226,227]},{"channel":"face0","coefficient":1,"kind":"side","node":4716,"targets":[228,229,230,231]},{"channel":"edge12","coefficient":1,"kind":"side","node":11478,"targets":[224,227]},{"channel":"edge12","coefficient":1,"kind":"side","node":11454,"targets":[225,226]},{"channel":"edge12","coefficient":1,"kind":"side","node":11478,"targets":[228,231]},{"channel":"edge12","coefficient":1,"kind":"side","node":11454,"targets":[229,230]},{"channel":"u01","coefficient":1,"kind":"side","node":12044,"targets":[224]},{"channel":"w02","coefficient":1,"kind":"side","node":12048,"targets":[224]},{"channel":"partner","coefficient":1,"kind":"side","node":227,"targets":[224]},{"channel":"u01","coefficient":1,"kind":"side","node":12044,"targets":[225]},{"channel":"w02","coefficient":1,"kind":"side","node":12049,"targets":[225]},{"channel":"partner","coefficient":1,"kind":"side","node":226,"targets":[225]},{"channel":"u01","coefficient":1,"kind":"side","node":12045,"targets":[226]},{"channel":"w02","coefficient":1,"kind":"side","node":12048,"targets":[226]},{"channel":"partner","coefficient":1,"kind":"side","node":225,"targets":[226]},{"channel":"u01","coefficient":1,"kind":"side","node":12045,"targets":[227]},{"channel":"w02","coefficient":1,"kind":"side","node":12049,"targets":[227]},{"channel":"partner","coefficient":1,"kind":"side","node":224,"targets":[227]},{"channel":"u01","coefficient":1,"kind":"side","node":12046,"targets":[228]},{"channel":"w02","coefficient":1,"kind":"side","node":12050,"targets":[228]},{"channel":"partner","coefficient":1,"kind":"side","node":231,"targets":[228]},{"channel":"u01","coefficient":1,"kind":"side","node":12046,"targets":[229]},{"channel":"w02","coefficient":1,"kind":"side","node":12051,"targets":[229]},{"channel":"partner","coefficient":1,"kind":"side","node":230,"targets":[229]},{"channel":"u01","coefficient":1,"kind":"side","node":12047,"targets":[230]},{"channel":"w02","coefficient":1,"kind":"side","node":12050,"targets":[230]},{"channel":"partner","coefficient":1,"kind":"side","node":229,"targets":[230]},{"channel":"u01","coefficient":1,"kind":"side","node":12047,"targets":[231]},{"channel":"w02","coefficient":1,"kind":"side","node":12051,"targets":[231]},{"channel":"partner","coefficient":1,"kind":"side","node":228,"targets":[231]},{"channel":"face0","coefficient":1,"kind":"side","node":4323,"targets":[232,233,234,235]},{"channel":"face0","coefficient":1,"kind":"side","node":4596,"targets":[236,237,238,239]},{"channel":"edge12","coefficient":1,"kind":"side","node":11526,"targets":[232,235]},{"channel":"edge12","coefficient":1,"kind":"side","node":11502,"targets":[233,234]},{"channel":"edge12","coefficient":1,"kind":"side","node":11526,"targets":[236,239]},{"channel":"edge12","coefficient":1,"kind":"side","node":11502,"targets":[237,238]},{"channel":"u01","coefficient":1,"kind":"side","node":12052,"targets":[232]},{"channel":"w02","coefficient":1,"kind":"side","node":12056,"targets":[232]},{"channel":"partner","coefficient":1,"kind":"side","node":235,"targets":[232]},{"channel":"u01","coefficient":1,"kind":"side","node":12052,"targets":[233]},{"channel":"w02","coefficient":1,"kind":"side","node":12057,"targets":[233]},{"channel":"partner","coefficient":1,"kind":"side","node":234,"targets":[233]},{"channel":"u01","coefficient":1,"kind":"side","node":12053,"targets":[234]},{"channel":"w02","coefficient":1,"kind":"side","node":12056,"targets":[234]},{"channel":"partner","coefficient":1,"kind":"side","node":233,"targets":[234]},{"channel":"u01","coefficient":1,"kind":"side","node":12053,"targets":[235]},{"channel":"w02","coefficient":1,"kind":"side","node":12057,"targets":[235]},{"channel":"partner","coefficient":1,"kind":"side","node":232,"targets":[235]},{"channel":"u01","coefficient":1,"kind":"side","node":12054,"targets":[236]},{"channel":"w02","coefficient":1,"kind":"side","node":12058,"targets":[236]},{"channel":"partner","coefficient":1,"kind":"side","node":239,"targets":[236]},{"channel":"u01","coefficient":1,"kind":"side","node":12054,"targets":[237]},{"channel":"w02","coefficient":1,"kind":"side","node":12059,"targets":[237]},{"channel":"partner","coefficient":1,"kind":"side","node":238,"targets":[237]},{"channel":"u01","coefficient":1,"kind":"side","node":12055,"targets":[238]},{"channel":"w02","coefficient":1,"kind":"side","node":12058,"targets":[238]},{"channel":"partner","coefficient":1,"kind":"side","node":237,"targets":[238]},{"channel":"u01","coefficient":1,"kind":"side","node":12055,"targets":[239]},{"channel":"w02","coefficient":1,"kind":"side","node":12059,"targets":[239]},{"channel":"partner","coefficient":1,"kind":"side","node":236,"targets":[239]},{"channel":"face0","coefficient":1,"kind":"side","node":4408,"targets":[240,241,242,243]},{"channel":"face0","coefficient":1,"kind":"side","node":4681,"targets":[244,245,246,247]},{"channel":"edge12","coefficient":1,"kind":"side","node":11574,"targets":[240,243]},{"channel":"edge12","coefficient":1,"kind":"side","node":11550,"targets":[241,242]},{"channel":"edge12","coefficient":1,"kind":"side","node":11574,"targets":[244,247]},{"channel":"edge12","coefficient":1,"kind":"side","node":11550,"targets":[245,246]},{"channel":"u01","coefficient":1,"kind":"side","node":12060,"targets":[240]},{"channel":"w02","coefficient":1,"kind":"side","node":12064,"targets":[240]},{"channel":"partner","coefficient":1,"kind":"side","node":243,"targets":[240]},{"channel":"u01","coefficient":1,"kind":"side","node":12060,"targets":[241]},{"channel":"w02","coefficient":1,"kind":"side","node":12065,"targets":[241]},{"channel":"partner","coefficient":1,"kind":"side","node":242,"targets":[241]},{"channel":"u01","coefficient":1,"kind":"side","node":12061,"targets":[242]},{"channel":"w02","coefficient":1,"kind":"side","node":12064,"targets":[242]},{"channel":"partner","coefficient":1,"kind":"side","node":241,"targets":[242]},{"channel":"u01","coefficient":1,"kind":"side","node":12061,"targets":[243]},{"channel":"w02","coefficient":1,"kind":"side","node":12065,"targets":[243]},{"channel":"partner","coefficient":1,"kind":"side","node":240,"targets":[243]},{"channel":"u01","coefficient":1,"kind":"side","node":12062,"targets":[244]},{"channel":"w02","coefficient":1,"kind":"side","node":12066,"targets":[244]},{"channel":"partner","coefficient":1,"kind":"side","node":247,"targets":[244]},{"channel":"u01","coefficient":1,"kind":"side","node":12062,"targets":[245]},{"channel":"w02","coefficient":1,"kind":"side","node":12067,"targets":[245]},{"channel":"partner","coefficient":1,"kind":"side","node":246,"targets":[245]},{"channel":"u01","coefficient":1,"kind":"side","node":12063,"targets":[246]},{"channel":"w02","coefficient":1,"kind":"side","node":12066,"targets":[246]},{"channel":"partner","coefficient":1,"kind":"side","node":245,"targets":[246]},{"channel":"u01","coefficient":1,"kind":"side","node":12063,"targets":[247]},{"channel":"w02","coefficient":1,"kind":"side","node":12067,"targets":[247]},{"channel":"partner","coefficient":1,"kind":"side","node":244,"targets":[247]},{"channel":"face0","coefficient":1,"kind":"side","node":4417,"targets":[248,249,250,251]},{"channel":"face0","coefficient":1,"kind":"side","node":4690,"targets":[252,253,254,255]},{"channel":"edge12","coefficient":1,"kind":"side","node":11622,"targets":[248,251]},{"channel":"edge12","coefficient":1,"kind":"side","node":11598,"targets":[249,250]},{"channel":"edge12","coefficient":1,"kind":"side","node":11622,"targets":[252,255]},{"channel":"edge12","coefficient":1,"kind":"side","node":11598,"targets":[253,254]},{"channel":"u01","coefficient":1,"kind":"side","node":12068,"targets":[248]},{"channel":"w02","coefficient":1,"kind":"side","node":12072,"targets":[248]},{"channel":"partner","coefficient":1,"kind":"side","node":251,"targets":[248]},{"channel":"u01","coefficient":1,"kind":"side","node":12068,"targets":[249]},{"channel":"w02","coefficient":1,"kind":"side","node":12073,"targets":[249]},{"channel":"partner","coefficient":1,"kind":"side","node":250,"targets":[249]},{"channel":"u01","coefficient":1,"kind":"side","node":12069,"targets":[250]},{"channel":"w02","coefficient":1,"kind":"side","node":12072,"targets":[250]},{"channel":"partner","coefficient":1,"kind":"side","node":249,"targets":[250]},{"channel":"u01","coefficient":1,"kind":"side","node":12069,"targets":[251]},{"channel":"w02","coefficient":1,"kind":"side","node":12073,"targets":[251]},{"channel":"partner","coefficient":1,"kind":"side","node":248,"targets":[251]},{"channel":"u01","coefficient":1,"kind":"side","node":12070,"targets":[252]},{"channel":"w02","coefficient":1,"kind":"side","node":12074,"targets":[252]},{"channel":"partner","coefficient":1,"kind":"side","node":255,"targets":[252]},{"channel":"u01","coefficient":1,"kind":"side","node":12070,"targets":[253]},{"channel":"w02","coefficient":1,"kind":"side","node":12075,"targets":[253]},{"channel":"partner","coefficient":1,"kind":"side","node":254,"targets":[253]},{"channel":"u01","coefficient":1,"kind":"side","node":12071,"targets":[254]},{"channel":"w02","coefficient":1,"kind":"side","node":12074,"targets":[254]},{"channel":"partner","coefficient":1,"kind":"side","node":253,"targets":[254]},{"channel":"u01","coefficient":1,"kind":"side","node":12071,"targets":[255]},{"channel":"w02","coefficient":1,"kind":"side","node":12075,"targets":[255]},{"channel":"partner","coefficient":1,"kind":"side","node":252,"targets":[255]},{"channel":"face0","coefficient":1,"kind":"side","node":4437,"targets":[256,257,258,259]},{"channel":"face0","coefficient":1,"kind":"side","node":4710,"targets":[260,261,262,263]},{"channel":"edge12","coefficient":1,"kind":"side","node":11670,"targets":[256,259]},{"channel":"edge12","coefficient":1,"kind":"side","node":11646,"targets":[257,258]},{"channel":"edge12","coefficient":1,"kind":"side","node":11670,"targets":[260,263]},{"channel":"edge12","coefficient":1,"kind":"side","node":11646,"targets":[261,262]},{"channel":"u01","coefficient":1,"kind":"side","node":12076,"targets":[256]},{"channel":"w02","coefficient":1,"kind":"side","node":12080,"targets":[256]},{"channel":"partner","coefficient":1,"kind":"side","node":259,"targets":[256]},{"channel":"u01","coefficient":1,"kind":"side","node":12076,"targets":[257]},{"channel":"w02","coefficient":1,"kind":"side","node":12081,"targets":[257]},{"channel":"partner","coefficient":1,"kind":"side","node":258,"targets":[257]},{"channel":"u01","coefficient":1,"kind":"side","node":12077,"targets":[258]},{"channel":"w02","coefficient":1,"kind":"side","node":12080,"targets":[258]},{"channel":"partner","coefficient":1,"kind":"side","node":257,"targets":[258]},{"channel":"u01","coefficient":1,"kind":"side","node":12077,"targets":[259]},{"channel":"w02","coefficient":1,"kind":"side","node":12081,"targets":[259]},{"channel":"partner","coefficient":1,"kind":"side","node":256,"targets":[259]},{"channel":"u01","coefficient":1,"kind":"side","node":12078,"targets":[260]},{"channel":"w02","coefficient":1,"kind":"side","node":12082,"targets":[260]},{"channel":"partner","coefficient":1,"kind":"side","node":263,"targets":[260]},{"channel":"u01","coefficient":1,"kind":"side","node":12078,"targets":[261]},{"channel":"w02","coefficient":1,"kind":"side","node":12083,"targets":[261]},{"channel":"partner","coefficient":1,"kind":"side","node":262,"targets":[261]},{"channel":"u01","coefficient":1,"kind":"side","node":12079,"targets":[262]},{"channel":"w02","coefficient":1,"kind":"side","node":12082,"targets":[262]},{"channel":"partner","coefficient":1,"kind":"side","node":261,"targets":[262]},{"channel":"u01","coefficient":1,"kind":"side","node":12079,"targets":[263]},{"channel":"w02","coefficient":1,"kind":"side","node":12083,"targets":[263]},{"channel":"partner","coefficient":1,"kind":"side","node":260,"targets":[263]},{"channel":"face0","coefficient":1,"kind":"side","node":4423,"targets":[264,265,266,267]},{"channel":"face0","coefficient":1,"kind":"side","node":4696,"targets":[268,269,270,271]},{"channel":"edge12","coefficient":1,"kind":"side","node":11718,"targets":[264,267]},{"channel":"edge12","coefficient":1,"kind":"side","node":11694,"targets":[265,266]},{"channel":"edge12","coefficient":1,"kind":"side","node":11718,"targets":[268,271]},{"channel":"edge12","coefficient":1,"kind":"side","node":11694,"targets":[269,270]},{"channel":"u01","coefficient":1,"kind":"side","node":12084,"targets":[264]},{"channel":"w02","coefficient":1,"kind":"side","node":12088,"targets":[264]},{"channel":"partner","coefficient":1,"kind":"side","node":267,"targets":[264]},{"channel":"u01","coefficient":1,"kind":"side","node":12084,"targets":[265]},{"channel":"w02","coefficient":1,"kind":"side","node":12089,"targets":[265]},{"channel":"partner","coefficient":1,"kind":"side","node":266,"targets":[265]},{"channel":"u01","coefficient":1,"kind":"side","node":12085,"targets":[266]},{"channel":"w02","coefficient":1,"kind":"side","node":12088,"targets":[266]},{"channel":"partner","coefficient":1,"kind":"side","node":265,"targets":[266]},{"channel":"u01","coefficient":1,"kind":"side","node":12085,"targets":[267]},{"channel":"w02","coefficient":1,"kind":"side","node":12089,"targets":[267]},{"channel":"partner","coefficient":1,"kind":"side","node":264,"targets":[267]},{"channel":"u01","coefficient":1,"kind":"side","node":12086,"targets":[268]},{"channel":"w02","coefficient":1,"kind":"side","node":12090,"targets":[268]},{"channel":"partner","coefficient":1,"kind":"side","node":271,"targets":[268]},{"channel":"u01","coefficient":1,"kind":"side","node":12086,"targets":[269]},{"channel":"w02","coefficient":1,"kind":"side","node":12091,"targets":[269]},{"channel":"partner","coefficient":1,"kind":"side","node":270,"targets":[269]},{"channel":"u01","coefficient":1,"kind":"side","node":12087,"targets":[270]},{"channel":"w02","coefficient":1,"kind":"side","node":12090,"targets":[270]},{"channel":"partner","coefficient":1,"kind":"side","node":269,"targets":[270]},{"channel":"u01","coefficient":1,"kind":"side","node":12087,"targets":[271]},{"channel":"w02","coefficient":1,"kind":"side","node":12091,"targets":[271]},{"channel":"partner","coefficient":1,"kind":"side","node":268,"targets":[271]},{"channel":"face0","coefficient":1,"kind":"side","node":4418,"targets":[272,273,274,275]},{"channel":"face0","coefficient":1,"kind":"side","node":4691,"targets":[276,277,278,279]},{"channel":"edge12","coefficient":1,"kind":"side","node":11766,"targets":[272,275]},{"channel":"edge12","coefficient":1,"kind":"side","node":11742,"targets":[273,274]},{"channel":"edge12","coefficient":1,"kind":"side","node":11766,"targets":[276,279]},{"channel":"edge12","coefficient":1,"kind":"side","node":11742,"targets":[277,278]},{"channel":"u01","coefficient":1,"kind":"side","node":12092,"targets":[272]},{"channel":"w02","coefficient":1,"kind":"side","node":12096,"targets":[272]},{"channel":"partner","coefficient":1,"kind":"side","node":275,"targets":[272]},{"channel":"u01","coefficient":1,"kind":"side","node":12092,"targets":[273]},{"channel":"w02","coefficient":1,"kind":"side","node":12097,"targets":[273]},{"channel":"partner","coefficient":1,"kind":"side","node":274,"targets":[273]},{"channel":"u01","coefficient":1,"kind":"side","node":12093,"targets":[274]},{"channel":"w02","coefficient":1,"kind":"side","node":12096,"targets":[274]},{"channel":"partner","coefficient":1,"kind":"side","node":273,"targets":[274]},{"channel":"u01","coefficient":1,"kind":"side","node":12093,"targets":[275]},{"channel":"w02","coefficient":1,"kind":"side","node":12097,"targets":[275]},{"channel":"partner","coefficient":1,"kind":"side","node":272,"targets":[275]},{"channel":"u01","coefficient":1,"kind":"side","node":12094,"targets":[276]},{"channel":"w02","coefficient":1,"kind":"side","node":12098,"targets":[276]},{"channel":"partner","coefficient":1,"kind":"side","node":279,"targets":[276]},{"channel":"u01","coefficient":1,"kind":"side","node":12094,"targets":[277]},{"channel":"w02","coefficient":1,"kind":"side","node":12099,"targets":[277]},{"channel":"partner","coefficient":1,"kind":"side","node":278,"targets":[277]},{"channel":"u01","coefficient":1,"kind":"side","node":12095,"targets":[278]},{"channel":"w02","coefficient":1,"kind":"side","node":12098,"targets":[278]},{"channel":"partner","coefficient":1,"kind":"side","node":277,"targets":[278]},{"channel":"u01","coefficient":1,"kind":"side","node":12095,"targets":[279]},{"channel":"w02","coefficient":1,"kind":"side","node":12099,"targets":[279]},{"channel":"partner","coefficient":1,"kind":"side","node":276,"targets":[279]},{"channel":"face0","coefficient":1,"kind":"side","node":4248,"targets":[280,281,282,283]},{"channel":"face0","coefficient":1,"kind":"side","node":4521,"targets":[284,285,286,287]},{"channel":"edge12","coefficient":1,"kind":"side","node":11814,"targets":[280,283]},{"channel":"edge12","coefficient":1,"kind":"side","node":11790,"targets":[281,282]},{"channel":"edge12","coefficient":1,"kind":"side","node":11814,"targets":[284,287]},{"channel":"edge12","coefficient":1,"kind":"side","node":11790,"targets":[285,286]},{"channel":"u01","coefficient":1,"kind":"side","node":12100,"targets":[280]},{"channel":"w02","coefficient":1,"kind":"side","node":12104,"targets":[280]},{"channel":"partner","coefficient":1,"kind":"side","node":283,"targets":[280]},{"channel":"u01","coefficient":1,"kind":"side","node":12100,"targets":[281]},{"channel":"w02","coefficient":1,"kind":"side","node":12105,"targets":[281]},{"channel":"partner","coefficient":1,"kind":"side","node":282,"targets":[281]},{"channel":"u01","coefficient":1,"kind":"side","node":12101,"targets":[282]},{"channel":"w02","coefficient":1,"kind":"side","node":12104,"targets":[282]},{"channel":"partner","coefficient":1,"kind":"side","node":281,"targets":[282]},{"channel":"u01","coefficient":1,"kind":"side","node":12101,"targets":[283]},{"channel":"w02","coefficient":1,"kind":"side","node":12105,"targets":[283]},{"channel":"partner","coefficient":1,"kind":"side","node":280,"targets":[283]},{"channel":"u01","coefficient":1,"kind":"side","node":12102,"targets":[284]},{"channel":"w02","coefficient":1,"kind":"side","node":12106,"targets":[284]},{"channel":"partner","coefficient":1,"kind":"side","node":287,"targets":[284]},{"channel":"u01","coefficient":1,"kind":"side","node":12102,"targets":[285]},{"channel":"w02","coefficient":1,"kind":"side","node":12107,"targets":[285]},{"channel":"partner","coefficient":1,"kind":"side","node":286,"targets":[285]},{"channel":"u01","coefficient":1,"kind":"side","node":12103,"targets":[286]},{"channel":"w02","coefficient":1,"kind":"side","node":12106,"targets":[286]},{"channel":"partner","coefficient":1,"kind":"side","node":285,"targets":[286]},{"channel":"u01","coefficient":1,"kind":"side","node":12103,"targets":[287]},{"channel":"w02","coefficient":1,"kind":"side","node":12107,"targets":[287]},{"channel":"partner","coefficient":1,"kind":"side","node":284,"targets":[287]},{"channel":"face0","coefficient":1,"kind":"side","node":5012,"targets":[288,289,290,291]},{"channel":"face0","coefficient":1,"kind":"side","node":5285,"targets":[292,293,294,295]},{"channel":"edge12","coefficient":1,"kind":"side","node":10512,"targets":[288,291]},{"channel":"edge12","coefficient":1,"kind":"side","node":10488,"targets":[289,290]},{"channel":"edge12","coefficient":1,"kind":"side","node":10512,"targets":[292,295]},{"channel":"edge12","coefficient":1,"kind":"side","node":10488,"targets":[293,294]},{"channel":"u01","coefficient":1,"kind":"side","node":12108,"targets":[288]},{"channel":"w02","coefficient":1,"kind":"side","node":12112,"targets":[288]},{"channel":"partner","coefficient":1,"kind":"side","node":291,"targets":[288]},{"channel":"u01","coefficient":1,"kind":"side","node":12108,"targets":[289]},{"channel":"w02","coefficient":1,"kind":"side","node":12113,"targets":[289]},{"channel":"partner","coefficient":1,"kind":"side","node":290,"targets":[289]},{"channel":"u01","coefficient":1,"kind":"side","node":12109,"targets":[290]},{"channel":"w02","coefficient":1,"kind":"side","node":12112,"targets":[290]},{"channel":"partner","coefficient":1,"kind":"side","node":289,"targets":[290]},{"channel":"u01","coefficient":1,"kind":"side","node":12109,"targets":[291]},{"channel":"w02","coefficient":1,"kind":"side","node":12113,"targets":[291]},{"channel":"partner","coefficient":1,"kind":"side","node":288,"targets":[291]},{"channel":"u01","coefficient":1,"kind":"side","node":12110,"targets":[292]},{"channel":"w02","coefficient":1,"kind":"side","node":12114,"targets":[292]},{"channel":"partner","coefficient":1,"kind":"side","node":295,"targets":[292]},{"channel":"u01","coefficient":1,"kind":"side","node":12110,"targets":[293]},{"channel":"w02","coefficient":1,"kind":"side","node":12115,"targets":[293]},{"channel":"partner","coefficient":1,"kind":"side","node":294,"targets":[293]},{"channel":"u01","coefficient":1,"kind":"side","node":12111,"targets":[294]},{"channel":"w02","coefficient":1,"kind":"side","node":12114,"targets":[294]},{"channel":"partner","coefficient":1,"kind":"side","node":293,"targets":[294]},{"channel":"u01","coefficient":1,"kind":"side","node":12111,"targets":[295]},{"channel":"w02","coefficient":1,"kind":"side","node":12115,"targets":[295]},{"channel":"partner","coefficient":1,"kind":"side","node":292,"targets":[295]},{"channel":"face0","coefficient":1,"kind":"side","node":4965,"targets":[296,297,298,299]},{"channel":"face0","coefficient":1,"kind":"side","node":5238,"targets":[300,301,302,303]},{"channel":"edge12","coefficient":1,"kind":"side","node":10560,"targets":[296,299]},{"channel":"edge12","coefficient":1,"kind":"side","node":10536,"targets":[297,298]},{"channel":"edge12","coefficient":1,"kind":"side","node":10560,"targets":[300,303]},{"channel":"edge12","coefficient":1,"kind":"side","node":10536,"targets":[301,302]},{"channel":"u01","coefficient":1,"kind":"side","node":12116,"targets":[296]},{"channel":"w02","coefficient":1,"kind":"side","node":12120,"targets":[296]},{"channel":"partner","coefficient":1,"kind":"side","node":299,"targets":[296]},{"channel":"u01","coefficient":1,"kind":"side","node":12116,"targets":[297]},{"channel":"w02","coefficient":1,"kind":"side","node":12121,"targets":[297]},{"channel":"partner","coefficient":1,"kind":"side","node":298,"targets":[297]},{"channel":"u01","coefficient":1,"kind":"side","node":12117,"targets":[298]},{"channel":"w02","coefficient":1,"kind":"side","node":12120,"targets":[298]},{"channel":"partner","coefficient":1,"kind":"side","node":297,"targets":[298]},{"channel":"u01","coefficient":1,"kind":"side","node":12117,"targets":[299]},{"channel":"w02","coefficient":1,"kind":"side","node":12121,"targets":[299]},{"channel":"partner","coefficient":1,"kind":"side","node":296,"targets":[299]},{"channel":"u01","coefficient":1,"kind":"side","node":12118,"targets":[300]},{"channel":"w02","coefficient":1,"kind":"side","node":12122,"targets":[300]},{"channel":"partner","coefficient":1,"kind":"side","node":303,"targets":[300]},{"channel":"u01","coefficient":1,"kind":"side","node":12118,"targets":[301]},{"channel":"w02","coefficient":1,"kind":"side","node":12123,"targets":[301]},{"channel":"partner","coefficient":1,"kind":"side","node":302,"targets":[301]},{"channel":"u01","coefficient":1,"kind":"side","node":12119,"targets":[302]},{"channel":"w02","coefficient":1,"kind":"side","node":12122,"targets":[302]},{"channel":"partner","coefficient":1,"kind":"side","node":301,"targets":[302]},{"channel":"u01","coefficient":1,"kind":"side","node":12119,"targets":[303]},{"channel":"w02","coefficient":1,"kind":"side","node":12123,"targets":[303]},{"channel":"partner","coefficient":1,"kind":"side","node":300,"targets":[303]},{"channel":"face0","coefficient":1,"kind":"side","node":4959,"targets":[304,305,306,307]},{"channel":"face0","coefficient":1,"kind":"side","node":5232,"targets":[308,309,310,311]},{"channel":"edge12","coefficient":1,"kind":"side","node":10608,"targets":[304,307]},{"channel":"edge12","coefficient":1,"kind":"side","node":10584,"targets":[305,306]},{"channel":"edge12","coefficient":1,"kind":"side","node":10608,"targets":[308,311]},{"channel":"edge12","coefficient":1,"kind":"side","node":10584,"targets":[309,310]},{"channel":"u01","coefficient":1,"kind":"side","node":12124,"targets":[304]},{"channel":"w02","coefficient":1,"kind":"side","node":12128,"targets":[304]},{"channel":"partner","coefficient":1,"kind":"side","node":307,"targets":[304]},{"channel":"u01","coefficient":1,"kind":"side","node":12124,"targets":[305]},{"channel":"w02","coefficient":1,"kind":"side","node":12129,"targets":[305]},{"channel":"partner","coefficient":1,"kind":"side","node":306,"targets":[305]},{"channel":"u01","coefficient":1,"kind":"side","node":12125,"targets":[306]},{"channel":"w02","coefficient":1,"kind":"side","node":12128,"targets":[306]},{"channel":"partner","coefficient":1,"kind":"side","node":305,"targets":[306]},{"channel":"u01","coefficient":1,"kind":"side","node":12125,"targets":[307]},{"channel":"w02","coefficient":1,"kind":"side","node":12129,"targets":[307]},{"channel":"partner","coefficient":1,"kind":"side","node":304,"targets":[307]},{"channel":"u01","coefficient":1,"kind":"side","node":12126,"targets":[308]},{"channel":"w02","coefficient":1,"kind":"side","node":12130,"targets":[308]},{"channel":"partner","coefficient":1,"kind":"side","node":311,"targets":[308]},{"channel":"u01","coefficient":1,"kind":"side","node":12126,"targets":[309]},{"channel":"w02","coefficient":1,"kind":"side","node":12131,"targets":[309]},{"channel":"partner","coefficient":1,"kind":"side","node":310,"targets":[309]},{"channel":"u01","coefficient":1,"kind":"side","node":12127,"targets":[310]},{"channel":"w02","coefficient":1,"kind":"side","node":12130,"targets":[310]},{"channel":"partner","coefficient":1,"kind":"side","node":309,"targets":[310]},{"channel":"u01","coefficient":1,"kind":"side","node":12127,"targets":[311]},{"channel":"w02","coefficient":1,"kind":"side","node":12131,"targets":[311]},{"channel":"partner","coefficient":1,"kind":"side","node":308,"targets":[311]},{"channel":"face0","coefficient":1,"kind":"side","node":4985,"targets":[312,313,314,315]},{"channel":"face0","coefficient":1,"kind":"side","node":5258,"targets":[316,317,318,319]},{"channel":"edge12","coefficient":1,"kind":"side","node":10656,"targets":[312,315]},{"channel":"edge12","coefficient":1,"kind":"side","node":10632,"targets":[313,314]},{"channel":"edge12","coefficient":1,"kind":"side","node":10656,"targets":[316,319]},{"channel":"edge12","coefficient":1,"kind":"side","node":10632,"targets":[317,318]},{"channel":"u01","coefficient":1,"kind":"side","node":12132,"targets":[312]},{"channel":"w02","coefficient":1,"kind":"side","node":12136,"targets":[312]},{"channel":"partner","coefficient":1,"kind":"side","node":315,"targets":[312]},{"channel":"u01","coefficient":1,"kind":"side","node":12132,"targets":[313]},{"channel":"w02","coefficient":1,"kind":"side","node":12137,"targets":[313]},{"channel":"partner","coefficient":1,"kind":"side","node":314,"targets":[313]},{"channel":"u01","coefficient":1,"kind":"side","node":12133,"targets":[314]},{"channel":"w02","coefficient":1,"kind":"side","node":12136,"targets":[314]},{"channel":"partner","coefficient":1,"kind":"side","node":313,"targets":[314]},{"channel":"u01","coefficient":1,"kind":"side","node":12133,"targets":[315]},{"channel":"w02","coefficient":1,"kind":"side","node":12137,"targets":[315]},{"channel":"partner","coefficient":1,"kind":"side","node":312,"targets":[315]},{"channel":"u01","coefficient":1,"kind":"side","node":12134,"targets":[316]},{"channel":"w02","coefficient":1,"kind":"side","node":12138,"targets":[316]},{"channel":"partner","coefficient":1,"kind":"side","node":319,"targets":[316]},{"channel":"u01","coefficient":1,"kind":"side","node":12134,"targets":[317]},{"channel":"w02","coefficient":1,"kind":"side","node":12139,"targets":[317]},{"channel":"partner","coefficient":1,"kind":"side","node":318,"targets":[317]},{"channel":"u01","coefficient":1,"kind":"side","node":12135,"targets":[318]},{"channel":"w02","coefficient":1,"kind":"side","node":12138,"targets":[318]},{"channel":"partner","coefficient":1,"kind":"side","node":317,"targets":[318]},{"channel":"u01","coefficient":1,"kind":"side","node":12135,"targets":[319]},{"channel":"w02","coefficient":1,"kind":"side","node":12139,"targets":[319]},{"channel":"partner","coefficient":1,"kind":"side","node":316,"targets":[319]},{"channel":"face0","coefficient":1,"kind":"side","node":5014,"targets":[320,321,322,323]},{"channel":"face0","coefficient":1,"kind":"side","node":5287,"targets":[324,325,326,327]},{"channel":"edge12","coefficient":1,"kind":"side","node":10704,"targets":[320,323]},{"channel":"edge12","coefficient":1,"kind":"side","node":10680,"targets":[321,322]},{"channel":"edge12","coefficient":1,"kind":"side","node":10704,"targets":[324,327]},{"channel":"edge12","coefficient":1,"kind":"side","node":10680,"targets":[325,326]},{"channel":"u01","coefficient":1,"kind":"side","node":12140,"targets":[320]},{"channel":"w02","coefficient":1,"kind":"side","node":12144,"targets":[320]},{"channel":"partner","coefficient":1,"kind":"side","node":323,"targets":[320]},{"channel":"u01","coefficient":1,"kind":"side","node":12140,"targets":[321]},{"channel":"w02","coefficient":1,"kind":"side","node":12145,"targets":[321]},{"channel":"partner","coefficient":1,"kind":"side","node":322,"targets":[321]},{"channel":"u01","coefficient":1,"kind":"side","node":12141,"targets":[322]},{"channel":"w02","coefficient":1,"kind":"side","node":12144,"targets":[322]},{"channel":"partner","coefficient":1,"kind":"side","node":321,"targets":[322]},{"channel":"u01","coefficient":1,"kind":"side","node":12141,"targets":[323]},{"channel":"w02","coefficient":1,"kind":"side","node":12145,"targets":[323]},{"channel":"partner","coefficient":1,"kind":"side","node":320,"targets":[323]},{"channel":"u01","coefficient":1,"kind":"side","node":12142,"targets":[324]},{"channel":"w02","coefficient":1,"kind":"side","node":12146,"targets":[324]},{"channel":"partner","coefficient":1,"kind":"side","node":327,"targets":[324]},{"channel":"u01","coefficient":1,"kind":"side","node":12142,"targets":[325]},{"channel":"w02","coefficient":1,"kind":"side","node":12147,"targets":[325]},{"channel":"partner","coefficient":1,"kind":"side","node":326,"targets":[325]},{"channel":"u01","coefficient":1,"kind":"side","node":12143,"targets":[326]},{"channel":"w02","coefficient":1,"kind":"side","node":12146,"targets":[326]},{"channel":"partner","coefficient":1,"kind":"side","node":325,"targets":[326]},{"channel":"u01","coefficient":1,"kind":"side","node":12143,"targets":[327]},{"channel":"w02","coefficient":1,"kind":"side","node":12147,"targets":[327]},{"channel":"partner","coefficient":1,"kind":"side","node":324,"targets":[327]},{"channel":"face0","coefficient":1,"kind":"side","node":4984,"targets":[328,329,330,331]},{"channel":"face0","coefficient":1,"kind":"side","node":5257,"targets":[332,333,334,335]},{"channel":"edge12","coefficient":1,"kind":"side","node":10752,"targets":[328,331]},{"channel":"edge12","coefficient":1,"kind":"side","node":10728,"targets":[329,330]},{"channel":"edge12","coefficient":1,"kind":"side","node":10752,"targets":[332,335]},{"channel":"edge12","coefficient":1,"kind":"side","node":10728,"targets":[333,334]},{"channel":"u01","coefficient":1,"kind":"side","node":12148,"targets":[328]},{"channel":"w02","coefficient":1,"kind":"side","node":12152,"targets":[328]},{"channel":"partner","coefficient":1,"kind":"side","node":331,"targets":[328]},{"channel":"u01","coefficient":1,"kind":"side","node":12148,"targets":[329]},{"channel":"w02","coefficient":1,"kind":"side","node":12153,"targets":[329]},{"channel":"partner","coefficient":1,"kind":"side","node":330,"targets":[329]},{"channel":"u01","coefficient":1,"kind":"side","node":12149,"targets":[330]},{"channel":"w02","coefficient":1,"kind":"side","node":12152,"targets":[330]},{"channel":"partner","coefficient":1,"kind":"side","node":329,"targets":[330]},{"channel":"u01","coefficient":1,"kind":"side","node":12149,"targets":[331]},{"channel":"w02","coefficient":1,"kind":"side","node":12153,"targets":[331]},{"channel":"partner","coefficient":1,"kind":"side","node":328,"targets":[331]},{"channel":"u01","coefficient":1,"kind":"side","node":12150,"targets":[332]},{"channel":"w02","coefficient":1,"kind":"side","node":12154,"targets":[332]},{"channel":"partner","coefficient":1,"kind":"side","node":335,"targets":[332]},{"channel":"u01","coefficient":1,"kind":"side","node":12150,"targets":[333]},{"channel":"w02","coefficient":1,"kind":"side","node":12155,"targets":[333]},{"channel":"partner","coefficient":1,"kind":"side","node":334,"targets":[333]},{"channel":"u01","coefficient":1,"kind":"side","node":12151,"targets":[334]},{"channel":"w02","coefficient":1,"kind":"side","node":12154,"targets":[334]},{"channel":"partner","coefficient":1,"kind":"side","node":333,"targets":[334]},{"channel":"u01","coefficient":1,"kind":"side","node":12151,"targets":[335]},{"channel":"w02","coefficient":1,"kind":"side","node":12155,"targets":[335]},{"channel":"partner","coefficient":1,"kind":"side","node":332,"targets":[335]},{"channel":"face0","coefficient":1,"kind":"side","node":4926,"targets":[336,337,338,339]},{"channel":"face0","coefficient":1,"kind":"side","node":5199,"targets":[340,341,342,343]},{"channel":"edge12","coefficient":1,"kind":"side","node":10800,"targets":[336,339]},{"channel":"edge12","coefficient":1,"kind":"side","node":10776,"targets":[337,338]},{"channel":"edge12","coefficient":1,"kind":"side","node":10800,"targets":[340,343]},{"channel":"edge12","coefficient":1,"kind":"side","node":10776,"targets":[341,342]},{"channel":"u01","coefficient":1,"kind":"side","node":12156,"targets":[336]},{"channel":"w02","coefficient":1,"kind":"side","node":12160,"targets":[336]},{"channel":"partner","coefficient":1,"kind":"side","node":339,"targets":[336]},{"channel":"u01","coefficient":1,"kind":"side","node":12156,"targets":[337]},{"channel":"w02","coefficient":1,"kind":"side","node":12161,"targets":[337]},{"channel":"partner","coefficient":1,"kind":"side","node":338,"targets":[337]},{"channel":"u01","coefficient":1,"kind":"side","node":12157,"targets":[338]},{"channel":"w02","coefficient":1,"kind":"side","node":12160,"targets":[338]},{"channel":"partner","coefficient":1,"kind":"side","node":337,"targets":[338]},{"channel":"u01","coefficient":1,"kind":"side","node":12157,"targets":[339]},{"channel":"w02","coefficient":1,"kind":"side","node":12161,"targets":[339]},{"channel":"partner","coefficient":1,"kind":"side","node":336,"targets":[339]},{"channel":"u01","coefficient":1,"kind":"side","node":12158,"targets":[340]},{"channel":"w02","coefficient":1,"kind":"side","node":12162,"targets":[340]},{"channel":"partner","coefficient":1,"kind":"side","node":343,"targets":[340]},{"channel":"u01","coefficient":1,"kind":"side","node":12158,"targets":[341]},{"channel":"w02","coefficient":1,"kind":"side","node":12163,"targets":[341]},{"channel":"partner","coefficient":1,"kind":"side","node":342,"targets":[341]},{"channel":"u01","coefficient":1,"kind":"side","node":12159,"targets":[342]},{"channel":"w02","coefficient":1,"kind":"side","node":12162,"targets":[342]},{"channel":"partner","coefficient":1,"kind":"side","node":341,"targets":[342]},{"channel":"u01","coefficient":1,"kind":"side","node":12159,"targets":[343]},{"channel":"w02","coefficient":1,"kind":"side","node":12163,"targets":[343]},{"channel":"partner","coefficient":1,"kind":"side","node":340,"targets":[343]},{"channel":"face0","coefficient":1,"kind":"side","node":4948,"targets":[344,345,346,347]},{"channel":"face0","coefficient":1,"kind":"side","node":5221,"targets":[348,349,350,351]},{"channel":"edge12","coefficient":1,"kind":"side","node":10848,"targets":[344,347]},{"channel":"edge12","coefficient":1,"kind":"side","node":10824,"targets":[345,346]},{"channel":"edge12","coefficient":1,"kind":"side","node":10848,"targets":[348,351]},{"channel":"edge12","coefficient":1,"kind":"side","node":10824,"targets":[349,350]},{"channel":"u01","coefficient":1,"kind":"side","node":12164,"targets":[344]},{"channel":"w02","coefficient":1,"kind":"side","node":12168,"targets":[344]},{"channel":"partner","coefficient":1,"kind":"side","node":347,"targets":[344]},{"channel":"u01","coefficient":1,"kind":"side","node":12164,"targets":[345]},{"channel":"w02","coefficient":1,"kind":"side","node":12169,"targets":[345]},{"channel":"partner","coefficient":1,"kind":"side","node":346,"targets":[345]},{"channel":"u01","coefficient":1,"kind":"side","node":12165,"targets":[346]},{"channel":"w02","coefficient":1,"kind":"side","node":12168,"targets":[346]},{"channel":"partner","coefficient":1,"kind":"side","node":345,"targets":[346]},{"channel":"u01","coefficient":1,"kind":"side","node":12165,"targets":[347]},{"channel":"w02","coefficient":1,"kind":"side","node":12169,"targets":[347]},{"channel":"partner","coefficient":1,"kind":"side","node":344,"targets":[347]},{"channel":"u01","coefficient":1,"kind":"side","node":12166,"targets":[348]},{"channel":"w02","coefficient":1,"kind":"side","node":12170,"targets":[348]},{"channel":"partner","coefficient":1,"kind":"side","node":351,"targets":[348]},{"channel":"u01","coefficient":1,"kind":"side","node":12166,"targets":[349]},{"channel":"w02","coefficient":1,"kind":"side","node":12171,"targets":[349]},{"channel":"partner","coefficient":1,"kind":"side","node":350,"targets":[349]},{"channel":"u01","coefficient":1,"kind":"side","node":12167,"targets":[350]},{"channel":"w02","coefficient":1,"kind":"side","node":12170,"targets":[350]},{"channel":"partner","coefficient":1,"kind":"side","node":349,"targets":[350]},{"channel":"u01","coefficient":1,"kind":"side","node":12167,"targets":[351]},{"channel":"w02","coefficient":1,"kind":"side","node":12171,"targets":[351]},{"channel":"partner","coefficient":1,"kind":"side","node":348,"targets":[351]},{"channel":"face0","coefficient":1,"kind":"side","node":4977,"targets":[352,353,354,355]},{"channel":"face0","coefficient":1,"kind":"side","node":5250,"targets":[356,357,358,359]},{"channel":"edge12","coefficient":1,"kind":"side","node":10896,"targets":[352,355]},{"channel":"edge12","coefficient":1,"kind":"side","node":10872,"targets":[353,354]},{"channel":"edge12","coefficient":1,"kind":"side","node":10896,"targets":[356,359]},{"channel":"edge12","coefficient":1,"kind":"side","node":10872,"targets":[357,358]},{"channel":"u01","coefficient":1,"kind":"side","node":12172,"targets":[352]},{"channel":"w02","coefficient":1,"kind":"side","node":12176,"targets":[352]},{"channel":"partner","coefficient":1,"kind":"side","node":355,"targets":[352]},{"channel":"u01","coefficient":1,"kind":"side","node":12172,"targets":[353]},{"channel":"w02","coefficient":1,"kind":"side","node":12177,"targets":[353]},{"channel":"partner","coefficient":1,"kind":"side","node":354,"targets":[353]},{"channel":"u01","coefficient":1,"kind":"side","node":12173,"targets":[354]},{"channel":"w02","coefficient":1,"kind":"side","node":12176,"targets":[354]},{"channel":"partner","coefficient":1,"kind":"side","node":353,"targets":[354]},{"channel":"u01","coefficient":1,"kind":"side","node":12173,"targets":[355]},{"channel":"w02","coefficient":1,"kind":"side","node":12177,"targets":[355]},{"channel":"partner","coefficient":1,"kind":"side","node":352,"targets":[355]},{"channel":"u01","coefficient":1,"kind":"side","node":12174,"targets":[356]},{"channel":"w02","coefficient":1,"kind":"side","node":12178,"targets":[356]},{"channel":"partner","coefficient":1,"kind":"side","node":359,"targets":[356]},{"channel":"u01","coefficient":1,"kind":"side","node":12174,"targets":[357]},{"channel":"w02","coefficient":1,"kind":"side","node":12179,"targets":[357]},{"channel":"partner","coefficient":1,"kind":"side","node":358,"targets":[357]},{"channel":"u01","coefficient":1,"kind":"side","node":12175,"targets":[358]},{"channel":"w02","coefficient":1,"kind":"side","node":12178,"targets":[358]},{"channel":"partner","coefficient":1,"kind":"side","node":357,"targets":[358]},{"channel":"u01","coefficient":1,"kind":"side","node":12175,"targets":[359]},{"channel":"w02","coefficient":1,"kind":"side","node":12179,"targets":[359]},{"channel":"partner","coefficient":1,"kind":"side","node":356,"targets":[359]},{"channel":"face0","coefficient":1,"kind":"side","node":4893,"targets":[360,361,362,363]},{"channel":"face0","coefficient":1,"kind":"side","node":5166,"targets":[364,365,366,367]},{"channel":"edge12","coefficient":1,"kind":"side","node":10944,"targets":[360,363]},{"channel":"edge12","coefficient":1,"kind":"side","node":10920,"targets":[361,362]},{"channel":"edge12","coefficient":1,"kind":"side","node":10944,"targets":[364,367]},{"channel":"edge12","coefficient":1,"kind":"side","node":10920,"targets":[365,366]},{"channel":"u01","coefficient":1,"kind":"side","node":12180,"targets":[360]},{"channel":"w02","coefficient":1,"kind":"side","node":12184,"targets":[360]},{"channel":"partner","coefficient":1,"kind":"side","node":363,"targets":[360]},{"channel":"u01","coefficient":1,"kind":"side","node":12180,"targets":[361]},{"channel":"w02","coefficient":1,"kind":"side","node":12185,"targets":[361]},{"channel":"partner","coefficient":1,"kind":"side","node":362,"targets":[361]},{"channel":"u01","coefficient":1,"kind":"side","node":12181,"targets":[362]},{"channel":"w02","coefficient":1,"kind":"side","node":12184,"targets":[362]},{"channel":"partner","coefficient":1,"kind":"side","node":361,"targets":[362]},{"channel":"u01","coefficient":1,"kind":"side","node":12181,"targets":[363]},{"channel":"w02","coefficient":1,"kind":"side","node":12185,"targets":[363]},{"channel":"partner","coefficient":1,"kind":"side","node":360,"targets":[363]},{"channel":"u01","coefficient":1,"kind":"side","node":12182,"targets":[364]},{"channel":"w02","coefficient":1,"kind":"side","node":12186,"targets":[364]},{"channel":"partner","coefficient":1,"kind":"side","node":367,"targets":[364]},{"channel":"u01","coefficient":1,"kind":"side","node":12182,"targets":[365]},{"channel":"w02","coefficient":1,"kind":"side","node":12187,"targets":[365]},{"channel":"partner","coefficient":1,"kind":"side","node":366,"targets":[365]},{"channel":"u01","coefficient":1,"kind":"side","node":12183,"targets":[366]},{"channel":"w02","coefficient":1,"kind":"side","node":12186,"targets":[366]},{"channel":"partner","coefficient":1,"kind":"side","node":365,"targets":[366]},{"channel":"u01","coefficient":1,"kind":"side","node":12183,"targets":[367]},{"channel":"w02","coefficient":1,"kind":"side","node":12187,"targets":[367]},{"channel":"partner","coefficient":1,"kind":"side","node":364,"targets":[367]},{"channel":"face0","coefficient":1,"kind":"side","node":5011,"targets":[368,369,370,371]},{"channel":"face0","coefficient":1,"kind":"side","node":5284,"targets":[372,373,374,375]},{"channel":"edge12","coefficient":1,"kind":"side","node":10992,"targets":[368,371]},{"channel":"edge12","coefficient":1,"kind":"side","node":10968,"targets":[369,370]},{"channel":"edge12","coefficient":1,"kind":"side","node":10992,"targets":[372,375]},{"channel":"edge12","coefficient":1,"kind":"side","node":10968,"targets":[373,374]},{"channel":"u01","coefficient":1,"kind":"side","node":12188,"targets":[368]},{"channel":"w02","coefficient":1,"kind":"side","node":12192,"targets":[368]},{"channel":"partner","coefficient":1,"kind":"side","node":371,"targets":[368]},{"channel":"u01","coefficient":1,"kind":"side","node":12188,"targets":[369]},{"channel":"w02","coefficient":1,"kind":"side","node":12193,"targets":[369]},{"channel":"partner","coefficient":1,"kind":"side","node":370,"targets":[369]},{"channel":"u01","coefficient":1,"kind":"side","node":12189,"targets":[370]},{"channel":"w02","coefficient":1,"kind":"side","node":12192,"targets":[370]},{"channel":"partner","coefficient":1,"kind":"side","node":369,"targets":[370]},{"channel":"u01","coefficient":1,"kind":"side","node":12189,"targets":[371]},{"channel":"w02","coefficient":1,"kind":"side","node":12193,"targets":[371]},{"channel":"partner","coefficient":1,"kind":"side","node":368,"targets":[371]},{"channel":"u01","coefficient":1,"kind":"side","node":12190,"targets":[372]},{"channel":"w02","coefficient":1,"kind":"side","node":12194,"targets":[372]},{"channel":"partner","coefficient":1,"kind":"side","node":375,"targets":[372]},{"channel":"u01","coefficient":1,"kind":"side","node":12190,"targets":[373]},{"channel":"w02","coefficient":1,"kind":"side","node":12195,"targets":[373]},{"channel":"partner","coefficient":1,"kind":"side","node":374,"targets":[373]},{"channel":"u01","coefficient":1,"kind":"side","node":12191,"targets":[374]},{"channel":"w02","coefficient":1,"kind":"side","node":12194,"targets":[374]},{"channel":"partner","coefficient":1,"kind":"side","node":373,"targets":[374]},{"channel":"u01","coefficient":1,"kind":"side","node":12191,"targets":[375]},{"channel":"w02","coefficient":1,"kind":"side","node":12195,"targets":[375]},{"channel":"partner","coefficient":1,"kind":"side","node":372,"targets":[375]},{"channel":"face0","coefficient":1,"kind":"side","node":4973,"targets":[376,377,378,379]},{"channel":"face0","coefficient":1,"kind":"side","node":5246,"targets":[380,381,382,383]},{"channel":"edge12","coefficient":1,"kind":"side","node":11040,"targets":[376,379]},{"channel":"edge12","coefficient":1,"kind":"side","node":11016,"targets":[377,378]},{"channel":"edge12","coefficient":1,"kind":"side","node":11040,"targets":[380,383]},{"channel":"edge12","coefficient":1,"kind":"side","node":11016,"targets":[381,382]},{"channel":"u01","coefficient":1,"kind":"side","node":12196,"targets":[376]},{"channel":"w02","coefficient":1,"kind":"side","node":12200,"targets":[376]},{"channel":"partner","coefficient":1,"kind":"side","node":379,"targets":[376]},{"channel":"u01","coefficient":1,"kind":"side","node":12196,"targets":[377]},{"channel":"w02","coefficient":1,"kind":"side","node":12201,"targets":[377]},{"channel":"partner","coefficient":1,"kind":"side","node":378,"targets":[377]},{"channel":"u01","coefficient":1,"kind":"side","node":12197,"targets":[378]},{"channel":"w02","coefficient":1,"kind":"side","node":12200,"targets":[378]},{"channel":"partner","coefficient":1,"kind":"side","node":377,"targets":[378]},{"channel":"u01","coefficient":1,"kind":"side","node":12197,"targets":[379]},{"channel":"w02","coefficient":1,"kind":"side","node":12201,"targets":[379]},{"channel":"partner","coefficient":1,"kind":"side","node":376,"targets":[379]},{"channel":"u01","coefficient":1,"kind":"side","node":12198,"targets":[380]},{"channel":"w02","coefficient":1,"kind":"side","node":12202,"targets":[380]},{"channel":"partner","coefficient":1,"kind":"side","node":383,"targets":[380]},{"channel":"u01","coefficient":1,"kind":"side","node":12198,"targets":[381]},{"channel":"w02","coefficient":1,"kind":"side","node":12203,"targets":[381]},{"channel":"partner","coefficient":1,"kind":"side","node":382,"targets":[381]},{"channel":"u01","coefficient":1,"kind":"side","node":12199,"targets":[382]},{"channel":"w02","coefficient":1,"kind":"side","node":12202,"targets":[382]},{"channel":"partner","coefficient":1,"kind":"side","node":381,"targets":[382]},{"channel":"u01","coefficient":1,"kind":"side","node":12199,"targets":[383]},{"channel":"w02","coefficient":1,"kind":"side","node":12203,"targets":[383]},{"channel":"partner","coefficient":1,"kind":"side","node":380,"targets":[383]},{"channel":"face0","coefficient":1,"kind":"side","node":5010,"targets":[384,385,386,387]},{"channel":"face0","coefficient":1,"kind":"side","node":5283,"targets":[388,389,390,391]},{"channel":"edge12","coefficient":1,"kind":"side","node":11088,"targets":[384,387]},{"channel":"edge12","coefficient":1,"kind":"side","node":11064,"targets":[385,386]},{"channel":"edge12","coefficient":1,"kind":"side","node":11088,"targets":[388,391]},{"channel":"edge12","coefficient":1,"kind":"side","node":11064,"targets":[389,390]},{"channel":"u01","coefficient":1,"kind":"side","node":12204,"targets":[384]},{"channel":"w02","coefficient":1,"kind":"side","node":12208,"targets":[384]},{"channel":"partner","coefficient":1,"kind":"side","node":387,"targets":[384]},{"channel":"u01","coefficient":1,"kind":"side","node":12204,"targets":[385]},{"channel":"w02","coefficient":1,"kind":"side","node":12209,"targets":[385]},{"channel":"partner","coefficient":1,"kind":"side","node":386,"targets":[385]},{"channel":"u01","coefficient":1,"kind":"side","node":12205,"targets":[386]},{"channel":"w02","coefficient":1,"kind":"side","node":12208,"targets":[386]},{"channel":"partner","coefficient":1,"kind":"side","node":385,"targets":[386]},{"channel":"u01","coefficient":1,"kind":"side","node":12205,"targets":[387]},{"channel":"w02","coefficient":1,"kind":"side","node":12209,"targets":[387]},{"channel":"partner","coefficient":1,"kind":"side","node":384,"targets":[387]},{"channel":"u01","coefficient":1,"kind":"side","node":12206,"targets":[388]},{"channel":"w02","coefficient":1,"kind":"side","node":12210,"targets":[388]},{"channel":"partner","coefficient":1,"kind":"side","node":391,"targets":[388]},{"channel":"u01","coefficient":1,"kind":"side","node":12206,"targets":[389]},{"channel":"w02","coefficient":1,"kind":"side","node":12211,"targets":[389]},{"channel":"partner","coefficient":1,"kind":"side","node":390,"targets":[389]},{"channel":"u01","coefficient":1,"kind":"side","node":12207,"targets":[390]},{"channel":"w02","coefficient":1,"kind":"side","node":12210,"targets":[390]},{"channel":"partner","coefficient":1,"kind":"side","node":389,"targets":[390]},{"channel":"u01","coefficient":1,"kind":"side","node":12207,"targets":[391]},{"channel":"w02","coefficient":1,"kind":"side","node":12211,"targets":[391]},{"channel":"partner","coefficient":1,"kind":"side","node":388,"targets":[391]},{"channel":"face0","coefficient":1,"kind":"side","node":4933,"targets":[392,393,394,395]},{"channel":"face0","coefficient":1,"kind":"side","node":5206,"targets":[396,397,398,399]},{"channel":"edge12","coefficient":1,"kind":"side","node":11136,"targets":[392,395]},{"channel":"edge12","coefficient":1,"kind":"side","node":11112,"targets":[393,394]},{"channel":"edge12","coefficient":1,"kind":"side","node":11136,"targets":[396,399]},{"channel":"edge12","coefficient":1,"kind":"side","node":11112,"targets":[397,398]},{"channel":"u01","coefficient":1,"kind":"side","node":12212,"targets":[392]},{"channel":"w02","coefficient":1,"kind":"side","node":12216,"targets":[392]},{"channel":"partner","coefficient":1,"kind":"side","node":395,"targets":[392]},{"channel":"u01","coefficient":1,"kind":"side","node":12212,"targets":[393]},{"channel":"w02","coefficient":1,"kind":"side","node":12217,"targets":[393]},{"channel":"partner","coefficient":1,"kind":"side","node":394,"targets":[393]},{"channel":"u01","coefficient":1,"kind":"side","node":12213,"targets":[394]},{"channel":"w02","coefficient":1,"kind":"side","node":12216,"targets":[394]},{"channel":"partner","coefficient":1,"kind":"side","node":393,"targets":[394]},{"channel":"u01","coefficient":1,"kind":"side","node":12213,"targets":[395]},{"channel":"w02","coefficient":1,"kind":"side","node":12217,"targets":[395]},{"channel":"partner","coefficient":1,"kind":"side","node":392,"targets":[395]},{"channel":"u01","coefficient":1,"kind":"side","node":12214,"targets":[396]},{"channel":"w02","coefficient":1,"kind":"side","node":12218,"targets":[396]},{"channel":"partner","coefficient":1,"kind":"side","node":399,"targets":[396]},{"channel":"u01","coefficient":1,"kind":"side","node":12214,"targets":[397]},{"channel":"w02","coefficient":1,"kind":"side","node":12219,"targets":[397]},{"channel":"partner","coefficient":1,"kind":"side","node":398,"targets":[397]},{"channel":"u01","coefficient":1,"kind":"side","node":12215,"targets":[398]},{"channel":"w02","coefficient":1,"kind":"side","node":12218,"targets":[398]},{"channel":"partner","coefficient":1,"kind":"side","node":397,"targets":[398]},{"channel":"u01","coefficient":1,"kind":"side","node":12215,"targets":[399]},{"channel":"w02","coefficient":1,"kind":"side","node":12219,"targets":[399]},{"channel":"partner","coefficient":1,"kind":"side","node":396,"targets":[399]},{"channel":"face0","coefficient":1,"kind":"side","node":4996,"targets":[400,401,402,403]},{"channel":"face0","coefficient":1,"kind":"side","node":5269,"targets":[404,405,406,407]},{"channel":"edge12","coefficient":1,"kind":"side","node":11184,"targets":[400,403]},{"channel":"edge12","coefficient":1,"kind":"side","node":11160,"targets":[401,402]},{"channel":"edge12","coefficient":1,"kind":"side","node":11184,"targets":[404,407]},{"channel":"edge12","coefficient":1,"kind":"side","node":11160,"targets":[405,406]},{"channel":"u01","coefficient":1,"kind":"side","node":12220,"targets":[400]},{"channel":"w02","coefficient":1,"kind":"side","node":12224,"targets":[400]},{"channel":"partner","coefficient":1,"kind":"side","node":403,"targets":[400]},{"channel":"u01","coefficient":1,"kind":"side","node":12220,"targets":[401]},{"channel":"w02","coefficient":1,"kind":"side","node":12225,"targets":[401]},{"channel":"partner","coefficient":1,"kind":"side","node":402,"targets":[401]},{"channel":"u01","coefficient":1,"kind":"side","node":12221,"targets":[402]},{"channel":"w02","coefficient":1,"kind":"side","node":12224,"targets":[402]},{"channel":"partner","coefficient":1,"kind":"side","node":401,"targets":[402]},{"channel":"u01","coefficient":1,"kind":"side","node":12221,"targets":[403]},{"channel":"w02","coefficient":1,"kind":"side","node":12225,"targets":[403]},{"channel":"partner","coefficient":1,"kind":"side","node":400,"targets":[403]},{"channel":"u01","coefficient":1,"kind":"side","node":12222,"targets":[404]},{"channel":"w02","coefficient":1,"kind":"side","node":12226,"targets":[404]},{"channel":"partner","coefficient":1,"kind":"side","node":407,"targets":[404]},{"channel":"u01","coefficient":1,"kind":"side","node":12222,"targets":[405]},{"channel":"w02","coefficient":1,"kind":"side","node":12227,"targets":[405]},{"channel":"partner","coefficient":1,"kind":"side","node":406,"targets":[405]},{"channel":"u01","coefficient":1,"kind":"side","node":12223,"targets":[406]},{"channel":"w02","coefficient":1,"kind":"side","node":12226,"targets":[406]},{"channel":"partner","coefficient":1,"kind":"side","node":405,"targets":[406]},{"channel":"u01","coefficient":1,"kind":"side","node":12223,"targets":[407]},{"channel":"w02","coefficient":1,"kind":"side","node":12227,"targets":[407]},{"channel":"partner","coefficient":1,"kind":"side","node":404,"targets":[407]},{"channel":"face0","coefficient":1,"kind":"side","node":4974,"targets":[408,409,410,411]},{"channel":"face0","coefficient":1,"kind":"side","node":5247,"targets":[412,413,414,415]},{"channel":"edge12","coefficient":1,"kind":"side","node":11232,"targets":[408,411]},{"channel":"edge12","coefficient":1,"kind":"side","node":11208,"targets":[409,410]},{"channel":"edge12","coefficient":1,"kind":"side","node":11232,"targets":[412,415]},{"channel":"edge12","coefficient":1,"kind":"side","node":11208,"targets":[413,414]},{"channel":"u01","coefficient":1,"kind":"side","node":12228,"targets":[408]},{"channel":"w02","coefficient":1,"kind":"side","node":12232,"targets":[408]},{"channel":"partner","coefficient":1,"kind":"side","node":411,"targets":[408]},{"channel":"u01","coefficient":1,"kind":"side","node":12228,"targets":[409]},{"channel":"w02","coefficient":1,"kind":"side","node":12233,"targets":[409]},{"channel":"partner","coefficient":1,"kind":"side","node":410,"targets":[409]},{"channel":"u01","coefficient":1,"kind":"side","node":12229,"targets":[410]},{"channel":"w02","coefficient":1,"kind":"side","node":12232,"targets":[410]},{"channel":"partner","coefficient":1,"kind":"side","node":409,"targets":[410]},{"channel":"u01","coefficient":1,"kind":"side","node":12229,"targets":[411]},{"channel":"w02","coefficient":1,"kind":"side","node":12233,"targets":[411]},{"channel":"partner","coefficient":1,"kind":"side","node":408,"targets":[411]},{"channel":"u01","coefficient":1,"kind":"side","node":12230,"targets":[412]},{"channel":"w02","coefficient":1,"kind":"side","node":12234,"targets":[412]},{"channel":"partner","coefficient":1,"kind":"side","node":415,"targets":[412]},{"channel":"u01","coefficient":1,"kind":"side","node":12230,"targets":[413]},{"channel":"w02","coefficient":1,"kind":"side","node":12235,"targets":[413]},{"channel":"partner","coefficient":1,"kind":"side","node":414,"targets":[413]},{"channel":"u01","coefficient":1,"kind":"side","node":12231,"targets":[414]},{"channel":"w02","coefficient":1,"kind":"side","node":12234,"targets":[414]},{"channel":"partner","coefficient":1,"kind":"side","node":413,"targets":[414]},{"channel":"u01","coefficient":1,"kind":"side","node":12231,"targets":[415]},{"channel":"w02","coefficient":1,"kind":"side","node":12235,"targets":[415]},{"channel":"partner","coefficient":1,"kind":"side","node":412,"targets":[415]},{"channel":"face0","coefficient":1,"kind":"side","node":5018,"targets":[416,417,418,419]},{"channel":"face0","coefficient":1,"kind":"side","node":5291,"targets":[420,421,422,423]},{"channel":"edge12","coefficient":1,"kind":"side","node":11280,"targets":[416,419]},{"channel":"edge12","coefficient":1,"kind":"side","node":11256,"targets":[417,418]},{"channel":"edge12","coefficient":1,"kind":"side","node":11280,"targets":[420,423]},{"channel":"edge12","coefficient":1,"kind":"side","node":11256,"targets":[421,422]},{"channel":"u01","coefficient":1,"kind":"side","node":12236,"targets":[416]},{"channel":"w02","coefficient":1,"kind":"side","node":12240,"targets":[416]},{"channel":"partner","coefficient":1,"kind":"side","node":419,"targets":[416]},{"channel":"u01","coefficient":1,"kind":"side","node":12236,"targets":[417]},{"channel":"w02","coefficient":1,"kind":"side","node":12241,"targets":[417]},{"channel":"partner","coefficient":1,"kind":"side","node":418,"targets":[417]},{"channel":"u01","coefficient":1,"kind":"side","node":12237,"targets":[418]},{"channel":"w02","coefficient":1,"kind":"side","node":12240,"targets":[418]},{"channel":"partner","coefficient":1,"kind":"side","node":417,"targets":[418]},{"channel":"u01","coefficient":1,"kind":"side","node":12237,"targets":[419]},{"channel":"w02","coefficient":1,"kind":"side","node":12241,"targets":[419]},{"channel":"partner","coefficient":1,"kind":"side","node":416,"targets":[419]},{"channel":"u01","coefficient":1,"kind":"side","node":12238,"targets":[420]},{"channel":"w02","coefficient":1,"kind":"side","node":12242,"targets":[420]},{"channel":"partner","coefficient":1,"kind":"side","node":423,"targets":[420]},{"channel":"u01","coefficient":1,"kind":"side","node":12238,"targets":[421]},{"channel":"w02","coefficient":1,"kind":"side","node":12243,"targets":[421]},{"channel":"partner","coefficient":1,"kind":"side","node":422,"targets":[421]},{"channel":"u01","coefficient":1,"kind":"side","node":12239,"targets":[422]},{"channel":"w02","coefficient":1,"kind":"side","node":12242,"targets":[422]},{"channel":"partner","coefficient":1,"kind":"side","node":421,"targets":[422]},{"channel":"u01","coefficient":1,"kind":"side","node":12239,"targets":[423]},{"channel":"w02","coefficient":1,"kind":"side","node":12243,"targets":[423]},{"channel":"partner","coefficient":1,"kind":"side","node":420,"targets":[423]},{"channel":"face0","coefficient":1,"kind":"side","node":4997,"targets":[424,425,426,427]},{"channel":"face0","coefficient":1,"kind":"side","node":5270,"targets":[428,429,430,431]},{"channel":"edge12","coefficient":1,"kind":"side","node":11328,"targets":[424,427]},{"channel":"edge12","coefficient":1,"kind":"side","node":11304,"targets":[425,426]},{"channel":"edge12","coefficient":1,"kind":"side","node":11328,"targets":[428,431]},{"channel":"edge12","coefficient":1,"kind":"side","node":11304,"targets":[429,430]},{"channel":"u01","coefficient":1,"kind":"side","node":12244,"targets":[424]},{"channel":"w02","coefficient":1,"kind":"side","node":12248,"targets":[424]},{"channel":"partner","coefficient":1,"kind":"side","node":427,"targets":[424]},{"channel":"u01","coefficient":1,"kind":"side","node":12244,"targets":[425]},{"channel":"w02","coefficient":1,"kind":"side","node":12249,"targets":[425]},{"channel":"partner","coefficient":1,"kind":"side","node":426,"targets":[425]},{"channel":"u01","coefficient":1,"kind":"side","node":12245,"targets":[426]},{"channel":"w02","coefficient":1,"kind":"side","node":12248,"targets":[426]},{"channel":"partner","coefficient":1,"kind":"side","node":425,"targets":[426]},{"channel":"u01","coefficient":1,"kind":"side","node":12245,"targets":[427]},{"channel":"w02","coefficient":1,"kind":"side","node":12249,"targets":[427]},{"channel":"partner","coefficient":1,"kind":"side","node":424,"targets":[427]},{"channel":"u01","coefficient":1,"kind":"side","node":12246,"targets":[428]},{"channel":"w02","coefficient":1,"kind":"side","node":12250,"targets":[428]},{"channel":"partner","coefficient":1,"kind":"side","node":431,"targets":[428]},{"channel":"u01","coefficient":1,"kind":"side","node":12246,"targets":[429]},{"channel":"w02","coefficient":1,"kind":"side","node":12251,"targets":[429]},{"channel":"partner","coefficient":1,"kind":"side","node":430,"targets":[429]},{"channel":"u01","coefficient":1,"kind":"side","node":12247,"targets":[430]},{"channel":"w02","coefficient":1,"kind":"side","node":12250,"targets":[430]},{"channel":"partner","coefficient":1,"kind":"side","node":429,"targets":[430]},{"channel":"u01","coefficient":1,"kind":"side","node":12247,"targets":[431]},{"channel":"w02","coefficient":1,"kind":"side","node":12251,"targets":[431]},{"channel":"partner","coefficient":1,"kind":"side","node":428,"targets":[431]},{"channel":"face0","coefficient":1,"kind":"side","node":4992,"targets":[432,433,434,435]},{"channel":"face0","coefficient":1,"kind":"side","node":5265,"targets":[436,437,438,439]},{"channel":"edge12","coefficient":1,"kind":"side","node":11376,"targets":[432,435]},{"channel":"edge12","coefficient":1,"kind":"side","node":11352,"targets":[433,434]},{"channel":"edge12","coefficient":1,"kind":"side","node":11376,"targets":[436,439]},{"channel":"edge12","coefficient":1,"kind":"side","node":11352,"targets":[437,438]},{"channel":"u01","coefficient":1,"kind":"side","node":12252,"targets":[432]},{"channel":"w02","coefficient":1,"kind":"side","node":12256,"targets":[432]},{"channel":"partner","coefficient":1,"kind":"side","node":435,"targets":[432]},{"channel":"u01","coefficient":1,"kind":"side","node":12252,"targets":[433]},{"channel":"w02","coefficient":1,"kind":"side","node":12257,"targets":[433]},{"channel":"partner","coefficient":1,"kind":"side","node":434,"targets":[433]},{"channel":"u01","coefficient":1,"kind":"side","node":12253,"targets":[434]},{"channel":"w02","coefficient":1,"kind":"side","node":12256,"targets":[434]},{"channel":"partner","coefficient":1,"kind":"side","node":433,"targets":[434]},{"channel":"u01","coefficient":1,"kind":"side","node":12253,"targets":[435]},{"channel":"w02","coefficient":1,"kind":"side","node":12257,"targets":[435]},{"channel":"partner","coefficient":1,"kind":"side","node":432,"targets":[435]},{"channel":"u01","coefficient":1,"kind":"side","node":12254,"targets":[436]},{"channel":"w02","coefficient":1,"kind":"side","node":12258,"targets":[436]},{"channel":"partner","coefficient":1,"kind":"side","node":439,"targets":[436]},{"channel":"u01","coefficient":1,"kind":"side","node":12254,"targets":[437]},{"channel":"w02","coefficient":1,"kind":"side","node":12259,"targets":[437]},{"channel":"partner","coefficient":1,"kind":"side","node":438,"targets":[437]},{"channel":"u01","coefficient":1,"kind":"side","node":12255,"targets":[438]},{"channel":"w02","coefficient":1,"kind":"side","node":12258,"targets":[438]},{"channel":"partner","coefficient":1,"kind":"side","node":437,"targets":[438]},{"channel":"u01","coefficient":1,"kind":"side","node":12255,"targets":[439]},{"channel":"w02","coefficient":1,"kind":"side","node":12259,"targets":[439]},{"channel":"partner","coefficient":1,"kind":"side","node":436,"targets":[439]},{"channel":"face0","coefficient":1,"kind":"side","node":4990,"targets":[440,441,442,443]},{"channel":"face0","coefficient":1,"kind":"side","node":5263,"targets":[444,445,446,447]},{"channel":"edge12","coefficient":1,"kind":"side","node":11424,"targets":[440,443]},{"channel":"edge12","coefficient":1,"kind":"side","node":11400,"targets":[441,442]},{"channel":"edge12","coefficient":1,"kind":"side","node":11424,"targets":[444,447]},{"channel":"edge12","coefficient":1,"kind":"side","node":11400,"targets":[445,446]},{"channel":"u01","coefficient":1,"kind":"side","node":12260,"targets":[440]},{"channel":"w02","coefficient":1,"kind":"side","node":12264,"targets":[440]},{"channel":"partner","coefficient":1,"kind":"side","node":443,"targets":[440]},{"channel":"u01","coefficient":1,"kind":"side","node":12260,"targets":[441]},{"channel":"w02","coefficient":1,"kind":"side","node":12265,"targets":[441]},{"channel":"partner","coefficient":1,"kind":"side","node":442,"targets":[441]},{"channel":"u01","coefficient":1,"kind":"side","node":12261,"targets":[442]},{"channel":"w02","coefficient":1,"kind":"side","node":12264,"targets":[442]},{"channel":"partner","coefficient":1,"kind":"side","node":441,"targets":[442]},{"channel":"u01","coefficient":1,"kind":"side","node":12261,"targets":[443]},{"channel":"w02","coefficient":1,"kind":"side","node":12265,"targets":[443]},{"channel":"partner","coefficient":1,"kind":"side","node":440,"targets":[443]},{"channel":"u01","coefficient":1,"kind":"side","node":12262,"targets":[444]},{"channel":"w02","coefficient":1,"kind":"side","node":12266,"targets":[444]},{"channel":"partner","coefficient":1,"kind":"side","node":447,"targets":[444]},{"channel":"u01","coefficient":1,"kind":"side","node":12262,"targets":[445]},{"channel":"w02","coefficient":1,"kind":"side","node":12267,"targets":[445]},{"channel":"partner","coefficient":1,"kind":"side","node":446,"targets":[445]},{"channel":"u01","coefficient":1,"kind":"side","node":12263,"targets":[446]},{"channel":"w02","coefficient":1,"kind":"side","node":12266,"targets":[446]},{"channel":"partner","coefficient":1,"kind":"side","node":445,"targets":[446]},{"channel":"u01","coefficient":1,"kind":"side","node":12263,"targets":[447]},{"channel":"w02","coefficient":1,"kind":"side","node":12267,"targets":[447]},{"channel":"partner","coefficient":1,"kind":"side","node":444,"targets":[447]},{"channel":"face0","coefficient":1,"kind":"side","node":4989,"targets":[448,449,450,451]},{"channel":"face0","coefficient":1,"kind":"side","node":5262,"targets":[452,453,454,455]},{"channel":"edge12","coefficient":1,"kind":"side","node":11472,"targets":[448,451]},{"channel":"edge12","coefficient":1,"kind":"side","node":11448,"targets":[449,450]},{"channel":"edge12","coefficient":1,"kind":"side","node":11472,"targets":[452,455]},{"channel":"edge12","coefficient":1,"kind":"side","node":11448,"targets":[453,454]},{"channel":"u01","coefficient":1,"kind":"side","node":12268,"targets":[448]},{"channel":"w02","coefficient":1,"kind":"side","node":12272,"targets":[448]},{"channel":"partner","coefficient":1,"kind":"side","node":451,"targets":[448]},{"channel":"u01","coefficient":1,"kind":"side","node":12268,"targets":[449]},{"channel":"w02","coefficient":1,"kind":"side","node":12273,"targets":[449]},{"channel":"partner","coefficient":1,"kind":"side","node":450,"targets":[449]},{"channel":"u01","coefficient":1,"kind":"side","node":12269,"targets":[450]},{"channel":"w02","coefficient":1,"kind":"side","node":12272,"targets":[450]},{"channel":"partner","coefficient":1,"kind":"side","node":449,"targets":[450]},{"channel":"u01","coefficient":1,"kind":"side","node":12269,"targets":[451]},{"channel":"w02","coefficient":1,"kind":"side","node":12273,"targets":[451]},{"channel":"partner","coefficient":1,"kind":"side","node":448,"targets":[451]},{"channel":"u01","coefficient":1,"kind":"side","node":12270,"targets":[452]},{"channel":"w02","coefficient":1,"kind":"side","node":12274,"targets":[452]},{"channel":"partner","coefficient":1,"kind":"side","node":455,"targets":[452]},{"channel":"u01","coefficient":1,"kind":"side","node":12270,"targets":[453]},{"channel":"w02","coefficient":1,"kind":"side","node":12275,"targets":[453]},{"channel":"partner","coefficient":1,"kind":"side","node":454,"targets":[453]},{"channel":"u01","coefficient":1,"kind":"side","node":12271,"targets":[454]},{"channel":"w02","coefficient":1,"kind":"side","node":12274,"targets":[454]},{"channel":"partner","coefficient":1,"kind":"side","node":453,"targets":[454]},{"channel":"u01","coefficient":1,"kind":"side","node":12271,"targets":[455]},{"channel":"w02","coefficient":1,"kind":"side","node":12275,"targets":[455]},{"channel":"partner","coefficient":1,"kind":"side","node":452,"targets":[455]},{"channel":"face0","coefficient":1,"kind":"side","node":4869,"targets":[456,457,458,459]},{"channel":"face0","coefficient":1,"kind":"side","node":5142,"targets":[460,461,462,463]},{"channel":"edge12","coefficient":1,"kind":"side","node":11520,"targets":[456,459]},{"channel":"edge12","coefficient":1,"kind":"side","node":11496,"targets":[457,458]},{"channel":"edge12","coefficient":1,"kind":"side","node":11520,"targets":[460,463]},{"channel":"edge12","coefficient":1,"kind":"side","node":11496,"targets":[461,462]},{"channel":"u01","coefficient":1,"kind":"side","node":12276,"targets":[456]},{"channel":"w02","coefficient":1,"kind":"side","node":12280,"targets":[456]},{"channel":"partner","coefficient":1,"kind":"side","node":459,"targets":[456]},{"channel":"u01","coefficient":1,"kind":"side","node":12276,"targets":[457]},{"channel":"w02","coefficient":1,"kind":"side","node":12281,"targets":[457]},{"channel":"partner","coefficient":1,"kind":"side","node":458,"targets":[457]},{"channel":"u01","coefficient":1,"kind":"side","node":12277,"targets":[458]},{"channel":"w02","coefficient":1,"kind":"side","node":12280,"targets":[458]},{"channel":"partner","coefficient":1,"kind":"side","node":457,"targets":[458]},{"channel":"u01","coefficient":1,"kind":"side","node":12277,"targets":[459]},{"channel":"w02","coefficient":1,"kind":"side","node":12281,"targets":[459]},{"channel":"partner","coefficient":1,"kind":"side","node":456,"targets":[459]},{"channel":"u01","coefficient":1,"kind":"side","node":12278,"targets":[460]},{"channel":"w02","coefficient":1,"kind":"side","node":12282,"targets":[460]},{"channel":"partner","coefficient":1,"kind":"side","node":463,"targets":[460]},{"channel":"u01","coefficient":1,"kind":"side","node":12278,"targets":[461]},{"channel":"w02","coefficient":1,"kind":"side","node":12283,"targets":[461]},{"channel":"partner","coefficient":1,"kind":"side","node":462,"targets":[461]},{"channel":"u01","coefficient":1,"kind":"side","node":12279,"targets":[462]},{"channel":"w02","coefficient":1,"kind":"side","node":12282,"targets":[462]},{"channel":"partner","coefficient":1,"kind":"side","node":461,"targets":[462]},{"channel":"u01","coefficient":1,"kind":"side","node":12279,"targets":[463]},{"channel":"w02","coefficient":1,"kind":"side","node":12283,"targets":[463]},{"channel":"partner","coefficient":1,"kind":"side","node":460,"targets":[463]},{"channel":"face0","coefficient":1,"kind":"side","node":4954,"targets":[464,465,466,467]},{"channel":"face0","coefficient":1,"kind":"side","node":5227,"targets":[468,469,470,471]},{"channel":"edge12","coefficient":1,"kind":"side","node":11568,"targets":[464,467]},{"channel":"edge12","coefficient":1,"kind":"side","node":11544,"targets":[465,466]},{"channel":"edge12","coefficient":1,"kind":"side","node":11568,"targets":[468,471]},{"channel":"edge12","coefficient":1,"kind":"side","node":11544,"targets":[469,470]},{"channel":"u01","coefficient":1,"kind":"side","node":12284,"targets":[464]},{"channel":"w02","coefficient":1,"kind":"side","node":12288,"targets":[464]},{"channel":"partner","coefficient":1,"kind":"side","node":467,"targets":[464]},{"channel":"u01","coefficient":1,"kind":"side","node":12284,"targets":[465]},{"channel":"w02","coefficient":1,"kind":"side","node":12289,"targets":[465]},{"channel":"partner","coefficient":1,"kind":"side","node":466,"targets":[465]},{"channel":"u01","coefficient":1,"kind":"side","node":12285,"targets":[466]},{"channel":"w02","coefficient":1,"kind":"side","node":12288,"targets":[466]},{"channel":"partner","coefficient":1,"kind":"side","node":465,"targets":[466]},{"channel":"u01","coefficient":1,"kind":"side","node":12285,"targets":[467]},{"channel":"w02","coefficient":1,"kind":"side","node":12289,"targets":[467]},{"channel":"partner","coefficient":1,"kind":"side","node":464,"targets":[467]},{"channel":"u01","coefficient":1,"kind":"side","node":12286,"targets":[468]},{"channel":"w02","coefficient":1,"kind":"side","node":12290,"targets":[468]},{"channel":"partner","coefficient":1,"kind":"side","node":471,"targets":[468]},{"channel":"u01","coefficient":1,"kind":"side","node":12286,"targets":[469]},{"channel":"w02","coefficient":1,"kind":"side","node":12291,"targets":[469]},{"channel":"partner","coefficient":1,"kind":"side","node":470,"targets":[469]},{"channel":"u01","coefficient":1,"kind":"side","node":12287,"targets":[470]},{"channel":"w02","coefficient":1,"kind":"side","node":12290,"targets":[470]},{"channel":"partner","coefficient":1,"kind":"side","node":469,"targets":[470]},{"channel":"u01","coefficient":1,"kind":"side","node":12287,"targets":[471]},{"channel":"w02","coefficient":1,"kind":"side","node":12291,"targets":[471]},{"channel":"partner","coefficient":1,"kind":"side","node":468,"targets":[471]},{"channel":"face0","coefficient":1,"kind":"side","node":4963,"targets":[472,473,474,475]},{"channel":"face0","coefficient":1,"kind":"side","node":5236,"targets":[476,477,478,479]},{"channel":"edge12","coefficient":1,"kind":"side","node":11616,"targets":[472,475]},{"channel":"edge12","coefficient":1,"kind":"side","node":11592,"targets":[473,474]},{"channel":"edge12","coefficient":1,"kind":"side","node":11616,"targets":[476,479]},{"channel":"edge12","coefficient":1,"kind":"side","node":11592,"targets":[477,478]},{"channel":"u01","coefficient":1,"kind":"side","node":12292,"targets":[472]},{"channel":"w02","coefficient":1,"kind":"side","node":12296,"targets":[472]},{"channel":"partner","coefficient":1,"kind":"side","node":475,"targets":[472]},{"channel":"u01","coefficient":1,"kind":"side","node":12292,"targets":[473]},{"channel":"w02","coefficient":1,"kind":"side","node":12297,"targets":[473]},{"channel":"partner","coefficient":1,"kind":"side","node":474,"targets":[473]},{"channel":"u01","coefficient":1,"kind":"side","node":12293,"targets":[474]},{"channel":"w02","coefficient":1,"kind":"side","node":12296,"targets":[474]},{"channel":"partner","coefficient":1,"kind":"side","node":473,"targets":[474]},{"channel":"u01","coefficient":1,"kind":"side","node":12293,"targets":[475]},{"channel":"w02","coefficient":1,"kind":"side","node":12297,"targets":[475]},{"channel":"partner","coefficient":1,"kind":"side","node":472,"targets":[475]},{"channel":"u01","coefficient":1,"kind":"side","node":12294,"targets":[476]},{"channel":"w02","coefficient":1,"kind":"side","node":12298,"targets":[476]},{"channel":"partner","coefficient":1,"kind":"side","node":479,"targets":[476]},{"channel":"u01","coefficient":1,"kind":"side","node":12294,"targets":[477]},{"channel":"w02","coefficient":1,"kind":"side","node":12299,"targets":[477]},{"channel":"partner","coefficient":1,"kind":"side","node":478,"targets":[477]},{"channel":"u01","coefficient":1,"kind":"side","node":12295,"targets":[478]},{"channel":"w02","coefficient":1,"kind":"side","node":12298,"targets":[478]},{"channel":"partner","coefficient":1,"kind":"side","node":477,"targets":[478]},{"channel":"u01","coefficient":1,"kind":"side","node":12295,"targets":[479]},{"channel":"w02","coefficient":1,"kind":"side","node":12299,"targets":[479]},{"channel":"partner","coefficient":1,"kind":"side","node":476,"targets":[479]},{"channel":"face0","coefficient":1,"kind":"side","node":4983,"targets":[480,481,482,483]},{"channel":"face0","coefficient":1,"kind":"side","node":5256,"targets":[484,485,486,487]},{"channel":"edge12","coefficient":1,"kind":"side","node":11664,"targets":[480,483]},{"channel":"edge12","coefficient":1,"kind":"side","node":11640,"targets":[481,482]},{"channel":"edge12","coefficient":1,"kind":"side","node":11664,"targets":[484,487]},{"channel":"edge12","coefficient":1,"kind":"side","node":11640,"targets":[485,486]},{"channel":"u01","coefficient":1,"kind":"side","node":12300,"targets":[480]},{"channel":"w02","coefficient":1,"kind":"side","node":12304,"targets":[480]},{"channel":"partner","coefficient":1,"kind":"side","node":483,"targets":[480]},{"channel":"u01","coefficient":1,"kind":"side","node":12300,"targets":[481]},{"channel":"w02","coefficient":1,"kind":"side","node":12305,"targets":[481]},{"channel":"partner","coefficient":1,"kind":"side","node":482,"targets":[481]},{"channel":"u01","coefficient":1,"kind":"side","node":12301,"targets":[482]},{"channel":"w02","coefficient":1,"kind":"side","node":12304,"targets":[482]},{"channel":"partner","coefficient":1,"kind":"side","node":481,"targets":[482]},{"channel":"u01","coefficient":1,"kind":"side","node":12301,"targets":[483]},{"channel":"w02","coefficient":1,"kind":"side","node":12305,"targets":[483]},{"channel":"partner","coefficient":1,"kind":"side","node":480,"targets":[483]},{"channel":"u01","coefficient":1,"kind":"side","node":12302,"targets":[484]},{"channel":"w02","coefficient":1,"kind":"side","node":12306,"targets":[484]},{"channel":"partner","coefficient":1,"kind":"side","node":487,"targets":[484]},{"channel":"u01","coefficient":1,"kind":"side","node":12302,"targets":[485]},{"channel":"w02","coefficient":1,"kind":"side","node":12307,"targets":[485]},{"channel":"partner","coefficient":1,"kind":"side","node":486,"targets":[485]},{"channel":"u01","coefficient":1,"kind":"side","node":12303,"targets":[486]},{"channel":"w02","coefficient":1,"kind":"side","node":12306,"targets":[486]},{"channel":"partner","coefficient":1,"kind":"side","node":485,"targets":[486]},{"channel":"u01","coefficient":1,"kind":"side","node":12303,"targets":[487]},{"channel":"w02","coefficient":1,"kind":"side","node":12307,"targets":[487]},{"channel":"partner","coefficient":1,"kind":"side","node":484,"targets":[487]},{"channel":"face0","coefficient":1,"kind":"side","node":4969,"targets":[488,489,490,491]},{"channel":"face0","coefficient":1,"kind":"side","node":5242,"targets":[492,493,494,495]},{"channel":"edge12","coefficient":1,"kind":"side","node":11712,"targets":[488,491]},{"channel":"edge12","coefficient":1,"kind":"side","node":11688,"targets":[489,490]},{"channel":"edge12","coefficient":1,"kind":"side","node":11712,"targets":[492,495]},{"channel":"edge12","coefficient":1,"kind":"side","node":11688,"targets":[493,494]},{"channel":"u01","coefficient":1,"kind":"side","node":12308,"targets":[488]},{"channel":"w02","coefficient":1,"kind":"side","node":12312,"targets":[488]},{"channel":"partner","coefficient":1,"kind":"side","node":491,"targets":[488]},{"channel":"u01","coefficient":1,"kind":"side","node":12308,"targets":[489]},{"channel":"w02","coefficient":1,"kind":"side","node":12313,"targets":[489]},{"channel":"partner","coefficient":1,"kind":"side","node":490,"targets":[489]},{"channel":"u01","coefficient":1,"kind":"side","node":12309,"targets":[490]},{"channel":"w02","coefficient":1,"kind":"side","node":12312,"targets":[490]},{"channel":"partner","coefficient":1,"kind":"side","node":489,"targets":[490]},{"channel":"u01","coefficient":1,"kind":"side","node":12309,"targets":[491]},{"channel":"w02","coefficient":1,"kind":"side","node":12313,"targets":[491]},{"channel":"partner","coefficient":1,"kind":"side","node":488,"targets":[491]},{"channel":"u01","coefficient":1,"kind":"side","node":12310,"targets":[492]},{"channel":"w02","coefficient":1,"kind":"side","node":12314,"targets":[492]},{"channel":"partner","coefficient":1,"kind":"side","node":495,"targets":[492]},{"channel":"u01","coefficient":1,"kind":"side","node":12310,"targets":[493]},{"channel":"w02","coefficient":1,"kind":"side","node":12315,"targets":[493]},{"channel":"partner","coefficient":1,"kind":"side","node":494,"targets":[493]},{"channel":"u01","coefficient":1,"kind":"side","node":12311,"targets":[494]},{"channel":"w02","coefficient":1,"kind":"side","node":12314,"targets":[494]},{"channel":"partner","coefficient":1,"kind":"side","node":493,"targets":[494]},{"channel":"u01","coefficient":1,"kind":"side","node":12311,"targets":[495]},{"channel":"w02","coefficient":1,"kind":"side","node":12315,"targets":[495]},{"channel":"partner","coefficient":1,"kind":"side","node":492,"targets":[495]},{"channel":"face0","coefficient":1,"kind":"side","node":4964,"targets":[496,497,498,499]},{"channel":"face0","coefficient":1,"kind":"side","node":5237,"targets":[500,501,502,503]},{"channel":"edge12","coefficient":1,"kind":"side","node":11760,"targets":[496,499]},{"channel":"edge12","coefficient":1,"kind":"side","node":11736,"targets":[497,498]},{"channel":"edge12","coefficient":1,"kind":"side","node":11760,"targets":[500,503]},{"channel":"edge12","coefficient":1,"kind":"side","node":11736,"targets":[501,502]},{"channel":"u01","coefficient":1,"kind":"side","node":12316,"targets":[496]},{"channel":"w02","coefficient":1,"kind":"side","node":12320,"targets":[496]},{"channel":"partner","coefficient":1,"kind":"side","node":499,"targets":[496]},{"channel":"u01","coefficient":1,"kind":"side","node":12316,"targets":[497]},{"channel":"w02","coefficient":1,"kind":"side","node":12321,"targets":[497]},{"channel":"partner","coefficient":1,"kind":"side","node":498,"targets":[497]},{"channel":"u01","coefficient":1,"kind":"side","node":12317,"targets":[498]},{"channel":"w02","coefficient":1,"kind":"side","node":12320,"targets":[498]},{"channel":"partner","coefficient":1,"kind":"side","node":497,"targets":[498]},{"channel":"u01","coefficient":1,"kind":"side","node":12317,"targets":[499]},{"channel":"w02","coefficient":1,"kind":"side","node":12321,"targets":[499]},{"channel":"partner","coefficient":1,"kind":"side","node":496,"targets":[499]},{"channel":"u01","coefficient":1,"kind":"side","node":12318,"targets":[500]},{"channel":"w02","coefficient":1,"kind":"side","node":12322,"targets":[500]},{"channel":"partner","coefficient":1,"kind":"side","node":503,"targets":[500]},{"channel":"u01","coefficient":1,"kind":"side","node":12318,"targets":[501]},{"channel":"w02","coefficient":1,"kind":"side","node":12323,"targets":[501]},{"channel":"partner","coefficient":1,"kind":"side","node":502,"targets":[501]},{"channel":"u01","coefficient":1,"kind":"side","node":12319,"targets":[502]},{"channel":"w02","coefficient":1,"kind":"side","node":12322,"targets":[502]},{"channel":"partner","coefficient":1,"kind":"side","node":501,"targets":[502]},{"channel":"u01","coefficient":1,"kind":"side","node":12319,"targets":[503]},{"channel":"w02","coefficient":1,"kind":"side","node":12323,"targets":[503]},{"channel":"partner","coefficient":1,"kind":"side","node":500,"targets":[503]},{"channel":"face0","coefficient":1,"kind":"side","node":4794,"targets":[504,505,506,507]},{"channel":"face0","coefficient":1,"kind":"side","node":5067,"targets":[508,509,510,511]},{"channel":"edge12","coefficient":1,"kind":"side","node":11808,"targets":[504,507]},{"channel":"edge12","coefficient":1,"kind":"side","node":11784,"targets":[505,506]},{"channel":"edge12","coefficient":1,"kind":"side","node":11808,"targets":[508,511]},{"channel":"edge12","coefficient":1,"kind":"side","node":11784,"targets":[509,510]},{"channel":"u01","coefficient":1,"kind":"side","node":12324,"targets":[504]},{"channel":"w02","coefficient":1,"kind":"side","node":12328,"targets":[504]},{"channel":"partner","coefficient":1,"kind":"side","node":507,"targets":[504]},{"channel":"u01","coefficient":1,"kind":"side","node":12324,"targets":[505]},{"channel":"w02","coefficient":1,"kind":"side","node":12329,"targets":[505]},{"channel":"partner","coefficient":1,"kind":"side","node":506,"targets":[505]},{"channel":"u01","coefficient":1,"kind":"side","node":12325,"targets":[506]},{"channel":"w02","coefficient":1,"kind":"side","node":12328,"targets":[506]},{"channel":"partner","coefficient":1,"kind":"side","node":505,"targets":[506]},{"channel":"u01","coefficient":1,"kind":"side","node":12325,"targets":[507]},{"channel":"w02","coefficient":1,"kind":"side","node":12329,"targets":[507]},{"channel":"partner","coefficient":1,"kind":"side","node":504,"targets":[507]},{"channel":"u01","coefficient":1,"kind":"side","node":12326,"targets":[508]},{"channel":"w02","coefficient":1,"kind":"side","node":12330,"targets":[508]},{"channel":"partner","coefficient":1,"kind":"side","node":511,"targets":[508]},{"channel":"u01","coefficient":1,"kind":"side","node":12326,"targets":[509]},{"channel":"w02","coefficient":1,"kind":"side","node":12331,"targets":[509]},{"channel":"partner","coefficient":1,"kind":"side","node":510,"targets":[509]},{"channel":"u01","coefficient":1,"kind":"side","node":12327,"targets":[510]},{"channel":"w02","coefficient":1,"kind":"side","node":12330,"targets":[510]},{"channel":"partner","coefficient":1,"kind":"side","node":509,"targets":[510]},{"channel":"u01","coefficient":1,"kind":"side","node":12327,"targets":[511]},{"channel":"w02","coefficient":1,"kind":"side","node":12331,"targets":[511]},{"channel":"partner","coefficient":1,"kind":"side","node":508,"targets":[511]},{"channel":"face0","coefficient":1,"kind":"side","node":5494,"targets":[512,513,514,515]},{"channel":"face0","coefficient":1,"kind":"side","node":5767,"targets":[516,517,518,519]},{"channel":"edge12","coefficient":1,"kind":"side","node":10852,"targets":[512,515]},{"channel":"edge12","coefficient":1,"kind":"side","node":10828,"targets":[513,514]},{"channel":"edge12","coefficient":1,"kind":"side","node":10852,"targets":[516,519]},{"channel":"edge12","coefficient":1,"kind":"side","node":10828,"targets":[517,518]},{"channel":"u01","coefficient":1,"kind":"side","node":12332,"targets":[512]},{"channel":"w02","coefficient":1,"kind":"side","node":12336,"targets":[512]},{"channel":"partner","coefficient":1,"kind":"side","node":515,"targets":[512]},{"channel":"u01","coefficient":1,"kind":"side","node":12332,"targets":[513]},{"channel":"w02","coefficient":1,"kind":"side","node":12337,"targets":[513]},{"channel":"partner","coefficient":1,"kind":"side","node":514,"targets":[513]},{"channel":"u01","coefficient":1,"kind":"side","node":12333,"targets":[514]},{"channel":"w02","coefficient":1,"kind":"side","node":12336,"targets":[514]},{"channel":"partner","coefficient":1,"kind":"side","node":513,"targets":[514]},{"channel":"u01","coefficient":1,"kind":"side","node":12333,"targets":[515]},{"channel":"w02","coefficient":1,"kind":"side","node":12337,"targets":[515]},{"channel":"partner","coefficient":1,"kind":"side","node":512,"targets":[515]},{"channel":"u01","coefficient":1,"kind":"side","node":12334,"targets":[516]},{"channel":"w02","coefficient":1,"kind":"side","node":12338,"targets":[516]},{"channel":"partner","coefficient":1,"kind":"side","node":519,"targets":[516]},{"channel":"u01","coefficient":1,"kind":"side","node":12334,"targets":[517]},{"channel":"w02","coefficient":1,"kind":"side","node":12339,"targets":[517]},{"channel":"partner","coefficient":1,"kind":"side","node":518,"targets":[517]},{"channel":"u01","coefficient":1,"kind":"side","node":12335,"targets":[518]},{"channel":"w02","coefficient":1,"kind":"side","node":12338,"targets":[518]},{"channel":"partner","coefficient":1,"kind":"side","node":517,"targets":[518]},{"channel":"u01","coefficient":1,"kind":"side","node":12335,"targets":[519]},{"channel":"w02","coefficient":1,"kind":"side","node":12339,"targets":[519]},{"channel":"partner","coefficient":1,"kind":"side","node":516,"targets":[519]},{"channel":"face0","coefficient":1,"kind":"side","node":5523,"targets":[520,521,522,523]},{"channel":"face0","coefficient":1,"kind":"side","node":5796,"targets":[524,525,526,527]},{"channel":"edge12","coefficient":1,"kind":"side","node":10900,"targets":[520,523]},{"channel":"edge12","coefficient":1,"kind":"side","node":10876,"targets":[521,522]},{"channel":"edge12","coefficient":1,"kind":"side","node":10900,"targets":[524,527]},{"channel":"edge12","coefficient":1,"kind":"side","node":10876,"targets":[525,526]},{"channel":"u01","coefficient":1,"kind":"side","node":12340,"targets":[520]},{"channel":"w02","coefficient":1,"kind":"side","node":12344,"targets":[520]},{"channel":"partner","coefficient":1,"kind":"side","node":523,"targets":[520]},{"channel":"u01","coefficient":1,"kind":"side","node":12340,"targets":[521]},{"channel":"w02","coefficient":1,"kind":"side","node":12345,"targets":[521]},{"channel":"partner","coefficient":1,"kind":"side","node":522,"targets":[521]},{"channel":"u01","coefficient":1,"kind":"side","node":12341,"targets":[522]},{"channel":"w02","coefficient":1,"kind":"side","node":12344,"targets":[522]},{"channel":"partner","coefficient":1,"kind":"side","node":521,"targets":[522]},{"channel":"u01","coefficient":1,"kind":"side","node":12341,"targets":[523]},{"channel":"w02","coefficient":1,"kind":"side","node":12345,"targets":[523]},{"channel":"partner","coefficient":1,"kind":"side","node":520,"targets":[523]},{"channel":"u01","coefficient":1,"kind":"side","node":12342,"targets":[524]},{"channel":"w02","coefficient":1,"kind":"side","node":12346,"targets":[524]},{"channel":"partner","coefficient":1,"kind":"side","node":527,"targets":[524]},{"channel":"u01","coefficient":1,"kind":"side","node":12342,"targets":[525]},{"channel":"w02","coefficient":1,"kind":"side","node":12347,"targets":[525]},{"channel":"partner","coefficient":1,"kind":"side","node":526,"targets":[525]},{"channel":"u01","coefficient":1,"kind":"side","node":12343,"targets":[526]},{"channel":"w02","coefficient":1,"kind":"side","node":12346,"targets":[526]},{"channel":"partner","coefficient":1,"kind":"side","node":525,"targets":[526]},{"channel":"u01","coefficient":1,"kind":"side","node":12343,"targets":[527]},{"channel":"w02","coefficient":1,"kind":"side","node":12347,"targets":[527]},{"channel":"partner","coefficient":1,"kind":"side","node":524,"targets":[527]},{"channel":"face0","coefficient":1,"kind":"side","node":5439,"targets":[528,529,530,531]},{"channel":"face0","coefficient":1,"kind":"side","node":5712,"targets":[532,533,534,535]},{"channel":"edge12","coefficient":1,"kind":"side","node":10948,"targets":[528,531]},{"channel":"edge12","coefficient":1,"kind":"side","node":10924,"targets":[529,530]},{"channel":"edge12","coefficient":1,"kind":"side","node":10948,"targets":[532,535]},{"channel":"edge12","coefficient":1,"kind":"side","node":10924,"targets":[533,534]},{"channel":"u01","coefficient":1,"kind":"side","node":12348,"targets":[528]},{"channel":"w02","coefficient":1,"kind":"side","node":12352,"targets":[528]},{"channel":"partner","coefficient":1,"kind":"side","node":531,"targets":[528]},{"channel":"u01","coefficient":1,"kind":"side","node":12348,"targets":[529]},{"channel":"w02","coefficient":1,"kind":"side","node":12353,"targets":[529]},{"channel":"partner","coefficient":1,"kind":"side","node":530,"targets":[529]},{"channel":"u01","coefficient":1,"kind":"side","node":12349,"targets":[530]},{"channel":"w02","coefficient":1,"kind":"side","node":12352,"targets":[530]},{"channel":"partner","coefficient":1,"kind":"side","node":529,"targets":[530]},{"channel":"u01","coefficient":1,"kind":"side","node":12349,"targets":[531]},{"channel":"w02","coefficient":1,"kind":"side","node":12353,"targets":[531]},{"channel":"partner","coefficient":1,"kind":"side","node":528,"targets":[531]},{"channel":"u01","coefficient":1,"kind":"side","node":12350,"targets":[532]},{"channel":"w02","coefficient":1,"kind":"side","node":12354,"targets":[532]},{"channel":"partner","coefficient":1,"kind":"side","node":535,"targets":[532]},{"channel":"u01","coefficient":1,"kind":"side","node":12350,"targets":[533]},{"channel":"w02","coefficient":1,"kind":"side","node":12355,"targets":[533]},{"channel":"partner","coefficient":1,"kind":"side","node":534,"targets":[533]},{"channel":"u01","coefficient":1,"kind":"side","node":12351,"targets":[534]},{"channel":"w02","coefficient":1,"kind":"side","node":12354,"targets":[534]},{"channel":"partner","coefficient":1,"kind":"side","node":533,"targets":[534]},{"channel":"u01","coefficient":1,"kind":"side","node":12351,"targets":[535]},{"channel":"w02","coefficient":1,"kind":"side","node":12355,"targets":[535]},{"channel":"partner","coefficient":1,"kind":"side","node":532,"targets":[535]},{"channel":"face0","coefficient":1,"kind":"side","node":5557,"targets":[536,537,538,539]},{"channel":"face0","coefficient":1,"kind":"side","node":5830,"targets":[540,541,542,543]},{"channel":"edge12","coefficient":1,"kind":"side","node":10996,"targets":[536,539]},{"channel":"edge12","coefficient":1,"kind":"side","node":10972,"targets":[537,538]},{"channel":"edge12","coefficient":1,"kind":"side","node":10996,"targets":[540,543]},{"channel":"edge12","coefficient":1,"kind":"side","node":10972,"targets":[541,542]},{"channel":"u01","coefficient":1,"kind":"side","node":12356,"targets":[536]},{"channel":"w02","coefficient":1,"kind":"side","node":12360,"targets":[536]},{"channel":"partner","coefficient":1,"kind":"side","node":539,"targets":[536]},{"channel":"u01","coefficient":1,"kind":"side","node":12356,"targets":[537]},{"channel":"w02","coefficient":1,"kind":"side","node":12361,"targets":[537]},{"channel":"partner","coefficient":1,"kind":"side","node":538,"targets":[537]},{"channel":"u01","coefficient":1,"kind":"side","node":12357,"targets":[538]},{"channel":"w02","coefficient":1,"kind":"side","node":12360,"targets":[538]},{"channel":"partner","coefficient":1,"kind":"side","node":537,"targets":[538]},{"channel":"u01","coefficient":1,"kind":"side","node":12357,"targets":[539]},{"channel":"w02","coefficient":1,"kind":"side","node":12361,"targets":[539]},{"channel":"partner","coefficient":1,"kind":"side","node":536,"targets":[539]},{"channel":"u01","coefficient":1,"kind":"side","node":12358,"targets":[540]},{"channel":"w02","coefficient":1,"kind":"side","node":12362,"targets":[540]},{"channel":"partner","coefficient":1,"kind":"side","node":543,"targets":[540]},{"channel":"u01","coefficient":1,"kind":"side","node":12358,"targets":[541]},{"channel":"w02","coefficient":1,"kind":"side","node":12363,"targets":[541]},{"channel":"partner","coefficient":1,"kind":"side","node":542,"targets":[541]},{"channel":"u01","coefficient":1,"kind":"side","node":12359,"targets":[542]},{"channel":"w02","coefficient":1,"kind":"side","node":12362,"targets":[542]},{"channel":"partner","coefficient":1,"kind":"side","node":541,"targets":[542]},{"channel":"u01","coefficient":1,"kind":"side","node":12359,"targets":[543]},{"channel":"w02","coefficient":1,"kind":"side","node":12363,"targets":[543]},{"channel":"partner","coefficient":1,"kind":"side","node":540,"targets":[543]},{"channel":"face0","coefficient":1,"kind":"side","node":5519,"targets":[544,545,546,547]},{"channel":"face0","coefficient":1,"kind":"side","node":5792,"targets":[548,549,550,551]},{"channel":"edge12","coefficient":1,"kind":"side","node":11044,"targets":[544,547]},{"channel":"edge12","coefficient":1,"kind":"side","node":11020,"targets":[545,546]},{"channel":"edge12","coefficient":1,"kind":"side","node":11044,"targets":[548,551]},{"channel":"edge12","coefficient":1,"kind":"side","node":11020,"targets":[549,550]},{"channel":"u01","coefficient":1,"kind":"side","node":12364,"targets":[544]},{"channel":"w02","coefficient":1,"kind":"side","node":12368,"targets":[544]},{"channel":"partner","coefficient":1,"kind":"side","node":547,"targets":[544]},{"channel":"u01","coefficient":1,"kind":"side","node":12364,"targets":[545]},{"channel":"w02","coefficient":1,"kind":"side","node":12369,"targets":[545]},{"channel":"partner","coefficient":1,"kind":"side","node":546,"targets":[545]},{"channel":"u01","coefficient":1,"kind":"side","node":12365,"targets":[546]},{"channel":"w02","coefficient":1,"kind":"side","node":12368,"targets":[546]},{"channel":"partner","coefficient":1,"kind":"side","node":545,"targets":[546]},{"channel":"u01","coefficient":1,"kind":"side","node":12365,"targets":[547]},{"channel":"w02","coefficient":1,"kind":"side","node":12369,"targets":[547]},{"channel":"partner","coefficient":1,"kind":"side","node":544,"targets":[547]},{"channel":"u01","coefficient":1,"kind":"side","node":12366,"targets":[548]},{"channel":"w02","coefficient":1,"kind":"side","node":12370,"targets":[548]},{"channel":"partner","coefficient":1,"kind":"side","node":551,"targets":[548]},{"channel":"u01","coefficient":1,"kind":"side","node":12366,"targets":[549]},{"channel":"w02","coefficient":1,"kind":"side","node":12371,"targets":[549]},{"channel":"partner","coefficient":1,"kind":"side","node":550,"targets":[549]},{"channel":"u01","coefficient":1,"kind":"side","node":12367,"targets":[550]},{"channel":"w02","coefficient":1,"kind":"side","node":12370,"targets":[550]},{"channel":"partner","coefficient":1,"kind":"side","node":549,"targets":[550]},{"channel":"u01","coefficient":1,"kind":"side","node":12367,"targets":[551]},{"channel":"w02","coefficient":1,"kind":"side","node":12371,"targets":[551]},{"channel":"partner","coefficient":1,"kind":"side","node":548,"targets":[551]},{"channel":"face0","coefficient":1,"kind":"side","node":5556,"targets":[552,553,554,555]},{"channel":"face0","coefficient":1,"kind":"side","node":5829,"targets":[556,557,558,559]},{"channel":"edge12","coefficient":1,"kind":"side","node":11092,"targets":[552,555]},{"channel":"edge12","coefficient":1,"kind":"side","node":11068,"targets":[553,554]},{"channel":"edge12","coefficient":1,"kind":"side","node":11092,"targets":[556,559]},{"channel":"edge12","coefficient":1,"kind":"side","node":11068,"targets":[557,558]},{"channel":"u01","coefficient":1,"kind":"side","node":12372,"targets":[552]},{"channel":"w02","coefficient":1,"kind":"side","node":12376,"targets":[552]},{"channel":"partner","coefficient":1,"kind":"side","node":555,"targets":[552]},{"channel":"u01","coefficient":1,"kind":"side","node":12372,"targets":[553]},{"channel":"w02","coefficient":1,"kind":"side","node":12377,"targets":[553]},{"channel":"partner","coefficient":1,"kind":"side","node":554,"targets":[553]},{"channel":"u01","coefficient":1,"kind":"side","node":12373,"targets":[554]},{"channel":"w02","coefficient":1,"kind":"side","node":12376,"targets":[554]},{"channel":"partner","coefficient":1,"kind":"side","node":553,"targets":[554]},{"channel":"u01","coefficient":1,"kind":"side","node":12373,"targets":[555]},{"channel":"w02","coefficient":1,"kind":"side","node":12377,"targets":[555]},{"channel":"partner","coefficient":1,"kind":"side","node":552,"targets":[555]},{"channel":"u01","coefficient":1,"kind":"side","node":12374,"targets":[556]},{"channel":"w02","coefficient":1,"kind":"side","node":12378,"targets":[556]},{"channel":"partner","coefficient":1,"kind":"side","node":559,"targets":[556]},{"channel":"u01","coefficient":1,"kind":"side","node":12374,"targets":[557]},{"channel":"w02","coefficient":1,"kind":"side","node":12379,"targets":[557]},{"channel":"partner","coefficient":1,"kind":"side","node":558,"targets":[557]},{"channel":"u01","coefficient":1,"kind":"side","node":12375,"targets":[558]},{"channel":"w02","coefficient":1,"kind":"side","node":12378,"targets":[558]},{"channel":"partner","coefficient":1,"kind":"side","node":557,"targets":[558]},{"channel":"u01","coefficient":1,"kind":"side","node":12375,"targets":[559]},{"channel":"w02","coefficient":1,"kind":"side","node":12379,"targets":[559]},{"channel":"partner","coefficient":1,"kind":"side","node":556,"targets":[559]},{"channel":"face0","coefficient":1,"kind":"side","node":5479,"targets":[560,561,562,563]},{"channel":"face0","coefficient":1,"kind":"side","node":5752,"targets":[564,565,566,567]},{"channel":"edge12","coefficient":1,"kind":"side","node":11140,"targets":[560,563]},{"channel":"edge12","coefficient":1,"kind":"side","node":11116,"targets":[561,562]},{"channel":"edge12","coefficient":1,"kind":"side","node":11140,"targets":[564,567]},{"channel":"edge12","coefficient":1,"kind":"side","node":11116,"targets":[565,566]},{"channel":"u01","coefficient":1,"kind":"side","node":12380,"targets":[560]},{"channel":"w02","coefficient":1,"kind":"side","node":12384,"targets":[560]},{"channel":"partner","coefficient":1,"kind":"side","node":563,"targets":[560]},{"channel":"u01","coefficient":1,"kind":"side","node":12380,"targets":[561]},{"channel":"w02","coefficient":1,"kind":"side","node":12385,"targets":[561]},{"channel":"partner","coefficient":1,"kind":"side","node":562,"targets":[561]},{"channel":"u01","coefficient":1,"kind":"side","node":12381,"targets":[562]},{"channel":"w02","coefficient":1,"kind":"side","node":12384,"targets":[562]},{"channel":"partner","coefficient":1,"kind":"side","node":561,"targets":[562]},{"channel":"u01","coefficient":1,"kind":"side","node":12381,"targets":[563]},{"channel":"w02","coefficient":1,"kind":"side","node":12385,"targets":[563]},{"channel":"partner","coefficient":1,"kind":"side","node":560,"targets":[563]},{"channel":"u01","coefficient":1,"kind":"side","node":12382,"targets":[564]},{"channel":"w02","coefficient":1,"kind":"side","node":12386,"targets":[564]},{"channel":"partner","coefficient":1,"kind":"side","node":567,"targets":[564]},{"channel":"u01","coefficient":1,"kind":"side","node":12382,"targets":[565]},{"channel":"w02","coefficient":1,"kind":"side","node":12387,"targets":[565]},{"channel":"partner","coefficient":1,"kind":"side","node":566,"targets":[565]},{"channel":"u01","coefficient":1,"kind":"side","node":12383,"targets":[566]},{"channel":"w02","coefficient":1,"kind":"side","node":12386,"targets":[566]},{"channel":"partner","coefficient":1,"kind":"side","node":565,"targets":[566]},{"channel":"u01","coefficient":1,"kind":"side","node":12383,"targets":[567]},{"channel":"w02","coefficient":1,"kind":"side","node":12387,"targets":[567]},{"channel":"partner","coefficient":1,"kind":"side","node":564,"targets":[567]},{"channel":"face0","coefficient":1,"kind":"side","node":5542,"targets":[568,569,570,571]},{"channel":"face0","coefficient":1,"kind":"side","node":5815,"targets":[572,573,574,575]},{"channel":"edge12","coefficient":1,"kind":"side","node":11188,"targets":[568,571]},{"channel":"edge12","coefficient":1,"kind":"side","node":11164,"targets":[569,570]},{"channel":"edge12","coefficient":1,"kind":"side","node":11188,"targets":[572,575]},{"channel":"edge12","coefficient":1,"kind":"side","node":11164,"targets":[573,574]},{"channel":"u01","coefficient":1,"kind":"side","node":12388,"targets":[568]},{"channel":"w02","coefficient":1,"kind":"side","node":12392,"targets":[568]},{"channel":"partner","coefficient":1,"kind":"side","node":571,"targets":[568]},{"channel":"u01","coefficient":1,"kind":"side","node":12388,"targets":[569]},{"channel":"w02","coefficient":1,"kind":"side","node":12393,"targets":[569]},{"channel":"partner","coefficient":1,"kind":"side","node":570,"targets":[569]},{"channel":"u01","coefficient":1,"kind":"side","node":12389,"targets":[570]},{"channel":"w02","coefficient":1,"kind":"side","node":12392,"targets":[570]},{"channel":"partner","coefficient":1,"kind":"side","node":569,"targets":[570]},{"channel":"u01","coefficient":1,"kind":"side","node":12389,"targets":[571]},{"channel":"w02","coefficient":1,"kind":"side","node":12393,"targets":[571]},{"channel":"partner","coefficient":1,"kind":"side","node":568,"targets":[571]},{"channel":"u01","coefficient":1,"kind":"side","node":12390,"targets":[572]},{"channel":"w02","coefficient":1,"kind":"side","node":12394,"targets":[572]},{"channel":"partner","coefficient":1,"kind":"side","node":575,"targets":[572]},{"channel":"u01","coefficient":1,"kind":"side","node":12390,"targets":[573]},{"channel":"w02","coefficient":1,"kind":"side","node":12395,"targets":[573]},{"channel":"partner","coefficient":1,"kind":"side","node":574,"targets":[573]},{"channel":"u01","coefficient":1,"kind":"side","node":12391,"targets":[574]},{"channel":"w02","coefficient":1,"kind":"side","node":12394,"targets":[574]},{"channel":"partner","coefficient":1,"kind":"side","node":573,"targets":[574]},{"channel":"u01","coefficient":1,"kind":"side","node":12391,"targets":[575]},{"channel":"w02","coefficient":1,"kind":"side","node":12395,"targets":[575]},{"channel":"partner","coefficient":1,"kind":"side","node":572,"targets":[575]},{"channel":"face0","coefficient":1,"kind":"side","node":5520,"targets":[576,577,578,579]},{"channel":"face0","coefficient":1,"kind":"side","node":5793,"targets":[580,581,582,583]},{"channel":"edge12","coefficient":1,"kind":"side","node":11236,"targets":[576,579]},{"channel":"edge12","coefficient":1,"kind":"side","node":11212,"targets":[577,578]},{"channel":"edge12","coefficient":1,"kind":"side","node":11236,"targets":[580,583]},{"channel":"edge12","coefficient":1,"kind":"side","node":11212,"targets":[581,582]},{"channel":"u01","coefficient":1,"kind":"side","node":12396,"targets":[576]},{"channel":"w02","coefficient":1,"kind":"side","node":12400,"targets":[576]},{"channel":"partner","coefficient":1,"kind":"side","node":579,"targets":[576]},{"channel":"u01","coefficient":1,"kind":"side","node":12396,"targets":[577]},{"channel":"w02","coefficient":1,"kind":"side","node":12401,"targets":[577]},{"channel":"partner","coefficient":1,"kind":"side","node":578,"targets":[577]},{"channel":"u01","coefficient":1,"kind":"side","node":12397,"targets":[578]},{"channel":"w02","coefficient":1,"kind":"side","node":12400,"targets":[578]},{"channel":"partner","coefficient":1,"kind":"side","node":577,"targets":[578]},{"channel":"u01","coefficient":1,"kind":"side","node":12397,"targets":[579]},{"channel":"w02","coefficient":1,"kind":"side","node":12401,"targets":[579]},{"channel":"partner","coefficient":1,"kind":"side","node":576,"targets":[579]},{"channel":"u01","coefficient":1,"kind":"side","node":12398,"targets":[580]},{"channel":"w02","coefficient":1,"kind":"side","node":12402,"targets":[580]},{"channel":"partner","coefficient":1,"kind":"side","node":583,"targets":[580]},{"channel":"u01","coefficient":1,"kind":"side","node":12398,"targets":[581]},{"channel":"w02","coefficient":1,"kind":"side","node":12403,"targets":[581]},{"channel":"partner","coefficient":1,"kind":"side","node":582,"targets":[581]},{"channel":"u01","coefficient":1,"kind":"side","node":12399,"targets":[582]},{"channel":"w02","coefficient":1,"kind":"side","node":12402,"targets":[582]},{"channel":"partner","coefficient":1,"kind":"side","node":581,"targets":[582]},{"channel":"u01","coefficient":1,"kind":"side","node":12399,"targets":[583]},{"channel":"w02","coefficient":1,"kind":"side","node":12403,"targets":[583]},{"channel":"partner","coefficient":1,"kind":"side","node":580,"targets":[583]},{"channel":"face0","coefficient":1,"kind":"side","node":5564,"targets":[584,585,586,587]},{"channel":"face0","coefficient":1,"kind":"side","node":5837,"targets":[588,589,590,591]},{"channel":"edge12","coefficient":1,"kind":"side","node":11284,"targets":[584,587]},{"channel":"edge12","coefficient":1,"kind":"side","node":11260,"targets":[585,586]},{"channel":"edge12","coefficient":1,"kind":"side","node":11284,"targets":[588,591]},{"channel":"edge12","coefficient":1,"kind":"side","node":11260,"targets":[589,590]},{"channel":"u01","coefficient":1,"kind":"side","node":12404,"targets":[584]},{"channel":"w02","coefficient":1,"kind":"side","node":12408,"targets":[584]},{"channel":"partner","coefficient":1,"kind":"side","node":587,"targets":[584]},{"channel":"u01","coefficient":1,"kind":"side","node":12404,"targets":[585]},{"channel":"w02","coefficient":1,"kind":"side","node":12409,"targets":[585]},{"channel":"partner","coefficient":1,"kind":"side","node":586,"targets":[585]},{"channel":"u01","coefficient":1,"kind":"side","node":12405,"targets":[586]},{"channel":"w02","coefficient":1,"kind":"side","node":12408,"targets":[586]},{"channel":"partner","coefficient":1,"kind":"side","node":585,"targets":[586]},{"channel":"u01","coefficient":1,"kind":"side","node":12405,"targets":[587]},{"channel":"w02","coefficient":1,"kind":"side","node":12409,"targets":[587]},{"channel":"partner","coefficient":1,"kind":"side","node":584,"targets":[587]},{"channel":"u01","coefficient":1,"kind":"side","node":12406,"targets":[588]},{"channel":"w02","coefficient":1,"kind":"side","node":12410,"targets":[588]},{"channel":"partner","coefficient":1,"kind":"side","node":591,"targets":[588]},{"channel":"u01","coefficient":1,"kind":"side","node":12406,"targets":[589]},{"channel":"w02","coefficient":1,"kind":"side","node":12411,"targets":[589]},{"channel":"partner","coefficient":1,"kind":"side","node":590,"targets":[589]},{"channel":"u01","coefficient":1,"kind":"side","node":12407,"targets":[590]},{"channel":"w02","coefficient":1,"kind":"side","node":12410,"targets":[590]},{"channel":"partner","coefficient":1,"kind":"side","node":589,"targets":[590]},{"channel":"u01","coefficient":1,"kind":"side","node":12407,"targets":[591]},{"channel":"w02","coefficient":1,"kind":"side","node":12411,"targets":[591]},{"channel":"partner","coefficient":1,"kind":"side","node":588,"targets":[591]},{"channel":"face0","coefficient":1,"kind":"side","node":5543,"targets":[592,593,594,595]},{"channel":"face0","coefficient":1,"kind":"side","node":5816,"targets":[596,597,598,599]},{"channel":"edge12","coefficient":1,"kind":"side","node":11332,"targets":[592,595]},{"channel":"edge12","coefficient":1,"kind":"side","node":11308,"targets":[593,594]},{"channel":"edge12","coefficient":1,"kind":"side","node":11332,"targets":[596,599]},{"channel":"edge12","coefficient":1,"kind":"side","node":11308,"targets":[597,598]},{"channel":"u01","coefficient":1,"kind":"side","node":12412,"targets":[592]},{"channel":"w02","coefficient":1,"kind":"side","node":12416,"targets":[592]},{"channel":"partner","coefficient":1,"kind":"side","node":595,"targets":[592]},{"channel":"u01","coefficient":1,"kind":"side","node":12412,"targets":[593]},{"channel":"w02","coefficient":1,"kind":"side","node":12417,"targets":[593]},{"channel":"partner","coefficient":1,"kind":"side","node":594,"targets":[593]},{"channel":"u01","coefficient":1,"kind":"side","node":12413,"targets":[594]},{"channel":"w02","coefficient":1,"kind":"side","node":12416,"targets":[594]},{"channel":"partner","coefficient":1,"kind":"side","node":593,"targets":[594]},{"channel":"u01","coefficient":1,"kind":"side","node":12413,"targets":[595]},{"channel":"w02","coefficient":1,"kind":"side","node":12417,"targets":[595]},{"channel":"partner","coefficient":1,"kind":"side","node":592,"targets":[595]},{"channel":"u01","coefficient":1,"kind":"side","node":12414,"targets":[596]},{"channel":"w02","coefficient":1,"kind":"side","node":12418,"targets":[596]},{"channel":"partner","coefficient":1,"kind":"side","node":599,"targets":[596]},{"channel":"u01","coefficient":1,"kind":"side","node":12414,"targets":[597]},{"channel":"w02","coefficient":1,"kind":"side","node":12419,"targets":[597]},{"channel":"partner","coefficient":1,"kind":"side","node":598,"targets":[597]},{"channel":"u01","coefficient":1,"kind":"side","node":12415,"targets":[598]},{"channel":"w02","coefficient":1,"kind":"side","node":12418,"targets":[598]},{"channel":"partner","coefficient":1,"kind":"side","node":597,"targets":[598]},{"channel":"u01","coefficient":1,"kind":"side","node":12415,"targets":[599]},{"channel":"w02","coefficient":1,"kind":"side","node":12419,"targets":[599]},{"channel":"partner","coefficient":1,"kind":"side","node":596,"targets":[599]},{"channel":"face0","coefficient":1,"kind":"side","node":5538,"targets":[600,601,602,603]},{"channel":"face0","coefficient":1,"kind":"side","node":5811,"targets":[604,605,606,607]},{"channel":"edge12","coefficient":1,"kind":"side","node":11380,"targets":[600,603]},{"channel":"edge12","coefficient":1,"kind":"side","node":11356,"targets":[601,602]},{"channel":"edge12","coefficient":1,"kind":"side","node":11380,"targets":[604,607]},{"channel":"edge12","coefficient":1,"kind":"side","node":11356,"targets":[605,606]},{"channel":"u01","coefficient":1,"kind":"side","node":12420,"targets":[600]},{"channel":"w02","coefficient":1,"kind":"side","node":12424,"targets":[600]},{"channel":"partner","coefficient":1,"kind":"side","node":603,"targets":[600]},{"channel":"u01","coefficient":1,"kind":"side","node":12420,"targets":[601]},{"channel":"w02","coefficient":1,"kind":"side","node":12425,"targets":[601]},{"channel":"partner","coefficient":1,"kind":"side","node":602,"targets":[601]},{"channel":"u01","coefficient":1,"kind":"side","node":12421,"targets":[602]},{"channel":"w02","coefficient":1,"kind":"side","node":12424,"targets":[602]},{"channel":"partner","coefficient":1,"kind":"side","node":601,"targets":[602]},{"channel":"u01","coefficient":1,"kind":"side","node":12421,"targets":[603]},{"channel":"w02","coefficient":1,"kind":"side","node":12425,"targets":[603]},{"channel":"partner","coefficient":1,"kind":"side","node":600,"targets":[603]},{"channel":"u01","coefficient":1,"kind":"side","node":12422,"targets":[604]},{"channel":"w02","coefficient":1,"kind":"side","node":12426,"targets":[604]},{"channel":"partner","coefficient":1,"kind":"side","node":607,"targets":[604]},{"channel":"u01","coefficient":1,"kind":"side","node":12422,"targets":[605]},{"channel":"w02","coefficient":1,"kind":"side","node":12427,"targets":[605]},{"channel":"partner","coefficient":1,"kind":"side","node":606,"targets":[605]},{"channel":"u01","coefficient":1,"kind":"side","node":12423,"targets":[606]},{"channel":"w02","coefficient":1,"kind":"side","node":12426,"targets":[606]},{"channel":"partner","coefficient":1,"kind":"side","node":605,"targets":[606]},{"channel":"u01","coefficient":1,"kind":"side","node":12423,"targets":[607]},{"channel":"w02","coefficient":1,"kind":"side","node":12427,"targets":[607]},{"channel":"partner","coefficient":1,"kind":"side","node":604,"targets":[607]},{"channel":"face0","coefficient":1,"kind":"side","node":5536,"targets":[608,609,610,611]},{"channel":"face0","coefficient":1,"kind":"side","node":5809,"targets":[612,613,614,615]},{"channel":"edge12","coefficient":1,"kind":"side","node":11428,"targets":[608,611]},{"channel":"edge12","coefficient":1,"kind":"side","node":11404,"targets":[609,610]},{"channel":"edge12","coefficient":1,"kind":"side","node":11428,"targets":[612,615]},{"channel":"edge12","coefficient":1,"kind":"side","node":11404,"targets":[613,614]},{"channel":"u01","coefficient":1,"kind":"side","node":12428,"targets":[608]},{"channel":"w02","coefficient":1,"kind":"side","node":12432,"targets":[608]},{"channel":"partner","coefficient":1,"kind":"side","node":611,"targets":[608]},{"channel":"u01","coefficient":1,"kind":"side","node":12428,"targets":[609]},{"channel":"w02","coefficient":1,"kind":"side","node":12433,"targets":[609]},{"channel":"partner","coefficient":1,"kind":"side","node":610,"targets":[609]},{"channel":"u01","coefficient":1,"kind":"side","node":12429,"targets":[610]},{"channel":"w02","coefficient":1,"kind":"side","node":12432,"targets":[610]},{"channel":"partner","coefficient":1,"kind":"side","node":609,"targets":[610]},{"channel":"u01","coefficient":1,"kind":"side","node":12429,"targets":[611]},{"channel":"w02","coefficient":1,"kind":"side","node":12433,"targets":[611]},{"channel":"partner","coefficient":1,"kind":"side","node":608,"targets":[611]},{"channel":"u01","coefficient":1,"kind":"side","node":12430,"targets":[612]},{"channel":"w02","coefficient":1,"kind":"side","node":12434,"targets":[612]},{"channel":"partner","coefficient":1,"kind":"side","node":615,"targets":[612]},{"channel":"u01","coefficient":1,"kind":"side","node":12430,"targets":[613]},{"channel":"w02","coefficient":1,"kind":"side","node":12435,"targets":[613]},{"channel":"partner","coefficient":1,"kind":"side","node":614,"targets":[613]},{"channel":"u01","coefficient":1,"kind":"side","node":12431,"targets":[614]},{"channel":"w02","coefficient":1,"kind":"side","node":12434,"targets":[614]},{"channel":"partner","coefficient":1,"kind":"side","node":613,"targets":[614]},{"channel":"u01","coefficient":1,"kind":"side","node":12431,"targets":[615]},{"channel":"w02","coefficient":1,"kind":"side","node":12435,"targets":[615]},{"channel":"partner","coefficient":1,"kind":"side","node":612,"targets":[615]},{"channel":"face0","coefficient":1,"kind":"side","node":5535,"targets":[616,617,618,619]},{"channel":"face0","coefficient":1,"kind":"side","node":5808,"targets":[620,621,622,623]},{"channel":"edge12","coefficient":1,"kind":"side","node":11476,"targets":[616,619]},{"channel":"edge12","coefficient":1,"kind":"side","node":11452,"targets":[617,618]},{"channel":"edge12","coefficient":1,"kind":"side","node":11476,"targets":[620,623]},{"channel":"edge12","coefficient":1,"kind":"side","node":11452,"targets":[621,622]},{"channel":"u01","coefficient":1,"kind":"side","node":12436,"targets":[616]},{"channel":"w02","coefficient":1,"kind":"side","node":12440,"targets":[616]},{"channel":"partner","coefficient":1,"kind":"side","node":619,"targets":[616]},{"channel":"u01","coefficient":1,"kind":"side","node":12436,"targets":[617]},{"channel":"w02","coefficient":1,"kind":"side","node":12441,"targets":[617]},{"channel":"partner","coefficient":1,"kind":"side","node":618,"targets":[617]},{"channel":"u01","coefficient":1,"kind":"side","node":12437,"targets":[618]},{"channel":"w02","coefficient":1,"kind":"side","node":12440,"targets":[618]},{"channel":"partner","coefficient":1,"kind":"side","node":617,"targets":[618]},{"channel":"u01","coefficient":1,"kind":"side","node":12437,"targets":[619]},{"channel":"w02","coefficient":1,"kind":"side","node":12441,"targets":[619]},{"channel":"partner","coefficient":1,"kind":"side","node":616,"targets":[619]},{"channel":"u01","coefficient":1,"kind":"side","node":12438,"targets":[620]},{"channel":"w02","coefficient":1,"kind":"side","node":12442,"targets":[620]},{"channel":"partner","coefficient":1,"kind":"side","node":623,"targets":[620]},{"channel":"u01","coefficient":1,"kind":"side","node":12438,"targets":[621]},{"channel":"w02","coefficient":1,"kind":"side","node":12443,"targets":[621]},{"channel":"partner","coefficient":1,"kind":"side","node":622,"targets":[621]},{"channel":"u01","coefficient":1,"kind":"side","node":12439,"targets":[622]},{"channel":"w02","coefficient":1,"kind":"side","node":12442,"targets":[622]},{"channel":"partner","coefficient":1,"kind":"side","node":621,"targets":[622]},{"channel":"u01","coefficient":1,"kind":"side","node":12439,"targets":[623]},{"channel":"w02","coefficient":1,"kind":"side","node":12443,"targets":[623]},{"channel":"partner","coefficient":1,"kind":"side","node":620,"targets":[623]},{"channel":"face0","coefficient":1,"kind":"side","node":5415,"targets":[624,625,626,627]},{"channel":"face0","coefficient":1,"kind":"side","node":5688,"targets":[628,629,630,631]},{"channel":"edge12","coefficient":1,"kind":"side","node":11524,"targets":[624,627]},{"channel":"edge12","coefficient":1,"kind":"side","node":11500,"targets":[625,626]},{"channel":"edge12","coefficient":1,"kind":"side","node":11524,"targets":[628,631]},{"channel":"edge12","coefficient":1,"kind":"side","node":11500,"targets":[629,630]},{"channel":"u01","coefficient":1,"kind":"side","node":12444,"targets":[624]},{"channel":"w02","coefficient":1,"kind":"side","node":12448,"targets":[624]},{"channel":"partner","coefficient":1,"kind":"side","node":627,"targets":[624]},{"channel":"u01","coefficient":1,"kind":"side","node":12444,"targets":[625]},{"channel":"w02","coefficient":1,"kind":"side","node":12449,"targets":[625]},{"channel":"partner","coefficient":1,"kind":"side","node":626,"targets":[625]},{"channel":"u01","coefficient":1,"kind":"side","node":12445,"targets":[626]},{"channel":"w02","coefficient":1,"kind":"side","node":12448,"targets":[626]},{"channel":"partner","coefficient":1,"kind":"side","node":625,"targets":[626]},{"channel":"u01","coefficient":1,"kind":"side","node":12445,"targets":[627]},{"channel":"w02","coefficient":1,"kind":"side","node":12449,"targets":[627]},{"channel":"partner","coefficient":1,"kind":"side","node":624,"targets":[627]},{"channel":"u01","coefficient":1,"kind":"side","node":12446,"targets":[628]},{"channel":"w02","coefficient":1,"kind":"side","node":12450,"targets":[628]},{"channel":"partner","coefficient":1,"kind":"side","node":631,"targets":[628]},{"channel":"u01","coefficient":1,"kind":"side","node":12446,"targets":[629]},{"channel":"w02","coefficient":1,"kind":"side","node":12451,"targets":[629]},{"channel":"partner","coefficient":1,"kind":"side","node":630,"targets":[629]},{"channel":"u01","coefficient":1,"kind":"side","node":12447,"targets":[630]},{"channel":"w02","coefficient":1,"kind":"side","node":12450,"targets":[630]},{"channel":"partner","coefficient":1,"kind":"side","node":629,"targets":[630]},{"channel":"u01","coefficient":1,"kind":"side","node":12447,"targets":[631]},{"channel":"w02","coefficient":1,"kind":"side","node":12451,"targets":[631]},{"channel":"partner","coefficient":1,"kind":"side","node":628,"targets":[631]},{"channel":"face0","coefficient":1,"kind":"side","node":5500,"targets":[632,633,634,635]},{"channel":"face0","coefficient":1,"kind":"side","node":5773,"targets":[636,637,638,639]},{"channel":"edge12","coefficient":1,"kind":"side","node":11572,"targets":[632,635]},{"channel":"edge12","coefficient":1,"kind":"side","node":11548,"targets":[633,634]},{"channel":"edge12","coefficient":1,"kind":"side","node":11572,"targets":[636,639]},{"channel":"edge12","coefficient":1,"kind":"side","node":11548,"targets":[637,638]},{"channel":"u01","coefficient":1,"kind":"side","node":12452,"targets":[632]},{"channel":"w02","coefficient":1,"kind":"side","node":12456,"targets":[632]},{"channel":"partner","coefficient":1,"kind":"side","node":635,"targets":[632]},{"channel":"u01","coefficient":1,"kind":"side","node":12452,"targets":[633]},{"channel":"w02","coefficient":1,"kind":"side","node":12457,"targets":[633]},{"channel":"partner","coefficient":1,"kind":"side","node":634,"targets":[633]},{"channel":"u01","coefficient":1,"kind":"side","node":12453,"targets":[634]},{"channel":"w02","coefficient":1,"kind":"side","node":12456,"targets":[634]},{"channel":"partner","coefficient":1,"kind":"side","node":633,"targets":[634]},{"channel":"u01","coefficient":1,"kind":"side","node":12453,"targets":[635]},{"channel":"w02","coefficient":1,"kind":"side","node":12457,"targets":[635]},{"channel":"partner","coefficient":1,"kind":"side","node":632,"targets":[635]},{"channel":"u01","coefficient":1,"kind":"side","node":12454,"targets":[636]},{"channel":"w02","coefficient":1,"kind":"side","node":12458,"targets":[636]},{"channel":"partner","coefficient":1,"kind":"side","node":639,"targets":[636]},{"channel":"u01","coefficient":1,"kind":"side","node":12454,"targets":[637]},{"channel":"w02","coefficient":1,"kind":"side","node":12459,"targets":[637]},{"channel":"partner","coefficient":1,"kind":"side","node":638,"targets":[637]},{"channel":"u01","coefficient":1,"kind":"side","node":12455,"targets":[638]},{"channel":"w02","coefficient":1,"kind":"side","node":12458,"targets":[638]},{"channel":"partner","coefficient":1,"kind":"side","node":637,"targets":[638]},{"channel":"u01","coefficient":1,"kind":"side","node":12455,"targets":[639]},{"channel":"w02","coefficient":1,"kind":"side","node":12459,"targets":[639]},{"channel":"partner","coefficient":1,"kind":"side","node":636,"targets":[639]},{"channel":"face0","coefficient":1,"kind":"side","node":5509,"targets":[640,641,642,643]},{"channel":"face0","coefficient":1,"kind":"side","node":5782,"targets":[644,645,646,647]},{"channel":"edge12","coefficient":1,"kind":"side","node":11620,"targets":[640,643]},{"channel":"edge12","coefficient":1,"kind":"side","node":11596,"targets":[641,642]},{"channel":"edge12","coefficient":1,"kind":"side","node":11620,"targets":[644,647]},{"channel":"edge12","coefficient":1,"kind":"side","node":11596,"targets":[645,646]},{"channel":"u01","coefficient":1,"kind":"side","node":12460,"targets":[640]},{"channel":"w02","coefficient":1,"kind":"side","node":12464,"targets":[640]},{"channel":"partner","coefficient":1,"kind":"side","node":643,"targets":[640]},{"channel":"u01","coefficient":1,"kind":"side","node":12460,"targets":[641]},{"channel":"w02","coefficient":1,"kind":"side","node":12465,"targets":[641]},{"channel":"partner","coefficient":1,"kind":"side","node":642,"targets":[641]},{"channel":"u01","coefficient":1,"kind":"side","node":12461,"targets":[642]},{"channel":"w02","coefficient":1,"kind":"side","node":12464,"targets":[642]},{"channel":"partner","coefficient":1,"kind":"side","node":641,"targets":[642]},{"channel":"u01","coefficient":1,"kind":"side","node":12461,"targets":[643]},{"channel":"w02","coefficient":1,"kind":"side","node":12465,"targets":[643]},{"channel":"partner","coefficient":1,"kind":"side","node":640,"targets":[643]},{"channel":"u01","coefficient":1,"kind":"side","node":12462,"targets":[644]},{"channel":"w02","coefficient":1,"kind":"side","node":12466,"targets":[644]},{"channel":"partner","coefficient":1,"kind":"side","node":647,"targets":[644]},{"channel":"u01","coefficient":1,"kind":"side","node":12462,"targets":[645]},{"channel":"w02","coefficient":1,"kind":"side","node":12467,"targets":[645]},{"channel":"partner","coefficient":1,"kind":"side","node":646,"targets":[645]},{"channel":"u01","coefficient":1,"kind":"side","node":12463,"targets":[646]},{"channel":"w02","coefficient":1,"kind":"side","node":12466,"targets":[646]},{"channel":"partner","coefficient":1,"kind":"side","node":645,"targets":[646]},{"channel":"u01","coefficient":1,"kind":"side","node":12463,"targets":[647]},{"channel":"w02","coefficient":1,"kind":"side","node":12467,"targets":[647]},{"channel":"partner","coefficient":1,"kind":"side","node":644,"targets":[647]},{"channel":"face0","coefficient":1,"kind":"side","node":5529,"targets":[648,649,650,651]},{"channel":"face0","coefficient":1,"kind":"side","node":5802,"targets":[652,653,654,655]},{"channel":"edge12","coefficient":1,"kind":"side","node":11668,"targets":[648,651]},{"channel":"edge12","coefficient":1,"kind":"side","node":11644,"targets":[649,650]},{"channel":"edge12","coefficient":1,"kind":"side","node":11668,"targets":[652,655]},{"channel":"edge12","coefficient":1,"kind":"side","node":11644,"targets":[653,654]},{"channel":"u01","coefficient":1,"kind":"side","node":12468,"targets":[648]},{"channel":"w02","coefficient":1,"kind":"side","node":12472,"targets":[648]},{"channel":"partner","coefficient":1,"kind":"side","node":651,"targets":[648]},{"channel":"u01","coefficient":1,"kind":"side","node":12468,"targets":[649]},{"channel":"w02","coefficient":1,"kind":"side","node":12473,"targets":[649]},{"channel":"partner","coefficient":1,"kind":"side","node":650,"targets":[649]},{"channel":"u01","coefficient":1,"kind":"side","node":12469,"targets":[650]},{"channel":"w02","coefficient":1,"kind":"side","node":12472,"targets":[650]},{"channel":"partner","coefficient":1,"kind":"side","node":649,"targets":[650]},{"channel":"u01","coefficient":1,"kind":"side","node":12469,"targets":[651]},{"channel":"w02","coefficient":1,"kind":"side","node":12473,"targets":[651]},{"channel":"partner","coefficient":1,"kind":"side","node":648,"targets":[651]},{"channel":"u01","coefficient":1,"kind":"side","node":12470,"targets":[652]},{"channel":"w02","coefficient":1,"kind":"side","node":12474,"targets":[652]},{"channel":"partner","coefficient":1,"kind":"side","node":655,"targets":[652]},{"channel":"u01","coefficient":1,"kind":"side","node":12470,"targets":[653]},{"channel":"w02","coefficient":1,"kind":"side","node":12475,"targets":[653]},{"channel":"partner","coefficient":1,"kind":"side","node":654,"targets":[653]},{"channel":"u01","coefficient":1,"kind":"side","node":12471,"targets":[654]},{"channel":"w02","coefficient":1,"kind":"side","node":12474,"targets":[654]},{"channel":"partner","coefficient":1,"kind":"side","node":653,"targets":[654]},{"channel":"u01","coefficient":1,"kind":"side","node":12471,"targets":[655]},{"channel":"w02","coefficient":1,"kind":"side","node":12475,"targets":[655]},{"channel":"partner","coefficient":1,"kind":"side","node":652,"targets":[655]},{"channel":"face0","coefficient":1,"kind":"side","node":5515,"targets":[656,657,658,659]},{"channel":"face0","coefficient":1,"kind":"side","node":5788,"targets":[660,661,662,663]},{"channel":"edge12","coefficient":1,"kind":"side","node":11716,"targets":[656,659]},{"channel":"edge12","coefficient":1,"kind":"side","node":11692,"targets":[657,658]},{"channel":"edge12","coefficient":1,"kind":"side","node":11716,"targets":[660,663]},{"channel":"edge12","coefficient":1,"kind":"side","node":11692,"targets":[661,662]},{"channel":"u01","coefficient":1,"kind":"side","node":12476,"targets":[656]},{"channel":"w02","coefficient":1,"kind":"side","node":12480,"targets":[656]},{"channel":"partner","coefficient":1,"kind":"side","node":659,"targets":[656]},{"channel":"u01","coefficient":1,"kind":"side","node":12476,"targets":[657]},{"channel":"w02","coefficient":1,"kind":"side","node":12481,"targets":[657]},{"channel":"partner","coefficient":1,"kind":"side","node":658,"targets":[657]},{"channel":"u01","coefficient":1,"kind":"side","node":12477,"targets":[658]},{"channel":"w02","coefficient":1,"kind":"side","node":12480,"targets":[658]},{"channel":"partner","coefficient":1,"kind":"side","node":657,"targets":[658]},{"channel":"u01","coefficient":1,"kind":"side","node":12477,"targets":[659]},{"channel":"w02","coefficient":1,"kind":"side","node":12481,"targets":[659]},{"channel":"partner","coefficient":1,"kind":"side","node":656,"targets":[659]},{"channel":"u01","coefficient":1,"kind":"side","node":12478,"targets":[660]},{"channel":"w02","coefficient":1,"kind":"side","node":12482,"targets":[660]},{"channel":"partner","coefficient":1,"kind":"side","node":663,"targets":[660]},{"channel":"u01","coefficient":1,"kind":"side","node":12478,"targets":[661]},{"channel":"w02","coefficient":1,"kind":"side","node":12483,"targets":[661]},{"channel":"partner","coefficient":1,"kind":"side","node":662,"targets":[661]},{"channel":"u01","coefficient":1,"kind":"side","node":12479,"targets":[662]},{"channel":"w02","coefficient":1,"kind":"side","node":12482,"targets":[662]},{"channel":"partner","coefficient":1,"kind":"side","node":661,"targets":[662]},{"channel":"u01","coefficient":1,"kind":"side","node":12479,"targets":[663]},{"channel":"w02","coefficient":1,"kind":"side","node":12483,"targets":[663]},{"channel":"partner","coefficient":1,"kind":"side","node":660,"targets":[663]},{"channel":"face0","coefficient":1,"kind":"side","node":5510,"targets":[664,665,666,667]},{"channel":"face0","coefficient":1,"kind":"side","node":5783,"targets":[668,669,670,671]},{"channel":"edge12","coefficient":1,"kind":"side","node":11764,"targets":[664,667]},{"channel":"edge12","coefficient":1,"kind":"side","node":11740,"targets":[665,666]},{"channel":"edge12","coefficient":1,"kind":"side","node":11764,"targets":[668,671]},{"channel":"edge12","coefficient":1,"kind":"side","node":11740,"targets":[669,670]},{"channel":"u01","coefficient":1,"kind":"side","node":12484,"targets":[664]},{"channel":"w02","coefficient":1,"kind":"side","node":12488,"targets":[664]},{"channel":"partner","coefficient":1,"kind":"side","node":667,"targets":[664]},{"channel":"u01","coefficient":1,"kind":"side","node":12484,"targets":[665]},{"channel":"w02","coefficient":1,"kind":"side","node":12489,"targets":[665]},{"channel":"partner","coefficient":1,"kind":"side","node":666,"targets":[665]},{"channel":"u01","coefficient":1,"kind":"side","node":12485,"targets":[666]},{"channel":"w02","coefficient":1,"kind":"side","node":12488,"targets":[666]},{"channel":"partner","coefficient":1,"kind":"side","node":665,"targets":[666]},{"channel":"u01","coefficient":1,"kind":"side","node":12485,"targets":[667]},{"channel":"w02","coefficient":1,"kind":"side","node":12489,"targets":[667]},{"channel":"partner","coefficient":1,"kind":"side","node":664,"targets":[667]},{"channel":"u01","coefficient":1,"kind":"side","node":12486,"targets":[668]},{"channel":"w02","coefficient":1,"kind":"side","node":12490,"targets":[668]},{"channel":"partner","coefficient":1,"kind":"side","node":671,"targets":[668]},{"channel":"u01","coefficient":1,"kind":"side","node":12486,"targets":[669]},{"channel":"w02","coefficient":1,"kind":"side","node":12491,"targets":[669]},{"channel":"partner","coefficient":1,"kind":"side","node":670,"targets":[669]},{"channel":"u01","coefficient":1,"kind":"side","node":12487,"targets":[670]},{"channel":"w02","coefficient":1,"kind":"side","node":12490,"targets":[670]},{"channel":"partner","coefficient":1,"kind":"side","node":669,"targets":[670]},{"channel":"u01","coefficient":1,"kind":"side","node":12487,"targets":[671]},{"channel":"w02","coefficient":1,"kind":"side","node":12491,"targets":[671]},{"channel":"partner","coefficient":1,"kind":"side","node":668,"targets":[671]},{"channel":"face0","coefficient":1,"kind":"side","node":5340,"targets":[672,673,674,675]},{"channel":"face0","coefficient":1,"kind":"side","node":5613,"targets":[676,677,678,679]},{"channel":"edge12","coefficient":1,"kind":"side","node":11812,"targets":[672,675]},{"channel":"edge12","coefficient":1,"kind":"side","node":11788,"targets":[673,674]},{"channel":"edge12","coefficient":1,"kind":"side","node":11812,"targets":[676,679]},{"channel":"edge12","coefficient":1,"kind":"side","node":11788,"targets":[677,678]},{"channel":"u01","coefficient":1,"kind":"side","node":12492,"targets":[672]},{"channel":"w02","coefficient":1,"kind":"side","node":12496,"targets":[672]},{"channel":"partner","coefficient":1,"kind":"side","node":675,"targets":[672]},{"channel":"u01","coefficient":1,"kind":"side","node":12492,"targets":[673]},{"channel":"w02","coefficient":1,"kind":"side","node":12497,"targets":[673]},{"channel":"partner","coefficient":1,"kind":"side","node":674,"targets":[673]},{"channel":"u01","coefficient":1,"kind":"side","node":12493,"targets":[674]},{"channel":"w02","coefficient":1,"kind":"side","node":12496,"targets":[674]},{"channel":"partner","coefficient":1,"kind":"side","node":673,"targets":[674]},{"channel":"u01","coefficient":1,"kind":"side","node":12493,"targets":[675]},{"channel":"w02","coefficient":1,"kind":"side","node":12497,"targets":[675]},{"channel":"partner","coefficient":1,"kind":"side","node":672,"targets":[675]},{"channel":"u01","coefficient":1,"kind":"side","node":12494,"targets":[676]},{"channel":"w02","coefficient":1,"kind":"side","node":12498,"targets":[676]},{"channel":"partner","coefficient":1,"kind":"side","node":679,"targets":[676]},{"channel":"u01","coefficient":1,"kind":"side","node":12494,"targets":[677]},{"channel":"w02","coefficient":1,"kind":"side","node":12499,"targets":[677]},{"channel":"partner","coefficient":1,"kind":"side","node":678,"targets":[677]},{"channel":"u01","coefficient":1,"kind":"side","node":12495,"targets":[678]},{"channel":"w02","coefficient":1,"kind":"side","node":12498,"targets":[678]},{"channel":"partner","coefficient":1,"kind":"side","node":677,"targets":[678]},{"channel":"u01","coefficient":1,"kind":"side","node":12495,"targets":[679]},{"channel":"w02","coefficient":1,"kind":"side","node":12499,"targets":[679]},{"channel":"partner","coefficient":1,"kind":"side","node":676,"targets":[679]},{"channel":"face0","coefficient":1,"kind":"side","node":6025,"targets":[680,681,682,683]},{"channel":"face0","coefficient":1,"kind":"side","node":6298,"targets":[684,685,686,687]},{"channel":"edge12","coefficient":1,"kind":"side","node":11146,"targets":[680,683]},{"channel":"edge12","coefficient":1,"kind":"side","node":11122,"targets":[681,682]},{"channel":"edge12","coefficient":1,"kind":"side","node":11146,"targets":[684,687]},{"channel":"edge12","coefficient":1,"kind":"side","node":11122,"targets":[685,686]},{"channel":"u01","coefficient":1,"kind":"side","node":12500,"targets":[680]},{"channel":"w02","coefficient":1,"kind":"side","node":12504,"targets":[680]},{"channel":"partner","coefficient":1,"kind":"side","node":683,"targets":[680]},{"channel":"u01","coefficient":1,"kind":"side","node":12500,"targets":[681]},{"channel":"w02","coefficient":1,"kind":"side","node":12505,"targets":[681]},{"channel":"partner","coefficient":1,"kind":"side","node":682,"targets":[681]},{"channel":"u01","coefficient":1,"kind":"side","node":12501,"targets":[682]},{"channel":"w02","coefficient":1,"kind":"side","node":12504,"targets":[682]},{"channel":"partner","coefficient":1,"kind":"side","node":681,"targets":[682]},{"channel":"u01","coefficient":1,"kind":"side","node":12501,"targets":[683]},{"channel":"w02","coefficient":1,"kind":"side","node":12505,"targets":[683]},{"channel":"partner","coefficient":1,"kind":"side","node":680,"targets":[683]},{"channel":"u01","coefficient":1,"kind":"side","node":12502,"targets":[684]},{"channel":"w02","coefficient":1,"kind":"side","node":12506,"targets":[684]},{"channel":"partner","coefficient":1,"kind":"side","node":687,"targets":[684]},{"channel":"u01","coefficient":1,"kind":"side","node":12502,"targets":[685]},{"channel":"w02","coefficient":1,"kind":"side","node":12507,"targets":[685]},{"channel":"partner","coefficient":1,"kind":"side","node":686,"targets":[685]},{"channel":"u01","coefficient":1,"kind":"side","node":12503,"targets":[686]},{"channel":"w02","coefficient":1,"kind":"side","node":12506,"targets":[686]},{"channel":"partner","coefficient":1,"kind":"side","node":685,"targets":[686]},{"channel":"u01","coefficient":1,"kind":"side","node":12503,"targets":[687]},{"channel":"w02","coefficient":1,"kind":"side","node":12507,"targets":[687]},{"channel":"partner","coefficient":1,"kind":"side","node":684,"targets":[687]},{"channel":"face0","coefficient":1,"kind":"side","node":6088,"targets":[688,689,690,691]},{"channel":"face0","coefficient":1,"kind":"side","node":6361,"targets":[692,693,694,695]},{"channel":"edge12","coefficient":1,"kind":"side","node":11194,"targets":[688,691]},{"channel":"edge12","coefficient":1,"kind":"side","node":11170,"targets":[689,690]},{"channel":"edge12","coefficient":1,"kind":"side","node":11194,"targets":[692,695]},{"channel":"edge12","coefficient":1,"kind":"side","node":11170,"targets":[693,694]},{"channel":"u01","coefficient":1,"kind":"side","node":12508,"targets":[688]},{"channel":"w02","coefficient":1,"kind":"side","node":12512,"targets":[688]},{"channel":"partner","coefficient":1,"kind":"side","node":691,"targets":[688]},{"channel":"u01","coefficient":1,"kind":"side","node":12508,"targets":[689]},{"channel":"w02","coefficient":1,"kind":"side","node":12513,"targets":[689]},{"channel":"partner","coefficient":1,"kind":"side","node":690,"targets":[689]},{"channel":"u01","coefficient":1,"kind":"side","node":12509,"targets":[690]},{"channel":"w02","coefficient":1,"kind":"side","node":12512,"targets":[690]},{"channel":"partner","coefficient":1,"kind":"side","node":689,"targets":[690]},{"channel":"u01","coefficient":1,"kind":"side","node":12509,"targets":[691]},{"channel":"w02","coefficient":1,"kind":"side","node":12513,"targets":[691]},{"channel":"partner","coefficient":1,"kind":"side","node":688,"targets":[691]},{"channel":"u01","coefficient":1,"kind":"side","node":12510,"targets":[692]},{"channel":"w02","coefficient":1,"kind":"side","node":12514,"targets":[692]},{"channel":"partner","coefficient":1,"kind":"side","node":695,"targets":[692]},{"channel":"u01","coefficient":1,"kind":"side","node":12510,"targets":[693]},{"channel":"w02","coefficient":1,"kind":"side","node":12515,"targets":[693]},{"channel":"partner","coefficient":1,"kind":"side","node":694,"targets":[693]},{"channel":"u01","coefficient":1,"kind":"side","node":12511,"targets":[694]},{"channel":"w02","coefficient":1,"kind":"side","node":12514,"targets":[694]},{"channel":"partner","coefficient":1,"kind":"side","node":693,"targets":[694]},{"channel":"u01","coefficient":1,"kind":"side","node":12511,"targets":[695]},{"channel":"w02","coefficient":1,"kind":"side","node":12515,"targets":[695]},{"channel":"partner","coefficient":1,"kind":"side","node":692,"targets":[695]},{"channel":"face0","coefficient":1,"kind":"side","node":6066,"targets":[696,697,698,699]},{"channel":"face0","coefficient":1,"kind":"side","node":6339,"targets":[700,701,702,703]},{"channel":"edge12","coefficient":1,"kind":"side","node":11242,"targets":[696,699]},{"channel":"edge12","coefficient":1,"kind":"side","node":11218,"targets":[697,698]},{"channel":"edge12","coefficient":1,"kind":"side","node":11242,"targets":[700,703]},{"channel":"edge12","coefficient":1,"kind":"side","node":11218,"targets":[701,702]},{"channel":"u01","coefficient":1,"kind":"side","node":12516,"targets":[696]},{"channel":"w02","coefficient":1,"kind":"side","node":12520,"targets":[696]},{"channel":"partner","coefficient":1,"kind":"side","node":699,"targets":[696]},{"channel":"u01","coefficient":1,"kind":"side","node":12516,"targets":[697]},{"channel":"w02","coefficient":1,"kind":"side","node":12521,"targets":[697]},{"channel":"partner","coefficient":1,"kind":"side","node":698,"targets":[697]},{"channel":"u01","coefficient":1,"kind":"side","node":12517,"targets":[698]},{"channel":"w02","coefficient":1,"kind":"side","node":12520,"targets":[698]},{"channel":"partner","coefficient":1,"kind":"side","node":697,"targets":[698]},{"channel":"u01","coefficient":1,"kind":"side","node":12517,"targets":[699]},{"channel":"w02","coefficient":1,"kind":"side","node":12521,"targets":[699]},{"channel":"partner","coefficient":1,"kind":"side","node":696,"targets":[699]},{"channel":"u01","coefficient":1,"kind":"side","node":12518,"targets":[700]},{"channel":"w02","coefficient":1,"kind":"side","node":12522,"targets":[700]},{"channel":"partner","coefficient":1,"kind":"side","node":703,"targets":[700]},{"channel":"u01","coefficient":1,"kind":"side","node":12518,"targets":[701]},{"channel":"w02","coefficient":1,"kind":"side","node":12523,"targets":[701]},{"channel":"partner","coefficient":1,"kind":"side","node":702,"targets":[701]},{"channel":"u01","coefficient":1,"kind":"side","node":12519,"targets":[702]},{"channel":"w02","coefficient":1,"kind":"side","node":12522,"targets":[702]},{"channel":"partner","coefficient":1,"kind":"side","node":701,"targets":[702]},{"channel":"u01","coefficient":1,"kind":"side","node":12519,"targets":[703]},{"channel":"w02","coefficient":1,"kind":"side","node":12523,"targets":[703]},{"channel":"partner","coefficient":1,"kind":"side","node":700,"targets":[703]},{"channel":"face0","coefficient":1,"kind":"side","node":6110,"targets":[704,705,706,707]},{"channel":"face0","coefficient":1,"kind":"side","node":6383,"targets":[708,709,710,711]},{"channel":"edge12","coefficient":1,"kind":"side","node":11290,"targets":[704,707]},{"channel":"edge12","coefficient":1,"kind":"side","node":11266,"targets":[705,706]},{"channel":"edge12","coefficient":1,"kind":"side","node":11290,"targets":[708,711]},{"channel":"edge12","coefficient":1,"kind":"side","node":11266,"targets":[709,710]},{"channel":"u01","coefficient":1,"kind":"side","node":12524,"targets":[704]},{"channel":"w02","coefficient":1,"kind":"side","node":12528,"targets":[704]},{"channel":"partner","coefficient":1,"kind":"side","node":707,"targets":[704]},{"channel":"u01","coefficient":1,"kind":"side","node":12524,"targets":[705]},{"channel":"w02","coefficient":1,"kind":"side","node":12529,"targets":[705]},{"channel":"partner","coefficient":1,"kind":"side","node":706,"targets":[705]},{"channel":"u01","coefficient":1,"kind":"side","node":12525,"targets":[706]},{"channel":"w02","coefficient":1,"kind":"side","node":12528,"targets":[706]},{"channel":"partner","coefficient":1,"kind":"side","node":705,"targets":[706]},{"channel":"u01","coefficient":1,"kind":"side","node":12525,"targets":[707]},{"channel":"w02","coefficient":1,"kind":"side","node":12529,"targets":[707]},{"channel":"partner","coefficient":1,"kind":"side","node":704,"targets":[707]},{"channel":"u01","coefficient":1,"kind":"side","node":12526,"targets":[708]},{"channel":"w02","coefficient":1,"kind":"side","node":12530,"targets":[708]},{"channel":"partner","coefficient":1,"kind":"side","node":711,"targets":[708]},{"channel":"u01","coefficient":1,"kind":"side","node":12526,"targets":[709]},{"channel":"w02","coefficient":1,"kind":"side","node":12531,"targets":[709]},{"channel":"partner","coefficient":1,"kind":"side","node":710,"targets":[709]},{"channel":"u01","coefficient":1,"kind":"side","node":12527,"targets":[710]},{"channel":"w02","coefficient":1,"kind":"side","node":12530,"targets":[710]},{"channel":"partner","coefficient":1,"kind":"side","node":709,"targets":[710]},{"channel":"u01","coefficient":1,"kind":"side","node":12527,"targets":[711]},{"channel":"w02","coefficient":1,"kind":"side","node":12531,"targets":[711]},{"channel":"partner","coefficient":1,"kind":"side","node":708,"targets":[711]},{"channel":"face0","coefficient":1,"kind":"side","node":6089,"targets":[712,713,714,715]},{"channel":"face0","coefficient":1,"kind":"side","node":6362,"targets":[716,717,718,719]},{"channel":"edge12","coefficient":1,"kind":"side","node":11338,"targets":[712,715]},{"channel":"edge12","coefficient":1,"kind":"side","node":11314,"targets":[713,714]},{"channel":"edge12","coefficient":1,"kind":"side","node":11338,"targets":[716,719]},{"channel":"edge12","coefficient":1,"kind":"side","node":11314,"targets":[717,718]},{"channel":"u01","coefficient":1,"kind":"side","node":12532,"targets":[712]},{"channel":"w02","coefficient":1,"kind":"side","node":12536,"targets":[712]},{"channel":"partner","coefficient":1,"kind":"side","node":715,"targets":[712]},{"channel":"u01","coefficient":1,"kind":"side","node":12532,"targets":[713]},{"channel":"w02","coefficient":1,"kind":"side","node":12537,"targets":[713]},{"channel":"partner","coefficient":1,"kind":"side","node":714,"targets":[713]},{"channel":"u01","coefficient":1,"kind":"side","node":12533,"targets":[714]},{"channel":"w02","coefficient":1,"kind":"side","node":12536,"targets":[714]},{"channel":"partner","coefficient":1,"kind":"side","node":713,"targets":[714]},{"channel":"u01","coefficient":1,"kind":"side","node":12533,"targets":[715]},{"channel":"w02","coefficient":1,"kind":"side","node":12537,"targets":[715]},{"channel":"partner","coefficient":1,"kind":"side","node":712,"targets":[715]},{"channel":"u01","coefficient":1,"kind":"side","node":12534,"targets":[716]},{"channel":"w02","coefficient":1,"kind":"side","node":12538,"targets":[716]},{"channel":"partner","coefficient":1,"kind":"side","node":719,"targets":[716]},{"channel":"u01","coefficient":1,"kind":"side","node":12534,"targets":[717]},{"channel":"w02","coefficient":1,"kind":"side","node":12539,"targets":[717]},{"channel":"partner","coefficient":1,"kind":"side","node":718,"targets":[717]},{"channel":"u01","coefficient":1,"kind":"side","node":12535,"targets":[718]},{"channel":"w02","coefficient":1,"kind":"side","node":12538,"targets":[718]},{"channel":"partner","coefficient":1,"kind":"side","node":717,"targets":[718]},{"channel":"u01","coefficient":1,"kind":"side","node":12535,"targets":[719]},{"channel":"w02","coefficient":1,"kind":"side","node":12539,"targets":[719]},{"channel":"partner","coefficient":1,"kind":"side","node":716,"targets":[719]},{"channel":"face0","coefficient":1,"kind":"side","node":6084,"targets":[720,721,722,723]},{"channel":"face0","coefficient":1,"kind":"side","node":6357,"targets":[724,725,726,727]},{"channel":"edge12","coefficient":1,"kind":"side","node":11386,"targets":[720,723]},{"channel":"edge12","coefficient":1,"kind":"side","node":11362,"targets":[721,722]},{"channel":"edge12","coefficient":1,"kind":"side","node":11386,"targets":[724,727]},{"channel":"edge12","coefficient":1,"kind":"side","node":11362,"targets":[725,726]},{"channel":"u01","coefficient":1,"kind":"side","node":12540,"targets":[720]},{"channel":"w02","coefficient":1,"kind":"side","node":12544,"targets":[720]},{"channel":"partner","coefficient":1,"kind":"side","node":723,"targets":[720]},{"channel":"u01","coefficient":1,"kind":"side","node":12540,"targets":[721]},{"channel":"w02","coefficient":1,"kind":"side","node":12545,"targets":[721]},{"channel":"partner","coefficient":1,"kind":"side","node":722,"targets":[721]},{"channel":"u01","coefficient":1,"kind":"side","node":12541,"targets":[722]},{"channel":"w02","coefficient":1,"kind":"side","node":12544,"targets":[722]},{"channel":"partner","coefficient":1,"kind":"side","node":721,"targets":[722]},{"channel":"u01","coefficient":1,"kind":"side","node":12541,"targets":[723]},{"channel":"w02","coefficient":1,"kind":"side","node":12545,"targets":[723]},{"channel":"partner","coefficient":1,"kind":"side","node":720,"targets":[723]},{"channel":"u01","coefficient":1,"kind":"side","node":12542,"targets":[724]},{"channel":"w02","coefficient":1,"kind":"side","node":12546,"targets":[724]},{"channel":"partner","coefficient":1,"kind":"side","node":727,"targets":[724]},{"channel":"u01","coefficient":1,"kind":"side","node":12542,"targets":[725]},{"channel":"w02","coefficient":1,"kind":"side","node":12547,"targets":[725]},{"channel":"partner","coefficient":1,"kind":"side","node":726,"targets":[725]},{"channel":"u01","coefficient":1,"kind":"side","node":12543,"targets":[726]},{"channel":"w02","coefficient":1,"kind":"side","node":12546,"targets":[726]},{"channel":"partner","coefficient":1,"kind":"side","node":725,"targets":[726]},{"channel":"u01","coefficient":1,"kind":"side","node":12543,"targets":[727]},{"channel":"w02","coefficient":1,"kind":"side","node":12547,"targets":[727]},{"channel":"partner","coefficient":1,"kind":"side","node":724,"targets":[727]},{"channel":"face0","coefficient":1,"kind":"side","node":6082,"targets":[728,729,730,731]},{"channel":"face0","coefficient":1,"kind":"side","node":6355,"targets":[732,733,734,735]},{"channel":"edge12","coefficient":1,"kind":"side","node":11434,"targets":[728,731]},{"channel":"edge12","coefficient":1,"kind":"side","node":11410,"targets":[729,730]},{"channel":"edge12","coefficient":1,"kind":"side","node":11434,"targets":[732,735]},{"channel":"edge12","coefficient":1,"kind":"side","node":11410,"targets":[733,734]},{"channel":"u01","coefficient":1,"kind":"side","node":12548,"targets":[728]},{"channel":"w02","coefficient":1,"kind":"side","node":12552,"targets":[728]},{"channel":"partner","coefficient":1,"kind":"side","node":731,"targets":[728]},{"channel":"u01","coefficient":1,"kind":"side","node":12548,"targets":[729]},{"channel":"w02","coefficient":1,"kind":"side","node":12553,"targets":[729]},{"channel":"partner","coefficient":1,"kind":"side","node":730,"targets":[729]},{"channel":"u01","coefficient":1,"kind":"side","node":12549,"targets":[730]},{"channel":"w02","coefficient":1,"kind":"side","node":12552,"targets":[730]},{"channel":"partner","coefficient":1,"kind":"side","node":729,"targets":[730]},{"channel":"u01","coefficient":1,"kind":"side","node":12549,"targets":[731]},{"channel":"w02","coefficient":1,"kind":"side","node":12553,"targets":[731]},{"channel":"partner","coefficient":1,"kind":"side","node":728,"targets":[731]},{"channel":"u01","coefficient":1,"kind":"side","node":12550,"targets":[732]},{"channel":"w02","coefficient":1,"kind":"side","node":12554,"targets":[732]},{"channel":"partner","coefficient":1,"kind":"side","node":735,"targets":[732]},{"channel":"u01","coefficient":1,"kind":"side","node":12550,"targets":[733]},{"channel":"w02","coefficient":1,"kind":"side","node":12555,"targets":[733]},{"channel":"partner","coefficient":1,"kind":"side","node":734,"targets":[733]},{"channel":"u01","coefficient":1,"kind":"side","node":12551,"targets":[734]},{"channel":"w02","coefficient":1,"kind":"side","node":12554,"targets":[734]},{"channel":"partner","coefficient":1,"kind":"side","node":733,"targets":[734]},{"channel":"u01","coefficient":1,"kind":"side","node":12551,"targets":[735]},{"channel":"w02","coefficient":1,"kind":"side","node":12555,"targets":[735]},{"channel":"partner","coefficient":1,"kind":"side","node":732,"targets":[735]},{"channel":"face0","coefficient":1,"kind":"side","node":6081,"targets":[736,737,738,739]},{"channel":"face0","coefficient":1,"kind":"side","node":6354,"targets":[740,741,742,743]},{"channel":"edge12","coefficient":1,"kind":"side","node":11482,"targets":[736,739]},{"channel":"edge12","coefficient":1,"kind":"side","node":11458,"targets":[737,738]},{"channel":"edge12","coefficient":1,"kind":"side","node":11482,"targets":[740,743]},{"channel":"edge12","coefficient":1,"kind":"side","node":11458,"targets":[741,742]},{"channel":"u01","coefficient":1,"kind":"side","node":12556,"targets":[736]},{"channel":"w02","coefficient":1,"kind":"side","node":12560,"targets":[736]},{"channel":"partner","coefficient":1,"kind":"side","node":739,"targets":[736]},{"channel":"u01","coefficient":1,"kind":"side","node":12556,"targets":[737]},{"channel":"w02","coefficient":1,"kind":"side","node":12561,"targets":[737]},{"channel":"partner","coefficient":1,"kind":"side","node":738,"targets":[737]},{"channel":"u01","coefficient":1,"kind":"side","node":12557,"targets":[738]},{"channel":"w02","coefficient":1,"kind":"side","node":12560,"targets":[738]},{"channel":"partner","coefficient":1,"kind":"side","node":737,"targets":[738]},{"channel":"u01","coefficient":1,"kind":"side","node":12557,"targets":[739]},{"channel":"w02","coefficient":1,"kind":"side","node":12561,"targets":[739]},{"channel":"partner","coefficient":1,"kind":"side","node":736,"targets":[739]},{"channel":"u01","coefficient":1,"kind":"side","node":12558,"targets":[740]},{"channel":"w02","coefficient":1,"kind":"side","node":12562,"targets":[740]},{"channel":"partner","coefficient":1,"kind":"side","node":743,"targets":[740]},{"channel":"u01","coefficient":1,"kind":"side","node":12558,"targets":[741]},{"channel":"w02","coefficient":1,"kind":"side","node":12563,"targets":[741]},{"channel":"partner","coefficient":1,"kind":"side","node":742,"targets":[741]},{"channel":"u01","coefficient":1,"kind":"side","node":12559,"targets":[742]},{"channel":"w02","coefficient":1,"kind":"side","node":12562,"targets":[742]},{"channel":"partner","coefficient":1,"kind":"side","node":741,"targets":[742]},{"channel":"u01","coefficient":1,"kind":"side","node":12559,"targets":[743]},{"channel":"w02","coefficient":1,"kind":"side","node":12563,"targets":[743]},{"channel":"partner","coefficient":1,"kind":"side","node":740,"targets":[743]},{"channel":"face0","coefficient":1,"kind":"side","node":5961,"targets":[744,745,746,747]},{"channel":"face0","coefficient":1,"kind":"side","node":6234,"targets":[748,749,750,751]},{"channel":"edge12","coefficient":1,"kind":"side","node":11530,"targets":[744,747]},{"channel":"edge12","coefficient":1,"kind":"side","node":11506,"targets":[745,746]},{"channel":"edge12","coefficient":1,"kind":"side","node":11530,"targets":[748,751]},{"channel":"edge12","coefficient":1,"kind":"side","node":11506,"targets":[749,750]},{"channel":"u01","coefficient":1,"kind":"side","node":12564,"targets":[744]},{"channel":"w02","coefficient":1,"kind":"side","node":12568,"targets":[744]},{"channel":"partner","coefficient":1,"kind":"side","node":747,"targets":[744]},{"channel":"u01","coefficient":1,"kind":"side","node":12564,"targets":[745]},{"channel":"w02","coefficient":1,"kind":"side","node":12569,"targets":[745]},{"channel":"partner","coefficient":1,"kind":"side","node":746,"targets":[745]},{"channel":"u01","coefficient":1,"kind":"side","node":12565,"targets":[746]},{"channel":"w02","coefficient":1,"kind":"side","node":12568,"targets":[746]},{"channel":"partner","coefficient":1,"kind":"side","node":745,"targets":[746]},{"channel":"u01","coefficient":1,"kind":"side","node":12565,"targets":[747]},{"channel":"w02","coefficient":1,"kind":"side","node":12569,"targets":[747]},{"channel":"partner","coefficient":1,"kind":"side","node":744,"targets":[747]},{"channel":"u01","coefficient":1,"kind":"side","node":12566,"targets":[748]},{"channel":"w02","coefficient":1,"kind":"side","node":12570,"targets":[748]},{"channel":"partner","coefficient":1,"kind":"side","node":751,"targets":[748]},{"channel":"u01","coefficient":1,"kind":"side","node":12566,"targets":[749]},{"channel":"w02","coefficient":1,"kind":"side","node":12571,"targets":[749]},{"channel":"partner","coefficient":1,"kind":"side","node":750,"targets":[749]},{"channel":"u01","coefficient":1,"kind":"side","node":12567,"targets":[750]},{"channel":"w02","coefficient":1,"kind":"side","node":12570,"targets":[750]},{"channel":"partner","coefficient":1,"kind":"side","node":749,"targets":[750]},{"channel":"u01","coefficient":1,"kind":"side","node":12567,"targets":[751]},{"channel":"w02","coefficient":1,"kind":"side","node":12571,"targets":[751]},{"channel":"partner","coefficient":1,"kind":"side","node":748,"targets":[751]},{"channel":"face0","coefficient":1,"kind":"side","node":6046,"targets":[752,753,754,755]},{"channel":"face0","coefficient":1,"kind":"side","node":6319,"targets":[756,757,758,759]},{"channel":"edge12","coefficient":1,"kind":"side","node":11578,"targets":[752,755]},{"channel":"edge12","coefficient":1,"kind":"side","node":11554,"targets":[753,754]},{"channel":"edge12","coefficient":1,"kind":"side","node":11578,"targets":[756,759]},{"channel":"edge12","coefficient":1,"kind":"side","node":11554,"targets":[757,758]},{"channel":"u01","coefficient":1,"kind":"side","node":12572,"targets":[752]},{"channel":"w02","coefficient":1,"kind":"side","node":12576,"targets":[752]},{"channel":"partner","coefficient":1,"kind":"side","node":755,"targets":[752]},{"channel":"u01","coefficient":1,"kind":"side","node":12572,"targets":[753]},{"channel":"w02","coefficient":1,"kind":"side","node":12577,"targets":[753]},{"channel":"partner","coefficient":1,"kind":"side","node":754,"targets":[753]},{"channel":"u01","coefficient":1,"kind":"side","node":12573,"targets":[754]},{"channel":"w02","coefficient":1,"kind":"side","node":12576,"targets":[754]},{"channel":"partner","coefficient":1,"kind":"side","node":753,"targets":[754]},{"channel":"u01","coefficient":1,"kind":"side","node":12573,"targets":[755]},{"channel":"w02","coefficient":1,"kind":"side","node":12577,"targets":[755]},{"channel":"partner","coefficient":1,"kind":"side","node":752,"targets":[755]},{"channel":"u01","coefficient":1,"kind":"side","node":12574,"targets":[756]},{"channel":"w02","coefficient":1,"kind":"side","node":12578,"targets":[756]},{"channel":"partner","coefficient":1,"kind":"side","node":759,"targets":[756]},{"channel":"u01","coefficient":1,"kind":"side","node":12574,"targets":[757]},{"channel":"w02","coefficient":1,"kind":"side","node":12579,"targets":[757]},{"channel":"partner","coefficient":1,"kind":"side","node":758,"targets":[757]},{"channel":"u01","coefficient":1,"kind":"side","node":12575,"targets":[758]},{"channel":"w02","coefficient":1,"kind":"side","node":12578,"targets":[758]},{"channel":"partner","coefficient":1,"kind":"side","node":757,"targets":[758]},{"channel":"u01","coefficient":1,"kind":"side","node":12575,"targets":[759]},{"channel":"w02","coefficient":1,"kind":"side","node":12579,"targets":[759]},{"channel":"partner","coefficient":1,"kind":"side","node":756,"targets":[759]},{"channel":"face0","coefficient":1,"kind":"side","node":6055,"targets":[760,761,762,763]},{"channel":"face0","coefficient":1,"kind":"side","node":6328,"targets":[764,765,766,767]},{"channel":"edge12","coefficient":1,"kind":"side","node":11626,"targets":[760,763]},{"channel":"edge12","coefficient":1,"kind":"side","node":11602,"targets":[761,762]},{"channel":"edge12","coefficient":1,"kind":"side","node":11626,"targets":[764,767]},{"channel":"edge12","coefficient":1,"kind":"side","node":11602,"targets":[765,766]},{"channel":"u01","coefficient":1,"kind":"side","node":12580,"targets":[760]},{"channel":"w02","coefficient":1,"kind":"side","node":12584,"targets":[760]},{"channel":"partner","coefficient":1,"kind":"side","node":763,"targets":[760]},{"channel":"u01","coefficient":1,"kind":"side","node":12580,"targets":[761]},{"channel":"w02","coefficient":1,"kind":"side","node":12585,"targets":[761]},{"channel":"partner","coefficient":1,"kind":"side","node":762,"targets":[761]},{"channel":"u01","coefficient":1,"kind":"side","node":12581,"targets":[762]},{"channel":"w02","coefficient":1,"kind":"side","node":12584,"targets":[762]},{"channel":"partner","coefficient":1,"kind":"side","node":761,"targets":[762]},{"channel":"u01","coefficient":1,"kind":"side","node":12581,"targets":[763]},{"channel":"w02","coefficient":1,"kind":"side","node":12585,"targets":[763]},{"channel":"partner","coefficient":1,"kind":"side","node":760,"targets":[763]},{"channel":"u01","coefficient":1,"kind":"side","node":12582,"targets":[764]},{"channel":"w02","coefficient":1,"kind":"side","node":12586,"targets":[764]},{"channel":"partner","coefficient":1,"kind":"side","node":767,"targets":[764]},{"channel":"u01","coefficient":1,"kind":"side","node":12582,"targets":[765]},{"channel":"w02","coefficient":1,"kind":"side","node":12587,"targets":[765]},{"channel":"partner","coefficient":1,"kind":"side","node":766,"targets":[765]},{"channel":"u01","coefficient":1,"kind":"side","node":12583,"targets":[766]},{"channel":"w02","coefficient":1,"kind":"side","node":12586,"targets":[766]},{"channel":"partner","coefficient":1,"kind":"side","node":765,"targets":[766]},{"channel":"u01","coefficient":1,"kind":"side","node":12583,"targets":[767]},{"channel":"w02","coefficient":1,"kind":"side","node":12587,"targets":[767]},{"channel":"partner","coefficient":1,"kind":"side","node":764,"targets":[767]},{"channel":"face0","coefficient":1,"kind":"side","node":6075,"targets":[768,769,770,771]},{"channel":"face0","coefficient":1,"kind":"side","node":6348,"targets":[772,773,774,775]},{"channel":"edge12","coefficient":1,"kind":"side","node":11674,"targets":[768,771]},{"channel":"edge12","coefficient":1,"kind":"side","node":11650,"targets":[769,770]},{"channel":"edge12","coefficient":1,"kind":"side","node":11674,"targets":[772,775]},{"channel":"edge12","coefficient":1,"kind":"side","node":11650,"targets":[773,774]},{"channel":"u01","coefficient":1,"kind":"side","node":12588,"targets":[768]},{"channel":"w02","coefficient":1,"kind":"side","node":12592,"targets":[768]},{"channel":"partner","coefficient":1,"kind":"side","node":771,"targets":[768]},{"channel":"u01","coefficient":1,"kind":"side","node":12588,"targets":[769]},{"channel":"w02","coefficient":1,"kind":"side","node":12593,"targets":[769]},{"channel":"partner","coefficient":1,"kind":"side","node":770,"targets":[769]},{"channel":"u01","coefficient":1,"kind":"side","node":12589,"targets":[770]},{"channel":"w02","coefficient":1,"kind":"side","node":12592,"targets":[770]},{"channel":"partner","coefficient":1,"kind":"side","node":769,"targets":[770]},{"channel":"u01","coefficient":1,"kind":"side","node":12589,"targets":[771]},{"channel":"w02","coefficient":1,"kind":"side","node":12593,"targets":[771]},{"channel":"partner","coefficient":1,"kind":"side","node":768,"targets":[771]},{"channel":"u01","coefficient":1,"kind":"side","node":12590,"targets":[772]},{"channel":"w02","coefficient":1,"kind":"side","node":12594,"targets":[772]},{"channel":"partner","coefficient":1,"kind":"side","node":775,"targets":[772]},{"channel":"u01","coefficient":1,"kind":"side","node":12590,"targets":[773]},{"channel":"w02","coefficient":1,"kind":"side","node":12595,"targets":[773]},{"channel":"partner","coefficient":1,"kind":"side","node":774,"targets":[773]},{"channel":"u01","coefficient":1,"kind":"side","node":12591,"targets":[774]},{"channel":"w02","coefficient":1,"kind":"side","node":12594,"targets":[774]},{"channel":"partner","coefficient":1,"kind":"side","node":773,"targets":[774]},{"channel":"u01","coefficient":1,"kind":"side","node":12591,"targets":[775]},{"channel":"w02","coefficient":1,"kind":"side","node":12595,"targets":[775]},{"channel":"partner","coefficient":1,"kind":"side","node":772,"targets":[775]},{"channel":"face0","coefficient":1,"kind":"side","node":6061,"targets":[776,777,778,779]},{"channel":"face0","coefficient":1,"kind":"side","node":6334,"targets":[780,781,782,783]},{"channel":"edge12","coefficient":1,"kind":"side","node":11722,"targets":[776,779]},{"channel":"edge12","coefficient":1,"kind":"side","node":11698,"targets":[777,778]},{"channel":"edge12","coefficient":1,"kind":"side","node":11722,"targets":[780,783]},{"channel":"edge12","coefficient":1,"kind":"side","node":11698,"targets":[781,782]},{"channel":"u01","coefficient":1,"kind":"side","node":12596,"targets":[776]},{"channel":"w02","coefficient":1,"kind":"side","node":12600,"targets":[776]},{"channel":"partner","coefficient":1,"kind":"side","node":779,"targets":[776]},{"channel":"u01","coefficient":1,"kind":"side","node":12596,"targets":[777]},{"channel":"w02","coefficient":1,"kind":"side","node":12601,"targets":[777]},{"channel":"partner","coefficient":1,"kind":"side","node":778,"targets":[777]},{"channel":"u01","coefficient":1,"kind":"side","node":12597,"targets":[778]},{"channel":"w02","coefficient":1,"kind":"side","node":12600,"targets":[778]},{"channel":"partner","coefficient":1,"kind":"side","node":777,"targets":[778]},{"channel":"u01","coefficient":1,"kind":"side","node":12597,"targets":[779]},{"channel":"w02","coefficient":1,"kind":"side","node":12601,"targets":[779]},{"channel":"partner","coefficient":1,"kind":"side","node":776,"targets":[779]},{"channel":"u01","coefficient":1,"kind":"side","node":12598,"targets":[780]},{"channel":"w02","coefficient":1,"kind":"side","node":12602,"targets":[780]},{"channel":"partner","coefficient":1,"kind":"side","node":783,"targets":[780]},{"channel":"u01","coefficient":1,"kind":"side","node":12598,"targets":[781]},{"channel":"w02","coefficient":1,"kind":"side","node":12603,"targets":[781]},{"channel":"partner","coefficient":1,"kind":"side","node":782,"targets":[781]},{"channel":"u01","coefficient":1,"kind":"side","node":12599,"targets":[782]},{"channel":"w02","coefficient":1,"kind":"side","node":12602,"targets":[782]},{"channel":"partner","coefficient":1,"kind":"side","node":781,"targets":[782]},{"channel":"u01","coefficient":1,"kind":"side","node":12599,"targets":[783]},{"channel":"w02","coefficient":1,"kind":"side","node":12603,"targets":[783]},{"channel":"partner","coefficient":1,"kind":"side","node":780,"targets":[783]},{"channel":"face0","coefficient":1,"kind":"side","node":6056,"targets":[784,785,786,787]},{"channel":"face0","coefficient":1,"kind":"side","node":6329,"targets":[788,789,790,791]},{"channel":"edge12","coefficient":1,"kind":"side","node":11770,"targets":[784,787]},{"channel":"edge12","coefficient":1,"kind":"side","node":11746,"targets":[785,786]},{"channel":"edge12","coefficient":1,"kind":"side","node":11770,"targets":[788,791]},{"channel":"edge12","coefficient":1,"kind":"side","node":11746,"targets":[789,790]},{"channel":"u01","coefficient":1,"kind":"side","node":12604,"targets":[784]},{"channel":"w02","coefficient":1,"kind":"side","node":12608,"targets":[784]},{"channel":"partner","coefficient":1,"kind":"side","node":787,"targets":[784]},{"channel":"u01","coefficient":1,"kind":"side","node":12604,"targets":[785]},{"channel":"w02","coefficient":1,"kind":"side","node":12609,"targets":[785]},{"channel":"partner","coefficient":1,"kind":"side","node":786,"targets":[785]},{"channel":"u01","coefficient":1,"kind":"side","node":12605,"targets":[786]},{"channel":"w02","coefficient":1,"kind":"side","node":12608,"targets":[786]},{"channel":"partner","coefficient":1,"kind":"side","node":785,"targets":[786]},{"channel":"u01","coefficient":1,"kind":"side","node":12605,"targets":[787]},{"channel":"w02","coefficient":1,"kind":"side","node":12609,"targets":[787]},{"channel":"partner","coefficient":1,"kind":"side","node":784,"targets":[787]},{"channel":"u01","coefficient":1,"kind":"side","node":12606,"targets":[788]},{"channel":"w02","coefficient":1,"kind":"side","node":12610,"targets":[788]},{"channel":"partner","coefficient":1,"kind":"side","node":791,"targets":[788]},{"channel":"u01","coefficient":1,"kind":"side","node":12606,"targets":[789]},{"channel":"w02","coefficient":1,"kind":"side","node":12611,"targets":[789]},{"channel":"partner","coefficient":1,"kind":"side","node":790,"targets":[789]},{"channel":"u01","coefficient":1,"kind":"side","node":12607,"targets":[790]},{"channel":"w02","coefficient":1,"kind":"side","node":12610,"targets":[790]},{"channel":"partner","coefficient":1,"kind":"side","node":789,"targets":[790]},{"channel":"u01","coefficient":1,"kind":"side","node":12607,"targets":[791]},{"channel":"w02","coefficient":1,"kind":"side","node":12611,"targets":[791]},{"channel":"partner","coefficient":1,"kind":"side","node":788,"targets":[791]},{"channel":"face0","coefficient":1,"kind":"side","node":5886,"targets":[792,793,794,795]},{"channel":"face0","coefficient":1,"kind":"side","node":6159,"targets":[796,797,798,799]},{"channel":"edge12","coefficient":1,"kind":"side","node":11818,"targets":[792,795]},{"channel":"edge12","coefficient":1,"kind":"side","node":11794,"targets":[793,794]},{"channel":"edge12","coefficient":1,"kind":"side","node":11818,"targets":[796,799]},{"channel":"edge12","coefficient":1,"kind":"side","node":11794,"targets":[797,798]},{"channel":"u01","coefficient":1,"kind":"side","node":12612,"targets":[792]},{"channel":"w02","coefficient":1,"kind":"side","node":12616,"targets":[792]},{"channel":"partner","coefficient":1,"kind":"side","node":795,"targets":[792]},{"channel":"u01","coefficient":1,"kind":"side","node":12612,"targets":[793]},{"channel":"w02","coefficient":1,"kind":"side","node":12617,"targets":[793]},{"channel":"partner","coefficient":1,"kind":"side","node":794,"targets":[793]},{"channel":"u01","coefficient":1,"kind":"side","node":12613,"targets":[794]},{"channel":"w02","coefficient":1,"kind":"side","node":12616,"targets":[794]},{"channel":"partner","coefficient":1,"kind":"side","node":793,"targets":[794]},{"channel":"u01","coefficient":1,"kind":"side","node":12613,"targets":[795]},{"channel":"w02","coefficient":1,"kind":"side","node":12617,"targets":[795]},{"channel":"partner","coefficient":1,"kind":"side","node":792,"targets":[795]},{"channel":"u01","coefficient":1,"kind":"side","node":12614,"targets":[796]},{"channel":"w02","coefficient":1,"kind":"side","node":12618,"targets":[796]},{"channel":"partner","coefficient":1,"kind":"side","node":799,"targets":[796]},{"channel":"u01","coefficient":1,"kind":"side","node":12614,"targets":[797]},{"channel":"w02","coefficient":1,"kind":"side","node":12619,"targets":[797]},{"channel":"partner","coefficient":1,"kind":"side","node":798,"targets":[797]},{"channel":"u01","coefficient":1,"kind":"side","node":12615,"targets":[798]},{"channel":"w02","coefficient":1,"kind":"side","node":12618,"targets":[798]},{"channel":"partner","coefficient":1,"kind":"side","node":797,"targets":[798]},{"channel":"u01","coefficient":1,"kind":"side","node":12615,"targets":[799]},{"channel":"w02","coefficient":1,"kind":"side","node":12619,"targets":[799]},{"channel":"partner","coefficient":1,"kind":"side","node":796,"targets":[799]},{"channel":"face0","coefficient":1,"kind":"side","node":6630,"targets":[800,801,802,803]},{"channel":"face0","coefficient":1,"kind":"side","node":6903,"targets":[804,805,806,807]},{"channel":"edge12","coefficient":1,"kind":"side","node":11385,"targets":[800,803]},{"channel":"edge12","coefficient":1,"kind":"side","node":11361,"targets":[801,802]},{"channel":"edge12","coefficient":1,"kind":"side","node":11385,"targets":[804,807]},{"channel":"edge12","coefficient":1,"kind":"side","node":11361,"targets":[805,806]},{"channel":"u01","coefficient":1,"kind":"side","node":12620,"targets":[800]},{"channel":"w02","coefficient":1,"kind":"side","node":12624,"targets":[800]},{"channel":"partner","coefficient":1,"kind":"side","node":803,"targets":[800]},{"channel":"u01","coefficient":1,"kind":"side","node":12620,"targets":[801]},{"channel":"w02","coefficient":1,"kind":"side","node":12625,"targets":[801]},{"channel":"partner","coefficient":1,"kind":"side","node":802,"targets":[801]},{"channel":"u01","coefficient":1,"kind":"side","node":12621,"targets":[802]},{"channel":"w02","coefficient":1,"kind":"side","node":12624,"targets":[802]},{"channel":"partner","coefficient":1,"kind":"side","node":801,"targets":[802]},{"channel":"u01","coefficient":1,"kind":"side","node":12621,"targets":[803]},{"channel":"w02","coefficient":1,"kind":"side","node":12625,"targets":[803]},{"channel":"partner","coefficient":1,"kind":"side","node":800,"targets":[803]},{"channel":"u01","coefficient":1,"kind":"side","node":12622,"targets":[804]},{"channel":"w02","coefficient":1,"kind":"side","node":12626,"targets":[804]},{"channel":"partner","coefficient":1,"kind":"side","node":807,"targets":[804]},{"channel":"u01","coefficient":1,"kind":"side","node":12622,"targets":[805]},{"channel":"w02","coefficient":1,"kind":"side","node":12627,"targets":[805]},{"channel":"partner","coefficient":1,"kind":"side","node":806,"targets":[805]},{"channel":"u01","coefficient":1,"kind":"side","node":12623,"targets":[806]},{"channel":"w02","coefficient":1,"kind":"side","node":12626,"targets":[806]},{"channel":"partner","coefficient":1,"kind":"side","node":805,"targets":[806]},{"channel":"u01","coefficient":1,"kind":"side","node":12623,"targets":[807]},{"channel":"w02","coefficient":1,"kind":"side","node":12627,"targets":[807]},{"channel":"partner","coefficient":1,"kind":"side","node":804,"targets":[807]},{"channel":"face0","coefficient":1,"kind":"side","node":6628,"targets":[808,809,810,811]},{"channel":"face0","coefficient":1,"kind":"side","node":6901,"targets":[812,813,814,815]},{"channel":"edge12","coefficient":1,"kind":"side","node":11433,"targets":[808,811]},{"channel":"edge12","coefficient":1,"kind":"side","node":11409,"targets":[809,810]},{"channel":"edge12","coefficient":1,"kind":"side","node":11433,"targets":[812,815]},{"channel":"edge12","coefficient":1,"kind":"side","node":11409,"targets":[813,814]},{"channel":"u01","coefficient":1,"kind":"side","node":12628,"targets":[808]},{"channel":"w02","coefficient":1,"kind":"side","node":12632,"targets":[808]},{"channel":"partner","coefficient":1,"kind":"side","node":811,"targets":[808]},{"channel":"u01","coefficient":1,"kind":"side","node":12628,"targets":[809]},{"channel":"w02","coefficient":1,"kind":"side","node":12633,"targets":[809]},{"channel":"partner","coefficient":1,"kind":"side","node":810,"targets":[809]},{"channel":"u01","coefficient":1,"kind":"side","node":12629,"targets":[810]},{"channel":"w02","coefficient":1,"kind":"side","node":12632,"targets":[810]},{"channel":"partner","coefficient":1,"kind":"side","node":809,"targets":[810]},{"channel":"u01","coefficient":1,"kind":"side","node":12629,"targets":[811]},{"channel":"w02","coefficient":1,"kind":"side","node":12633,"targets":[811]},{"channel":"partner","coefficient":1,"kind":"side","node":808,"targets":[811]},{"channel":"u01","coefficient":1,"kind":"side","node":12630,"targets":[812]},{"channel":"w02","coefficient":1,"kind":"side","node":12634,"targets":[812]},{"channel":"partner","coefficient":1,"kind":"side","node":815,"targets":[812]},{"channel":"u01","coefficient":1,"kind":"side","node":12630,"targets":[813]},{"channel":"w02","coefficient":1,"kind":"side","node":12635,"targets":[813]},{"channel":"partner","coefficient":1,"kind":"side","node":814,"targets":[813]},{"channel":"u01","coefficient":1,"kind":"side","node":12631,"targets":[814]},{"channel":"w02","coefficient":1,"kind":"side","node":12634,"targets":[814]},{"channel":"partner","coefficient":1,"kind":"side","node":813,"targets":[814]},{"channel":"u01","coefficient":1,"kind":"side","node":12631,"targets":[815]},{"channel":"w02","coefficient":1,"kind":"side","node":12635,"targets":[815]},{"channel":"partner","coefficient":1,"kind":"side","node":812,"targets":[815]},{"channel":"face0","coefficient":1,"kind":"side","node":6627,"targets":[816,817,818,819]},{"channel":"face0","coefficient":1,"kind":"side","node":6900,"targets":[820,821,822,823]},{"channel":"edge12","coefficient":1,"kind":"side","node":11481,"targets":[816,819]},{"channel":"edge12","coefficient":1,"kind":"side","node":11457,"targets":[817,818]},{"channel":"edge12","coefficient":1,"kind":"side","node":11481,"targets":[820,823]},{"channel":"edge12","coefficient":1,"kind":"side","node":11457,"targets":[821,822]},{"channel":"u01","coefficient":1,"kind":"side","node":12636,"targets":[816]},{"channel":"w02","coefficient":1,"kind":"side","node":12640,"targets":[816]},{"channel":"partner","coefficient":1,"kind":"side","node":819,"targets":[816]},{"channel":"u01","coefficient":1,"kind":"side","node":12636,"targets":[817]},{"channel":"w02","coefficient":1,"kind":"side","node":12641,"targets":[817]},{"channel":"partner","coefficient":1,"kind":"side","node":818,"targets":[817]},{"channel":"u01","coefficient":1,"kind":"side","node":12637,"targets":[818]},{"channel":"w02","coefficient":1,"kind":"side","node":12640,"targets":[818]},{"channel":"partner","coefficient":1,"kind":"side","node":817,"targets":[818]},{"channel":"u01","coefficient":1,"kind":"side","node":12637,"targets":[819]},{"channel":"w02","coefficient":1,"kind":"side","node":12641,"targets":[819]},{"channel":"partner","coefficient":1,"kind":"side","node":816,"targets":[819]},{"channel":"u01","coefficient":1,"kind":"side","node":12638,"targets":[820]},{"channel":"w02","coefficient":1,"kind":"side","node":12642,"targets":[820]},{"channel":"partner","coefficient":1,"kind":"side","node":823,"targets":[820]},{"channel":"u01","coefficient":1,"kind":"side","node":12638,"targets":[821]},{"channel":"w02","coefficient":1,"kind":"side","node":12643,"targets":[821]},{"channel":"partner","coefficient":1,"kind":"side","node":822,"targets":[821]},{"channel":"u01","coefficient":1,"kind":"side","node":12639,"targets":[822]},{"channel":"w02","coefficient":1,"kind":"side","node":12642,"targets":[822]},{"channel":"partner","coefficient":1,"kind":"side","node":821,"targets":[822]},{"channel":"u01","coefficient":1,"kind":"side","node":12639,"targets":[823]},{"channel":"w02","coefficient":1,"kind":"side","node":12643,"targets":[823]},{"channel":"partner","coefficient":1,"kind":"side","node":820,"targets":[823]},{"channel":"face0","coefficient":1,"kind":"side","node":6507,"targets":[824,825,826,827]},{"channel":"face0","coefficient":1,"kind":"side","node":6780,"targets":[828,829,830,831]},{"channel":"edge12","coefficient":1,"kind":"side","node":11529,"targets":[824,827]},{"channel":"edge12","coefficient":1,"kind":"side","node":11505,"targets":[825,826]},{"channel":"edge12","coefficient":1,"kind":"side","node":11529,"targets":[828,831]},{"channel":"edge12","coefficient":1,"kind":"side","node":11505,"targets":[829,830]},{"channel":"u01","coefficient":1,"kind":"side","node":12644,"targets":[824]},{"channel":"w02","coefficient":1,"kind":"side","node":12648,"targets":[824]},{"channel":"partner","coefficient":1,"kind":"side","node":827,"targets":[824]},{"channel":"u01","coefficient":1,"kind":"side","node":12644,"targets":[825]},{"channel":"w02","coefficient":1,"kind":"side","node":12649,"targets":[825]},{"channel":"partner","coefficient":1,"kind":"side","node":826,"targets":[825]},{"channel":"u01","coefficient":1,"kind":"side","node":12645,"targets":[826]},{"channel":"w02","coefficient":1,"kind":"side","node":12648,"targets":[826]},{"channel":"partner","coefficient":1,"kind":"side","node":825,"targets":[826]},{"channel":"u01","coefficient":1,"kind":"side","node":12645,"targets":[827]},{"channel":"w02","coefficient":1,"kind":"side","node":12649,"targets":[827]},{"channel":"partner","coefficient":1,"kind":"side","node":824,"targets":[827]},{"channel":"u01","coefficient":1,"kind":"side","node":12646,"targets":[828]},{"channel":"w02","coefficient":1,"kind":"side","node":12650,"targets":[828]},{"channel":"partner","coefficient":1,"kind":"side","node":831,"targets":[828]},{"channel":"u01","coefficient":1,"kind":"side","node":12646,"targets":[829]},{"channel":"w02","coefficient":1,"kind":"side","node":12651,"targets":[829]},{"channel":"partner","coefficient":1,"kind":"side","node":830,"targets":[829]},{"channel":"u01","coefficient":1,"kind":"side","node":12647,"targets":[830]},{"channel":"w02","coefficient":1,"kind":"side","node":12650,"targets":[830]},{"channel":"partner","coefficient":1,"kind":"side","node":829,"targets":[830]},{"channel":"u01","coefficient":1,"kind":"side","node":12647,"targets":[831]},{"channel":"w02","coefficient":1,"kind":"side","node":12651,"targets":[831]},{"channel":"partner","coefficient":1,"kind":"side","node":828,"targets":[831]},{"channel":"face0","coefficient":1,"kind":"side","node":6592,"targets":[832,833,834,835]},{"channel":"face0","coefficient":1,"kind":"side","node":6865,"targets":[836,837,838,839]},{"channel":"edge12","coefficient":1,"kind":"side","node":11577,"targets":[832,835]},{"channel":"edge12","coefficient":1,"kind":"side","node":11553,"targets":[833,834]},{"channel":"edge12","coefficient":1,"kind":"side","node":11577,"targets":[836,839]},{"channel":"edge12","coefficient":1,"kind":"side","node":11553,"targets":[837,838]},{"channel":"u01","coefficient":1,"kind":"side","node":12652,"targets":[832]},{"channel":"w02","coefficient":1,"kind":"side","node":12656,"targets":[832]},{"channel":"partner","coefficient":1,"kind":"side","node":835,"targets":[832]},{"channel":"u01","coefficient":1,"kind":"side","node":12652,"targets":[833]},{"channel":"w02","coefficient":1,"kind":"side","node":12657,"targets":[833]},{"channel":"partner","coefficient":1,"kind":"side","node":834,"targets":[833]},{"channel":"u01","coefficient":1,"kind":"side","node":12653,"targets":[834]},{"channel":"w02","coefficient":1,"kind":"side","node":12656,"targets":[834]},{"channel":"partner","coefficient":1,"kind":"side","node":833,"targets":[834]},{"channel":"u01","coefficient":1,"kind":"side","node":12653,"targets":[835]},{"channel":"w02","coefficient":1,"kind":"side","node":12657,"targets":[835]},{"channel":"partner","coefficient":1,"kind":"side","node":832,"targets":[835]},{"channel":"u01","coefficient":1,"kind":"side","node":12654,"targets":[836]},{"channel":"w02","coefficient":1,"kind":"side","node":12658,"targets":[836]},{"channel":"partner","coefficient":1,"kind":"side","node":839,"targets":[836]},{"channel":"u01","coefficient":1,"kind":"side","node":12654,"targets":[837]},{"channel":"w02","coefficient":1,"kind":"side","node":12659,"targets":[837]},{"channel":"partner","coefficient":1,"kind":"side","node":838,"targets":[837]},{"channel":"u01","coefficient":1,"kind":"side","node":12655,"targets":[838]},{"channel":"w02","coefficient":1,"kind":"side","node":12658,"targets":[838]},{"channel":"partner","coefficient":1,"kind":"side","node":837,"targets":[838]},{"channel":"u01","coefficient":1,"kind":"side","node":12655,"targets":[839]},{"channel":"w02","coefficient":1,"kind":"side","node":12659,"targets":[839]},{"channel":"partner","coefficient":1,"kind":"side","node":836,"targets":[839]},{"channel":"face0","coefficient":1,"kind":"side","node":6601,"targets":[840,841,842,843]},{"channel":"face0","coefficient":1,"kind":"side","node":6874,"targets":[844,845,846,847]},{"channel":"edge12","coefficient":1,"kind":"side","node":11625,"targets":[840,843]},{"channel":"edge12","coefficient":1,"kind":"side","node":11601,"targets":[841,842]},{"channel":"edge12","coefficient":1,"kind":"side","node":11625,"targets":[844,847]},{"channel":"edge12","coefficient":1,"kind":"side","node":11601,"targets":[845,846]},{"channel":"u01","coefficient":1,"kind":"side","node":12660,"targets":[840]},{"channel":"w02","coefficient":1,"kind":"side","node":12664,"targets":[840]},{"channel":"partner","coefficient":1,"kind":"side","node":843,"targets":[840]},{"channel":"u01","coefficient":1,"kind":"side","node":12660,"targets":[841]},{"channel":"w02","coefficient":1,"kind":"side","node":12665,"targets":[841]},{"channel":"partner","coefficient":1,"kind":"side","node":842,"targets":[841]},{"channel":"u01","coefficient":1,"kind":"side","node":12661,"targets":[842]},{"channel":"w02","coefficient":1,"kind":"side","node":12664,"targets":[842]},{"channel":"partner","coefficient":1,"kind":"side","node":841,"targets":[842]},{"channel":"u01","coefficient":1,"kind":"side","node":12661,"targets":[843]},{"channel":"w02","coefficient":1,"kind":"side","node":12665,"targets":[843]},{"channel":"partner","coefficient":1,"kind":"side","node":840,"targets":[843]},{"channel":"u01","coefficient":1,"kind":"side","node":12662,"targets":[844]},{"channel":"w02","coefficient":1,"kind":"side","node":12666,"targets":[844]},{"channel":"partner","coefficient":1,"kind":"side","node":847,"targets":[844]},{"channel":"u01","coefficient":1,"kind":"side","node":12662,"targets":[845]},{"channel":"w02","coefficient":1,"kind":"side","node":12667,"targets":[845]},{"channel":"partner","coefficient":1,"kind":"side","node":846,"targets":[845]},{"channel":"u01","coefficient":1,"kind":"side","node":12663,"targets":[846]},{"channel":"w02","coefficient":1,"kind":"side","node":12666,"targets":[846]},{"channel":"partner","coefficient":1,"kind":"side","node":845,"targets":[846]},{"channel":"u01","coefficient":1,"kind":"side","node":12663,"targets":[847]},{"channel":"w02","coefficient":1,"kind":"side","node":12667,"targets":[847]},{"channel":"partner","coefficient":1,"kind":"side","node":844,"targets":[847]},{"channel":"face0","coefficient":1,"kind":"side","node":6621,"targets":[848,849,850,851]},{"channel":"face0","coefficient":1,"kind":"side","node":6894,"targets":[852,853,854,855]},{"channel":"edge12","coefficient":1,"kind":"side","node":11673,"targets":[848,851]},{"channel":"edge12","coefficient":1,"kind":"side","node":11649,"targets":[849,850]},{"channel":"edge12","coefficient":1,"kind":"side","node":11673,"targets":[852,855]},{"channel":"edge12","coefficient":1,"kind":"side","node":11649,"targets":[853,854]},{"channel":"u01","coefficient":1,"kind":"side","node":12668,"targets":[848]},{"channel":"w02","coefficient":1,"kind":"side","node":12672,"targets":[848]},{"channel":"partner","coefficient":1,"kind":"side","node":851,"targets":[848]},{"channel":"u01","coefficient":1,"kind":"side","node":12668,"targets":[849]},{"channel":"w02","coefficient":1,"kind":"side","node":12673,"targets":[849]},{"channel":"partner","coefficient":1,"kind":"side","node":850,"targets":[849]},{"channel":"u01","coefficient":1,"kind":"side","node":12669,"targets":[850]},{"channel":"w02","coefficient":1,"kind":"side","node":12672,"targets":[850]},{"channel":"partner","coefficient":1,"kind":"side","node":849,"targets":[850]},{"channel":"u01","coefficient":1,"kind":"side","node":12669,"targets":[851]},{"channel":"w02","coefficient":1,"kind":"side","node":12673,"targets":[851]},{"channel":"partner","coefficient":1,"kind":"side","node":848,"targets":[851]},{"channel":"u01","coefficient":1,"kind":"side","node":12670,"targets":[852]},{"channel":"w02","coefficient":1,"kind":"side","node":12674,"targets":[852]},{"channel":"partner","coefficient":1,"kind":"side","node":855,"targets":[852]},{"channel":"u01","coefficient":1,"kind":"side","node":12670,"targets":[853]},{"channel":"w02","coefficient":1,"kind":"side","node":12675,"targets":[853]},{"channel":"partner","coefficient":1,"kind":"side","node":854,"targets":[853]},{"channel":"u01","coefficient":1,"kind":"side","node":12671,"targets":[854]},{"channel":"w02","coefficient":1,"kind":"side","node":12674,"targets":[854]},{"channel":"partner","coefficient":1,"kind":"side","node":853,"targets":[854]},{"channel":"u01","coefficient":1,"kind":"side","node":12671,"targets":[855]},{"channel":"w02","coefficient":1,"kind":"side","node":12675,"targets":[855]},{"channel":"partner","coefficient":1,"kind":"side","node":852,"targets":[855]},{"channel":"face0","coefficient":1,"kind":"side","node":6607,"targets":[856,857,858,859]},{"channel":"face0","coefficient":1,"kind":"side","node":6880,"targets":[860,861,862,863]},{"channel":"edge12","coefficient":1,"kind":"side","node":11721,"targets":[856,859]},{"channel":"edge12","coefficient":1,"kind":"side","node":11697,"targets":[857,858]},{"channel":"edge12","coefficient":1,"kind":"side","node":11721,"targets":[860,863]},{"channel":"edge12","coefficient":1,"kind":"side","node":11697,"targets":[861,862]},{"channel":"u01","coefficient":1,"kind":"side","node":12676,"targets":[856]},{"channel":"w02","coefficient":1,"kind":"side","node":12680,"targets":[856]},{"channel":"partner","coefficient":1,"kind":"side","node":859,"targets":[856]},{"channel":"u01","coefficient":1,"kind":"side","node":12676,"targets":[857]},{"channel":"w02","coefficient":1,"kind":"side","node":12681,"targets":[857]},{"channel":"partner","coefficient":1,"kind":"side","node":858,"targets":[857]},{"channel":"u01","coefficient":1,"kind":"side","node":12677,"targets":[858]},{"channel":"w02","coefficient":1,"kind":"side","node":12680,"targets":[858]},{"channel":"partner","coefficient":1,"kind":"side","node":857,"targets":[858]},{"channel":"u01","coefficient":1,"kind":"side","node":12677,"targets":[859]},{"channel":"w02","coefficient":1,"kind":"side","node":12681,"targets":[859]},{"channel":"partner","coefficient":1,"kind":"side","node":856,"targets":[859]},{"channel":"u01","coefficient":1,"kind":"side","node":12678,"targets":[860]},{"channel":"w02","coefficient":1,"kind":"side","node":12682,"targets":[860]},{"channel":"partner","coefficient":1,"kind":"side","node":863,"targets":[860]},{"channel":"u01","coefficient":1,"kind":"side","node":12678,"targets":[861]},{"channel":"w02","coefficient":1,"kind":"side","node":12683,"targets":[861]},{"channel":"partner","coefficient":1,"kind":"side","node":862,"targets":[861]},{"channel":"u01","coefficient":1,"kind":"side","node":12679,"targets":[862]},{"channel":"w02","coefficient":1,"kind":"side","node":12682,"targets":[862]},{"channel":"partner","coefficient":1,"kind":"side","node":861,"targets":[862]},{"channel":"u01","coefficient":1,"kind":"side","node":12679,"targets":[863]},{"channel":"w02","coefficient":1,"kind":"side","node":12683,"targets":[863]},{"channel":"partner","coefficient":1,"kind":"side","node":860,"targets":[863]},{"channel":"face0","coefficient":1,"kind":"side","node":6602,"targets":[864,865,866,867]},{"channel":"face0","coefficient":1,"kind":"side","node":6875,"targets":[868,869,870,871]},{"channel":"edge12","coefficient":1,"kind":"side","node":11769,"targets":[864,867]},{"channel":"edge12","coefficient":1,"kind":"side","node":11745,"targets":[865,866]},{"channel":"edge12","coefficient":1,"kind":"side","node":11769,"targets":[868,871]},{"channel":"edge12","coefficient":1,"kind":"side","node":11745,"targets":[869,870]},{"channel":"u01","coefficient":1,"kind":"side","node":12684,"targets":[864]},{"channel":"w02","coefficient":1,"kind":"side","node":12688,"targets":[864]},{"channel":"partner","coefficient":1,"kind":"side","node":867,"targets":[864]},{"channel":"u01","coefficient":1,"kind":"side","node":12684,"targets":[865]},{"channel":"w02","coefficient":1,"kind":"side","node":12689,"targets":[865]},{"channel":"partner","coefficient":1,"kind":"side","node":866,"targets":[865]},{"channel":"u01","coefficient":1,"kind":"side","node":12685,"targets":[866]},{"channel":"w02","coefficient":1,"kind":"side","node":12688,"targets":[866]},{"channel":"partner","coefficient":1,"kind":"side","node":865,"targets":[866]},{"channel":"u01","coefficient":1,"kind":"side","node":12685,"targets":[867]},{"channel":"w02","coefficient":1,"kind":"side","node":12689,"targets":[867]},{"channel":"partner","coefficient":1,"kind":"side","node":864,"targets":[867]},{"channel":"u01","coefficient":1,"kind":"side","node":12686,"targets":[868]},{"channel":"w02","coefficient":1,"kind":"side","node":12690,"targets":[868]},{"channel":"partner","coefficient":1,"kind":"side","node":871,"targets":[868]},{"channel":"u01","coefficient":1,"kind":"side","node":12686,"targets":[869]},{"channel":"w02","coefficient":1,"kind":"side","node":12691,"targets":[869]},{"channel":"partner","coefficient":1,"kind":"side","node":870,"targets":[869]},{"channel":"u01","coefficient":1,"kind":"side","node":12687,"targets":[870]},{"channel":"w02","coefficient":1,"kind":"side","node":12690,"targets":[870]},{"channel":"partner","coefficient":1,"kind":"side","node":869,"targets":[870]},{"channel":"u01","coefficient":1,"kind":"side","node":12687,"targets":[871]},{"channel":"w02","coefficient":1,"kind":"side","node":12691,"targets":[871]},{"channel":"partner","coefficient":1,"kind":"side","node":868,"targets":[871]},{"channel":"face0","coefficient":1,"kind":"side","node":6432,"targets":[872,873,874,875]},{"channel":"face0","coefficient":1,"kind":"side","node":6705,"targets":[876,877,878,879]},{"channel":"edge12","coefficient":1,"kind":"side","node":11817,"targets":[872,875]},{"channel":"edge12","coefficient":1,"kind":"side","node":11793,"targets":[873,874]},{"channel":"edge12","coefficient":1,"kind":"side","node":11817,"targets":[876,879]},{"channel":"edge12","coefficient":1,"kind":"side","node":11793,"targets":[877,878]},{"channel":"u01","coefficient":1,"kind":"side","node":12692,"targets":[872]},{"channel":"w02","coefficient":1,"kind":"side","node":12696,"targets":[872]},{"channel":"partner","coefficient":1,"kind":"side","node":875,"targets":[872]},{"channel":"u01","coefficient":1,"kind":"side","node":12692,"targets":[873]},{"channel":"w02","coefficient":1,"kind":"side","node":12697,"targets":[873]},{"channel":"partner","coefficient":1,"kind":"side","node":874,"targets":[873]},{"channel":"u01","coefficient":1,"kind":"side","node":12693,"targets":[874]},{"channel":"w02","coefficient":1,"kind":"side","node":12696,"targets":[874]},{"channel":"partner","coefficient":1,"kind":"side","node":873,"targets":[874]},{"channel":"u01","coefficient":1,"kind":"side","node":12693,"targets":[875]},{"channel":"w02","coefficient":1,"kind":"side","node":12697,"targets":[875]},{"channel":"partner","coefficient":1,"kind":"side","node":872,"targets":[875]},{"channel":"u01","coefficient":1,"kind":"side","node":12694,"targets":[876]},{"channel":"w02","coefficient":1,"kind":"side","node":12698,"targets":[876]},{"channel":"partner","coefficient":1,"kind":"side","node":879,"targets":[876]},{"channel":"u01","coefficient":1,"kind":"side","node":12694,"targets":[877]},{"channel":"w02","coefficient":1,"kind":"side","node":12699,"targets":[877]},{"channel":"partner","coefficient":1,"kind":"side","node":878,"targets":[877]},{"channel":"u01","coefficient":1,"kind":"side","node":12695,"targets":[878]},{"channel":"w02","coefficient":1,"kind":"side","node":12698,"targets":[878]},{"channel":"partner","coefficient":1,"kind":"side","node":877,"targets":[878]},{"channel":"u01","coefficient":1,"kind":"side","node":12695,"targets":[879]},{"channel":"w02","coefficient":1,"kind":"side","node":12699,"targets":[879]},{"channel":"partner","coefficient":1,"kind":"side","node":876,"targets":[879]},{"channel":"face0","coefficient":1,"kind":"side","node":7138,"targets":[880,881,882,883]},{"channel":"face0","coefficient":1,"kind":"side","node":7411,"targets":[884,885,886,887]},{"channel":"edge12","coefficient":1,"kind":"side","node":11576,"targets":[880,883]},{"channel":"edge12","coefficient":1,"kind":"side","node":11552,"targets":[881,882]},{"channel":"edge12","coefficient":1,"kind":"side","node":11576,"targets":[884,887]},{"channel":"edge12","coefficient":1,"kind":"side","node":11552,"targets":[885,886]},{"channel":"u01","coefficient":1,"kind":"side","node":12700,"targets":[880]},{"channel":"w02","coefficient":1,"kind":"side","node":12704,"targets":[880]},{"channel":"partner","coefficient":1,"kind":"side","node":883,"targets":[880]},{"channel":"u01","coefficient":1,"kind":"side","node":12700,"targets":[881]},{"channel":"w02","coefficient":1,"kind":"side","node":12705,"targets":[881]},{"channel":"partner","coefficient":1,"kind":"side","node":882,"targets":[881]},{"channel":"u01","coefficient":1,"kind":"side","node":12701,"targets":[882]},{"channel":"w02","coefficient":1,"kind":"side","node":12704,"targets":[882]},{"channel":"partner","coefficient":1,"kind":"side","node":881,"targets":[882]},{"channel":"u01","coefficient":1,"kind":"side","node":12701,"targets":[883]},{"channel":"w02","coefficient":1,"kind":"side","node":12705,"targets":[883]},{"channel":"partner","coefficient":1,"kind":"side","node":880,"targets":[883]},{"channel":"u01","coefficient":1,"kind":"side","node":12702,"targets":[884]},{"channel":"w02","coefficient":1,"kind":"side","node":12706,"targets":[884]},{"channel":"partner","coefficient":1,"kind":"side","node":887,"targets":[884]},{"channel":"u01","coefficient":1,"kind":"side","node":12702,"targets":[885]},{"channel":"w02","coefficient":1,"kind":"side","node":12707,"targets":[885]},{"channel":"partner","coefficient":1,"kind":"side","node":886,"targets":[885]},{"channel":"u01","coefficient":1,"kind":"side","node":12703,"targets":[886]},{"channel":"w02","coefficient":1,"kind":"side","node":12706,"targets":[886]},{"channel":"partner","coefficient":1,"kind":"side","node":885,"targets":[886]},{"channel":"u01","coefficient":1,"kind":"side","node":12703,"targets":[887]},{"channel":"w02","coefficient":1,"kind":"side","node":12707,"targets":[887]},{"channel":"partner","coefficient":1,"kind":"side","node":884,"targets":[887]},{"channel":"face0","coefficient":1,"kind":"side","node":7147,"targets":[888,889,890,891]},{"channel":"face0","coefficient":1,"kind":"side","node":7420,"targets":[892,893,894,895]},{"channel":"edge12","coefficient":1,"kind":"side","node":11624,"targets":[888,891]},{"channel":"edge12","coefficient":1,"kind":"side","node":11600,"targets":[889,890]},{"channel":"edge12","coefficient":1,"kind":"side","node":11624,"targets":[892,895]},{"channel":"edge12","coefficient":1,"kind":"side","node":11600,"targets":[893,894]},{"channel":"u01","coefficient":1,"kind":"side","node":12708,"targets":[888]},{"channel":"w02","coefficient":1,"kind":"side","node":12712,"targets":[888]},{"channel":"partner","coefficient":1,"kind":"side","node":891,"targets":[888]},{"channel":"u01","coefficient":1,"kind":"side","node":12708,"targets":[889]},{"channel":"w02","coefficient":1,"kind":"side","node":12713,"targets":[889]},{"channel":"partner","coefficient":1,"kind":"side","node":890,"targets":[889]},{"channel":"u01","coefficient":1,"kind":"side","node":12709,"targets":[890]},{"channel":"w02","coefficient":1,"kind":"side","node":12712,"targets":[890]},{"channel":"partner","coefficient":1,"kind":"side","node":889,"targets":[890]},{"channel":"u01","coefficient":1,"kind":"side","node":12709,"targets":[891]},{"channel":"w02","coefficient":1,"kind":"side","node":12713,"targets":[891]},{"channel":"partner","coefficient":1,"kind":"side","node":888,"targets":[891]},{"channel":"u01","coefficient":1,"kind":"side","node":12710,"targets":[892]},{"channel":"w02","coefficient":1,"kind":"side","node":12714,"targets":[892]},{"channel":"partner","coefficient":1,"kind":"side","node":895,"targets":[892]},{"channel":"u01","coefficient":1,"kind":"side","node":12710,"targets":[893]},{"channel":"w02","coefficient":1,"kind":"side","node":12715,"targets":[893]},{"channel":"partner","coefficient":1,"kind":"side","node":894,"targets":[893]},{"channel":"u01","coefficient":1,"kind":"side","node":12711,"targets":[894]},{"channel":"w02","coefficient":1,"kind":"side","node":12714,"targets":[894]},{"channel":"partner","coefficient":1,"kind":"side","node":893,"targets":[894]},{"channel":"u01","coefficient":1,"kind":"side","node":12711,"targets":[895]},{"channel":"w02","coefficient":1,"kind":"side","node":12715,"targets":[895]},{"channel":"partner","coefficient":1,"kind":"side","node":892,"targets":[895]},{"channel":"face0","coefficient":1,"kind":"side","node":7167,"targets":[896,897,898,899]},{"channel":"face0","coefficient":1,"kind":"side","node":7440,"targets":[900,901,902,903]},{"channel":"edge12","coefficient":1,"kind":"side","node":11672,"targets":[896,899]},{"channel":"edge12","coefficient":1,"kind":"side","node":11648,"targets":[897,898]},{"channel":"edge12","coefficient":1,"kind":"side","node":11672,"targets":[900,903]},{"channel":"edge12","coefficient":1,"kind":"side","node":11648,"targets":[901,902]},{"channel":"u01","coefficient":1,"kind":"side","node":12716,"targets":[896]},{"channel":"w02","coefficient":1,"kind":"side","node":12720,"targets":[896]},{"channel":"partner","coefficient":1,"kind":"side","node":899,"targets":[896]},{"channel":"u01","coefficient":1,"kind":"side","node":12716,"targets":[897]},{"channel":"w02","coefficient":1,"kind":"side","node":12721,"targets":[897]},{"channel":"partner","coefficient":1,"kind":"side","node":898,"targets":[897]},{"channel":"u01","coefficient":1,"kind":"side","node":12717,"targets":[898]},{"channel":"w02","coefficient":1,"kind":"side","node":12720,"targets":[898]},{"channel":"partner","coefficient":1,"kind":"side","node":897,"targets":[898]},{"channel":"u01","coefficient":1,"kind":"side","node":12717,"targets":[899]},{"channel":"w02","coefficient":1,"kind":"side","node":12721,"targets":[899]},{"channel":"partner","coefficient":1,"kind":"side","node":896,"targets":[899]},{"channel":"u01","coefficient":1,"kind":"side","node":12718,"targets":[900]},{"channel":"w02","coefficient":1,"kind":"side","node":12722,"targets":[900]},{"channel":"partner","coefficient":1,"kind":"side","node":903,"targets":[900]},{"channel":"u01","coefficient":1,"kind":"side","node":12718,"targets":[901]},{"channel":"w02","coefficient":1,"kind":"side","node":12723,"targets":[901]},{"channel":"partner","coefficient":1,"kind":"side","node":902,"targets":[901]},{"channel":"u01","coefficient":1,"kind":"side","node":12719,"targets":[902]},{"channel":"w02","coefficient":1,"kind":"side","node":12722,"targets":[902]},{"channel":"partner","coefficient":1,"kind":"side","node":901,"targets":[902]},{"channel":"u01","coefficient":1,"kind":"side","node":12719,"targets":[903]},{"channel":"w02","coefficient":1,"kind":"side","node":12723,"targets":[903]},{"channel":"partner","coefficient":1,"kind":"side","node":900,"targets":[903]},{"channel":"face0","coefficient":1,"kind":"side","node":7153,"targets":[904,905,906,907]},{"channel":"face0","coefficient":1,"kind":"side","node":7426,"targets":[908,909,910,911]},{"channel":"edge12","coefficient":1,"kind":"side","node":11720,"targets":[904,907]},{"channel":"edge12","coefficient":1,"kind":"side","node":11696,"targets":[905,906]},{"channel":"edge12","coefficient":1,"kind":"side","node":11720,"targets":[908,911]},{"channel":"edge12","coefficient":1,"kind":"side","node":11696,"targets":[909,910]},{"channel":"u01","coefficient":1,"kind":"side","node":12724,"targets":[904]},{"channel":"w02","coefficient":1,"kind":"side","node":12728,"targets":[904]},{"channel":"partner","coefficient":1,"kind":"side","node":907,"targets":[904]},{"channel":"u01","coefficient":1,"kind":"side","node":12724,"targets":[905]},{"channel":"w02","coefficient":1,"kind":"side","node":12729,"targets":[905]},{"channel":"partner","coefficient":1,"kind":"side","node":906,"targets":[905]},{"channel":"u01","coefficient":1,"kind":"side","node":12725,"targets":[906]},{"channel":"w02","coefficient":1,"kind":"side","node":12728,"targets":[906]},{"channel":"partner","coefficient":1,"kind":"side","node":905,"targets":[906]},{"channel":"u01","coefficient":1,"kind":"side","node":12725,"targets":[907]},{"channel":"w02","coefficient":1,"kind":"side","node":12729,"targets":[907]},{"channel":"partner","coefficient":1,"kind":"side","node":904,"targets":[907]},{"channel":"u01","coefficient":1,"kind":"side","node":12726,"targets":[908]},{"channel":"w02","coefficient":1,"kind":"side","node":12730,"targets":[908]},{"channel":"partner","coefficient":1,"kind":"side","node":911,"targets":[908]},{"channel":"u01","coefficient":1,"kind":"side","node":12726,"targets":[909]},{"channel":"w02","coefficient":1,"kind":"side","node":12731,"targets":[909]},{"channel":"partner","coefficient":1,"kind":"side","node":910,"targets":[909]},{"channel":"u01","coefficient":1,"kind":"side","node":12727,"targets":[910]},{"channel":"w02","coefficient":1,"kind":"side","node":12730,"targets":[910]},{"channel":"partner","coefficient":1,"kind":"side","node":909,"targets":[910]},{"channel":"u01","coefficient":1,"kind":"side","node":12727,"targets":[911]},{"channel":"w02","coefficient":1,"kind":"side","node":12731,"targets":[911]},{"channel":"partner","coefficient":1,"kind":"side","node":908,"targets":[911]},{"channel":"face0","coefficient":1,"kind":"side","node":7148,"targets":[912,913,914,915]},{"channel":"face0","coefficient":1,"kind":"side","node":7421,"targets":[916,917,918,919]},{"channel":"edge12","coefficient":1,"kind":"side","node":11768,"targets":[912,915]},{"channel":"edge12","coefficient":1,"kind":"side","node":11744,"targets":[913,914]},{"channel":"edge12","coefficient":1,"kind":"side","node":11768,"targets":[916,919]},{"channel":"edge12","coefficient":1,"kind":"side","node":11744,"targets":[917,918]},{"channel":"u01","coefficient":1,"kind":"side","node":12732,"targets":[912]},{"channel":"w02","coefficient":1,"kind":"side","node":12736,"targets":[912]},{"channel":"partner","coefficient":1,"kind":"side","node":915,"targets":[912]},{"channel":"u01","coefficient":1,"kind":"side","node":12732,"targets":[913]},{"channel":"w02","coefficient":1,"kind":"side","node":12737,"targets":[913]},{"channel":"partner","coefficient":1,"kind":"side","node":914,"targets":[913]},{"channel":"u01","coefficient":1,"kind":"side","node":12733,"targets":[914]},{"channel":"w02","coefficient":1,"kind":"side","node":12736,"targets":[914]},{"channel":"partner","coefficient":1,"kind":"side","node":913,"targets":[914]},{"channel":"u01","coefficient":1,"kind":"side","node":12733,"targets":[915]},{"channel":"w02","coefficient":1,"kind":"side","node":12737,"targets":[915]},{"channel":"partner","coefficient":1,"kind":"side","node":912,"targets":[915]},{"channel":"u01","coefficient":1,"kind":"side","node":12734,"targets":[916]},{"channel":"w02","coefficient":1,"kind":"side","node":12738,"targets":[916]},{"channel":"partner","coefficient":1,"kind":"side","node":919,"targets":[916]},{"channel":"u01","coefficient":1,"kind":"side","node":12734,"targets":[917]},{"channel":"w02","coefficient":1,"kind":"side","node":12739,"targets":[917]},{"channel":"partner","coefficient":1,"kind":"side","node":918,"targets":[917]},{"channel":"u01","coefficient":1,"kind":"side","node":12735,"targets":[918]},{"channel":"w02","coefficient":1,"kind":"side","node":12738,"targets":[918]},{"channel":"partner","coefficient":1,"kind":"side","node":917,"targets":[918]},{"channel":"u01","coefficient":1,"kind":"side","node":12735,"targets":[919]},{"channel":"w02","coefficient":1,"kind":"side","node":12739,"targets":[919]},{"channel":"partner","coefficient":1,"kind":"side","node":916,"targets":[919]},{"channel":"face0","coefficient":1,"kind":"side","node":6978,"targets":[920,921,922,923]},{"channel":"face0","coefficient":1,"kind":"side","node":7251,"targets":[924,925,926,927]},{"channel":"edge12","coefficient":1,"kind":"side","node":11816,"targets":[920,923]},{"channel":"edge12","coefficient":1,"kind":"side","node":11792,"targets":[921,922]},{"channel":"edge12","coefficient":1,"kind":"side","node":11816,"targets":[924,927]},{"channel":"edge12","coefficient":1,"kind":"side","node":11792,"targets":[925,926]},{"channel":"u01","coefficient":1,"kind":"side","node":12740,"targets":[920]},{"channel":"w02","coefficient":1,"kind":"side","node":12744,"targets":[920]},{"channel":"partner","coefficient":1,"kind":"side","node":923,"targets":[920]},{"channel":"u01","coefficient":1,"kind":"side","node":12740,"targets":[921]},{"channel":"w02","coefficient":1,"kind":"side","node":12745,"targets":[921]},{"channel":"partner","coefficient":1,"kind":"side","node":922,"targets":[921]},{"channel":"u01","coefficient":1,"kind":"side","node":12741,"targets":[922]},{"channel":"w02","coefficient":1,"kind":"side","node":12744,"targets":[922]},{"channel":"partner","coefficient":1,"kind":"side","node":921,"targets":[922]},{"channel":"u01","coefficient":1,"kind":"side","node":12741,"targets":[923]},{"channel":"w02","coefficient":1,"kind":"side","node":12745,"targets":[923]},{"channel":"partner","coefficient":1,"kind":"side","node":920,"targets":[923]},{"channel":"u01","coefficient":1,"kind":"side","node":12742,"targets":[924]},{"channel":"w02","coefficient":1,"kind":"side","node":12746,"targets":[924]},{"channel":"partner","coefficient":1,"kind":"side","node":927,"targets":[924]},{"channel":"u01","coefficient":1,"kind":"side","node":12742,"targets":[925]},{"channel":"w02","coefficient":1,"kind":"side","node":12747,"targets":[925]},{"channel":"partner","coefficient":1,"kind":"side","node":926,"targets":[925]},{"channel":"u01","coefficient":1,"kind":"side","node":12743,"targets":[926]},{"channel":"w02","coefficient":1,"kind":"side","node":12746,"targets":[926]},{"channel":"partner","coefficient":1,"kind":"side","node":925,"targets":[926]},{"channel":"u01","coefficient":1,"kind":"side","node":12743,"targets":[927]},{"channel":"w02","coefficient":1,"kind":"side","node":12747,"targets":[927]},{"channel":"partner","coefficient":1,"kind":"side","node":924,"targets":[927]},{"channel":"face0","coefficient":1,"kind":"side","node":7699,"targets":[928,929,930,931]},{"channel":"face0","coefficient":1,"kind":"side","node":7972,"targets":[932,933,934,935]},{"channel":"edge12","coefficient":1,"kind":"side","node":11706,"targets":[928,931]},{"channel":"edge12","coefficient":1,"kind":"side","node":11682,"targets":[929,930]},{"channel":"edge12","coefficient":1,"kind":"side","node":11706,"targets":[932,935]},{"channel":"edge12","coefficient":1,"kind":"side","node":11682,"targets":[933,934]},{"channel":"u01","coefficient":1,"kind":"side","node":12748,"targets":[928]},{"channel":"w02","coefficient":1,"kind":"side","node":12752,"targets":[928]},{"channel":"partner","coefficient":1,"kind":"side","node":931,"targets":[928]},{"channel":"u01","coefficient":1,"kind":"side","node":12748,"targets":[929]},{"channel":"w02","coefficient":1,"kind":"side","node":12753,"targets":[929]},{"channel":"partner","coefficient":1,"kind":"side","node":930,"targets":[929]},{"channel":"u01","coefficient":1,"kind":"side","node":12749,"targets":[930]},{"channel":"w02","coefficient":1,"kind":"side","node":12752,"targets":[930]},{"channel":"partner","coefficient":1,"kind":"side","node":929,"targets":[930]},{"channel":"u01","coefficient":1,"kind":"side","node":12749,"targets":[931]},{"channel":"w02","coefficient":1,"kind":"side","node":12753,"targets":[931]},{"channel":"partner","coefficient":1,"kind":"side","node":928,"targets":[931]},{"channel":"u01","coefficient":1,"kind":"side","node":12750,"targets":[932]},{"channel":"w02","coefficient":1,"kind":"side","node":12754,"targets":[932]},{"channel":"partner","coefficient":1,"kind":"side","node":935,"targets":[932]},{"channel":"u01","coefficient":1,"kind":"side","node":12750,"targets":[933]},{"channel":"w02","coefficient":1,"kind":"side","node":12755,"targets":[933]},{"channel":"partner","coefficient":1,"kind":"side","node":934,"targets":[933]},{"channel":"u01","coefficient":1,"kind":"side","node":12751,"targets":[934]},{"channel":"w02","coefficient":1,"kind":"side","node":12754,"targets":[934]},{"channel":"partner","coefficient":1,"kind":"side","node":933,"targets":[934]},{"channel":"u01","coefficient":1,"kind":"side","node":12751,"targets":[935]},{"channel":"w02","coefficient":1,"kind":"side","node":12755,"targets":[935]},{"channel":"partner","coefficient":1,"kind":"side","node":932,"targets":[935]},{"channel":"face0","coefficient":1,"kind":"side","node":7694,"targets":[936,937,938,939]},{"channel":"face0","coefficient":1,"kind":"side","node":7967,"targets":[940,941,942,943]},{"channel":"edge12","coefficient":1,"kind":"side","node":11754,"targets":[936,939]},{"channel":"edge12","coefficient":1,"kind":"side","node":11730,"targets":[937,938]},{"channel":"edge12","coefficient":1,"kind":"side","node":11754,"targets":[940,943]},{"channel":"edge12","coefficient":1,"kind":"side","node":11730,"targets":[941,942]},{"channel":"u01","coefficient":1,"kind":"side","node":12756,"targets":[936]},{"channel":"w02","coefficient":1,"kind":"side","node":12760,"targets":[936]},{"channel":"partner","coefficient":1,"kind":"side","node":939,"targets":[936]},{"channel":"u01","coefficient":1,"kind":"side","node":12756,"targets":[937]},{"channel":"w02","coefficient":1,"kind":"side","node":12761,"targets":[937]},{"channel":"partner","coefficient":1,"kind":"side","node":938,"targets":[937]},{"channel":"u01","coefficient":1,"kind":"side","node":12757,"targets":[938]},{"channel":"w02","coefficient":1,"kind":"side","node":12760,"targets":[938]},{"channel":"partner","coefficient":1,"kind":"side","node":937,"targets":[938]},{"channel":"u01","coefficient":1,"kind":"side","node":12757,"targets":[939]},{"channel":"w02","coefficient":1,"kind":"side","node":12761,"targets":[939]},{"channel":"partner","coefficient":1,"kind":"side","node":936,"targets":[939]},{"channel":"u01","coefficient":1,"kind":"side","node":12758,"targets":[940]},{"channel":"w02","coefficient":1,"kind":"side","node":12762,"targets":[940]},{"channel":"partner","coefficient":1,"kind":"side","node":943,"targets":[940]},{"channel":"u01","coefficient":1,"kind":"side","node":12758,"targets":[941]},{"channel":"w02","coefficient":1,"kind":"side","node":12763,"targets":[941]},{"channel":"partner","coefficient":1,"kind":"side","node":942,"targets":[941]},{"channel":"u01","coefficient":1,"kind":"side","node":12759,"targets":[942]},{"channel":"w02","coefficient":1,"kind":"side","node":12762,"targets":[942]},{"channel":"partner","coefficient":1,"kind":"side","node":941,"targets":[942]},{"channel":"u01","coefficient":1,"kind":"side","node":12759,"targets":[943]},{"channel":"w02","coefficient":1,"kind":"side","node":12763,"targets":[943]},{"channel":"partner","coefficient":1,"kind":"side","node":940,"targets":[943]},{"channel":"face0","coefficient":1,"kind":"side","node":7524,"targets":[944,945,946,947]},{"channel":"face0","coefficient":1,"kind":"side","node":7797,"targets":[948,949,950,951]},{"channel":"edge12","coefficient":1,"kind":"side","node":11802,"targets":[944,947]},{"channel":"edge12","coefficient":1,"kind":"side","node":11778,"targets":[945,946]},{"channel":"edge12","coefficient":1,"kind":"side","node":11802,"targets":[948,951]},{"channel":"edge12","coefficient":1,"kind":"side","node":11778,"targets":[949,950]},{"channel":"u01","coefficient":1,"kind":"side","node":12764,"targets":[944]},{"channel":"w02","coefficient":1,"kind":"side","node":12768,"targets":[944]},{"channel":"partner","coefficient":1,"kind":"side","node":947,"targets":[944]},{"channel":"u01","coefficient":1,"kind":"side","node":12764,"targets":[945]},{"channel":"w02","coefficient":1,"kind":"side","node":12769,"targets":[945]},{"channel":"partner","coefficient":1,"kind":"side","node":946,"targets":[945]},{"channel":"u01","coefficient":1,"kind":"side","node":12765,"targets":[946]},{"channel":"w02","coefficient":1,"kind":"side","node":12768,"targets":[946]},{"channel":"partner","coefficient":1,"kind":"side","node":945,"targets":[946]},{"channel":"u01","coefficient":1,"kind":"side","node":12765,"targets":[947]},{"channel":"w02","coefficient":1,"kind":"side","node":12769,"targets":[947]},{"channel":"partner","coefficient":1,"kind":"side","node":944,"targets":[947]},{"channel":"u01","coefficient":1,"kind":"side","node":12766,"targets":[948]},{"channel":"w02","coefficient":1,"kind":"side","node":12770,"targets":[948]},{"channel":"partner","coefficient":1,"kind":"side","node":951,"targets":[948]},{"channel":"u01","coefficient":1,"kind":"side","node":12766,"targets":[949]},{"channel":"w02","coefficient":1,"kind":"side","node":12771,"targets":[949]},{"channel":"partner","coefficient":1,"kind":"side","node":950,"targets":[949]},{"channel":"u01","coefficient":1,"kind":"side","node":12767,"targets":[950]},{"channel":"w02","coefficient":1,"kind":"side","node":12770,"targets":[950]},{"channel":"partner","coefficient":1,"kind":"side","node":949,"targets":[950]},{"channel":"u01","coefficient":1,"kind":"side","node":12767,"targets":[951]},{"channel":"w02","coefficient":1,"kind":"side","node":12771,"targets":[951]},{"channel":"partner","coefficient":1,"kind":"side","node":948,"targets":[951]},{"channel":"face0","coefficient":1,"kind":"side","node":8070,"targets":[952,953,954,955]},{"channel":"face0","coefficient":1,"kind":"side","node":8343,"targets":[956,957,958,959]},{"channel":"edge12","coefficient":1,"kind":"side","node":11819,"targets":[952,955]},{"channel":"edge12","coefficient":1,"kind":"side","node":11795,"targets":[953,954]},{"channel":"edge12","coefficient":1,"kind":"side","node":11819,"targets":[956,959]},{"channel":"edge12","coefficient":1,"kind":"side","node":11795,"targets":[957,958]},{"channel":"u01","coefficient":1,"kind":"side","node":12772,"targets":[952]},{"channel":"w02","coefficient":1,"kind":"side","node":12776,"targets":[952]},{"channel":"partner","coefficient":1,"kind":"side","node":955,"targets":[952]},{"channel":"u01","coefficient":1,"kind":"side","node":12772,"targets":[953]},{"channel":"w02","coefficient":1,"kind":"side","node":12777,"targets":[953]},{"channel":"partner","coefficient":1,"kind":"side","node":954,"targets":[953]},{"channel":"u01","coefficient":1,"kind":"side","node":12773,"targets":[954]},{"channel":"w02","coefficient":1,"kind":"side","node":12776,"targets":[954]},{"channel":"partner","coefficient":1,"kind":"side","node":953,"targets":[954]},{"channel":"u01","coefficient":1,"kind":"side","node":12773,"targets":[955]},{"channel":"w02","coefficient":1,"kind":"side","node":12777,"targets":[955]},{"channel":"partner","coefficient":1,"kind":"side","node":952,"targets":[955]},{"channel":"u01","coefficient":1,"kind":"side","node":12774,"targets":[956]},{"channel":"w02","coefficient":1,"kind":"side","node":12778,"targets":[956]},{"channel":"partner","coefficient":1,"kind":"side","node":959,"targets":[956]},{"channel":"u01","coefficient":1,"kind":"side","node":12774,"targets":[957]},{"channel":"w02","coefficient":1,"kind":"side","node":12779,"targets":[957]},{"channel":"partner","coefficient":1,"kind":"side","node":958,"targets":[957]},{"channel":"u01","coefficient":1,"kind":"side","node":12775,"targets":[958]},{"channel":"w02","coefficient":1,"kind":"side","node":12778,"targets":[958]},{"channel":"partner","coefficient":1,"kind":"side","node":957,"targets":[958]},{"channel":"u01","coefficient":1,"kind":"side","node":12775,"targets":[959]},{"channel":"w02","coefficient":1,"kind":"side","node":12779,"targets":[959]},{"channel":"partner","coefficient":1,"kind":"side","node":956,"targets":[959]},{"coefficient":1,"coordinate":0,"kind":"center","node":4456,"targets":[0,1,2,3,8,9,10,11,16,17,18,19,24,25,26,27,32,33,34,35,40,41,42,43,48,49,50,51,56,57,58,59,64,65,66,67,72,73,74,75,80,81,82,83,88,89,90,91,96,97,98,99,104,105,106,107,112,113,114,115,120,121,122,123,128,129,130,131,136,137,138,139,144,145,146,147,152,153,154,155,160,161,162,163,168,169,170,171,176,177,178,179,184,185,186,187,192,193,194,195,200,201,202,203,208,209,210,211,216,217,218,219,224,225,226,227,232,233,234,235,240,241,242,243,248,249,250,251,256,257,258,259,264,265,266,267,272,273,274,275,280,281,282,283]},{"coefficient":1,"coordinate":1,"kind":"center","node":4729,"targets":[4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,36,37,38,39,44,45,46,47,52,53,54,55,60,61,62,63,68,69,70,71,76,77,78,79,84,85,86,87,92,93,94,95,100,101,102,103,108,109,110,111,116,117,118,119,124,125,126,127,132,133,134,135,140,141,142,143,148,149,150,151,156,157,158,159,164,165,166,167,172,173,174,175,180,181,182,183,188,189,190,191,196,197,198,199,204,205,206,207,212,213,214,215,220,221,222,223,228,229,230,231,236,237,238,239,244,245,246,247,252,253,254,255,260,261,262,263,268,269,270,271,276,277,278,279,284,285,286,287]},{"coefficient":1,"coordinate":2,"kind":"center","node":5002,"targets":[0,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,33,36,37,40,41,44,45,48,49,52,53,56,57,60,61,288,289,290,291,296,297,298,299,304,305,306,307,312,313,314,315,320,321,322,323,328,329,330,331,336,337,338,339,344,345,346,347,352,353,354,355,360,361,362,363,368,369,370,371,376,377,378,379,384,385,386,387,392,393,394,395,400,401,402,403,408,409,410,411,416,417,418,419,424,425,426,427,432,433,434,435,440,441,442,443,448,449,450,451,456,457,458,459,464,465,466,467,472,473,474,475,480,481,482,483,488,489,490,491,496,497,498,499,504,505,506,507]},{"coefficient":1,"coordinate":3,"kind":"center","node":5275,"targets":[2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,34,35,38,39,42,43,46,47,50,51,54,55,58,59,62,63,292,293,294,295,300,301,302,303,308,309,310,311,316,317,318,319,324,325,326,327,332,333,334,335,340,341,342,343,348,349,350,351,356,357,358,359,364,365,366,367,372,373,374,375,380,381,382,383,388,389,390,391,396,397,398,399,404,405,406,407,412,413,414,415,420,421,422,423,428,429,430,431,436,437,438,439,444,445,446,447,452,453,454,455,460,461,462,463,468,469,470,471,476,477,478,479,484,485,486,487,492,493,494,495,500,501,502,503,508,509,510,511]},{"coefficient":1,"coordinate":4,"kind":"center","node":5548,"targets":[0,2,4,6,64,65,68,69,72,73,76,77,80,81,84,85,88,89,92,93,96,97,100,101,104,105,108,109,112,113,116,117,288,289,292,293,296,297,300,301,304,305,308,309,312,313,316,317,320,321,324,325,328,329,332,333,336,337,340,341,512,513,514,515,520,521,522,523,528,529,530,531,536,537,538,539,544,545,546,547,552,553,554,555,560,561,562,563,568,569,570,571,576,577,578,579,584,585,586,587,592,593,594,595,600,601,602,603,608,609,610,611,616,617,618,619,624,625,626,627,632,633,634,635,640,641,642,643,648,649,650,651,656,657,658,659,664,665,666,667,672,673,674,675]},{"coefficient":1,"coordinate":5,"kind":"center","node":5821,"targets":[1,3,5,7,66,67,70,71,74,75,78,79,82,83,86,87,90,91,94,95,98,99,102,103,106,107,110,111,114,115,118,119,290,291,294,295,298,299,302,303,306,307,310,311,314,315,318,319,322,323,326,327,330,331,334,335,338,339,342,343,516,517,518,519,524,525,526,527,532,533,534,535,540,541,542,543,548,549,550,551,556,557,558,559,564,565,566,567,572,573,574,575,580,581,582,583,588,589,590,591,596,597,598,599,604,605,606,607,612,613,614,615,620,621,622,623,628,629,630,631,636,637,638,639,644,645,646,647,652,653,654,655,660,661,662,663,668,669,670,671,676,677,678,679]},{"coefficient":1,"coordinate":6,"kind":"center","node":6094,"targets":[8,10,12,14,64,66,68,70,120,121,124,125,128,129,132,133,136,137,140,141,144,145,148,149,152,153,156,157,160,161,164,165,288,290,292,294,344,345,348,349,352,353,356,357,360,361,364,365,368,369,372,373,376,377,380,381,384,385,388,389,512,513,516,517,520,521,524,525,528,529,532,533,536,537,540,541,544,545,548,549,552,553,556,557,680,681,682,683,688,689,690,691,696,697,698,699,704,705,706,707,712,713,714,715,720,721,722,723,728,729,730,731,736,737,738,739,744,745,746,747,752,753,754,755,760,761,762,763,768,769,770,771,776,777,778,779,784,785,786,787,792,793,794,795]},{"coefficient":1,"coordinate":7,"kind":"center","node":6367,"targets":[9,11,13,15,65,67,69,71,122,123,126,127,130,131,134,135,138,139,142,143,146,147,150,151,154,155,158,159,162,163,166,167,289,291,293,295,346,347,350,351,354,355,358,359,362,363,366,367,370,371,374,375,378,379,382,383,386,387,390,391,514,515,518,519,522,523,526,527,530,531,534,535,538,539,542,543,546,547,550,551,554,555,558,559,684,685,686,687,692,693,694,695,700,701,702,703,708,709,710,711,716,717,718,719,724,725,726,727,732,733,734,735,740,741,742,743,748,749,750,751,756,757,758,759,764,765,766,767,772,773,774,775,780,781,782,783,788,789,790,791,796,797,798,799]},{"coefficient":1,"coordinate":8,"kind":"center","node":6640,"targets":[16,18,20,22,72,74,76,78,120,122,124,126,168,169,172,173,176,177,180,181,184,185,188,189,192,193,196,197,200,201,204,205,296,298,300,302,344,346,348,350,392,393,396,397,400,401,404,405,408,409,412,413,416,417,420,421,424,425,428,429,512,514,516,518,560,561,564,565,568,569,572,573,576,577,580,581,584,585,588,589,592,593,596,597,680,681,684,685,688,689,692,693,696,697,700,701,704,705,708,709,712,713,716,717,800,801,802,803,808,809,810,811,816,817,818,819,824,825,826,827,832,833,834,835,840,841,842,843,848,849,850,851,856,857,858,859,864,865,866,867,872,873,874,875]},{"coefficient":1,"coordinate":9,"kind":"center","node":6913,"targets":[17,19,21,23,73,75,77,79,121,123,125,127,170,171,174,175,178,179,182,183,186,187,190,191,194,195,198,199,202,203,206,207,297,299,301,303,345,347,349,351,394,395,398,399,402,403,406,407,410,411,414,415,418,419,422,423,426,427,430,431,513,515,517,519,562,563,566,567,570,571,574,575,578,579,582,583,586,587,590,591,594,595,598,599,682,683,686,687,690,691,694,695,698,699,702,703,706,707,710,711,714,715,718,719,804,805,806,807,812,813,814,815,820,821,822,823,828,829,830,831,836,837,838,839,844,845,846,847,852,853,854,855,860,861,862,863,868,869,870,871,876,877,878,879]},{"coefficient":1,"coordinate":10,"kind":"center","node":7186,"targets":[24,26,28,30,80,82,84,86,128,130,132,134,168,170,172,174,208,209,212,213,216,217,220,221,224,225,228,229,232,233,236,237,304,306,308,310,352,354,356,358,392,394,396,398,432,433,436,437,440,441,444,445,448,449,452,453,456,457,460,461,520,522,524,526,560,562,564,566,600,601,604,605,608,609,612,613,616,617,620,621,624,625,628,629,680,682,684,686,720,721,724,725,728,729,732,733,736,737,740,741,744,745,748,749,800,801,804,805,808,809,812,813,816,817,820,821,824,825,828,829,880,881,882,883,888,889,890,891,896,897,898,899,904,905,906,907,912,913,914,915,920,921,922,923]},{"coefficient":1,"coordinate":11,"kind":"center","node":7459,"targets":[25,27,29,31,81,83,85,87,129,131,133,135,169,171,173,175,210,211,214,215,218,219,222,223,226,227,230,231,234,235,238,239,305,307,309,311,353,355,357,359,393,395,397,399,434,435,438,439,442,443,446,447,450,451,454,455,458,459,462,463,521,523,525,527,561,563,565,567,602,603,606,607,610,611,614,615,618,619,622,623,626,627,630,631,681,683,685,687,722,723,726,727,730,731,734,735,738,739,742,743,746,747,750,751,802,803,806,807,810,811,814,815,818,819,822,823,826,827,830,831,884,885,886,887,892,893,894,895,900,901,902,903,908,909,910,911,916,917,918,919,924,925,926,927]},{"coefficient":1,"coordinate":12,"kind":"center","node":7732,"targets":[32,34,36,38,88,90,92,94,136,138,140,142,176,178,180,182,208,210,212,214,240,241,244,245,248,249,252,253,256,257,260,261,312,314,316,318,360,362,364,366,400,402,404,406,432,434,436,438,464,465,468,469,472,473,476,477,480,481,484,485,528,530,532,534,568,570,572,574,600,602,604,606,632,633,636,637,640,641,644,645,648,649,652,653,688,690,692,694,720,722,724,726,752,753,756,757,760,761,764,765,768,769,772,773,800,802,804,806,832,833,836,837,840,841,844,845,848,849,852,853,880,881,884,885,888,889,892,893,896,897,900,901,928,929,930,931,936,937,938,939,944,945,946,947]},{"coefficient":1,"coordinate":13,"kind":"center","node":8005,"targets":[33,35,37,39,89,91,93,95,137,139,141,143,177,179,181,183,209,211,213,215,242,243,246,247,250,251,254,255,258,259,262,263,313,315,317,319,361,363,365,367,401,403,405,407,433,435,437,439,466,467,470,471,474,475,478,479,482,483,486,487,529,531,533,535,569,571,573,575,601,603,605,607,634,635,638,639,642,643,646,647,650,651,654,655,689,691,693,695,721,723,725,727,754,755,758,759,762,763,766,767,770,771,774,775,801,803,805,807,834,835,838,839,842,843,846,847,850,851,854,855,882,883,886,887,890,891,894,895,898,899,902,903,932,933,934,935,940,941,942,943,948,949,950,951]},{"coefficient":1,"coordinate":14,"kind":"center","node":8278,"targets":[40,42,44,46,96,98,100,102,144,146,148,150,184,186,188,190,216,218,220,222,240,242,244,246,264,265,268,269,272,273,276,277,320,322,324,326,368,370,372,374,408,410,412,414,440,442,444,446,464,466,468,470,488,489,492,493,496,497,500,501,536,538,540,542,576,578,580,582,608,610,612,614,632,634,636,638,656,657,660,661,664,665,668,669,696,698,700,702,728,730,732,734,752,754,756,758,776,777,780,781,784,785,788,789,808,810,812,814,832,834,836,838,856,857,860,861,864,865,868,869,880,882,884,886,904,905,908,909,912,913,916,917,928,929,932,933,936,937,940,941,952,953,954,955]},{"coefficient":1,"coordinate":15,"kind":"center","node":8551,"targets":[41,43,45,47,97,99,101,103,145,147,149,151,185,187,189,191,217,219,221,223,241,243,245,247,266,267,270,271,274,275,278,279,321,323,325,327,369,371,373,375,409,411,413,415,441,443,445,447,465,467,469,471,490,491,494,495,498,499,502,503,537,539,541,543,577,579,581,583,609,611,613,615,633,635,637,639,658,659,662,663,666,667,670,671,697,699,701,703,729,731,733,735,753,755,757,759,778,779,782,783,786,787,790,791,809,811,813,815,833,835,837,839,858,859,862,863,866,867,870,871,881,883,885,887,906,907,910,911,914,915,918,919,930,931,934,935,938,939,942,943,956,957,958,959]},{"coefficient":1,"coordinate":16,"kind":"center","node":8824,"targets":[48,50,52,54,104,106,108,110,152,154,156,158,192,194,196,198,224,226,228,230,248,250,252,254,264,266,268,270,280,281,284,285,328,330,332,334,376,378,380,382,416,418,420,422,448,450,452,454,472,474,476,478,488,490,492,494,504,505,508,509,544,546,548,550,584,586,588,590,616,618,620,622,640,642,644,646,656,658,660,662,672,673,676,677,704,706,708,710,736,738,740,742,760,762,764,766,776,778,780,782,792,793,796,797,816,818,820,822,840,842,844,846,856,858,860,862,872,873,876,877,888,890,892,894,904,906,908,910,920,921,924,925,928,930,932,934,944,945,948,949,952,953,956,957]},{"coefficient":1,"coordinate":17,"kind":"center","node":9097,"targets":[49,51,53,55,105,107,109,111,153,155,157,159,193,195,197,199,225,227,229,231,249,251,253,255,265,267,269,271,282,283,286,287,329,331,333,335,377,379,381,383,417,419,421,423,449,451,453,455,473,475,477,479,489,491,493,495,506,507,510,511,545,547,549,551,585,587,589,591,617,619,621,623,641,643,645,647,657,659,661,663,674,675,678,679,705,707,709,711,737,739,741,743,761,763,765,767,777,779,781,783,794,795,798,799,817,819,821,823,841,843,845,847,857,859,861,863,874,875,878,879,889,891,893,895,905,907,909,911,922,923,926,927,929,931,933,935,946,947,950,951,954,955,958,959]},{"coefficient":1,"coordinate":18,"kind":"center","node":9370,"targets":[56,58,60,62,112,114,116,118,160,162,164,166,200,202,204,206,232,234,236,238,256,258,260,262,272,274,276,278,280,282,284,286,336,338,340,342,384,386,388,390,424,426,428,430,456,458,460,462,480,482,484,486,496,498,500,502,504,506,508,510,552,554,556,558,592,594,596,598,624,626,628,630,648,650,652,654,664,666,668,670,672,674,676,678,712,714,716,718,744,746,748,750,768,770,772,774,784,786,788,790,792,794,796,798,824,826,828,830,848,850,852,854,864,866,868,870,872,874,876,878,896,898,900,902,912,914,916,918,920,922,924,926,936,938,940,942,944,946,948,950,952,954,956,958]},{"coefficient":1,"coordinate":19,"kind":"center","node":9643,"targets":[57,59,61,63,113,115,117,119,161,163,165,167,201,203,205,207,233,235,237,239,257,259,261,263,273,275,277,279,281,283,285,287,337,339,341,343,385,387,389,391,425,427,429,431,457,459,461,463,481,483,485,487,497,499,501,503,505,507,509,511,553,555,557,559,593,595,597,599,625,627,629,631,649,651,653,655,665,667,669,671,673,675,677,679,713,715,717,719,745,747,749,751,769,771,773,775,785,787,789,791,793,795,797,799,825,827,829,831,849,851,853,855,865,867,869,871,873,875,877,879,897,899,901,903,913,915,917,919,921,923,925,927,937,939,941,943,945,947,949,951,953,955,957,959]}],"v":960} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/kchron_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/kchron_p10.json new file mode 100644 index 0000000000..f1e5c67bf4 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/kchron_p10.json @@ -0,0 +1 @@ +{"conventions":{"frame_ids":"frame id = id of the canonical annihilator; record \"a\" lists integer annihilator rows (frame = common kernel), record \"b\" lists integer basis rows; id 0 (empty \"a\") is the full space Q^h","gram":"G = I - J/9 on Q^h (H0 = G/2, H0(chi_S,chi_T) = (|S cap T|-1)/2); nondegeneracy tested for G","nodes":"zero-based graph nodes; nodes < v are the source leaves (port index)","ops":"[dest, control, node]: dest ^= control at the frame of node (copies: dest is the fresh role)","target_covector":"3*chi_T - 1 (target cap = {u : (3 chi_T - 1).u = 0} = H0-orthogonal complement of chi_T)"},"entries":[{"carrier":0,"carrier_chain":[45286,55460,11973,0],"carrier_ranks":[1,16,2],"deliver_after_root":5,"deliver_frame":11973,"mix_frame":55460,"passive":3,"passive_chain":[45280,55460,0],"passive_ranks":[1,18],"receivers":[5,6],"undo_frame":0},{"carrier":5,"carrier_chain":[45276,55470,11967,0],"carrier_ranks":[1,16,2],"deliver_after_root":2,"deliver_frame":11967,"mix_frame":55470,"passive":6,"passive_chain":[45274,55470,0],"passive_ranks":[1,18],"receivers":[0,3],"undo_frame":0},{"carrier":1,"carrier_chain":[45284,55476,11971,0],"carrier_ranks":[1,16,2],"deliver_after_root":4,"deliver_frame":11971,"mix_frame":55476,"passive":2,"passive_chain":[45282,55476,0],"passive_ranks":[1,18],"receivers":[4,7],"undo_frame":0},{"carrier":4,"carrier_chain":[45278,55461,11969,0],"carrier_ranks":[1,16,2],"deliver_after_root":3,"deliver_frame":11969,"mix_frame":55461,"passive":7,"passive_chain":[45272,55461,0],"passive_ranks":[1,18],"receivers":[1,2],"undo_frame":0},{"carrier":8,"carrier_chain":[45270,55443,11995,0],"carrier_ranks":[1,16,2],"deliver_after_root":35,"deliver_frame":11995,"mix_frame":55443,"passive":11,"passive_chain":[45264,55443,0],"passive_ranks":[1,18],"receivers":[13,14],"undo_frame":0},{"carrier":13,"carrier_chain":[45260,55453,11989,0],"carrier_ranks":[1,16,2],"deliver_after_root":32,"deliver_frame":11989,"mix_frame":55453,"passive":14,"passive_chain":[45258,55453,0],"passive_ranks":[1,18],"receivers":[8,11],"undo_frame":0},{"carrier":9,"carrier_chain":[45268,55459,11993,0],"carrier_ranks":[1,16,2],"deliver_after_root":34,"deliver_frame":11993,"mix_frame":55459,"passive":10,"passive_chain":[45266,55459,0],"passive_ranks":[1,18],"receivers":[12,15],"undo_frame":0},{"carrier":12,"carrier_chain":[45262,55444,11991,0],"carrier_ranks":[1,16,2],"deliver_after_root":33,"deliver_frame":11991,"mix_frame":55444,"passive":15,"passive_chain":[45256,55444,0],"passive_ranks":[1,18],"receivers":[9,10],"undo_frame":0},{"carrier":16,"carrier_chain":[45254,55426,12017,0],"carrier_ranks":[1,16,2],"deliver_after_root":65,"deliver_frame":12017,"mix_frame":55426,"passive":19,"passive_chain":[45248,55426,0],"passive_ranks":[1,18],"receivers":[21,22],"undo_frame":0},{"carrier":21,"carrier_chain":[45244,55436,12011,0],"carrier_ranks":[1,16,2],"deliver_after_root":62,"deliver_frame":12011,"mix_frame":55436,"passive":22,"passive_chain":[45242,55436,0],"passive_ranks":[1,18],"receivers":[16,19],"undo_frame":0},{"carrier":17,"carrier_chain":[45252,55442,12015,0],"carrier_ranks":[1,16,2],"deliver_after_root":64,"deliver_frame":12015,"mix_frame":55442,"passive":18,"passive_chain":[45250,55442,0],"passive_ranks":[1,18],"receivers":[20,23],"undo_frame":0},{"carrier":20,"carrier_chain":[45246,55427,12013,0],"carrier_ranks":[1,16,2],"deliver_after_root":63,"deliver_frame":12013,"mix_frame":55427,"passive":23,"passive_chain":[45240,55427,0],"passive_ranks":[1,18],"receivers":[17,18],"undo_frame":0},{"carrier":24,"carrier_chain":[45238,55409,12039,0],"carrier_ranks":[1,16,2],"deliver_after_root":95,"deliver_frame":12039,"mix_frame":55409,"passive":27,"passive_chain":[45232,55409,0],"passive_ranks":[1,18],"receivers":[29,30],"undo_frame":0},{"carrier":29,"carrier_chain":[45228,55419,12033,0],"carrier_ranks":[1,16,2],"deliver_after_root":92,"deliver_frame":12033,"mix_frame":55419,"passive":30,"passive_chain":[45226,55419,0],"passive_ranks":[1,18],"receivers":[24,27],"undo_frame":0},{"carrier":25,"carrier_chain":[45236,55425,12037,0],"carrier_ranks":[1,16,2],"deliver_after_root":94,"deliver_frame":12037,"mix_frame":55425,"passive":26,"passive_chain":[45234,55425,0],"passive_ranks":[1,18],"receivers":[28,31],"undo_frame":0},{"carrier":28,"carrier_chain":[45230,55410,12035,0],"carrier_ranks":[1,16,2],"deliver_after_root":93,"deliver_frame":12035,"mix_frame":55410,"passive":31,"passive_chain":[45224,55410,0],"passive_ranks":[1,18],"receivers":[25,26],"undo_frame":0},{"carrier":32,"carrier_chain":[45222,55392,12061,0],"carrier_ranks":[1,16,2],"deliver_after_root":125,"deliver_frame":12061,"mix_frame":55392,"passive":35,"passive_chain":[45216,55392,0],"passive_ranks":[1,18],"receivers":[37,38],"undo_frame":0},{"carrier":37,"carrier_chain":[45212,55402,12055,0],"carrier_ranks":[1,16,2],"deliver_after_root":122,"deliver_frame":12055,"mix_frame":55402,"passive":38,"passive_chain":[45210,55402,0],"passive_ranks":[1,18],"receivers":[32,35],"undo_frame":0},{"carrier":33,"carrier_chain":[45220,55408,12059,0],"carrier_ranks":[1,16,2],"deliver_after_root":124,"deliver_frame":12059,"mix_frame":55408,"passive":34,"passive_chain":[45218,55408,0],"passive_ranks":[1,18],"receivers":[36,39],"undo_frame":0},{"carrier":36,"carrier_chain":[45214,55393,12057,0],"carrier_ranks":[1,16,2],"deliver_after_root":123,"deliver_frame":12057,"mix_frame":55393,"passive":39,"passive_chain":[45208,55393,0],"passive_ranks":[1,18],"receivers":[33,34],"undo_frame":0},{"carrier":40,"carrier_chain":[45206,55375,12083,0],"carrier_ranks":[1,16,2],"deliver_after_root":155,"deliver_frame":12083,"mix_frame":55375,"passive":43,"passive_chain":[45200,55375,0],"passive_ranks":[1,18],"receivers":[45,46],"undo_frame":0},{"carrier":45,"carrier_chain":[45196,55385,12077,0],"carrier_ranks":[1,16,2],"deliver_after_root":152,"deliver_frame":12077,"mix_frame":55385,"passive":46,"passive_chain":[45194,55385,0],"passive_ranks":[1,18],"receivers":[40,43],"undo_frame":0},{"carrier":41,"carrier_chain":[45204,55391,12081,0],"carrier_ranks":[1,16,2],"deliver_after_root":154,"deliver_frame":12081,"mix_frame":55391,"passive":42,"passive_chain":[45202,55391,0],"passive_ranks":[1,18],"receivers":[44,47],"undo_frame":0},{"carrier":44,"carrier_chain":[45198,55376,12079,0],"carrier_ranks":[1,16,2],"deliver_after_root":153,"deliver_frame":12079,"mix_frame":55376,"passive":47,"passive_chain":[45192,55376,0],"passive_ranks":[1,18],"receivers":[41,42],"undo_frame":0},{"carrier":48,"carrier_chain":[45190,55358,12105,0],"carrier_ranks":[1,16,2],"deliver_after_root":185,"deliver_frame":12105,"mix_frame":55358,"passive":51,"passive_chain":[45184,55358,0],"passive_ranks":[1,18],"receivers":[53,54],"undo_frame":0},{"carrier":53,"carrier_chain":[45180,55368,12099,0],"carrier_ranks":[1,16,2],"deliver_after_root":182,"deliver_frame":12099,"mix_frame":55368,"passive":54,"passive_chain":[45178,55368,0],"passive_ranks":[1,18],"receivers":[48,51],"undo_frame":0},{"carrier":49,"carrier_chain":[45188,55374,12103,0],"carrier_ranks":[1,16,2],"deliver_after_root":184,"deliver_frame":12103,"mix_frame":55374,"passive":50,"passive_chain":[45186,55374,0],"passive_ranks":[1,18],"receivers":[52,55],"undo_frame":0},{"carrier":52,"carrier_chain":[45182,55359,12101,0],"carrier_ranks":[1,16,2],"deliver_after_root":183,"deliver_frame":12101,"mix_frame":55359,"passive":55,"passive_chain":[45176,55359,0],"passive_ranks":[1,18],"receivers":[49,50],"undo_frame":0},{"carrier":56,"carrier_chain":[45174,55341,12127,0],"carrier_ranks":[1,16,2],"deliver_after_root":215,"deliver_frame":12127,"mix_frame":55341,"passive":59,"passive_chain":[45168,55341,0],"passive_ranks":[1,18],"receivers":[61,62],"undo_frame":0},{"carrier":61,"carrier_chain":[45164,55351,12121,0],"carrier_ranks":[1,16,2],"deliver_after_root":212,"deliver_frame":12121,"mix_frame":55351,"passive":62,"passive_chain":[45162,55351,0],"passive_ranks":[1,18],"receivers":[56,59],"undo_frame":0},{"carrier":57,"carrier_chain":[45172,55357,12125,0],"carrier_ranks":[1,16,2],"deliver_after_root":214,"deliver_frame":12125,"mix_frame":55357,"passive":58,"passive_chain":[45170,55357,0],"passive_ranks":[1,18],"receivers":[60,63],"undo_frame":0},{"carrier":60,"carrier_chain":[45166,55342,12123,0],"carrier_ranks":[1,16,2],"deliver_after_root":213,"deliver_frame":12123,"mix_frame":55342,"passive":63,"passive_chain":[45160,55342,0],"passive_ranks":[1,18],"receivers":[57,58],"undo_frame":0},{"carrier":64,"carrier_chain":[45158,55324,12149,0],"carrier_ranks":[1,16,2],"deliver_after_root":245,"deliver_frame":12149,"mix_frame":55324,"passive":67,"passive_chain":[45152,55324,0],"passive_ranks":[1,18],"receivers":[69,70],"undo_frame":0},{"carrier":69,"carrier_chain":[45148,55334,12143,0],"carrier_ranks":[1,16,2],"deliver_after_root":242,"deliver_frame":12143,"mix_frame":55334,"passive":70,"passive_chain":[45146,55334,0],"passive_ranks":[1,18],"receivers":[64,67],"undo_frame":0},{"carrier":65,"carrier_chain":[45156,55340,12147,0],"carrier_ranks":[1,16,2],"deliver_after_root":244,"deliver_frame":12147,"mix_frame":55340,"passive":66,"passive_chain":[45154,55340,0],"passive_ranks":[1,18],"receivers":[68,71],"undo_frame":0},{"carrier":68,"carrier_chain":[45150,55325,12145,0],"carrier_ranks":[1,16,2],"deliver_after_root":243,"deliver_frame":12145,"mix_frame":55325,"passive":71,"passive_chain":[45144,55325,0],"passive_ranks":[1,18],"receivers":[65,66],"undo_frame":0},{"carrier":72,"carrier_chain":[45142,55307,12171,0],"carrier_ranks":[1,16,2],"deliver_after_root":275,"deliver_frame":12171,"mix_frame":55307,"passive":75,"passive_chain":[45136,55307,0],"passive_ranks":[1,18],"receivers":[77,78],"undo_frame":0},{"carrier":77,"carrier_chain":[45132,55317,12165,0],"carrier_ranks":[1,16,2],"deliver_after_root":272,"deliver_frame":12165,"mix_frame":55317,"passive":78,"passive_chain":[45130,55317,0],"passive_ranks":[1,18],"receivers":[72,75],"undo_frame":0},{"carrier":73,"carrier_chain":[45140,55323,12169,0],"carrier_ranks":[1,16,2],"deliver_after_root":274,"deliver_frame":12169,"mix_frame":55323,"passive":74,"passive_chain":[45138,55323,0],"passive_ranks":[1,18],"receivers":[76,79],"undo_frame":0},{"carrier":76,"carrier_chain":[45134,55308,12167,0],"carrier_ranks":[1,16,2],"deliver_after_root":273,"deliver_frame":12167,"mix_frame":55308,"passive":79,"passive_chain":[45128,55308,0],"passive_ranks":[1,18],"receivers":[73,74],"undo_frame":0},{"carrier":80,"carrier_chain":[45126,55290,12193,0],"carrier_ranks":[1,16,2],"deliver_after_root":305,"deliver_frame":12193,"mix_frame":55290,"passive":83,"passive_chain":[45120,55290,0],"passive_ranks":[1,18],"receivers":[85,86],"undo_frame":0},{"carrier":85,"carrier_chain":[45116,55300,12187,0],"carrier_ranks":[1,16,2],"deliver_after_root":302,"deliver_frame":12187,"mix_frame":55300,"passive":86,"passive_chain":[45114,55300,0],"passive_ranks":[1,18],"receivers":[80,83],"undo_frame":0},{"carrier":81,"carrier_chain":[45124,55306,12191,0],"carrier_ranks":[1,16,2],"deliver_after_root":304,"deliver_frame":12191,"mix_frame":55306,"passive":82,"passive_chain":[45122,55306,0],"passive_ranks":[1,18],"receivers":[84,87],"undo_frame":0},{"carrier":84,"carrier_chain":[45118,55291,12189,0],"carrier_ranks":[1,16,2],"deliver_after_root":303,"deliver_frame":12189,"mix_frame":55291,"passive":87,"passive_chain":[45112,55291,0],"passive_ranks":[1,18],"receivers":[81,82],"undo_frame":0},{"carrier":88,"carrier_chain":[45110,55273,12215,0],"carrier_ranks":[1,16,2],"deliver_after_root":335,"deliver_frame":12215,"mix_frame":55273,"passive":91,"passive_chain":[45104,55273,0],"passive_ranks":[1,18],"receivers":[93,94],"undo_frame":0},{"carrier":93,"carrier_chain":[45100,55283,12209,0],"carrier_ranks":[1,16,2],"deliver_after_root":332,"deliver_frame":12209,"mix_frame":55283,"passive":94,"passive_chain":[45098,55283,0],"passive_ranks":[1,18],"receivers":[88,91],"undo_frame":0},{"carrier":89,"carrier_chain":[45108,55289,12213,0],"carrier_ranks":[1,16,2],"deliver_after_root":334,"deliver_frame":12213,"mix_frame":55289,"passive":90,"passive_chain":[45106,55289,0],"passive_ranks":[1,18],"receivers":[92,95],"undo_frame":0},{"carrier":92,"carrier_chain":[45102,55274,12211,0],"carrier_ranks":[1,16,2],"deliver_after_root":333,"deliver_frame":12211,"mix_frame":55274,"passive":95,"passive_chain":[45096,55274,0],"passive_ranks":[1,18],"receivers":[89,90],"undo_frame":0},{"carrier":96,"carrier_chain":[45094,55256,12237,0],"carrier_ranks":[1,16,2],"deliver_after_root":365,"deliver_frame":12237,"mix_frame":55256,"passive":99,"passive_chain":[45088,55256,0],"passive_ranks":[1,18],"receivers":[101,102],"undo_frame":0},{"carrier":101,"carrier_chain":[45084,55266,12231,0],"carrier_ranks":[1,16,2],"deliver_after_root":362,"deliver_frame":12231,"mix_frame":55266,"passive":102,"passive_chain":[45082,55266,0],"passive_ranks":[1,18],"receivers":[96,99],"undo_frame":0},{"carrier":97,"carrier_chain":[45092,55272,12235,0],"carrier_ranks":[1,16,2],"deliver_after_root":364,"deliver_frame":12235,"mix_frame":55272,"passive":98,"passive_chain":[45090,55272,0],"passive_ranks":[1,18],"receivers":[100,103],"undo_frame":0},{"carrier":100,"carrier_chain":[45086,55257,12233,0],"carrier_ranks":[1,16,2],"deliver_after_root":363,"deliver_frame":12233,"mix_frame":55257,"passive":103,"passive_chain":[45080,55257,0],"passive_ranks":[1,18],"receivers":[97,98],"undo_frame":0},{"carrier":104,"carrier_chain":[45078,55239,12259,0],"carrier_ranks":[1,16,2],"deliver_after_root":395,"deliver_frame":12259,"mix_frame":55239,"passive":107,"passive_chain":[45072,55239,0],"passive_ranks":[1,18],"receivers":[109,110],"undo_frame":0},{"carrier":109,"carrier_chain":[45068,55249,12253,0],"carrier_ranks":[1,16,2],"deliver_after_root":392,"deliver_frame":12253,"mix_frame":55249,"passive":110,"passive_chain":[45066,55249,0],"passive_ranks":[1,18],"receivers":[104,107],"undo_frame":0},{"carrier":105,"carrier_chain":[45076,55255,12257,0],"carrier_ranks":[1,16,2],"deliver_after_root":394,"deliver_frame":12257,"mix_frame":55255,"passive":106,"passive_chain":[45074,55255,0],"passive_ranks":[1,18],"receivers":[108,111],"undo_frame":0},{"carrier":108,"carrier_chain":[45070,55240,12255,0],"carrier_ranks":[1,16,2],"deliver_after_root":393,"deliver_frame":12255,"mix_frame":55240,"passive":111,"passive_chain":[45064,55240,0],"passive_ranks":[1,18],"receivers":[105,106],"undo_frame":0},{"carrier":112,"carrier_chain":[45062,55222,12281,0],"carrier_ranks":[1,16,2],"deliver_after_root":425,"deliver_frame":12281,"mix_frame":55222,"passive":115,"passive_chain":[45056,55222,0],"passive_ranks":[1,18],"receivers":[117,118],"undo_frame":0},{"carrier":117,"carrier_chain":[45052,55232,12275,0],"carrier_ranks":[1,16,2],"deliver_after_root":422,"deliver_frame":12275,"mix_frame":55232,"passive":118,"passive_chain":[45050,55232,0],"passive_ranks":[1,18],"receivers":[112,115],"undo_frame":0},{"carrier":113,"carrier_chain":[45060,55238,12279,0],"carrier_ranks":[1,16,2],"deliver_after_root":424,"deliver_frame":12279,"mix_frame":55238,"passive":114,"passive_chain":[45058,55238,0],"passive_ranks":[1,18],"receivers":[116,119],"undo_frame":0},{"carrier":116,"carrier_chain":[45054,55223,12277,0],"carrier_ranks":[1,16,2],"deliver_after_root":423,"deliver_frame":12277,"mix_frame":55223,"passive":119,"passive_chain":[45048,55223,0],"passive_ranks":[1,18],"receivers":[113,114],"undo_frame":0},{"carrier":120,"carrier_chain":[45046,55205,12303,0],"carrier_ranks":[1,16,2],"deliver_after_root":455,"deliver_frame":12303,"mix_frame":55205,"passive":123,"passive_chain":[45040,55205,0],"passive_ranks":[1,18],"receivers":[125,126],"undo_frame":0},{"carrier":125,"carrier_chain":[45036,55215,12297,0],"carrier_ranks":[1,16,2],"deliver_after_root":452,"deliver_frame":12297,"mix_frame":55215,"passive":126,"passive_chain":[45034,55215,0],"passive_ranks":[1,18],"receivers":[120,123],"undo_frame":0},{"carrier":121,"carrier_chain":[45044,55221,12301,0],"carrier_ranks":[1,16,2],"deliver_after_root":454,"deliver_frame":12301,"mix_frame":55221,"passive":122,"passive_chain":[45042,55221,0],"passive_ranks":[1,18],"receivers":[124,127],"undo_frame":0},{"carrier":124,"carrier_chain":[45038,55206,12299,0],"carrier_ranks":[1,16,2],"deliver_after_root":453,"deliver_frame":12299,"mix_frame":55206,"passive":127,"passive_chain":[45032,55206,0],"passive_ranks":[1,18],"receivers":[121,122],"undo_frame":0},{"carrier":128,"carrier_chain":[45030,55188,12325,0],"carrier_ranks":[1,16,2],"deliver_after_root":485,"deliver_frame":12325,"mix_frame":55188,"passive":131,"passive_chain":[45024,55188,0],"passive_ranks":[1,18],"receivers":[133,134],"undo_frame":0},{"carrier":133,"carrier_chain":[45020,55198,12319,0],"carrier_ranks":[1,16,2],"deliver_after_root":482,"deliver_frame":12319,"mix_frame":55198,"passive":134,"passive_chain":[45018,55198,0],"passive_ranks":[1,18],"receivers":[128,131],"undo_frame":0},{"carrier":129,"carrier_chain":[45028,55204,12323,0],"carrier_ranks":[1,16,2],"deliver_after_root":484,"deliver_frame":12323,"mix_frame":55204,"passive":130,"passive_chain":[45026,55204,0],"passive_ranks":[1,18],"receivers":[132,135],"undo_frame":0},{"carrier":132,"carrier_chain":[45022,55189,12321,0],"carrier_ranks":[1,16,2],"deliver_after_root":483,"deliver_frame":12321,"mix_frame":55189,"passive":135,"passive_chain":[45016,55189,0],"passive_ranks":[1,18],"receivers":[129,130],"undo_frame":0},{"carrier":136,"carrier_chain":[45014,55171,12347,0],"carrier_ranks":[1,16,2],"deliver_after_root":515,"deliver_frame":12347,"mix_frame":55171,"passive":139,"passive_chain":[45008,55171,0],"passive_ranks":[1,18],"receivers":[141,142],"undo_frame":0},{"carrier":141,"carrier_chain":[45004,55181,12341,0],"carrier_ranks":[1,16,2],"deliver_after_root":512,"deliver_frame":12341,"mix_frame":55181,"passive":142,"passive_chain":[45002,55181,0],"passive_ranks":[1,18],"receivers":[136,139],"undo_frame":0},{"carrier":137,"carrier_chain":[45012,55187,12345,0],"carrier_ranks":[1,16,2],"deliver_after_root":514,"deliver_frame":12345,"mix_frame":55187,"passive":138,"passive_chain":[45010,55187,0],"passive_ranks":[1,18],"receivers":[140,143],"undo_frame":0},{"carrier":140,"carrier_chain":[45006,55172,12343,0],"carrier_ranks":[1,16,2],"deliver_after_root":513,"deliver_frame":12343,"mix_frame":55172,"passive":143,"passive_chain":[45000,55172,0],"passive_ranks":[1,18],"receivers":[137,138],"undo_frame":0},{"carrier":144,"carrier_chain":[44998,55154,12369,0],"carrier_ranks":[1,16,2],"deliver_after_root":545,"deliver_frame":12369,"mix_frame":55154,"passive":147,"passive_chain":[44992,55154,0],"passive_ranks":[1,18],"receivers":[149,150],"undo_frame":0},{"carrier":149,"carrier_chain":[44988,55164,12363,0],"carrier_ranks":[1,16,2],"deliver_after_root":542,"deliver_frame":12363,"mix_frame":55164,"passive":150,"passive_chain":[44986,55164,0],"passive_ranks":[1,18],"receivers":[144,147],"undo_frame":0},{"carrier":145,"carrier_chain":[44996,55170,12367,0],"carrier_ranks":[1,16,2],"deliver_after_root":544,"deliver_frame":12367,"mix_frame":55170,"passive":146,"passive_chain":[44994,55170,0],"passive_ranks":[1,18],"receivers":[148,151],"undo_frame":0},{"carrier":148,"carrier_chain":[44990,55155,12365,0],"carrier_ranks":[1,16,2],"deliver_after_root":543,"deliver_frame":12365,"mix_frame":55155,"passive":151,"passive_chain":[44984,55155,0],"passive_ranks":[1,18],"receivers":[145,146],"undo_frame":0},{"carrier":152,"carrier_chain":[44982,55137,12391,0],"carrier_ranks":[1,16,2],"deliver_after_root":575,"deliver_frame":12391,"mix_frame":55137,"passive":155,"passive_chain":[44976,55137,0],"passive_ranks":[1,18],"receivers":[157,158],"undo_frame":0},{"carrier":157,"carrier_chain":[44972,55147,12385,0],"carrier_ranks":[1,16,2],"deliver_after_root":572,"deliver_frame":12385,"mix_frame":55147,"passive":158,"passive_chain":[44970,55147,0],"passive_ranks":[1,18],"receivers":[152,155],"undo_frame":0},{"carrier":153,"carrier_chain":[44980,55153,12389,0],"carrier_ranks":[1,16,2],"deliver_after_root":574,"deliver_frame":12389,"mix_frame":55153,"passive":154,"passive_chain":[44978,55153,0],"passive_ranks":[1,18],"receivers":[156,159],"undo_frame":0},{"carrier":156,"carrier_chain":[44974,55138,12387,0],"carrier_ranks":[1,16,2],"deliver_after_root":573,"deliver_frame":12387,"mix_frame":55138,"passive":159,"passive_chain":[44968,55138,0],"passive_ranks":[1,18],"receivers":[153,154],"undo_frame":0},{"carrier":160,"carrier_chain":[44966,55120,12413,0],"carrier_ranks":[1,16,2],"deliver_after_root":605,"deliver_frame":12413,"mix_frame":55120,"passive":163,"passive_chain":[44960,55120,0],"passive_ranks":[1,18],"receivers":[165,166],"undo_frame":0},{"carrier":165,"carrier_chain":[44956,55130,12407,0],"carrier_ranks":[1,16,2],"deliver_after_root":602,"deliver_frame":12407,"mix_frame":55130,"passive":166,"passive_chain":[44954,55130,0],"passive_ranks":[1,18],"receivers":[160,163],"undo_frame":0},{"carrier":161,"carrier_chain":[44964,55136,12411,0],"carrier_ranks":[1,16,2],"deliver_after_root":604,"deliver_frame":12411,"mix_frame":55136,"passive":162,"passive_chain":[44962,55136,0],"passive_ranks":[1,18],"receivers":[164,167],"undo_frame":0},{"carrier":164,"carrier_chain":[44958,55121,12409,0],"carrier_ranks":[1,16,2],"deliver_after_root":603,"deliver_frame":12409,"mix_frame":55121,"passive":167,"passive_chain":[44952,55121,0],"passive_ranks":[1,18],"receivers":[161,162],"undo_frame":0},{"carrier":168,"carrier_chain":[44950,55103,12435,0],"carrier_ranks":[1,16,2],"deliver_after_root":635,"deliver_frame":12435,"mix_frame":55103,"passive":171,"passive_chain":[44944,55103,0],"passive_ranks":[1,18],"receivers":[173,174],"undo_frame":0},{"carrier":173,"carrier_chain":[44940,55113,12429,0],"carrier_ranks":[1,16,2],"deliver_after_root":632,"deliver_frame":12429,"mix_frame":55113,"passive":174,"passive_chain":[44938,55113,0],"passive_ranks":[1,18],"receivers":[168,171],"undo_frame":0},{"carrier":169,"carrier_chain":[44948,55119,12433,0],"carrier_ranks":[1,16,2],"deliver_after_root":634,"deliver_frame":12433,"mix_frame":55119,"passive":170,"passive_chain":[44946,55119,0],"passive_ranks":[1,18],"receivers":[172,175],"undo_frame":0},{"carrier":172,"carrier_chain":[44942,55104,12431,0],"carrier_ranks":[1,16,2],"deliver_after_root":633,"deliver_frame":12431,"mix_frame":55104,"passive":175,"passive_chain":[44936,55104,0],"passive_ranks":[1,18],"receivers":[169,170],"undo_frame":0},{"carrier":176,"carrier_chain":[44934,55086,12457,0],"carrier_ranks":[1,16,2],"deliver_after_root":665,"deliver_frame":12457,"mix_frame":55086,"passive":179,"passive_chain":[44928,55086,0],"passive_ranks":[1,18],"receivers":[181,182],"undo_frame":0},{"carrier":181,"carrier_chain":[44924,55096,12451,0],"carrier_ranks":[1,16,2],"deliver_after_root":662,"deliver_frame":12451,"mix_frame":55096,"passive":182,"passive_chain":[44922,55096,0],"passive_ranks":[1,18],"receivers":[176,179],"undo_frame":0},{"carrier":177,"carrier_chain":[44932,55102,12455,0],"carrier_ranks":[1,16,2],"deliver_after_root":664,"deliver_frame":12455,"mix_frame":55102,"passive":178,"passive_chain":[44930,55102,0],"passive_ranks":[1,18],"receivers":[180,183],"undo_frame":0},{"carrier":180,"carrier_chain":[44926,55087,12453,0],"carrier_ranks":[1,16,2],"deliver_after_root":663,"deliver_frame":12453,"mix_frame":55087,"passive":183,"passive_chain":[44920,55087,0],"passive_ranks":[1,18],"receivers":[177,178],"undo_frame":0},{"carrier":184,"carrier_chain":[44918,55069,12479,0],"carrier_ranks":[1,16,2],"deliver_after_root":695,"deliver_frame":12479,"mix_frame":55069,"passive":187,"passive_chain":[44912,55069,0],"passive_ranks":[1,18],"receivers":[189,190],"undo_frame":0},{"carrier":189,"carrier_chain":[44908,55079,12473,0],"carrier_ranks":[1,16,2],"deliver_after_root":692,"deliver_frame":12473,"mix_frame":55079,"passive":190,"passive_chain":[44906,55079,0],"passive_ranks":[1,18],"receivers":[184,187],"undo_frame":0},{"carrier":185,"carrier_chain":[44916,55085,12477,0],"carrier_ranks":[1,16,2],"deliver_after_root":694,"deliver_frame":12477,"mix_frame":55085,"passive":186,"passive_chain":[44914,55085,0],"passive_ranks":[1,18],"receivers":[188,191],"undo_frame":0},{"carrier":188,"carrier_chain":[44910,55070,12475,0],"carrier_ranks":[1,16,2],"deliver_after_root":693,"deliver_frame":12475,"mix_frame":55070,"passive":191,"passive_chain":[44904,55070,0],"passive_ranks":[1,18],"receivers":[185,186],"undo_frame":0},{"carrier":192,"carrier_chain":[44902,55052,12501,0],"carrier_ranks":[1,16,2],"deliver_after_root":725,"deliver_frame":12501,"mix_frame":55052,"passive":195,"passive_chain":[44896,55052,0],"passive_ranks":[1,18],"receivers":[197,198],"undo_frame":0},{"carrier":197,"carrier_chain":[44892,55062,12495,0],"carrier_ranks":[1,16,2],"deliver_after_root":722,"deliver_frame":12495,"mix_frame":55062,"passive":198,"passive_chain":[44890,55062,0],"passive_ranks":[1,18],"receivers":[192,195],"undo_frame":0},{"carrier":193,"carrier_chain":[44900,55068,12499,0],"carrier_ranks":[1,16,2],"deliver_after_root":724,"deliver_frame":12499,"mix_frame":55068,"passive":194,"passive_chain":[44898,55068,0],"passive_ranks":[1,18],"receivers":[196,199],"undo_frame":0},{"carrier":196,"carrier_chain":[44894,55053,12497,0],"carrier_ranks":[1,16,2],"deliver_after_root":723,"deliver_frame":12497,"mix_frame":55053,"passive":199,"passive_chain":[44888,55053,0],"passive_ranks":[1,18],"receivers":[193,194],"undo_frame":0},{"carrier":200,"carrier_chain":[44886,55035,12523,0],"carrier_ranks":[1,16,2],"deliver_after_root":755,"deliver_frame":12523,"mix_frame":55035,"passive":203,"passive_chain":[44880,55035,0],"passive_ranks":[1,18],"receivers":[205,206],"undo_frame":0},{"carrier":205,"carrier_chain":[44876,55045,12517,0],"carrier_ranks":[1,16,2],"deliver_after_root":752,"deliver_frame":12517,"mix_frame":55045,"passive":206,"passive_chain":[44874,55045,0],"passive_ranks":[1,18],"receivers":[200,203],"undo_frame":0},{"carrier":201,"carrier_chain":[44884,55051,12521,0],"carrier_ranks":[1,16,2],"deliver_after_root":754,"deliver_frame":12521,"mix_frame":55051,"passive":202,"passive_chain":[44882,55051,0],"passive_ranks":[1,18],"receivers":[204,207],"undo_frame":0},{"carrier":204,"carrier_chain":[44878,55036,12519,0],"carrier_ranks":[1,16,2],"deliver_after_root":753,"deliver_frame":12519,"mix_frame":55036,"passive":207,"passive_chain":[44872,55036,0],"passive_ranks":[1,18],"receivers":[201,202],"undo_frame":0},{"carrier":208,"carrier_chain":[44870,55018,12545,0],"carrier_ranks":[1,16,2],"deliver_after_root":785,"deliver_frame":12545,"mix_frame":55018,"passive":211,"passive_chain":[44864,55018,0],"passive_ranks":[1,18],"receivers":[213,214],"undo_frame":0},{"carrier":213,"carrier_chain":[44860,55028,12539,0],"carrier_ranks":[1,16,2],"deliver_after_root":782,"deliver_frame":12539,"mix_frame":55028,"passive":214,"passive_chain":[44858,55028,0],"passive_ranks":[1,18],"receivers":[208,211],"undo_frame":0},{"carrier":209,"carrier_chain":[44868,55034,12543,0],"carrier_ranks":[1,16,2],"deliver_after_root":784,"deliver_frame":12543,"mix_frame":55034,"passive":210,"passive_chain":[44866,55034,0],"passive_ranks":[1,18],"receivers":[212,215],"undo_frame":0},{"carrier":212,"carrier_chain":[44862,55019,12541,0],"carrier_ranks":[1,16,2],"deliver_after_root":783,"deliver_frame":12541,"mix_frame":55019,"passive":215,"passive_chain":[44856,55019,0],"passive_ranks":[1,18],"receivers":[209,210],"undo_frame":0},{"carrier":216,"carrier_chain":[44854,55001,12567,0],"carrier_ranks":[1,16,2],"deliver_after_root":815,"deliver_frame":12567,"mix_frame":55001,"passive":219,"passive_chain":[44848,55001,0],"passive_ranks":[1,18],"receivers":[221,222],"undo_frame":0},{"carrier":221,"carrier_chain":[44844,55011,12561,0],"carrier_ranks":[1,16,2],"deliver_after_root":812,"deliver_frame":12561,"mix_frame":55011,"passive":222,"passive_chain":[44842,55011,0],"passive_ranks":[1,18],"receivers":[216,219],"undo_frame":0},{"carrier":217,"carrier_chain":[44852,55017,12565,0],"carrier_ranks":[1,16,2],"deliver_after_root":814,"deliver_frame":12565,"mix_frame":55017,"passive":218,"passive_chain":[44850,55017,0],"passive_ranks":[1,18],"receivers":[220,223],"undo_frame":0},{"carrier":220,"carrier_chain":[44846,55002,12563,0],"carrier_ranks":[1,16,2],"deliver_after_root":813,"deliver_frame":12563,"mix_frame":55002,"passive":223,"passive_chain":[44840,55002,0],"passive_ranks":[1,18],"receivers":[217,218],"undo_frame":0},{"carrier":224,"carrier_chain":[44838,54984,12589,0],"carrier_ranks":[1,16,2],"deliver_after_root":845,"deliver_frame":12589,"mix_frame":54984,"passive":227,"passive_chain":[44832,54984,0],"passive_ranks":[1,18],"receivers":[229,230],"undo_frame":0},{"carrier":229,"carrier_chain":[44828,54994,12583,0],"carrier_ranks":[1,16,2],"deliver_after_root":842,"deliver_frame":12583,"mix_frame":54994,"passive":230,"passive_chain":[44826,54994,0],"passive_ranks":[1,18],"receivers":[224,227],"undo_frame":0},{"carrier":225,"carrier_chain":[44836,55000,12587,0],"carrier_ranks":[1,16,2],"deliver_after_root":844,"deliver_frame":12587,"mix_frame":55000,"passive":226,"passive_chain":[44834,55000,0],"passive_ranks":[1,18],"receivers":[228,231],"undo_frame":0},{"carrier":228,"carrier_chain":[44830,54985,12585,0],"carrier_ranks":[1,16,2],"deliver_after_root":843,"deliver_frame":12585,"mix_frame":54985,"passive":231,"passive_chain":[44824,54985,0],"passive_ranks":[1,18],"receivers":[225,226],"undo_frame":0},{"carrier":232,"carrier_chain":[44822,54967,12611,0],"carrier_ranks":[1,16,2],"deliver_after_root":875,"deliver_frame":12611,"mix_frame":54967,"passive":235,"passive_chain":[44816,54967,0],"passive_ranks":[1,18],"receivers":[237,238],"undo_frame":0},{"carrier":237,"carrier_chain":[44812,54977,12605,0],"carrier_ranks":[1,16,2],"deliver_after_root":872,"deliver_frame":12605,"mix_frame":54977,"passive":238,"passive_chain":[44810,54977,0],"passive_ranks":[1,18],"receivers":[232,235],"undo_frame":0},{"carrier":233,"carrier_chain":[44820,54983,12609,0],"carrier_ranks":[1,16,2],"deliver_after_root":874,"deliver_frame":12609,"mix_frame":54983,"passive":234,"passive_chain":[44818,54983,0],"passive_ranks":[1,18],"receivers":[236,239],"undo_frame":0},{"carrier":236,"carrier_chain":[44814,54968,12607,0],"carrier_ranks":[1,16,2],"deliver_after_root":873,"deliver_frame":12607,"mix_frame":54968,"passive":239,"passive_chain":[44808,54968,0],"passive_ranks":[1,18],"receivers":[233,234],"undo_frame":0},{"carrier":240,"carrier_chain":[44806,54950,12633,0],"carrier_ranks":[1,16,2],"deliver_after_root":905,"deliver_frame":12633,"mix_frame":54950,"passive":243,"passive_chain":[44800,54950,0],"passive_ranks":[1,18],"receivers":[245,246],"undo_frame":0},{"carrier":245,"carrier_chain":[44796,54960,12627,0],"carrier_ranks":[1,16,2],"deliver_after_root":902,"deliver_frame":12627,"mix_frame":54960,"passive":246,"passive_chain":[44794,54960,0],"passive_ranks":[1,18],"receivers":[240,243],"undo_frame":0},{"carrier":241,"carrier_chain":[44804,54966,12631,0],"carrier_ranks":[1,16,2],"deliver_after_root":904,"deliver_frame":12631,"mix_frame":54966,"passive":242,"passive_chain":[44802,54966,0],"passive_ranks":[1,18],"receivers":[244,247],"undo_frame":0},{"carrier":244,"carrier_chain":[44798,54951,12629,0],"carrier_ranks":[1,16,2],"deliver_after_root":903,"deliver_frame":12629,"mix_frame":54951,"passive":247,"passive_chain":[44792,54951,0],"passive_ranks":[1,18],"receivers":[241,242],"undo_frame":0},{"carrier":248,"carrier_chain":[44790,54933,12655,0],"carrier_ranks":[1,16,2],"deliver_after_root":935,"deliver_frame":12655,"mix_frame":54933,"passive":251,"passive_chain":[44784,54933,0],"passive_ranks":[1,18],"receivers":[253,254],"undo_frame":0},{"carrier":253,"carrier_chain":[44780,54943,12649,0],"carrier_ranks":[1,16,2],"deliver_after_root":932,"deliver_frame":12649,"mix_frame":54943,"passive":254,"passive_chain":[44778,54943,0],"passive_ranks":[1,18],"receivers":[248,251],"undo_frame":0},{"carrier":249,"carrier_chain":[44788,54949,12653,0],"carrier_ranks":[1,16,2],"deliver_after_root":934,"deliver_frame":12653,"mix_frame":54949,"passive":250,"passive_chain":[44786,54949,0],"passive_ranks":[1,18],"receivers":[252,255],"undo_frame":0},{"carrier":252,"carrier_chain":[44782,54934,12651,0],"carrier_ranks":[1,16,2],"deliver_after_root":933,"deliver_frame":12651,"mix_frame":54934,"passive":255,"passive_chain":[44776,54934,0],"passive_ranks":[1,18],"receivers":[249,250],"undo_frame":0},{"carrier":256,"carrier_chain":[44774,54916,12677,0],"carrier_ranks":[1,16,2],"deliver_after_root":965,"deliver_frame":12677,"mix_frame":54916,"passive":259,"passive_chain":[44768,54916,0],"passive_ranks":[1,18],"receivers":[261,262],"undo_frame":0},{"carrier":261,"carrier_chain":[44764,54926,12671,0],"carrier_ranks":[1,16,2],"deliver_after_root":962,"deliver_frame":12671,"mix_frame":54926,"passive":262,"passive_chain":[44762,54926,0],"passive_ranks":[1,18],"receivers":[256,259],"undo_frame":0},{"carrier":257,"carrier_chain":[44772,54932,12675,0],"carrier_ranks":[1,16,2],"deliver_after_root":964,"deliver_frame":12675,"mix_frame":54932,"passive":258,"passive_chain":[44770,54932,0],"passive_ranks":[1,18],"receivers":[260,263],"undo_frame":0},{"carrier":260,"carrier_chain":[44766,54917,12673,0],"carrier_ranks":[1,16,2],"deliver_after_root":963,"deliver_frame":12673,"mix_frame":54917,"passive":263,"passive_chain":[44760,54917,0],"passive_ranks":[1,18],"receivers":[257,258],"undo_frame":0},{"carrier":264,"carrier_chain":[44758,54899,12699,0],"carrier_ranks":[1,16,2],"deliver_after_root":995,"deliver_frame":12699,"mix_frame":54899,"passive":267,"passive_chain":[44752,54899,0],"passive_ranks":[1,18],"receivers":[269,270],"undo_frame":0},{"carrier":269,"carrier_chain":[44748,54909,12693,0],"carrier_ranks":[1,16,2],"deliver_after_root":992,"deliver_frame":12693,"mix_frame":54909,"passive":270,"passive_chain":[44746,54909,0],"passive_ranks":[1,18],"receivers":[264,267],"undo_frame":0},{"carrier":265,"carrier_chain":[44756,54915,12697,0],"carrier_ranks":[1,16,2],"deliver_after_root":994,"deliver_frame":12697,"mix_frame":54915,"passive":266,"passive_chain":[44754,54915,0],"passive_ranks":[1,18],"receivers":[268,271],"undo_frame":0},{"carrier":268,"carrier_chain":[44750,54900,12695,0],"carrier_ranks":[1,16,2],"deliver_after_root":993,"deliver_frame":12695,"mix_frame":54900,"passive":271,"passive_chain":[44744,54900,0],"passive_ranks":[1,18],"receivers":[265,266],"undo_frame":0},{"carrier":272,"carrier_chain":[44742,54882,12721,0],"carrier_ranks":[1,16,2],"deliver_after_root":1025,"deliver_frame":12721,"mix_frame":54882,"passive":275,"passive_chain":[44736,54882,0],"passive_ranks":[1,18],"receivers":[277,278],"undo_frame":0},{"carrier":277,"carrier_chain":[44732,54892,12715,0],"carrier_ranks":[1,16,2],"deliver_after_root":1022,"deliver_frame":12715,"mix_frame":54892,"passive":278,"passive_chain":[44730,54892,0],"passive_ranks":[1,18],"receivers":[272,275],"undo_frame":0},{"carrier":273,"carrier_chain":[44740,54898,12719,0],"carrier_ranks":[1,16,2],"deliver_after_root":1024,"deliver_frame":12719,"mix_frame":54898,"passive":274,"passive_chain":[44738,54898,0],"passive_ranks":[1,18],"receivers":[276,279],"undo_frame":0},{"carrier":276,"carrier_chain":[44734,54883,12717,0],"carrier_ranks":[1,16,2],"deliver_after_root":1023,"deliver_frame":12717,"mix_frame":54883,"passive":279,"passive_chain":[44728,54883,0],"passive_ranks":[1,18],"receivers":[273,274],"undo_frame":0},{"carrier":280,"carrier_chain":[44726,54865,12743,0],"carrier_ranks":[1,16,2],"deliver_after_root":1055,"deliver_frame":12743,"mix_frame":54865,"passive":283,"passive_chain":[44720,54865,0],"passive_ranks":[1,18],"receivers":[285,286],"undo_frame":0},{"carrier":285,"carrier_chain":[44716,54875,12737,0],"carrier_ranks":[1,16,2],"deliver_after_root":1052,"deliver_frame":12737,"mix_frame":54875,"passive":286,"passive_chain":[44714,54875,0],"passive_ranks":[1,18],"receivers":[280,283],"undo_frame":0},{"carrier":281,"carrier_chain":[44724,54881,12741,0],"carrier_ranks":[1,16,2],"deliver_after_root":1054,"deliver_frame":12741,"mix_frame":54881,"passive":282,"passive_chain":[44722,54881,0],"passive_ranks":[1,18],"receivers":[284,287],"undo_frame":0},{"carrier":284,"carrier_chain":[44718,54866,12739,0],"carrier_ranks":[1,16,2],"deliver_after_root":1053,"deliver_frame":12739,"mix_frame":54866,"passive":287,"passive_chain":[44712,54866,0],"passive_ranks":[1,18],"receivers":[281,282],"undo_frame":0},{"carrier":288,"carrier_chain":[44710,54848,12765,0],"carrier_ranks":[1,16,2],"deliver_after_root":1085,"deliver_frame":12765,"mix_frame":54848,"passive":291,"passive_chain":[44704,54848,0],"passive_ranks":[1,18],"receivers":[293,294],"undo_frame":0},{"carrier":293,"carrier_chain":[44700,54858,12759,0],"carrier_ranks":[1,16,2],"deliver_after_root":1082,"deliver_frame":12759,"mix_frame":54858,"passive":294,"passive_chain":[44698,54858,0],"passive_ranks":[1,18],"receivers":[288,291],"undo_frame":0},{"carrier":289,"carrier_chain":[44708,54864,12763,0],"carrier_ranks":[1,16,2],"deliver_after_root":1084,"deliver_frame":12763,"mix_frame":54864,"passive":290,"passive_chain":[44706,54864,0],"passive_ranks":[1,18],"receivers":[292,295],"undo_frame":0},{"carrier":292,"carrier_chain":[44702,54849,12761,0],"carrier_ranks":[1,16,2],"deliver_after_root":1083,"deliver_frame":12761,"mix_frame":54849,"passive":295,"passive_chain":[44696,54849,0],"passive_ranks":[1,18],"receivers":[289,290],"undo_frame":0},{"carrier":296,"carrier_chain":[44694,54831,12787,0],"carrier_ranks":[1,16,2],"deliver_after_root":1115,"deliver_frame":12787,"mix_frame":54831,"passive":299,"passive_chain":[44688,54831,0],"passive_ranks":[1,18],"receivers":[301,302],"undo_frame":0},{"carrier":301,"carrier_chain":[44684,54841,12781,0],"carrier_ranks":[1,16,2],"deliver_after_root":1112,"deliver_frame":12781,"mix_frame":54841,"passive":302,"passive_chain":[44682,54841,0],"passive_ranks":[1,18],"receivers":[296,299],"undo_frame":0},{"carrier":297,"carrier_chain":[44692,54847,12785,0],"carrier_ranks":[1,16,2],"deliver_after_root":1114,"deliver_frame":12785,"mix_frame":54847,"passive":298,"passive_chain":[44690,54847,0],"passive_ranks":[1,18],"receivers":[300,303],"undo_frame":0},{"carrier":300,"carrier_chain":[44686,54832,12783,0],"carrier_ranks":[1,16,2],"deliver_after_root":1113,"deliver_frame":12783,"mix_frame":54832,"passive":303,"passive_chain":[44680,54832,0],"passive_ranks":[1,18],"receivers":[297,298],"undo_frame":0},{"carrier":304,"carrier_chain":[44678,54814,12809,0],"carrier_ranks":[1,16,2],"deliver_after_root":1145,"deliver_frame":12809,"mix_frame":54814,"passive":307,"passive_chain":[44672,54814,0],"passive_ranks":[1,18],"receivers":[309,310],"undo_frame":0},{"carrier":309,"carrier_chain":[44668,54824,12803,0],"carrier_ranks":[1,16,2],"deliver_after_root":1142,"deliver_frame":12803,"mix_frame":54824,"passive":310,"passive_chain":[44666,54824,0],"passive_ranks":[1,18],"receivers":[304,307],"undo_frame":0},{"carrier":305,"carrier_chain":[44676,54830,12807,0],"carrier_ranks":[1,16,2],"deliver_after_root":1144,"deliver_frame":12807,"mix_frame":54830,"passive":306,"passive_chain":[44674,54830,0],"passive_ranks":[1,18],"receivers":[308,311],"undo_frame":0},{"carrier":308,"carrier_chain":[44670,54815,12805,0],"carrier_ranks":[1,16,2],"deliver_after_root":1143,"deliver_frame":12805,"mix_frame":54815,"passive":311,"passive_chain":[44664,54815,0],"passive_ranks":[1,18],"receivers":[305,306],"undo_frame":0},{"carrier":312,"carrier_chain":[44662,54797,12831,0],"carrier_ranks":[1,16,2],"deliver_after_root":1175,"deliver_frame":12831,"mix_frame":54797,"passive":315,"passive_chain":[44656,54797,0],"passive_ranks":[1,18],"receivers":[317,318],"undo_frame":0},{"carrier":317,"carrier_chain":[44652,54807,12825,0],"carrier_ranks":[1,16,2],"deliver_after_root":1172,"deliver_frame":12825,"mix_frame":54807,"passive":318,"passive_chain":[44650,54807,0],"passive_ranks":[1,18],"receivers":[312,315],"undo_frame":0},{"carrier":313,"carrier_chain":[44660,54813,12829,0],"carrier_ranks":[1,16,2],"deliver_after_root":1174,"deliver_frame":12829,"mix_frame":54813,"passive":314,"passive_chain":[44658,54813,0],"passive_ranks":[1,18],"receivers":[316,319],"undo_frame":0},{"carrier":316,"carrier_chain":[44654,54798,12827,0],"carrier_ranks":[1,16,2],"deliver_after_root":1173,"deliver_frame":12827,"mix_frame":54798,"passive":319,"passive_chain":[44648,54798,0],"passive_ranks":[1,18],"receivers":[313,314],"undo_frame":0},{"carrier":320,"carrier_chain":[44646,54780,12853,0],"carrier_ranks":[1,16,2],"deliver_after_root":1205,"deliver_frame":12853,"mix_frame":54780,"passive":323,"passive_chain":[44640,54780,0],"passive_ranks":[1,18],"receivers":[325,326],"undo_frame":0},{"carrier":325,"carrier_chain":[44636,54790,12847,0],"carrier_ranks":[1,16,2],"deliver_after_root":1202,"deliver_frame":12847,"mix_frame":54790,"passive":326,"passive_chain":[44634,54790,0],"passive_ranks":[1,18],"receivers":[320,323],"undo_frame":0},{"carrier":321,"carrier_chain":[44644,54796,12851,0],"carrier_ranks":[1,16,2],"deliver_after_root":1204,"deliver_frame":12851,"mix_frame":54796,"passive":322,"passive_chain":[44642,54796,0],"passive_ranks":[1,18],"receivers":[324,327],"undo_frame":0},{"carrier":324,"carrier_chain":[44638,54781,12849,0],"carrier_ranks":[1,16,2],"deliver_after_root":1203,"deliver_frame":12849,"mix_frame":54781,"passive":327,"passive_chain":[44632,54781,0],"passive_ranks":[1,18],"receivers":[321,322],"undo_frame":0},{"carrier":328,"carrier_chain":[44630,54763,12875,0],"carrier_ranks":[1,16,2],"deliver_after_root":1235,"deliver_frame":12875,"mix_frame":54763,"passive":331,"passive_chain":[44624,54763,0],"passive_ranks":[1,18],"receivers":[333,334],"undo_frame":0},{"carrier":333,"carrier_chain":[44620,54773,12869,0],"carrier_ranks":[1,16,2],"deliver_after_root":1232,"deliver_frame":12869,"mix_frame":54773,"passive":334,"passive_chain":[44618,54773,0],"passive_ranks":[1,18],"receivers":[328,331],"undo_frame":0},{"carrier":329,"carrier_chain":[44628,54779,12873,0],"carrier_ranks":[1,16,2],"deliver_after_root":1234,"deliver_frame":12873,"mix_frame":54779,"passive":330,"passive_chain":[44626,54779,0],"passive_ranks":[1,18],"receivers":[332,335],"undo_frame":0},{"carrier":332,"carrier_chain":[44622,54764,12871,0],"carrier_ranks":[1,16,2],"deliver_after_root":1233,"deliver_frame":12871,"mix_frame":54764,"passive":335,"passive_chain":[44616,54764,0],"passive_ranks":[1,18],"receivers":[329,330],"undo_frame":0},{"carrier":336,"carrier_chain":[44614,54746,12897,0],"carrier_ranks":[1,16,2],"deliver_after_root":1265,"deliver_frame":12897,"mix_frame":54746,"passive":339,"passive_chain":[44608,54746,0],"passive_ranks":[1,18],"receivers":[341,342],"undo_frame":0},{"carrier":341,"carrier_chain":[44604,54756,12891,0],"carrier_ranks":[1,16,2],"deliver_after_root":1262,"deliver_frame":12891,"mix_frame":54756,"passive":342,"passive_chain":[44602,54756,0],"passive_ranks":[1,18],"receivers":[336,339],"undo_frame":0},{"carrier":337,"carrier_chain":[44612,54762,12895,0],"carrier_ranks":[1,16,2],"deliver_after_root":1264,"deliver_frame":12895,"mix_frame":54762,"passive":338,"passive_chain":[44610,54762,0],"passive_ranks":[1,18],"receivers":[340,343],"undo_frame":0},{"carrier":340,"carrier_chain":[44606,54747,12893,0],"carrier_ranks":[1,16,2],"deliver_after_root":1263,"deliver_frame":12893,"mix_frame":54747,"passive":343,"passive_chain":[44600,54747,0],"passive_ranks":[1,18],"receivers":[337,338],"undo_frame":0},{"carrier":344,"carrier_chain":[44598,54729,12919,0],"carrier_ranks":[1,16,2],"deliver_after_root":1295,"deliver_frame":12919,"mix_frame":54729,"passive":347,"passive_chain":[44592,54729,0],"passive_ranks":[1,18],"receivers":[349,350],"undo_frame":0},{"carrier":349,"carrier_chain":[44588,54739,12913,0],"carrier_ranks":[1,16,2],"deliver_after_root":1292,"deliver_frame":12913,"mix_frame":54739,"passive":350,"passive_chain":[44586,54739,0],"passive_ranks":[1,18],"receivers":[344,347],"undo_frame":0},{"carrier":345,"carrier_chain":[44596,54745,12917,0],"carrier_ranks":[1,16,2],"deliver_after_root":1294,"deliver_frame":12917,"mix_frame":54745,"passive":346,"passive_chain":[44594,54745,0],"passive_ranks":[1,18],"receivers":[348,351],"undo_frame":0},{"carrier":348,"carrier_chain":[44590,54730,12915,0],"carrier_ranks":[1,16,2],"deliver_after_root":1293,"deliver_frame":12915,"mix_frame":54730,"passive":351,"passive_chain":[44584,54730,0],"passive_ranks":[1,18],"receivers":[345,346],"undo_frame":0},{"carrier":352,"carrier_chain":[44582,54712,12941,0],"carrier_ranks":[1,16,2],"deliver_after_root":1325,"deliver_frame":12941,"mix_frame":54712,"passive":355,"passive_chain":[44576,54712,0],"passive_ranks":[1,18],"receivers":[357,358],"undo_frame":0},{"carrier":357,"carrier_chain":[44572,54722,12935,0],"carrier_ranks":[1,16,2],"deliver_after_root":1322,"deliver_frame":12935,"mix_frame":54722,"passive":358,"passive_chain":[44570,54722,0],"passive_ranks":[1,18],"receivers":[352,355],"undo_frame":0},{"carrier":353,"carrier_chain":[44580,54728,12939,0],"carrier_ranks":[1,16,2],"deliver_after_root":1324,"deliver_frame":12939,"mix_frame":54728,"passive":354,"passive_chain":[44578,54728,0],"passive_ranks":[1,18],"receivers":[356,359],"undo_frame":0},{"carrier":356,"carrier_chain":[44574,54713,12937,0],"carrier_ranks":[1,16,2],"deliver_after_root":1323,"deliver_frame":12937,"mix_frame":54713,"passive":359,"passive_chain":[44568,54713,0],"passive_ranks":[1,18],"receivers":[353,354],"undo_frame":0},{"carrier":360,"carrier_chain":[44566,54695,12963,0],"carrier_ranks":[1,16,2],"deliver_after_root":1355,"deliver_frame":12963,"mix_frame":54695,"passive":363,"passive_chain":[44560,54695,0],"passive_ranks":[1,18],"receivers":[365,366],"undo_frame":0},{"carrier":365,"carrier_chain":[44556,54705,12957,0],"carrier_ranks":[1,16,2],"deliver_after_root":1352,"deliver_frame":12957,"mix_frame":54705,"passive":366,"passive_chain":[44554,54705,0],"passive_ranks":[1,18],"receivers":[360,363],"undo_frame":0},{"carrier":361,"carrier_chain":[44564,54711,12961,0],"carrier_ranks":[1,16,2],"deliver_after_root":1354,"deliver_frame":12961,"mix_frame":54711,"passive":362,"passive_chain":[44562,54711,0],"passive_ranks":[1,18],"receivers":[364,367],"undo_frame":0},{"carrier":364,"carrier_chain":[44558,54696,12959,0],"carrier_ranks":[1,16,2],"deliver_after_root":1353,"deliver_frame":12959,"mix_frame":54696,"passive":367,"passive_chain":[44552,54696,0],"passive_ranks":[1,18],"receivers":[361,362],"undo_frame":0},{"carrier":368,"carrier_chain":[44550,54678,12985,0],"carrier_ranks":[1,16,2],"deliver_after_root":1385,"deliver_frame":12985,"mix_frame":54678,"passive":371,"passive_chain":[44544,54678,0],"passive_ranks":[1,18],"receivers":[373,374],"undo_frame":0},{"carrier":373,"carrier_chain":[44540,54688,12979,0],"carrier_ranks":[1,16,2],"deliver_after_root":1382,"deliver_frame":12979,"mix_frame":54688,"passive":374,"passive_chain":[44538,54688,0],"passive_ranks":[1,18],"receivers":[368,371],"undo_frame":0},{"carrier":369,"carrier_chain":[44548,54694,12983,0],"carrier_ranks":[1,16,2],"deliver_after_root":1384,"deliver_frame":12983,"mix_frame":54694,"passive":370,"passive_chain":[44546,54694,0],"passive_ranks":[1,18],"receivers":[372,375],"undo_frame":0},{"carrier":372,"carrier_chain":[44542,54679,12981,0],"carrier_ranks":[1,16,2],"deliver_after_root":1383,"deliver_frame":12981,"mix_frame":54679,"passive":375,"passive_chain":[44536,54679,0],"passive_ranks":[1,18],"receivers":[369,370],"undo_frame":0},{"carrier":376,"carrier_chain":[44534,54661,13007,0],"carrier_ranks":[1,16,2],"deliver_after_root":1415,"deliver_frame":13007,"mix_frame":54661,"passive":379,"passive_chain":[44528,54661,0],"passive_ranks":[1,18],"receivers":[381,382],"undo_frame":0},{"carrier":381,"carrier_chain":[44524,54671,13001,0],"carrier_ranks":[1,16,2],"deliver_after_root":1412,"deliver_frame":13001,"mix_frame":54671,"passive":382,"passive_chain":[44522,54671,0],"passive_ranks":[1,18],"receivers":[376,379],"undo_frame":0},{"carrier":377,"carrier_chain":[44532,54677,13005,0],"carrier_ranks":[1,16,2],"deliver_after_root":1414,"deliver_frame":13005,"mix_frame":54677,"passive":378,"passive_chain":[44530,54677,0],"passive_ranks":[1,18],"receivers":[380,383],"undo_frame":0},{"carrier":380,"carrier_chain":[44526,54662,13003,0],"carrier_ranks":[1,16,2],"deliver_after_root":1413,"deliver_frame":13003,"mix_frame":54662,"passive":383,"passive_chain":[44520,54662,0],"passive_ranks":[1,18],"receivers":[377,378],"undo_frame":0},{"carrier":384,"carrier_chain":[44518,54644,13029,0],"carrier_ranks":[1,16,2],"deliver_after_root":1445,"deliver_frame":13029,"mix_frame":54644,"passive":387,"passive_chain":[44512,54644,0],"passive_ranks":[1,18],"receivers":[389,390],"undo_frame":0},{"carrier":389,"carrier_chain":[44508,54654,13023,0],"carrier_ranks":[1,16,2],"deliver_after_root":1442,"deliver_frame":13023,"mix_frame":54654,"passive":390,"passive_chain":[44506,54654,0],"passive_ranks":[1,18],"receivers":[384,387],"undo_frame":0},{"carrier":385,"carrier_chain":[44516,54660,13027,0],"carrier_ranks":[1,16,2],"deliver_after_root":1444,"deliver_frame":13027,"mix_frame":54660,"passive":386,"passive_chain":[44514,54660,0],"passive_ranks":[1,18],"receivers":[388,391],"undo_frame":0},{"carrier":388,"carrier_chain":[44510,54645,13025,0],"carrier_ranks":[1,16,2],"deliver_after_root":1443,"deliver_frame":13025,"mix_frame":54645,"passive":391,"passive_chain":[44504,54645,0],"passive_ranks":[1,18],"receivers":[385,386],"undo_frame":0},{"carrier":392,"carrier_chain":[44502,54627,13051,0],"carrier_ranks":[1,16,2],"deliver_after_root":1475,"deliver_frame":13051,"mix_frame":54627,"passive":395,"passive_chain":[44496,54627,0],"passive_ranks":[1,18],"receivers":[397,398],"undo_frame":0},{"carrier":397,"carrier_chain":[44492,54637,13045,0],"carrier_ranks":[1,16,2],"deliver_after_root":1472,"deliver_frame":13045,"mix_frame":54637,"passive":398,"passive_chain":[44490,54637,0],"passive_ranks":[1,18],"receivers":[392,395],"undo_frame":0},{"carrier":393,"carrier_chain":[44500,54643,13049,0],"carrier_ranks":[1,16,2],"deliver_after_root":1474,"deliver_frame":13049,"mix_frame":54643,"passive":394,"passive_chain":[44498,54643,0],"passive_ranks":[1,18],"receivers":[396,399],"undo_frame":0},{"carrier":396,"carrier_chain":[44494,54628,13047,0],"carrier_ranks":[1,16,2],"deliver_after_root":1473,"deliver_frame":13047,"mix_frame":54628,"passive":399,"passive_chain":[44488,54628,0],"passive_ranks":[1,18],"receivers":[393,394],"undo_frame":0},{"carrier":400,"carrier_chain":[44486,54610,13073,0],"carrier_ranks":[1,16,2],"deliver_after_root":1505,"deliver_frame":13073,"mix_frame":54610,"passive":403,"passive_chain":[44480,54610,0],"passive_ranks":[1,18],"receivers":[405,406],"undo_frame":0},{"carrier":405,"carrier_chain":[44476,54620,13067,0],"carrier_ranks":[1,16,2],"deliver_after_root":1502,"deliver_frame":13067,"mix_frame":54620,"passive":406,"passive_chain":[44474,54620,0],"passive_ranks":[1,18],"receivers":[400,403],"undo_frame":0},{"carrier":401,"carrier_chain":[44484,54626,13071,0],"carrier_ranks":[1,16,2],"deliver_after_root":1504,"deliver_frame":13071,"mix_frame":54626,"passive":402,"passive_chain":[44482,54626,0],"passive_ranks":[1,18],"receivers":[404,407],"undo_frame":0},{"carrier":404,"carrier_chain":[44478,54611,13069,0],"carrier_ranks":[1,16,2],"deliver_after_root":1503,"deliver_frame":13069,"mix_frame":54611,"passive":407,"passive_chain":[44472,54611,0],"passive_ranks":[1,18],"receivers":[401,402],"undo_frame":0},{"carrier":408,"carrier_chain":[44470,54593,13095,0],"carrier_ranks":[1,16,2],"deliver_after_root":1535,"deliver_frame":13095,"mix_frame":54593,"passive":411,"passive_chain":[44464,54593,0],"passive_ranks":[1,18],"receivers":[413,414],"undo_frame":0},{"carrier":413,"carrier_chain":[44460,54603,13089,0],"carrier_ranks":[1,16,2],"deliver_after_root":1532,"deliver_frame":13089,"mix_frame":54603,"passive":414,"passive_chain":[44458,54603,0],"passive_ranks":[1,18],"receivers":[408,411],"undo_frame":0},{"carrier":409,"carrier_chain":[44468,54609,13093,0],"carrier_ranks":[1,16,2],"deliver_after_root":1534,"deliver_frame":13093,"mix_frame":54609,"passive":410,"passive_chain":[44466,54609,0],"passive_ranks":[1,18],"receivers":[412,415],"undo_frame":0},{"carrier":412,"carrier_chain":[44462,54594,13091,0],"carrier_ranks":[1,16,2],"deliver_after_root":1533,"deliver_frame":13091,"mix_frame":54594,"passive":415,"passive_chain":[44456,54594,0],"passive_ranks":[1,18],"receivers":[409,410],"undo_frame":0},{"carrier":416,"carrier_chain":[44454,54576,13117,0],"carrier_ranks":[1,16,2],"deliver_after_root":1565,"deliver_frame":13117,"mix_frame":54576,"passive":419,"passive_chain":[44448,54576,0],"passive_ranks":[1,18],"receivers":[421,422],"undo_frame":0},{"carrier":421,"carrier_chain":[44444,54586,13111,0],"carrier_ranks":[1,16,2],"deliver_after_root":1562,"deliver_frame":13111,"mix_frame":54586,"passive":422,"passive_chain":[44442,54586,0],"passive_ranks":[1,18],"receivers":[416,419],"undo_frame":0},{"carrier":417,"carrier_chain":[44452,54592,13115,0],"carrier_ranks":[1,16,2],"deliver_after_root":1564,"deliver_frame":13115,"mix_frame":54592,"passive":418,"passive_chain":[44450,54592,0],"passive_ranks":[1,18],"receivers":[420,423],"undo_frame":0},{"carrier":420,"carrier_chain":[44446,54577,13113,0],"carrier_ranks":[1,16,2],"deliver_after_root":1563,"deliver_frame":13113,"mix_frame":54577,"passive":423,"passive_chain":[44440,54577,0],"passive_ranks":[1,18],"receivers":[417,418],"undo_frame":0},{"carrier":424,"carrier_chain":[44438,54559,13139,0],"carrier_ranks":[1,16,2],"deliver_after_root":1595,"deliver_frame":13139,"mix_frame":54559,"passive":427,"passive_chain":[44432,54559,0],"passive_ranks":[1,18],"receivers":[429,430],"undo_frame":0},{"carrier":429,"carrier_chain":[44428,54569,13133,0],"carrier_ranks":[1,16,2],"deliver_after_root":1592,"deliver_frame":13133,"mix_frame":54569,"passive":430,"passive_chain":[44426,54569,0],"passive_ranks":[1,18],"receivers":[424,427],"undo_frame":0},{"carrier":425,"carrier_chain":[44436,54575,13137,0],"carrier_ranks":[1,16,2],"deliver_after_root":1594,"deliver_frame":13137,"mix_frame":54575,"passive":426,"passive_chain":[44434,54575,0],"passive_ranks":[1,18],"receivers":[428,431],"undo_frame":0},{"carrier":428,"carrier_chain":[44430,54560,13135,0],"carrier_ranks":[1,16,2],"deliver_after_root":1593,"deliver_frame":13135,"mix_frame":54560,"passive":431,"passive_chain":[44424,54560,0],"passive_ranks":[1,18],"receivers":[425,426],"undo_frame":0},{"carrier":432,"carrier_chain":[44422,54542,13161,0],"carrier_ranks":[1,16,2],"deliver_after_root":1625,"deliver_frame":13161,"mix_frame":54542,"passive":435,"passive_chain":[44416,54542,0],"passive_ranks":[1,18],"receivers":[437,438],"undo_frame":0},{"carrier":437,"carrier_chain":[44412,54552,13155,0],"carrier_ranks":[1,16,2],"deliver_after_root":1622,"deliver_frame":13155,"mix_frame":54552,"passive":438,"passive_chain":[44410,54552,0],"passive_ranks":[1,18],"receivers":[432,435],"undo_frame":0},{"carrier":433,"carrier_chain":[44420,54558,13159,0],"carrier_ranks":[1,16,2],"deliver_after_root":1624,"deliver_frame":13159,"mix_frame":54558,"passive":434,"passive_chain":[44418,54558,0],"passive_ranks":[1,18],"receivers":[436,439],"undo_frame":0},{"carrier":436,"carrier_chain":[44414,54543,13157,0],"carrier_ranks":[1,16,2],"deliver_after_root":1623,"deliver_frame":13157,"mix_frame":54543,"passive":439,"passive_chain":[44408,54543,0],"passive_ranks":[1,18],"receivers":[433,434],"undo_frame":0},{"carrier":440,"carrier_chain":[44406,54525,13183,0],"carrier_ranks":[1,16,2],"deliver_after_root":1655,"deliver_frame":13183,"mix_frame":54525,"passive":443,"passive_chain":[44400,54525,0],"passive_ranks":[1,18],"receivers":[445,446],"undo_frame":0},{"carrier":445,"carrier_chain":[44396,54535,13177,0],"carrier_ranks":[1,16,2],"deliver_after_root":1652,"deliver_frame":13177,"mix_frame":54535,"passive":446,"passive_chain":[44394,54535,0],"passive_ranks":[1,18],"receivers":[440,443],"undo_frame":0},{"carrier":441,"carrier_chain":[44404,54541,13181,0],"carrier_ranks":[1,16,2],"deliver_after_root":1654,"deliver_frame":13181,"mix_frame":54541,"passive":442,"passive_chain":[44402,54541,0],"passive_ranks":[1,18],"receivers":[444,447],"undo_frame":0},{"carrier":444,"carrier_chain":[44398,54526,13179,0],"carrier_ranks":[1,16,2],"deliver_after_root":1653,"deliver_frame":13179,"mix_frame":54526,"passive":447,"passive_chain":[44392,54526,0],"passive_ranks":[1,18],"receivers":[441,442],"undo_frame":0},{"carrier":448,"carrier_chain":[44390,54508,13205,0],"carrier_ranks":[1,16,2],"deliver_after_root":1685,"deliver_frame":13205,"mix_frame":54508,"passive":451,"passive_chain":[44384,54508,0],"passive_ranks":[1,18],"receivers":[453,454],"undo_frame":0},{"carrier":453,"carrier_chain":[44380,54518,13199,0],"carrier_ranks":[1,16,2],"deliver_after_root":1682,"deliver_frame":13199,"mix_frame":54518,"passive":454,"passive_chain":[44378,54518,0],"passive_ranks":[1,18],"receivers":[448,451],"undo_frame":0},{"carrier":449,"carrier_chain":[44388,54524,13203,0],"carrier_ranks":[1,16,2],"deliver_after_root":1684,"deliver_frame":13203,"mix_frame":54524,"passive":450,"passive_chain":[44386,54524,0],"passive_ranks":[1,18],"receivers":[452,455],"undo_frame":0},{"carrier":452,"carrier_chain":[44382,54509,13201,0],"carrier_ranks":[1,16,2],"deliver_after_root":1683,"deliver_frame":13201,"mix_frame":54509,"passive":455,"passive_chain":[44376,54509,0],"passive_ranks":[1,18],"receivers":[449,450],"undo_frame":0},{"carrier":456,"carrier_chain":[44374,54491,13227,0],"carrier_ranks":[1,16,2],"deliver_after_root":1715,"deliver_frame":13227,"mix_frame":54491,"passive":459,"passive_chain":[44368,54491,0],"passive_ranks":[1,18],"receivers":[461,462],"undo_frame":0},{"carrier":461,"carrier_chain":[44364,54501,13221,0],"carrier_ranks":[1,16,2],"deliver_after_root":1712,"deliver_frame":13221,"mix_frame":54501,"passive":462,"passive_chain":[44362,54501,0],"passive_ranks":[1,18],"receivers":[456,459],"undo_frame":0},{"carrier":457,"carrier_chain":[44372,54507,13225,0],"carrier_ranks":[1,16,2],"deliver_after_root":1714,"deliver_frame":13225,"mix_frame":54507,"passive":458,"passive_chain":[44370,54507,0],"passive_ranks":[1,18],"receivers":[460,463],"undo_frame":0},{"carrier":460,"carrier_chain":[44366,54492,13223,0],"carrier_ranks":[1,16,2],"deliver_after_root":1713,"deliver_frame":13223,"mix_frame":54492,"passive":463,"passive_chain":[44360,54492,0],"passive_ranks":[1,18],"receivers":[457,458],"undo_frame":0},{"carrier":464,"carrier_chain":[44358,54474,13249,0],"carrier_ranks":[1,16,2],"deliver_after_root":1745,"deliver_frame":13249,"mix_frame":54474,"passive":467,"passive_chain":[44352,54474,0],"passive_ranks":[1,18],"receivers":[469,470],"undo_frame":0},{"carrier":469,"carrier_chain":[44348,54484,13243,0],"carrier_ranks":[1,16,2],"deliver_after_root":1742,"deliver_frame":13243,"mix_frame":54484,"passive":470,"passive_chain":[44346,54484,0],"passive_ranks":[1,18],"receivers":[464,467],"undo_frame":0},{"carrier":465,"carrier_chain":[44356,54490,13247,0],"carrier_ranks":[1,16,2],"deliver_after_root":1744,"deliver_frame":13247,"mix_frame":54490,"passive":466,"passive_chain":[44354,54490,0],"passive_ranks":[1,18],"receivers":[468,471],"undo_frame":0},{"carrier":468,"carrier_chain":[44350,54475,13245,0],"carrier_ranks":[1,16,2],"deliver_after_root":1743,"deliver_frame":13245,"mix_frame":54475,"passive":471,"passive_chain":[44344,54475,0],"passive_ranks":[1,18],"receivers":[465,466],"undo_frame":0},{"carrier":472,"carrier_chain":[44342,54457,13271,0],"carrier_ranks":[1,16,2],"deliver_after_root":1775,"deliver_frame":13271,"mix_frame":54457,"passive":475,"passive_chain":[44336,54457,0],"passive_ranks":[1,18],"receivers":[477,478],"undo_frame":0},{"carrier":477,"carrier_chain":[44332,54467,13265,0],"carrier_ranks":[1,16,2],"deliver_after_root":1772,"deliver_frame":13265,"mix_frame":54467,"passive":478,"passive_chain":[44330,54467,0],"passive_ranks":[1,18],"receivers":[472,475],"undo_frame":0},{"carrier":473,"carrier_chain":[44340,54473,13269,0],"carrier_ranks":[1,16,2],"deliver_after_root":1774,"deliver_frame":13269,"mix_frame":54473,"passive":474,"passive_chain":[44338,54473,0],"passive_ranks":[1,18],"receivers":[476,479],"undo_frame":0},{"carrier":476,"carrier_chain":[44334,54458,13267,0],"carrier_ranks":[1,16,2],"deliver_after_root":1773,"deliver_frame":13267,"mix_frame":54458,"passive":479,"passive_chain":[44328,54458,0],"passive_ranks":[1,18],"receivers":[473,474],"undo_frame":0},{"carrier":480,"carrier_chain":[44326,54440,13293,0],"carrier_ranks":[1,16,2],"deliver_after_root":1805,"deliver_frame":13293,"mix_frame":54440,"passive":483,"passive_chain":[44320,54440,0],"passive_ranks":[1,18],"receivers":[485,486],"undo_frame":0},{"carrier":485,"carrier_chain":[44316,54450,13287,0],"carrier_ranks":[1,16,2],"deliver_after_root":1802,"deliver_frame":13287,"mix_frame":54450,"passive":486,"passive_chain":[44314,54450,0],"passive_ranks":[1,18],"receivers":[480,483],"undo_frame":0},{"carrier":481,"carrier_chain":[44324,54456,13291,0],"carrier_ranks":[1,16,2],"deliver_after_root":1804,"deliver_frame":13291,"mix_frame":54456,"passive":482,"passive_chain":[44322,54456,0],"passive_ranks":[1,18],"receivers":[484,487],"undo_frame":0},{"carrier":484,"carrier_chain":[44318,54441,13289,0],"carrier_ranks":[1,16,2],"deliver_after_root":1803,"deliver_frame":13289,"mix_frame":54441,"passive":487,"passive_chain":[44312,54441,0],"passive_ranks":[1,18],"receivers":[481,482],"undo_frame":0},{"carrier":488,"carrier_chain":[44310,54423,13315,0],"carrier_ranks":[1,16,2],"deliver_after_root":1835,"deliver_frame":13315,"mix_frame":54423,"passive":491,"passive_chain":[44304,54423,0],"passive_ranks":[1,18],"receivers":[493,494],"undo_frame":0},{"carrier":493,"carrier_chain":[44300,54433,13309,0],"carrier_ranks":[1,16,2],"deliver_after_root":1832,"deliver_frame":13309,"mix_frame":54433,"passive":494,"passive_chain":[44298,54433,0],"passive_ranks":[1,18],"receivers":[488,491],"undo_frame":0},{"carrier":489,"carrier_chain":[44308,54439,13313,0],"carrier_ranks":[1,16,2],"deliver_after_root":1834,"deliver_frame":13313,"mix_frame":54439,"passive":490,"passive_chain":[44306,54439,0],"passive_ranks":[1,18],"receivers":[492,495],"undo_frame":0},{"carrier":492,"carrier_chain":[44302,54424,13311,0],"carrier_ranks":[1,16,2],"deliver_after_root":1833,"deliver_frame":13311,"mix_frame":54424,"passive":495,"passive_chain":[44296,54424,0],"passive_ranks":[1,18],"receivers":[489,490],"undo_frame":0},{"carrier":496,"carrier_chain":[44294,54406,13337,0],"carrier_ranks":[1,16,2],"deliver_after_root":1865,"deliver_frame":13337,"mix_frame":54406,"passive":499,"passive_chain":[44288,54406,0],"passive_ranks":[1,18],"receivers":[501,502],"undo_frame":0},{"carrier":501,"carrier_chain":[44284,54416,13331,0],"carrier_ranks":[1,16,2],"deliver_after_root":1862,"deliver_frame":13331,"mix_frame":54416,"passive":502,"passive_chain":[44282,54416,0],"passive_ranks":[1,18],"receivers":[496,499],"undo_frame":0},{"carrier":497,"carrier_chain":[44292,54422,13335,0],"carrier_ranks":[1,16,2],"deliver_after_root":1864,"deliver_frame":13335,"mix_frame":54422,"passive":498,"passive_chain":[44290,54422,0],"passive_ranks":[1,18],"receivers":[500,503],"undo_frame":0},{"carrier":500,"carrier_chain":[44286,54407,13333,0],"carrier_ranks":[1,16,2],"deliver_after_root":1863,"deliver_frame":13333,"mix_frame":54407,"passive":503,"passive_chain":[44280,54407,0],"passive_ranks":[1,18],"receivers":[497,498],"undo_frame":0},{"carrier":504,"carrier_chain":[44278,54389,13359,0],"carrier_ranks":[1,16,2],"deliver_after_root":1895,"deliver_frame":13359,"mix_frame":54389,"passive":507,"passive_chain":[44272,54389,0],"passive_ranks":[1,18],"receivers":[509,510],"undo_frame":0},{"carrier":509,"carrier_chain":[44268,54399,13353,0],"carrier_ranks":[1,16,2],"deliver_after_root":1892,"deliver_frame":13353,"mix_frame":54399,"passive":510,"passive_chain":[44266,54399,0],"passive_ranks":[1,18],"receivers":[504,507],"undo_frame":0},{"carrier":505,"carrier_chain":[44276,54405,13357,0],"carrier_ranks":[1,16,2],"deliver_after_root":1894,"deliver_frame":13357,"mix_frame":54405,"passive":506,"passive_chain":[44274,54405,0],"passive_ranks":[1,18],"receivers":[508,511],"undo_frame":0},{"carrier":508,"carrier_chain":[44270,54390,13355,0],"carrier_ranks":[1,16,2],"deliver_after_root":1893,"deliver_frame":13355,"mix_frame":54390,"passive":511,"passive_chain":[44264,54390,0],"passive_ranks":[1,18],"receivers":[505,506],"undo_frame":0},{"carrier":512,"carrier_chain":[44262,54372,13381,0],"carrier_ranks":[1,16,2],"deliver_after_root":1925,"deliver_frame":13381,"mix_frame":54372,"passive":515,"passive_chain":[44256,54372,0],"passive_ranks":[1,18],"receivers":[517,518],"undo_frame":0},{"carrier":517,"carrier_chain":[44252,54382,13375,0],"carrier_ranks":[1,16,2],"deliver_after_root":1922,"deliver_frame":13375,"mix_frame":54382,"passive":518,"passive_chain":[44250,54382,0],"passive_ranks":[1,18],"receivers":[512,515],"undo_frame":0},{"carrier":513,"carrier_chain":[44260,54388,13379,0],"carrier_ranks":[1,16,2],"deliver_after_root":1924,"deliver_frame":13379,"mix_frame":54388,"passive":514,"passive_chain":[44258,54388,0],"passive_ranks":[1,18],"receivers":[516,519],"undo_frame":0},{"carrier":516,"carrier_chain":[44254,54373,13377,0],"carrier_ranks":[1,16,2],"deliver_after_root":1923,"deliver_frame":13377,"mix_frame":54373,"passive":519,"passive_chain":[44248,54373,0],"passive_ranks":[1,18],"receivers":[513,514],"undo_frame":0},{"carrier":520,"carrier_chain":[44246,54355,13403,0],"carrier_ranks":[1,16,2],"deliver_after_root":1955,"deliver_frame":13403,"mix_frame":54355,"passive":523,"passive_chain":[44240,54355,0],"passive_ranks":[1,18],"receivers":[525,526],"undo_frame":0},{"carrier":525,"carrier_chain":[44236,54365,13397,0],"carrier_ranks":[1,16,2],"deliver_after_root":1952,"deliver_frame":13397,"mix_frame":54365,"passive":526,"passive_chain":[44234,54365,0],"passive_ranks":[1,18],"receivers":[520,523],"undo_frame":0},{"carrier":521,"carrier_chain":[44244,54371,13401,0],"carrier_ranks":[1,16,2],"deliver_after_root":1954,"deliver_frame":13401,"mix_frame":54371,"passive":522,"passive_chain":[44242,54371,0],"passive_ranks":[1,18],"receivers":[524,527],"undo_frame":0},{"carrier":524,"carrier_chain":[44238,54356,13399,0],"carrier_ranks":[1,16,2],"deliver_after_root":1953,"deliver_frame":13399,"mix_frame":54356,"passive":527,"passive_chain":[44232,54356,0],"passive_ranks":[1,18],"receivers":[521,522],"undo_frame":0},{"carrier":528,"carrier_chain":[44230,54338,13425,0],"carrier_ranks":[1,16,2],"deliver_after_root":1985,"deliver_frame":13425,"mix_frame":54338,"passive":531,"passive_chain":[44224,54338,0],"passive_ranks":[1,18],"receivers":[533,534],"undo_frame":0},{"carrier":533,"carrier_chain":[44220,54348,13419,0],"carrier_ranks":[1,16,2],"deliver_after_root":1982,"deliver_frame":13419,"mix_frame":54348,"passive":534,"passive_chain":[44218,54348,0],"passive_ranks":[1,18],"receivers":[528,531],"undo_frame":0},{"carrier":529,"carrier_chain":[44228,54354,13423,0],"carrier_ranks":[1,16,2],"deliver_after_root":1984,"deliver_frame":13423,"mix_frame":54354,"passive":530,"passive_chain":[44226,54354,0],"passive_ranks":[1,18],"receivers":[532,535],"undo_frame":0},{"carrier":532,"carrier_chain":[44222,54339,13421,0],"carrier_ranks":[1,16,2],"deliver_after_root":1983,"deliver_frame":13421,"mix_frame":54339,"passive":535,"passive_chain":[44216,54339,0],"passive_ranks":[1,18],"receivers":[529,530],"undo_frame":0},{"carrier":536,"carrier_chain":[44214,54321,13447,0],"carrier_ranks":[1,16,2],"deliver_after_root":2015,"deliver_frame":13447,"mix_frame":54321,"passive":539,"passive_chain":[44208,54321,0],"passive_ranks":[1,18],"receivers":[541,542],"undo_frame":0},{"carrier":541,"carrier_chain":[44204,54331,13441,0],"carrier_ranks":[1,16,2],"deliver_after_root":2012,"deliver_frame":13441,"mix_frame":54331,"passive":542,"passive_chain":[44202,54331,0],"passive_ranks":[1,18],"receivers":[536,539],"undo_frame":0},{"carrier":537,"carrier_chain":[44212,54337,13445,0],"carrier_ranks":[1,16,2],"deliver_after_root":2014,"deliver_frame":13445,"mix_frame":54337,"passive":538,"passive_chain":[44210,54337,0],"passive_ranks":[1,18],"receivers":[540,543],"undo_frame":0},{"carrier":540,"carrier_chain":[44206,54322,13443,0],"carrier_ranks":[1,16,2],"deliver_after_root":2013,"deliver_frame":13443,"mix_frame":54322,"passive":543,"passive_chain":[44200,54322,0],"passive_ranks":[1,18],"receivers":[537,538],"undo_frame":0},{"carrier":544,"carrier_chain":[44198,54304,13469,0],"carrier_ranks":[1,16,2],"deliver_after_root":2045,"deliver_frame":13469,"mix_frame":54304,"passive":547,"passive_chain":[44192,54304,0],"passive_ranks":[1,18],"receivers":[549,550],"undo_frame":0},{"carrier":549,"carrier_chain":[44188,54314,13463,0],"carrier_ranks":[1,16,2],"deliver_after_root":2042,"deliver_frame":13463,"mix_frame":54314,"passive":550,"passive_chain":[44186,54314,0],"passive_ranks":[1,18],"receivers":[544,547],"undo_frame":0},{"carrier":545,"carrier_chain":[44196,54320,13467,0],"carrier_ranks":[1,16,2],"deliver_after_root":2044,"deliver_frame":13467,"mix_frame":54320,"passive":546,"passive_chain":[44194,54320,0],"passive_ranks":[1,18],"receivers":[548,551],"undo_frame":0},{"carrier":548,"carrier_chain":[44190,54305,13465,0],"carrier_ranks":[1,16,2],"deliver_after_root":2043,"deliver_frame":13465,"mix_frame":54305,"passive":551,"passive_chain":[44184,54305,0],"passive_ranks":[1,18],"receivers":[545,546],"undo_frame":0},{"carrier":552,"carrier_chain":[44182,54287,13491,0],"carrier_ranks":[1,16,2],"deliver_after_root":2075,"deliver_frame":13491,"mix_frame":54287,"passive":555,"passive_chain":[44176,54287,0],"passive_ranks":[1,18],"receivers":[557,558],"undo_frame":0},{"carrier":557,"carrier_chain":[44172,54297,13485,0],"carrier_ranks":[1,16,2],"deliver_after_root":2072,"deliver_frame":13485,"mix_frame":54297,"passive":558,"passive_chain":[44170,54297,0],"passive_ranks":[1,18],"receivers":[552,555],"undo_frame":0},{"carrier":553,"carrier_chain":[44180,54303,13489,0],"carrier_ranks":[1,16,2],"deliver_after_root":2074,"deliver_frame":13489,"mix_frame":54303,"passive":554,"passive_chain":[44178,54303,0],"passive_ranks":[1,18],"receivers":[556,559],"undo_frame":0},{"carrier":556,"carrier_chain":[44174,54288,13487,0],"carrier_ranks":[1,16,2],"deliver_after_root":2073,"deliver_frame":13487,"mix_frame":54288,"passive":559,"passive_chain":[44168,54288,0],"passive_ranks":[1,18],"receivers":[553,554],"undo_frame":0},{"carrier":560,"carrier_chain":[44166,54270,13513,0],"carrier_ranks":[1,16,2],"deliver_after_root":2105,"deliver_frame":13513,"mix_frame":54270,"passive":563,"passive_chain":[44160,54270,0],"passive_ranks":[1,18],"receivers":[565,566],"undo_frame":0},{"carrier":565,"carrier_chain":[44156,54280,13507,0],"carrier_ranks":[1,16,2],"deliver_after_root":2102,"deliver_frame":13507,"mix_frame":54280,"passive":566,"passive_chain":[44154,54280,0],"passive_ranks":[1,18],"receivers":[560,563],"undo_frame":0},{"carrier":561,"carrier_chain":[44164,54286,13511,0],"carrier_ranks":[1,16,2],"deliver_after_root":2104,"deliver_frame":13511,"mix_frame":54286,"passive":562,"passive_chain":[44162,54286,0],"passive_ranks":[1,18],"receivers":[564,567],"undo_frame":0},{"carrier":564,"carrier_chain":[44158,54271,13509,0],"carrier_ranks":[1,16,2],"deliver_after_root":2103,"deliver_frame":13509,"mix_frame":54271,"passive":567,"passive_chain":[44152,54271,0],"passive_ranks":[1,18],"receivers":[561,562],"undo_frame":0},{"carrier":568,"carrier_chain":[44150,54253,13535,0],"carrier_ranks":[1,16,2],"deliver_after_root":2135,"deliver_frame":13535,"mix_frame":54253,"passive":571,"passive_chain":[44144,54253,0],"passive_ranks":[1,18],"receivers":[573,574],"undo_frame":0},{"carrier":573,"carrier_chain":[44140,54263,13529,0],"carrier_ranks":[1,16,2],"deliver_after_root":2132,"deliver_frame":13529,"mix_frame":54263,"passive":574,"passive_chain":[44138,54263,0],"passive_ranks":[1,18],"receivers":[568,571],"undo_frame":0},{"carrier":569,"carrier_chain":[44148,54269,13533,0],"carrier_ranks":[1,16,2],"deliver_after_root":2134,"deliver_frame":13533,"mix_frame":54269,"passive":570,"passive_chain":[44146,54269,0],"passive_ranks":[1,18],"receivers":[572,575],"undo_frame":0},{"carrier":572,"carrier_chain":[44142,54254,13531,0],"carrier_ranks":[1,16,2],"deliver_after_root":2133,"deliver_frame":13531,"mix_frame":54254,"passive":575,"passive_chain":[44136,54254,0],"passive_ranks":[1,18],"receivers":[569,570],"undo_frame":0},{"carrier":576,"carrier_chain":[44134,54236,13557,0],"carrier_ranks":[1,16,2],"deliver_after_root":2165,"deliver_frame":13557,"mix_frame":54236,"passive":579,"passive_chain":[44128,54236,0],"passive_ranks":[1,18],"receivers":[581,582],"undo_frame":0},{"carrier":581,"carrier_chain":[44124,54246,13551,0],"carrier_ranks":[1,16,2],"deliver_after_root":2162,"deliver_frame":13551,"mix_frame":54246,"passive":582,"passive_chain":[44122,54246,0],"passive_ranks":[1,18],"receivers":[576,579],"undo_frame":0},{"carrier":577,"carrier_chain":[44132,54252,13555,0],"carrier_ranks":[1,16,2],"deliver_after_root":2164,"deliver_frame":13555,"mix_frame":54252,"passive":578,"passive_chain":[44130,54252,0],"passive_ranks":[1,18],"receivers":[580,583],"undo_frame":0},{"carrier":580,"carrier_chain":[44126,54237,13553,0],"carrier_ranks":[1,16,2],"deliver_after_root":2163,"deliver_frame":13553,"mix_frame":54237,"passive":583,"passive_chain":[44120,54237,0],"passive_ranks":[1,18],"receivers":[577,578],"undo_frame":0},{"carrier":584,"carrier_chain":[44118,54219,13579,0],"carrier_ranks":[1,16,2],"deliver_after_root":2195,"deliver_frame":13579,"mix_frame":54219,"passive":587,"passive_chain":[44112,54219,0],"passive_ranks":[1,18],"receivers":[589,590],"undo_frame":0},{"carrier":589,"carrier_chain":[44108,54229,13573,0],"carrier_ranks":[1,16,2],"deliver_after_root":2192,"deliver_frame":13573,"mix_frame":54229,"passive":590,"passive_chain":[44106,54229,0],"passive_ranks":[1,18],"receivers":[584,587],"undo_frame":0},{"carrier":585,"carrier_chain":[44116,54235,13577,0],"carrier_ranks":[1,16,2],"deliver_after_root":2194,"deliver_frame":13577,"mix_frame":54235,"passive":586,"passive_chain":[44114,54235,0],"passive_ranks":[1,18],"receivers":[588,591],"undo_frame":0},{"carrier":588,"carrier_chain":[44110,54220,13575,0],"carrier_ranks":[1,16,2],"deliver_after_root":2193,"deliver_frame":13575,"mix_frame":54220,"passive":591,"passive_chain":[44104,54220,0],"passive_ranks":[1,18],"receivers":[585,586],"undo_frame":0},{"carrier":592,"carrier_chain":[44102,54202,13601,0],"carrier_ranks":[1,16,2],"deliver_after_root":2225,"deliver_frame":13601,"mix_frame":54202,"passive":595,"passive_chain":[44096,54202,0],"passive_ranks":[1,18],"receivers":[597,598],"undo_frame":0},{"carrier":597,"carrier_chain":[44092,54212,13595,0],"carrier_ranks":[1,16,2],"deliver_after_root":2222,"deliver_frame":13595,"mix_frame":54212,"passive":598,"passive_chain":[44090,54212,0],"passive_ranks":[1,18],"receivers":[592,595],"undo_frame":0},{"carrier":593,"carrier_chain":[44100,54218,13599,0],"carrier_ranks":[1,16,2],"deliver_after_root":2224,"deliver_frame":13599,"mix_frame":54218,"passive":594,"passive_chain":[44098,54218,0],"passive_ranks":[1,18],"receivers":[596,599],"undo_frame":0},{"carrier":596,"carrier_chain":[44094,54203,13597,0],"carrier_ranks":[1,16,2],"deliver_after_root":2223,"deliver_frame":13597,"mix_frame":54203,"passive":599,"passive_chain":[44088,54203,0],"passive_ranks":[1,18],"receivers":[593,594],"undo_frame":0},{"carrier":600,"carrier_chain":[44086,54185,13623,0],"carrier_ranks":[1,16,2],"deliver_after_root":2255,"deliver_frame":13623,"mix_frame":54185,"passive":603,"passive_chain":[44080,54185,0],"passive_ranks":[1,18],"receivers":[605,606],"undo_frame":0},{"carrier":605,"carrier_chain":[44076,54195,13617,0],"carrier_ranks":[1,16,2],"deliver_after_root":2252,"deliver_frame":13617,"mix_frame":54195,"passive":606,"passive_chain":[44074,54195,0],"passive_ranks":[1,18],"receivers":[600,603],"undo_frame":0},{"carrier":601,"carrier_chain":[44084,54201,13621,0],"carrier_ranks":[1,16,2],"deliver_after_root":2254,"deliver_frame":13621,"mix_frame":54201,"passive":602,"passive_chain":[44082,54201,0],"passive_ranks":[1,18],"receivers":[604,607],"undo_frame":0},{"carrier":604,"carrier_chain":[44078,54186,13619,0],"carrier_ranks":[1,16,2],"deliver_after_root":2253,"deliver_frame":13619,"mix_frame":54186,"passive":607,"passive_chain":[44072,54186,0],"passive_ranks":[1,18],"receivers":[601,602],"undo_frame":0},{"carrier":608,"carrier_chain":[44070,54168,13645,0],"carrier_ranks":[1,16,2],"deliver_after_root":2285,"deliver_frame":13645,"mix_frame":54168,"passive":611,"passive_chain":[44064,54168,0],"passive_ranks":[1,18],"receivers":[613,614],"undo_frame":0},{"carrier":613,"carrier_chain":[44060,54178,13639,0],"carrier_ranks":[1,16,2],"deliver_after_root":2282,"deliver_frame":13639,"mix_frame":54178,"passive":614,"passive_chain":[44058,54178,0],"passive_ranks":[1,18],"receivers":[608,611],"undo_frame":0},{"carrier":609,"carrier_chain":[44068,54184,13643,0],"carrier_ranks":[1,16,2],"deliver_after_root":2284,"deliver_frame":13643,"mix_frame":54184,"passive":610,"passive_chain":[44066,54184,0],"passive_ranks":[1,18],"receivers":[612,615],"undo_frame":0},{"carrier":612,"carrier_chain":[44062,54169,13641,0],"carrier_ranks":[1,16,2],"deliver_after_root":2283,"deliver_frame":13641,"mix_frame":54169,"passive":615,"passive_chain":[44056,54169,0],"passive_ranks":[1,18],"receivers":[609,610],"undo_frame":0},{"carrier":616,"carrier_chain":[44054,54151,13667,0],"carrier_ranks":[1,16,2],"deliver_after_root":2315,"deliver_frame":13667,"mix_frame":54151,"passive":619,"passive_chain":[44048,54151,0],"passive_ranks":[1,18],"receivers":[621,622],"undo_frame":0},{"carrier":621,"carrier_chain":[44044,54161,13661,0],"carrier_ranks":[1,16,2],"deliver_after_root":2312,"deliver_frame":13661,"mix_frame":54161,"passive":622,"passive_chain":[44042,54161,0],"passive_ranks":[1,18],"receivers":[616,619],"undo_frame":0},{"carrier":617,"carrier_chain":[44052,54167,13665,0],"carrier_ranks":[1,16,2],"deliver_after_root":2314,"deliver_frame":13665,"mix_frame":54167,"passive":618,"passive_chain":[44050,54167,0],"passive_ranks":[1,18],"receivers":[620,623],"undo_frame":0},{"carrier":620,"carrier_chain":[44046,54152,13663,0],"carrier_ranks":[1,16,2],"deliver_after_root":2313,"deliver_frame":13663,"mix_frame":54152,"passive":623,"passive_chain":[44040,54152,0],"passive_ranks":[1,18],"receivers":[617,618],"undo_frame":0},{"carrier":624,"carrier_chain":[44038,54134,13689,0],"carrier_ranks":[1,16,2],"deliver_after_root":2345,"deliver_frame":13689,"mix_frame":54134,"passive":627,"passive_chain":[44032,54134,0],"passive_ranks":[1,18],"receivers":[629,630],"undo_frame":0},{"carrier":629,"carrier_chain":[44028,54144,13683,0],"carrier_ranks":[1,16,2],"deliver_after_root":2342,"deliver_frame":13683,"mix_frame":54144,"passive":630,"passive_chain":[44026,54144,0],"passive_ranks":[1,18],"receivers":[624,627],"undo_frame":0},{"carrier":625,"carrier_chain":[44036,54150,13687,0],"carrier_ranks":[1,16,2],"deliver_after_root":2344,"deliver_frame":13687,"mix_frame":54150,"passive":626,"passive_chain":[44034,54150,0],"passive_ranks":[1,18],"receivers":[628,631],"undo_frame":0},{"carrier":628,"carrier_chain":[44030,54135,13685,0],"carrier_ranks":[1,16,2],"deliver_after_root":2343,"deliver_frame":13685,"mix_frame":54135,"passive":631,"passive_chain":[44024,54135,0],"passive_ranks":[1,18],"receivers":[625,626],"undo_frame":0},{"carrier":632,"carrier_chain":[44022,54117,13711,0],"carrier_ranks":[1,16,2],"deliver_after_root":2375,"deliver_frame":13711,"mix_frame":54117,"passive":635,"passive_chain":[44016,54117,0],"passive_ranks":[1,18],"receivers":[637,638],"undo_frame":0},{"carrier":637,"carrier_chain":[44012,54127,13705,0],"carrier_ranks":[1,16,2],"deliver_after_root":2372,"deliver_frame":13705,"mix_frame":54127,"passive":638,"passive_chain":[44010,54127,0],"passive_ranks":[1,18],"receivers":[632,635],"undo_frame":0},{"carrier":633,"carrier_chain":[44020,54133,13709,0],"carrier_ranks":[1,16,2],"deliver_after_root":2374,"deliver_frame":13709,"mix_frame":54133,"passive":634,"passive_chain":[44018,54133,0],"passive_ranks":[1,18],"receivers":[636,639],"undo_frame":0},{"carrier":636,"carrier_chain":[44014,54118,13707,0],"carrier_ranks":[1,16,2],"deliver_after_root":2373,"deliver_frame":13707,"mix_frame":54118,"passive":639,"passive_chain":[44008,54118,0],"passive_ranks":[1,18],"receivers":[633,634],"undo_frame":0},{"carrier":640,"carrier_chain":[44006,54100,13733,0],"carrier_ranks":[1,16,2],"deliver_after_root":2405,"deliver_frame":13733,"mix_frame":54100,"passive":643,"passive_chain":[44000,54100,0],"passive_ranks":[1,18],"receivers":[645,646],"undo_frame":0},{"carrier":645,"carrier_chain":[43996,54110,13727,0],"carrier_ranks":[1,16,2],"deliver_after_root":2402,"deliver_frame":13727,"mix_frame":54110,"passive":646,"passive_chain":[43994,54110,0],"passive_ranks":[1,18],"receivers":[640,643],"undo_frame":0},{"carrier":641,"carrier_chain":[44004,54116,13731,0],"carrier_ranks":[1,16,2],"deliver_after_root":2404,"deliver_frame":13731,"mix_frame":54116,"passive":642,"passive_chain":[44002,54116,0],"passive_ranks":[1,18],"receivers":[644,647],"undo_frame":0},{"carrier":644,"carrier_chain":[43998,54101,13729,0],"carrier_ranks":[1,16,2],"deliver_after_root":2403,"deliver_frame":13729,"mix_frame":54101,"passive":647,"passive_chain":[43992,54101,0],"passive_ranks":[1,18],"receivers":[641,642],"undo_frame":0},{"carrier":648,"carrier_chain":[43990,54083,13755,0],"carrier_ranks":[1,16,2],"deliver_after_root":2435,"deliver_frame":13755,"mix_frame":54083,"passive":651,"passive_chain":[43984,54083,0],"passive_ranks":[1,18],"receivers":[653,654],"undo_frame":0},{"carrier":653,"carrier_chain":[43980,54093,13749,0],"carrier_ranks":[1,16,2],"deliver_after_root":2432,"deliver_frame":13749,"mix_frame":54093,"passive":654,"passive_chain":[43978,54093,0],"passive_ranks":[1,18],"receivers":[648,651],"undo_frame":0},{"carrier":649,"carrier_chain":[43988,54099,13753,0],"carrier_ranks":[1,16,2],"deliver_after_root":2434,"deliver_frame":13753,"mix_frame":54099,"passive":650,"passive_chain":[43986,54099,0],"passive_ranks":[1,18],"receivers":[652,655],"undo_frame":0},{"carrier":652,"carrier_chain":[43982,54084,13751,0],"carrier_ranks":[1,16,2],"deliver_after_root":2433,"deliver_frame":13751,"mix_frame":54084,"passive":655,"passive_chain":[43976,54084,0],"passive_ranks":[1,18],"receivers":[649,650],"undo_frame":0},{"carrier":656,"carrier_chain":[43974,54066,13777,0],"carrier_ranks":[1,16,2],"deliver_after_root":2465,"deliver_frame":13777,"mix_frame":54066,"passive":659,"passive_chain":[43968,54066,0],"passive_ranks":[1,18],"receivers":[661,662],"undo_frame":0},{"carrier":661,"carrier_chain":[43964,54076,13771,0],"carrier_ranks":[1,16,2],"deliver_after_root":2462,"deliver_frame":13771,"mix_frame":54076,"passive":662,"passive_chain":[43962,54076,0],"passive_ranks":[1,18],"receivers":[656,659],"undo_frame":0},{"carrier":657,"carrier_chain":[43972,54082,13775,0],"carrier_ranks":[1,16,2],"deliver_after_root":2464,"deliver_frame":13775,"mix_frame":54082,"passive":658,"passive_chain":[43970,54082,0],"passive_ranks":[1,18],"receivers":[660,663],"undo_frame":0},{"carrier":660,"carrier_chain":[43966,54067,13773,0],"carrier_ranks":[1,16,2],"deliver_after_root":2463,"deliver_frame":13773,"mix_frame":54067,"passive":663,"passive_chain":[43960,54067,0],"passive_ranks":[1,18],"receivers":[657,658],"undo_frame":0},{"carrier":664,"carrier_chain":[43958,54049,13799,0],"carrier_ranks":[1,16,2],"deliver_after_root":2495,"deliver_frame":13799,"mix_frame":54049,"passive":667,"passive_chain":[43952,54049,0],"passive_ranks":[1,18],"receivers":[669,670],"undo_frame":0},{"carrier":669,"carrier_chain":[43948,54059,13793,0],"carrier_ranks":[1,16,2],"deliver_after_root":2492,"deliver_frame":13793,"mix_frame":54059,"passive":670,"passive_chain":[43946,54059,0],"passive_ranks":[1,18],"receivers":[664,667],"undo_frame":0},{"carrier":665,"carrier_chain":[43956,54065,13797,0],"carrier_ranks":[1,16,2],"deliver_after_root":2494,"deliver_frame":13797,"mix_frame":54065,"passive":666,"passive_chain":[43954,54065,0],"passive_ranks":[1,18],"receivers":[668,671],"undo_frame":0},{"carrier":668,"carrier_chain":[43950,54050,13795,0],"carrier_ranks":[1,16,2],"deliver_after_root":2493,"deliver_frame":13795,"mix_frame":54050,"passive":671,"passive_chain":[43944,54050,0],"passive_ranks":[1,18],"receivers":[665,666],"undo_frame":0},{"carrier":672,"carrier_chain":[43942,54032,13821,0],"carrier_ranks":[1,16,2],"deliver_after_root":2525,"deliver_frame":13821,"mix_frame":54032,"passive":675,"passive_chain":[43936,54032,0],"passive_ranks":[1,18],"receivers":[677,678],"undo_frame":0},{"carrier":677,"carrier_chain":[43932,54042,13815,0],"carrier_ranks":[1,16,2],"deliver_after_root":2522,"deliver_frame":13815,"mix_frame":54042,"passive":678,"passive_chain":[43930,54042,0],"passive_ranks":[1,18],"receivers":[672,675],"undo_frame":0},{"carrier":673,"carrier_chain":[43940,54048,13819,0],"carrier_ranks":[1,16,2],"deliver_after_root":2524,"deliver_frame":13819,"mix_frame":54048,"passive":674,"passive_chain":[43938,54048,0],"passive_ranks":[1,18],"receivers":[676,679],"undo_frame":0},{"carrier":676,"carrier_chain":[43934,54033,13817,0],"carrier_ranks":[1,16,2],"deliver_after_root":2523,"deliver_frame":13817,"mix_frame":54033,"passive":679,"passive_chain":[43928,54033,0],"passive_ranks":[1,18],"receivers":[673,674],"undo_frame":0},{"carrier":680,"carrier_chain":[43926,54015,13843,0],"carrier_ranks":[1,16,2],"deliver_after_root":2555,"deliver_frame":13843,"mix_frame":54015,"passive":683,"passive_chain":[43920,54015,0],"passive_ranks":[1,18],"receivers":[685,686],"undo_frame":0},{"carrier":685,"carrier_chain":[43916,54025,13837,0],"carrier_ranks":[1,16,2],"deliver_after_root":2552,"deliver_frame":13837,"mix_frame":54025,"passive":686,"passive_chain":[43914,54025,0],"passive_ranks":[1,18],"receivers":[680,683],"undo_frame":0},{"carrier":681,"carrier_chain":[43924,54031,13841,0],"carrier_ranks":[1,16,2],"deliver_after_root":2554,"deliver_frame":13841,"mix_frame":54031,"passive":682,"passive_chain":[43922,54031,0],"passive_ranks":[1,18],"receivers":[684,687],"undo_frame":0},{"carrier":684,"carrier_chain":[43918,54016,13839,0],"carrier_ranks":[1,16,2],"deliver_after_root":2553,"deliver_frame":13839,"mix_frame":54016,"passive":687,"passive_chain":[43912,54016,0],"passive_ranks":[1,18],"receivers":[681,682],"undo_frame":0},{"carrier":688,"carrier_chain":[43910,53998,13865,0],"carrier_ranks":[1,16,2],"deliver_after_root":2585,"deliver_frame":13865,"mix_frame":53998,"passive":691,"passive_chain":[43904,53998,0],"passive_ranks":[1,18],"receivers":[693,694],"undo_frame":0},{"carrier":693,"carrier_chain":[43900,54008,13859,0],"carrier_ranks":[1,16,2],"deliver_after_root":2582,"deliver_frame":13859,"mix_frame":54008,"passive":694,"passive_chain":[43898,54008,0],"passive_ranks":[1,18],"receivers":[688,691],"undo_frame":0},{"carrier":689,"carrier_chain":[43908,54014,13863,0],"carrier_ranks":[1,16,2],"deliver_after_root":2584,"deliver_frame":13863,"mix_frame":54014,"passive":690,"passive_chain":[43906,54014,0],"passive_ranks":[1,18],"receivers":[692,695],"undo_frame":0},{"carrier":692,"carrier_chain":[43902,53999,13861,0],"carrier_ranks":[1,16,2],"deliver_after_root":2583,"deliver_frame":13861,"mix_frame":53999,"passive":695,"passive_chain":[43896,53999,0],"passive_ranks":[1,18],"receivers":[689,690],"undo_frame":0},{"carrier":696,"carrier_chain":[43894,53981,13887,0],"carrier_ranks":[1,16,2],"deliver_after_root":2615,"deliver_frame":13887,"mix_frame":53981,"passive":699,"passive_chain":[43888,53981,0],"passive_ranks":[1,18],"receivers":[701,702],"undo_frame":0},{"carrier":701,"carrier_chain":[43884,53991,13881,0],"carrier_ranks":[1,16,2],"deliver_after_root":2612,"deliver_frame":13881,"mix_frame":53991,"passive":702,"passive_chain":[43882,53991,0],"passive_ranks":[1,18],"receivers":[696,699],"undo_frame":0},{"carrier":697,"carrier_chain":[43892,53997,13885,0],"carrier_ranks":[1,16,2],"deliver_after_root":2614,"deliver_frame":13885,"mix_frame":53997,"passive":698,"passive_chain":[43890,53997,0],"passive_ranks":[1,18],"receivers":[700,703],"undo_frame":0},{"carrier":700,"carrier_chain":[43886,53982,13883,0],"carrier_ranks":[1,16,2],"deliver_after_root":2613,"deliver_frame":13883,"mix_frame":53982,"passive":703,"passive_chain":[43880,53982,0],"passive_ranks":[1,18],"receivers":[697,698],"undo_frame":0},{"carrier":704,"carrier_chain":[43878,53964,13909,0],"carrier_ranks":[1,16,2],"deliver_after_root":2645,"deliver_frame":13909,"mix_frame":53964,"passive":707,"passive_chain":[43872,53964,0],"passive_ranks":[1,18],"receivers":[709,710],"undo_frame":0},{"carrier":709,"carrier_chain":[43868,53974,13903,0],"carrier_ranks":[1,16,2],"deliver_after_root":2642,"deliver_frame":13903,"mix_frame":53974,"passive":710,"passive_chain":[43866,53974,0],"passive_ranks":[1,18],"receivers":[704,707],"undo_frame":0},{"carrier":705,"carrier_chain":[43876,53980,13907,0],"carrier_ranks":[1,16,2],"deliver_after_root":2644,"deliver_frame":13907,"mix_frame":53980,"passive":706,"passive_chain":[43874,53980,0],"passive_ranks":[1,18],"receivers":[708,711],"undo_frame":0},{"carrier":708,"carrier_chain":[43870,53965,13905,0],"carrier_ranks":[1,16,2],"deliver_after_root":2643,"deliver_frame":13905,"mix_frame":53965,"passive":711,"passive_chain":[43864,53965,0],"passive_ranks":[1,18],"receivers":[705,706],"undo_frame":0},{"carrier":712,"carrier_chain":[43862,53947,13931,0],"carrier_ranks":[1,16,2],"deliver_after_root":2675,"deliver_frame":13931,"mix_frame":53947,"passive":715,"passive_chain":[43856,53947,0],"passive_ranks":[1,18],"receivers":[717,718],"undo_frame":0},{"carrier":717,"carrier_chain":[43852,53957,13925,0],"carrier_ranks":[1,16,2],"deliver_after_root":2672,"deliver_frame":13925,"mix_frame":53957,"passive":718,"passive_chain":[43850,53957,0],"passive_ranks":[1,18],"receivers":[712,715],"undo_frame":0},{"carrier":713,"carrier_chain":[43860,53963,13929,0],"carrier_ranks":[1,16,2],"deliver_after_root":2674,"deliver_frame":13929,"mix_frame":53963,"passive":714,"passive_chain":[43858,53963,0],"passive_ranks":[1,18],"receivers":[716,719],"undo_frame":0},{"carrier":716,"carrier_chain":[43854,53948,13927,0],"carrier_ranks":[1,16,2],"deliver_after_root":2673,"deliver_frame":13927,"mix_frame":53948,"passive":719,"passive_chain":[43848,53948,0],"passive_ranks":[1,18],"receivers":[713,714],"undo_frame":0},{"carrier":720,"carrier_chain":[43846,53930,13953,0],"carrier_ranks":[1,16,2],"deliver_after_root":2705,"deliver_frame":13953,"mix_frame":53930,"passive":723,"passive_chain":[43840,53930,0],"passive_ranks":[1,18],"receivers":[725,726],"undo_frame":0},{"carrier":725,"carrier_chain":[43836,53940,13947,0],"carrier_ranks":[1,16,2],"deliver_after_root":2702,"deliver_frame":13947,"mix_frame":53940,"passive":726,"passive_chain":[43834,53940,0],"passive_ranks":[1,18],"receivers":[720,723],"undo_frame":0},{"carrier":721,"carrier_chain":[43844,53946,13951,0],"carrier_ranks":[1,16,2],"deliver_after_root":2704,"deliver_frame":13951,"mix_frame":53946,"passive":722,"passive_chain":[43842,53946,0],"passive_ranks":[1,18],"receivers":[724,727],"undo_frame":0},{"carrier":724,"carrier_chain":[43838,53931,13949,0],"carrier_ranks":[1,16,2],"deliver_after_root":2703,"deliver_frame":13949,"mix_frame":53931,"passive":727,"passive_chain":[43832,53931,0],"passive_ranks":[1,18],"receivers":[721,722],"undo_frame":0},{"carrier":728,"carrier_chain":[43830,53913,13975,0],"carrier_ranks":[1,16,2],"deliver_after_root":2735,"deliver_frame":13975,"mix_frame":53913,"passive":731,"passive_chain":[43824,53913,0],"passive_ranks":[1,18],"receivers":[733,734],"undo_frame":0},{"carrier":733,"carrier_chain":[43820,53923,13969,0],"carrier_ranks":[1,16,2],"deliver_after_root":2732,"deliver_frame":13969,"mix_frame":53923,"passive":734,"passive_chain":[43818,53923,0],"passive_ranks":[1,18],"receivers":[728,731],"undo_frame":0},{"carrier":729,"carrier_chain":[43828,53929,13973,0],"carrier_ranks":[1,16,2],"deliver_after_root":2734,"deliver_frame":13973,"mix_frame":53929,"passive":730,"passive_chain":[43826,53929,0],"passive_ranks":[1,18],"receivers":[732,735],"undo_frame":0},{"carrier":732,"carrier_chain":[43822,53914,13971,0],"carrier_ranks":[1,16,2],"deliver_after_root":2733,"deliver_frame":13971,"mix_frame":53914,"passive":735,"passive_chain":[43816,53914,0],"passive_ranks":[1,18],"receivers":[729,730],"undo_frame":0},{"carrier":736,"carrier_chain":[43814,53896,13997,0],"carrier_ranks":[1,16,2],"deliver_after_root":2765,"deliver_frame":13997,"mix_frame":53896,"passive":739,"passive_chain":[43808,53896,0],"passive_ranks":[1,18],"receivers":[741,742],"undo_frame":0},{"carrier":741,"carrier_chain":[43804,53906,13991,0],"carrier_ranks":[1,16,2],"deliver_after_root":2762,"deliver_frame":13991,"mix_frame":53906,"passive":742,"passive_chain":[43802,53906,0],"passive_ranks":[1,18],"receivers":[736,739],"undo_frame":0},{"carrier":737,"carrier_chain":[43812,53912,13995,0],"carrier_ranks":[1,16,2],"deliver_after_root":2764,"deliver_frame":13995,"mix_frame":53912,"passive":738,"passive_chain":[43810,53912,0],"passive_ranks":[1,18],"receivers":[740,743],"undo_frame":0},{"carrier":740,"carrier_chain":[43806,53897,13993,0],"carrier_ranks":[1,16,2],"deliver_after_root":2763,"deliver_frame":13993,"mix_frame":53897,"passive":743,"passive_chain":[43800,53897,0],"passive_ranks":[1,18],"receivers":[737,738],"undo_frame":0},{"carrier":744,"carrier_chain":[43798,53879,14019,0],"carrier_ranks":[1,16,2],"deliver_after_root":2795,"deliver_frame":14019,"mix_frame":53879,"passive":747,"passive_chain":[43792,53879,0],"passive_ranks":[1,18],"receivers":[749,750],"undo_frame":0},{"carrier":749,"carrier_chain":[43788,53889,14013,0],"carrier_ranks":[1,16,2],"deliver_after_root":2792,"deliver_frame":14013,"mix_frame":53889,"passive":750,"passive_chain":[43786,53889,0],"passive_ranks":[1,18],"receivers":[744,747],"undo_frame":0},{"carrier":745,"carrier_chain":[43796,53895,14017,0],"carrier_ranks":[1,16,2],"deliver_after_root":2794,"deliver_frame":14017,"mix_frame":53895,"passive":746,"passive_chain":[43794,53895,0],"passive_ranks":[1,18],"receivers":[748,751],"undo_frame":0},{"carrier":748,"carrier_chain":[43790,53880,14015,0],"carrier_ranks":[1,16,2],"deliver_after_root":2793,"deliver_frame":14015,"mix_frame":53880,"passive":751,"passive_chain":[43784,53880,0],"passive_ranks":[1,18],"receivers":[745,746],"undo_frame":0},{"carrier":752,"carrier_chain":[43782,53862,14041,0],"carrier_ranks":[1,16,2],"deliver_after_root":2825,"deliver_frame":14041,"mix_frame":53862,"passive":755,"passive_chain":[43776,53862,0],"passive_ranks":[1,18],"receivers":[757,758],"undo_frame":0},{"carrier":757,"carrier_chain":[43772,53872,14035,0],"carrier_ranks":[1,16,2],"deliver_after_root":2822,"deliver_frame":14035,"mix_frame":53872,"passive":758,"passive_chain":[43770,53872,0],"passive_ranks":[1,18],"receivers":[752,755],"undo_frame":0},{"carrier":753,"carrier_chain":[43780,53878,14039,0],"carrier_ranks":[1,16,2],"deliver_after_root":2824,"deliver_frame":14039,"mix_frame":53878,"passive":754,"passive_chain":[43778,53878,0],"passive_ranks":[1,18],"receivers":[756,759],"undo_frame":0},{"carrier":756,"carrier_chain":[43774,53863,14037,0],"carrier_ranks":[1,16,2],"deliver_after_root":2823,"deliver_frame":14037,"mix_frame":53863,"passive":759,"passive_chain":[43768,53863,0],"passive_ranks":[1,18],"receivers":[753,754],"undo_frame":0},{"carrier":760,"carrier_chain":[43766,53845,14063,0],"carrier_ranks":[1,16,2],"deliver_after_root":2855,"deliver_frame":14063,"mix_frame":53845,"passive":763,"passive_chain":[43760,53845,0],"passive_ranks":[1,18],"receivers":[765,766],"undo_frame":0},{"carrier":765,"carrier_chain":[43756,53855,14057,0],"carrier_ranks":[1,16,2],"deliver_after_root":2852,"deliver_frame":14057,"mix_frame":53855,"passive":766,"passive_chain":[43754,53855,0],"passive_ranks":[1,18],"receivers":[760,763],"undo_frame":0},{"carrier":761,"carrier_chain":[43764,53861,14061,0],"carrier_ranks":[1,16,2],"deliver_after_root":2854,"deliver_frame":14061,"mix_frame":53861,"passive":762,"passive_chain":[43762,53861,0],"passive_ranks":[1,18],"receivers":[764,767],"undo_frame":0},{"carrier":764,"carrier_chain":[43758,53846,14059,0],"carrier_ranks":[1,16,2],"deliver_after_root":2853,"deliver_frame":14059,"mix_frame":53846,"passive":767,"passive_chain":[43752,53846,0],"passive_ranks":[1,18],"receivers":[761,762],"undo_frame":0},{"carrier":768,"carrier_chain":[43750,53828,14085,0],"carrier_ranks":[1,16,2],"deliver_after_root":2885,"deliver_frame":14085,"mix_frame":53828,"passive":771,"passive_chain":[43744,53828,0],"passive_ranks":[1,18],"receivers":[773,774],"undo_frame":0},{"carrier":773,"carrier_chain":[43740,53838,14079,0],"carrier_ranks":[1,16,2],"deliver_after_root":2882,"deliver_frame":14079,"mix_frame":53838,"passive":774,"passive_chain":[43738,53838,0],"passive_ranks":[1,18],"receivers":[768,771],"undo_frame":0},{"carrier":769,"carrier_chain":[43748,53844,14083,0],"carrier_ranks":[1,16,2],"deliver_after_root":2884,"deliver_frame":14083,"mix_frame":53844,"passive":770,"passive_chain":[43746,53844,0],"passive_ranks":[1,18],"receivers":[772,775],"undo_frame":0},{"carrier":772,"carrier_chain":[43742,53829,14081,0],"carrier_ranks":[1,16,2],"deliver_after_root":2883,"deliver_frame":14081,"mix_frame":53829,"passive":775,"passive_chain":[43736,53829,0],"passive_ranks":[1,18],"receivers":[769,770],"undo_frame":0},{"carrier":776,"carrier_chain":[43734,53811,14107,0],"carrier_ranks":[1,16,2],"deliver_after_root":2915,"deliver_frame":14107,"mix_frame":53811,"passive":779,"passive_chain":[43728,53811,0],"passive_ranks":[1,18],"receivers":[781,782],"undo_frame":0},{"carrier":781,"carrier_chain":[43724,53821,14101,0],"carrier_ranks":[1,16,2],"deliver_after_root":2912,"deliver_frame":14101,"mix_frame":53821,"passive":782,"passive_chain":[43722,53821,0],"passive_ranks":[1,18],"receivers":[776,779],"undo_frame":0},{"carrier":777,"carrier_chain":[43732,53827,14105,0],"carrier_ranks":[1,16,2],"deliver_after_root":2914,"deliver_frame":14105,"mix_frame":53827,"passive":778,"passive_chain":[43730,53827,0],"passive_ranks":[1,18],"receivers":[780,783],"undo_frame":0},{"carrier":780,"carrier_chain":[43726,53812,14103,0],"carrier_ranks":[1,16,2],"deliver_after_root":2913,"deliver_frame":14103,"mix_frame":53812,"passive":783,"passive_chain":[43720,53812,0],"passive_ranks":[1,18],"receivers":[777,778],"undo_frame":0},{"carrier":784,"carrier_chain":[43718,53794,14129,0],"carrier_ranks":[1,16,2],"deliver_after_root":2945,"deliver_frame":14129,"mix_frame":53794,"passive":787,"passive_chain":[43712,53794,0],"passive_ranks":[1,18],"receivers":[789,790],"undo_frame":0},{"carrier":789,"carrier_chain":[43708,53804,14123,0],"carrier_ranks":[1,16,2],"deliver_after_root":2942,"deliver_frame":14123,"mix_frame":53804,"passive":790,"passive_chain":[43706,53804,0],"passive_ranks":[1,18],"receivers":[784,787],"undo_frame":0},{"carrier":785,"carrier_chain":[43716,53810,14127,0],"carrier_ranks":[1,16,2],"deliver_after_root":2944,"deliver_frame":14127,"mix_frame":53810,"passive":786,"passive_chain":[43714,53810,0],"passive_ranks":[1,18],"receivers":[788,791],"undo_frame":0},{"carrier":788,"carrier_chain":[43710,53795,14125,0],"carrier_ranks":[1,16,2],"deliver_after_root":2943,"deliver_frame":14125,"mix_frame":53795,"passive":791,"passive_chain":[43704,53795,0],"passive_ranks":[1,18],"receivers":[785,786],"undo_frame":0},{"carrier":792,"carrier_chain":[43702,53777,14151,0],"carrier_ranks":[1,16,2],"deliver_after_root":2975,"deliver_frame":14151,"mix_frame":53777,"passive":795,"passive_chain":[43696,53777,0],"passive_ranks":[1,18],"receivers":[797,798],"undo_frame":0},{"carrier":797,"carrier_chain":[43692,53787,14145,0],"carrier_ranks":[1,16,2],"deliver_after_root":2972,"deliver_frame":14145,"mix_frame":53787,"passive":798,"passive_chain":[43690,53787,0],"passive_ranks":[1,18],"receivers":[792,795],"undo_frame":0},{"carrier":793,"carrier_chain":[43700,53793,14149,0],"carrier_ranks":[1,16,2],"deliver_after_root":2974,"deliver_frame":14149,"mix_frame":53793,"passive":794,"passive_chain":[43698,53793,0],"passive_ranks":[1,18],"receivers":[796,799],"undo_frame":0},{"carrier":796,"carrier_chain":[43694,53778,14147,0],"carrier_ranks":[1,16,2],"deliver_after_root":2973,"deliver_frame":14147,"mix_frame":53778,"passive":799,"passive_chain":[43688,53778,0],"passive_ranks":[1,18],"receivers":[793,794],"undo_frame":0},{"carrier":800,"carrier_chain":[43686,53760,14173,0],"carrier_ranks":[1,16,2],"deliver_after_root":3005,"deliver_frame":14173,"mix_frame":53760,"passive":803,"passive_chain":[43680,53760,0],"passive_ranks":[1,18],"receivers":[805,806],"undo_frame":0},{"carrier":805,"carrier_chain":[43676,53770,14167,0],"carrier_ranks":[1,16,2],"deliver_after_root":3002,"deliver_frame":14167,"mix_frame":53770,"passive":806,"passive_chain":[43674,53770,0],"passive_ranks":[1,18],"receivers":[800,803],"undo_frame":0},{"carrier":801,"carrier_chain":[43684,53776,14171,0],"carrier_ranks":[1,16,2],"deliver_after_root":3004,"deliver_frame":14171,"mix_frame":53776,"passive":802,"passive_chain":[43682,53776,0],"passive_ranks":[1,18],"receivers":[804,807],"undo_frame":0},{"carrier":804,"carrier_chain":[43678,53761,14169,0],"carrier_ranks":[1,16,2],"deliver_after_root":3003,"deliver_frame":14169,"mix_frame":53761,"passive":807,"passive_chain":[43672,53761,0],"passive_ranks":[1,18],"receivers":[801,802],"undo_frame":0},{"carrier":808,"carrier_chain":[43670,53743,14195,0],"carrier_ranks":[1,16,2],"deliver_after_root":3035,"deliver_frame":14195,"mix_frame":53743,"passive":811,"passive_chain":[43664,53743,0],"passive_ranks":[1,18],"receivers":[813,814],"undo_frame":0},{"carrier":813,"carrier_chain":[43660,53753,14189,0],"carrier_ranks":[1,16,2],"deliver_after_root":3032,"deliver_frame":14189,"mix_frame":53753,"passive":814,"passive_chain":[43658,53753,0],"passive_ranks":[1,18],"receivers":[808,811],"undo_frame":0},{"carrier":809,"carrier_chain":[43668,53759,14193,0],"carrier_ranks":[1,16,2],"deliver_after_root":3034,"deliver_frame":14193,"mix_frame":53759,"passive":810,"passive_chain":[43666,53759,0],"passive_ranks":[1,18],"receivers":[812,815],"undo_frame":0},{"carrier":812,"carrier_chain":[43662,53744,14191,0],"carrier_ranks":[1,16,2],"deliver_after_root":3033,"deliver_frame":14191,"mix_frame":53744,"passive":815,"passive_chain":[43656,53744,0],"passive_ranks":[1,18],"receivers":[809,810],"undo_frame":0},{"carrier":816,"carrier_chain":[43654,53726,14217,0],"carrier_ranks":[1,16,2],"deliver_after_root":3065,"deliver_frame":14217,"mix_frame":53726,"passive":819,"passive_chain":[43648,53726,0],"passive_ranks":[1,18],"receivers":[821,822],"undo_frame":0},{"carrier":821,"carrier_chain":[43644,53736,14211,0],"carrier_ranks":[1,16,2],"deliver_after_root":3062,"deliver_frame":14211,"mix_frame":53736,"passive":822,"passive_chain":[43642,53736,0],"passive_ranks":[1,18],"receivers":[816,819],"undo_frame":0},{"carrier":817,"carrier_chain":[43652,53742,14215,0],"carrier_ranks":[1,16,2],"deliver_after_root":3064,"deliver_frame":14215,"mix_frame":53742,"passive":818,"passive_chain":[43650,53742,0],"passive_ranks":[1,18],"receivers":[820,823],"undo_frame":0},{"carrier":820,"carrier_chain":[43646,53727,14213,0],"carrier_ranks":[1,16,2],"deliver_after_root":3063,"deliver_frame":14213,"mix_frame":53727,"passive":823,"passive_chain":[43640,53727,0],"passive_ranks":[1,18],"receivers":[817,818],"undo_frame":0},{"carrier":824,"carrier_chain":[43638,53709,14239,0],"carrier_ranks":[1,16,2],"deliver_after_root":3095,"deliver_frame":14239,"mix_frame":53709,"passive":827,"passive_chain":[43632,53709,0],"passive_ranks":[1,18],"receivers":[829,830],"undo_frame":0},{"carrier":829,"carrier_chain":[43628,53719,14233,0],"carrier_ranks":[1,16,2],"deliver_after_root":3092,"deliver_frame":14233,"mix_frame":53719,"passive":830,"passive_chain":[43626,53719,0],"passive_ranks":[1,18],"receivers":[824,827],"undo_frame":0},{"carrier":825,"carrier_chain":[43636,53725,14237,0],"carrier_ranks":[1,16,2],"deliver_after_root":3094,"deliver_frame":14237,"mix_frame":53725,"passive":826,"passive_chain":[43634,53725,0],"passive_ranks":[1,18],"receivers":[828,831],"undo_frame":0},{"carrier":828,"carrier_chain":[43630,53710,14235,0],"carrier_ranks":[1,16,2],"deliver_after_root":3093,"deliver_frame":14235,"mix_frame":53710,"passive":831,"passive_chain":[43624,53710,0],"passive_ranks":[1,18],"receivers":[825,826],"undo_frame":0},{"carrier":832,"carrier_chain":[43622,53692,14261,0],"carrier_ranks":[1,16,2],"deliver_after_root":3125,"deliver_frame":14261,"mix_frame":53692,"passive":835,"passive_chain":[43616,53692,0],"passive_ranks":[1,18],"receivers":[837,838],"undo_frame":0},{"carrier":837,"carrier_chain":[43612,53702,14255,0],"carrier_ranks":[1,16,2],"deliver_after_root":3122,"deliver_frame":14255,"mix_frame":53702,"passive":838,"passive_chain":[43610,53702,0],"passive_ranks":[1,18],"receivers":[832,835],"undo_frame":0},{"carrier":833,"carrier_chain":[43620,53708,14259,0],"carrier_ranks":[1,16,2],"deliver_after_root":3124,"deliver_frame":14259,"mix_frame":53708,"passive":834,"passive_chain":[43618,53708,0],"passive_ranks":[1,18],"receivers":[836,839],"undo_frame":0},{"carrier":836,"carrier_chain":[43614,53693,14257,0],"carrier_ranks":[1,16,2],"deliver_after_root":3123,"deliver_frame":14257,"mix_frame":53693,"passive":839,"passive_chain":[43608,53693,0],"passive_ranks":[1,18],"receivers":[833,834],"undo_frame":0},{"carrier":840,"carrier_chain":[43606,53675,14283,0],"carrier_ranks":[1,16,2],"deliver_after_root":3155,"deliver_frame":14283,"mix_frame":53675,"passive":843,"passive_chain":[43600,53675,0],"passive_ranks":[1,18],"receivers":[845,846],"undo_frame":0},{"carrier":845,"carrier_chain":[43596,53685,14277,0],"carrier_ranks":[1,16,2],"deliver_after_root":3152,"deliver_frame":14277,"mix_frame":53685,"passive":846,"passive_chain":[43594,53685,0],"passive_ranks":[1,18],"receivers":[840,843],"undo_frame":0},{"carrier":841,"carrier_chain":[43604,53691,14281,0],"carrier_ranks":[1,16,2],"deliver_after_root":3154,"deliver_frame":14281,"mix_frame":53691,"passive":842,"passive_chain":[43602,53691,0],"passive_ranks":[1,18],"receivers":[844,847],"undo_frame":0},{"carrier":844,"carrier_chain":[43598,53676,14279,0],"carrier_ranks":[1,16,2],"deliver_after_root":3153,"deliver_frame":14279,"mix_frame":53676,"passive":847,"passive_chain":[43592,53676,0],"passive_ranks":[1,18],"receivers":[841,842],"undo_frame":0},{"carrier":848,"carrier_chain":[43590,53658,14305,0],"carrier_ranks":[1,16,2],"deliver_after_root":3185,"deliver_frame":14305,"mix_frame":53658,"passive":851,"passive_chain":[43584,53658,0],"passive_ranks":[1,18],"receivers":[853,854],"undo_frame":0},{"carrier":853,"carrier_chain":[43580,53668,14299,0],"carrier_ranks":[1,16,2],"deliver_after_root":3182,"deliver_frame":14299,"mix_frame":53668,"passive":854,"passive_chain":[43578,53668,0],"passive_ranks":[1,18],"receivers":[848,851],"undo_frame":0},{"carrier":849,"carrier_chain":[43588,53674,14303,0],"carrier_ranks":[1,16,2],"deliver_after_root":3184,"deliver_frame":14303,"mix_frame":53674,"passive":850,"passive_chain":[43586,53674,0],"passive_ranks":[1,18],"receivers":[852,855],"undo_frame":0},{"carrier":852,"carrier_chain":[43582,53659,14301,0],"carrier_ranks":[1,16,2],"deliver_after_root":3183,"deliver_frame":14301,"mix_frame":53659,"passive":855,"passive_chain":[43576,53659,0],"passive_ranks":[1,18],"receivers":[849,850],"undo_frame":0},{"carrier":856,"carrier_chain":[43574,53641,14327,0],"carrier_ranks":[1,16,2],"deliver_after_root":3215,"deliver_frame":14327,"mix_frame":53641,"passive":859,"passive_chain":[43568,53641,0],"passive_ranks":[1,18],"receivers":[861,862],"undo_frame":0},{"carrier":861,"carrier_chain":[43564,53651,14321,0],"carrier_ranks":[1,16,2],"deliver_after_root":3212,"deliver_frame":14321,"mix_frame":53651,"passive":862,"passive_chain":[43562,53651,0],"passive_ranks":[1,18],"receivers":[856,859],"undo_frame":0},{"carrier":857,"carrier_chain":[43572,53657,14325,0],"carrier_ranks":[1,16,2],"deliver_after_root":3214,"deliver_frame":14325,"mix_frame":53657,"passive":858,"passive_chain":[43570,53657,0],"passive_ranks":[1,18],"receivers":[860,863],"undo_frame":0},{"carrier":860,"carrier_chain":[43566,53642,14323,0],"carrier_ranks":[1,16,2],"deliver_after_root":3213,"deliver_frame":14323,"mix_frame":53642,"passive":863,"passive_chain":[43560,53642,0],"passive_ranks":[1,18],"receivers":[857,858],"undo_frame":0},{"carrier":864,"carrier_chain":[43558,53624,14349,0],"carrier_ranks":[1,16,2],"deliver_after_root":3245,"deliver_frame":14349,"mix_frame":53624,"passive":867,"passive_chain":[43552,53624,0],"passive_ranks":[1,18],"receivers":[869,870],"undo_frame":0},{"carrier":869,"carrier_chain":[43548,53634,14343,0],"carrier_ranks":[1,16,2],"deliver_after_root":3242,"deliver_frame":14343,"mix_frame":53634,"passive":870,"passive_chain":[43546,53634,0],"passive_ranks":[1,18],"receivers":[864,867],"undo_frame":0},{"carrier":865,"carrier_chain":[43556,53640,14347,0],"carrier_ranks":[1,16,2],"deliver_after_root":3244,"deliver_frame":14347,"mix_frame":53640,"passive":866,"passive_chain":[43554,53640,0],"passive_ranks":[1,18],"receivers":[868,871],"undo_frame":0},{"carrier":868,"carrier_chain":[43550,53625,14345,0],"carrier_ranks":[1,16,2],"deliver_after_root":3243,"deliver_frame":14345,"mix_frame":53625,"passive":871,"passive_chain":[43544,53625,0],"passive_ranks":[1,18],"receivers":[865,866],"undo_frame":0},{"carrier":872,"carrier_chain":[43542,53607,14371,0],"carrier_ranks":[1,16,2],"deliver_after_root":3275,"deliver_frame":14371,"mix_frame":53607,"passive":875,"passive_chain":[43536,53607,0],"passive_ranks":[1,18],"receivers":[877,878],"undo_frame":0},{"carrier":877,"carrier_chain":[43532,53617,14365,0],"carrier_ranks":[1,16,2],"deliver_after_root":3272,"deliver_frame":14365,"mix_frame":53617,"passive":878,"passive_chain":[43530,53617,0],"passive_ranks":[1,18],"receivers":[872,875],"undo_frame":0},{"carrier":873,"carrier_chain":[43540,53623,14369,0],"carrier_ranks":[1,16,2],"deliver_after_root":3274,"deliver_frame":14369,"mix_frame":53623,"passive":874,"passive_chain":[43538,53623,0],"passive_ranks":[1,18],"receivers":[876,879],"undo_frame":0},{"carrier":876,"carrier_chain":[43534,53608,14367,0],"carrier_ranks":[1,16,2],"deliver_after_root":3273,"deliver_frame":14367,"mix_frame":53608,"passive":879,"passive_chain":[43528,53608,0],"passive_ranks":[1,18],"receivers":[873,874],"undo_frame":0},{"carrier":880,"carrier_chain":[43526,53590,14393,0],"carrier_ranks":[1,16,2],"deliver_after_root":3305,"deliver_frame":14393,"mix_frame":53590,"passive":883,"passive_chain":[43520,53590,0],"passive_ranks":[1,18],"receivers":[885,886],"undo_frame":0},{"carrier":885,"carrier_chain":[43516,53600,14387,0],"carrier_ranks":[1,16,2],"deliver_after_root":3302,"deliver_frame":14387,"mix_frame":53600,"passive":886,"passive_chain":[43514,53600,0],"passive_ranks":[1,18],"receivers":[880,883],"undo_frame":0},{"carrier":881,"carrier_chain":[43524,53606,14391,0],"carrier_ranks":[1,16,2],"deliver_after_root":3304,"deliver_frame":14391,"mix_frame":53606,"passive":882,"passive_chain":[43522,53606,0],"passive_ranks":[1,18],"receivers":[884,887],"undo_frame":0},{"carrier":884,"carrier_chain":[43518,53591,14389,0],"carrier_ranks":[1,16,2],"deliver_after_root":3303,"deliver_frame":14389,"mix_frame":53591,"passive":887,"passive_chain":[43512,53591,0],"passive_ranks":[1,18],"receivers":[881,882],"undo_frame":0},{"carrier":888,"carrier_chain":[43510,53573,14415,0],"carrier_ranks":[1,16,2],"deliver_after_root":3335,"deliver_frame":14415,"mix_frame":53573,"passive":891,"passive_chain":[43504,53573,0],"passive_ranks":[1,18],"receivers":[893,894],"undo_frame":0},{"carrier":893,"carrier_chain":[43500,53583,14409,0],"carrier_ranks":[1,16,2],"deliver_after_root":3332,"deliver_frame":14409,"mix_frame":53583,"passive":894,"passive_chain":[43498,53583,0],"passive_ranks":[1,18],"receivers":[888,891],"undo_frame":0},{"carrier":889,"carrier_chain":[43508,53589,14413,0],"carrier_ranks":[1,16,2],"deliver_after_root":3334,"deliver_frame":14413,"mix_frame":53589,"passive":890,"passive_chain":[43506,53589,0],"passive_ranks":[1,18],"receivers":[892,895],"undo_frame":0},{"carrier":892,"carrier_chain":[43502,53574,14411,0],"carrier_ranks":[1,16,2],"deliver_after_root":3333,"deliver_frame":14411,"mix_frame":53574,"passive":895,"passive_chain":[43496,53574,0],"passive_ranks":[1,18],"receivers":[889,890],"undo_frame":0},{"carrier":896,"carrier_chain":[43494,53556,14437,0],"carrier_ranks":[1,16,2],"deliver_after_root":3365,"deliver_frame":14437,"mix_frame":53556,"passive":899,"passive_chain":[43488,53556,0],"passive_ranks":[1,18],"receivers":[901,902],"undo_frame":0},{"carrier":901,"carrier_chain":[43484,53566,14431,0],"carrier_ranks":[1,16,2],"deliver_after_root":3362,"deliver_frame":14431,"mix_frame":53566,"passive":902,"passive_chain":[43482,53566,0],"passive_ranks":[1,18],"receivers":[896,899],"undo_frame":0},{"carrier":897,"carrier_chain":[43492,53572,14435,0],"carrier_ranks":[1,16,2],"deliver_after_root":3364,"deliver_frame":14435,"mix_frame":53572,"passive":898,"passive_chain":[43490,53572,0],"passive_ranks":[1,18],"receivers":[900,903],"undo_frame":0},{"carrier":900,"carrier_chain":[43486,53557,14433,0],"carrier_ranks":[1,16,2],"deliver_after_root":3363,"deliver_frame":14433,"mix_frame":53557,"passive":903,"passive_chain":[43480,53557,0],"passive_ranks":[1,18],"receivers":[897,898],"undo_frame":0},{"carrier":904,"carrier_chain":[43478,53539,14459,0],"carrier_ranks":[1,16,2],"deliver_after_root":3395,"deliver_frame":14459,"mix_frame":53539,"passive":907,"passive_chain":[43472,53539,0],"passive_ranks":[1,18],"receivers":[909,910],"undo_frame":0},{"carrier":909,"carrier_chain":[43468,53549,14453,0],"carrier_ranks":[1,16,2],"deliver_after_root":3392,"deliver_frame":14453,"mix_frame":53549,"passive":910,"passive_chain":[43466,53549,0],"passive_ranks":[1,18],"receivers":[904,907],"undo_frame":0},{"carrier":905,"carrier_chain":[43476,53555,14457,0],"carrier_ranks":[1,16,2],"deliver_after_root":3394,"deliver_frame":14457,"mix_frame":53555,"passive":906,"passive_chain":[43474,53555,0],"passive_ranks":[1,18],"receivers":[908,911],"undo_frame":0},{"carrier":908,"carrier_chain":[43470,53540,14455,0],"carrier_ranks":[1,16,2],"deliver_after_root":3393,"deliver_frame":14455,"mix_frame":53540,"passive":911,"passive_chain":[43464,53540,0],"passive_ranks":[1,18],"receivers":[905,906],"undo_frame":0},{"carrier":912,"carrier_chain":[43462,53522,14481,0],"carrier_ranks":[1,16,2],"deliver_after_root":3425,"deliver_frame":14481,"mix_frame":53522,"passive":915,"passive_chain":[43456,53522,0],"passive_ranks":[1,18],"receivers":[917,918],"undo_frame":0},{"carrier":917,"carrier_chain":[43452,53532,14475,0],"carrier_ranks":[1,16,2],"deliver_after_root":3422,"deliver_frame":14475,"mix_frame":53532,"passive":918,"passive_chain":[43450,53532,0],"passive_ranks":[1,18],"receivers":[912,915],"undo_frame":0},{"carrier":913,"carrier_chain":[43460,53538,14479,0],"carrier_ranks":[1,16,2],"deliver_after_root":3424,"deliver_frame":14479,"mix_frame":53538,"passive":914,"passive_chain":[43458,53538,0],"passive_ranks":[1,18],"receivers":[916,919],"undo_frame":0},{"carrier":916,"carrier_chain":[43454,53523,14477,0],"carrier_ranks":[1,16,2],"deliver_after_root":3423,"deliver_frame":14477,"mix_frame":53523,"passive":919,"passive_chain":[43448,53523,0],"passive_ranks":[1,18],"receivers":[913,914],"undo_frame":0},{"carrier":920,"carrier_chain":[43446,53505,14503,0],"carrier_ranks":[1,16,2],"deliver_after_root":3455,"deliver_frame":14503,"mix_frame":53505,"passive":923,"passive_chain":[43440,53505,0],"passive_ranks":[1,18],"receivers":[925,926],"undo_frame":0},{"carrier":925,"carrier_chain":[43436,53515,14497,0],"carrier_ranks":[1,16,2],"deliver_after_root":3452,"deliver_frame":14497,"mix_frame":53515,"passive":926,"passive_chain":[43434,53515,0],"passive_ranks":[1,18],"receivers":[920,923],"undo_frame":0},{"carrier":921,"carrier_chain":[43444,53521,14501,0],"carrier_ranks":[1,16,2],"deliver_after_root":3454,"deliver_frame":14501,"mix_frame":53521,"passive":922,"passive_chain":[43442,53521,0],"passive_ranks":[1,18],"receivers":[924,927],"undo_frame":0},{"carrier":924,"carrier_chain":[43438,53506,14499,0],"carrier_ranks":[1,16,2],"deliver_after_root":3453,"deliver_frame":14499,"mix_frame":53506,"passive":927,"passive_chain":[43432,53506,0],"passive_ranks":[1,18],"receivers":[921,922],"undo_frame":0},{"carrier":928,"carrier_chain":[43430,53488,14525,0],"carrier_ranks":[1,16,2],"deliver_after_root":3485,"deliver_frame":14525,"mix_frame":53488,"passive":931,"passive_chain":[43424,53488,0],"passive_ranks":[1,18],"receivers":[933,934],"undo_frame":0},{"carrier":933,"carrier_chain":[43420,53498,14519,0],"carrier_ranks":[1,16,2],"deliver_after_root":3482,"deliver_frame":14519,"mix_frame":53498,"passive":934,"passive_chain":[43418,53498,0],"passive_ranks":[1,18],"receivers":[928,931],"undo_frame":0},{"carrier":929,"carrier_chain":[43428,53504,14523,0],"carrier_ranks":[1,16,2],"deliver_after_root":3484,"deliver_frame":14523,"mix_frame":53504,"passive":930,"passive_chain":[43426,53504,0],"passive_ranks":[1,18],"receivers":[932,935],"undo_frame":0},{"carrier":932,"carrier_chain":[43422,53489,14521,0],"carrier_ranks":[1,16,2],"deliver_after_root":3483,"deliver_frame":14521,"mix_frame":53489,"passive":935,"passive_chain":[43416,53489,0],"passive_ranks":[1,18],"receivers":[929,930],"undo_frame":0},{"carrier":936,"carrier_chain":[43414,53471,14547,0],"carrier_ranks":[1,16,2],"deliver_after_root":3515,"deliver_frame":14547,"mix_frame":53471,"passive":939,"passive_chain":[43408,53471,0],"passive_ranks":[1,18],"receivers":[941,942],"undo_frame":0},{"carrier":941,"carrier_chain":[43404,53481,14541,0],"carrier_ranks":[1,16,2],"deliver_after_root":3512,"deliver_frame":14541,"mix_frame":53481,"passive":942,"passive_chain":[43402,53481,0],"passive_ranks":[1,18],"receivers":[936,939],"undo_frame":0},{"carrier":937,"carrier_chain":[43412,53487,14545,0],"carrier_ranks":[1,16,2],"deliver_after_root":3514,"deliver_frame":14545,"mix_frame":53487,"passive":938,"passive_chain":[43410,53487,0],"passive_ranks":[1,18],"receivers":[940,943],"undo_frame":0},{"carrier":940,"carrier_chain":[43406,53472,14543,0],"carrier_ranks":[1,16,2],"deliver_after_root":3513,"deliver_frame":14543,"mix_frame":53472,"passive":943,"passive_chain":[43400,53472,0],"passive_ranks":[1,18],"receivers":[937,938],"undo_frame":0},{"carrier":944,"carrier_chain":[43398,53454,14569,0],"carrier_ranks":[1,16,2],"deliver_after_root":3545,"deliver_frame":14569,"mix_frame":53454,"passive":947,"passive_chain":[43392,53454,0],"passive_ranks":[1,18],"receivers":[949,950],"undo_frame":0},{"carrier":949,"carrier_chain":[43388,53464,14563,0],"carrier_ranks":[1,16,2],"deliver_after_root":3542,"deliver_frame":14563,"mix_frame":53464,"passive":950,"passive_chain":[43386,53464,0],"passive_ranks":[1,18],"receivers":[944,947],"undo_frame":0},{"carrier":945,"carrier_chain":[43396,53470,14567,0],"carrier_ranks":[1,16,2],"deliver_after_root":3544,"deliver_frame":14567,"mix_frame":53470,"passive":946,"passive_chain":[43394,53470,0],"passive_ranks":[1,18],"receivers":[948,951],"undo_frame":0},{"carrier":948,"carrier_chain":[43390,53455,14565,0],"carrier_ranks":[1,16,2],"deliver_after_root":3543,"deliver_frame":14565,"mix_frame":53455,"passive":951,"passive_chain":[43384,53455,0],"passive_ranks":[1,18],"receivers":[945,946],"undo_frame":0},{"carrier":952,"carrier_chain":[43382,53437,14591,0],"carrier_ranks":[1,16,2],"deliver_after_root":3575,"deliver_frame":14591,"mix_frame":53437,"passive":955,"passive_chain":[43376,53437,0],"passive_ranks":[1,18],"receivers":[957,958],"undo_frame":0},{"carrier":957,"carrier_chain":[43372,53447,14585,0],"carrier_ranks":[1,16,2],"deliver_after_root":3572,"deliver_frame":14585,"mix_frame":53447,"passive":958,"passive_chain":[43370,53447,0],"passive_ranks":[1,18],"receivers":[952,955],"undo_frame":0},{"carrier":953,"carrier_chain":[43380,53453,14589,0],"carrier_ranks":[1,16,2],"deliver_after_root":3574,"deliver_frame":14589,"mix_frame":53453,"passive":954,"passive_chain":[43378,53453,0],"passive_ranks":[1,18],"receivers":[956,959],"undo_frame":0},{"carrier":956,"carrier_chain":[43374,53438,14587,0],"carrier_ranks":[1,16,2],"deliver_after_root":3573,"deliver_frame":14587,"mix_frame":53438,"passive":959,"passive_chain":[43368,53438,0],"passive_ranks":[1,18],"receivers":[953,954],"undo_frame":0}],"h":20} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/profile_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/profile_p10.json new file mode 100644 index 0000000000..3e2cf5f618 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/profile_p10.json @@ -0,0 +1 @@ +{"R":9120,"W_per_vertex":11040,"c":11820,"child_histogram":{"1":67920,"10":780,"11":240,"12":3300,"13":120,"14":120,"15":60,"16":2880,"17":9360,"18":2220,"2":31260,"3":17160,"4":4200,"48":1200,"5":3300,"51":960,"6":3240,"7":1740,"8":900,"9":180},"deficit_per_vertex":840,"h":20,"loss":360,"m":60,"matched":6320,"maxchild":51,"plain_frames":6420,"q":3620,"rank_per_vertex":661560,"remaining_internal_histogram":{"0":3200,"1":19280,"10":260,"11":80,"12":1100,"13":40,"14":40,"15":20,"17":2640,"18":260,"2":9300,"3":5720,"4":1400,"5":1100,"6":1080,"7":580,"8":300,"9":60},"selected_rank_histogram":{"16":1200,"17":960},"selected_roles":2160,"source_data_histogram":{"1":960,"16":480,"18":480,"2":480},"target_data_histogram":{"0":5760,"1":2400,"16":480,"17":480},"v":960} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/word_p10.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/word_p10.json.gz new file mode 100644 index 0000000000..4ff695bd68 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/bitword/selected/bit/word_p10.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_basis.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_basis.py new file mode 100644 index 0000000000..8c400798a5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_basis.py @@ -0,0 +1,35 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +def need(b, why): + if not b: raise ValueError(why) + +def gl_count_test(): + # Exhaustively test a literal binary Gaussian-elimination implementation + # through m=4. Row swaps cost three selected-bit additions. + out=[] + for m in range(1,5): + good=mx=0 + for word in range(1<<(m*m)): + rows=[(word>>(m*i))&((1<>k&1),None) + if p is None: break + if p!=k: rows[p],rows[k]=rows[k],rows[p];ops+=3 + for i in range(m): + if i!=k and rows[i]>>k&1: rows[i]^=rows[k];ops+=1 + else: + need(rows==[1<0, f"{where}: coefficient shape") + q=Fraction(a,b) + odd=q.denominator + while odd%2==0: + odd//=2 + need(odd in (1,3), f"{where}: literal coefficient outside dyadic/divisor-three grid") + return q + +def replay_label_counts(c): + """Full finite LABEL walk only. Never multiplies the 11,676-square scalar map.""" + need(c.get("format")=="gcert/1", "format") + need(all(c.get(k)==v for k,v in BASE.items()), "baseline parameter/count mismatch") + h,v,R=c["h"],c["v"],c["R"]; n=2*v+R + need(c.get("ext")==[], "baseline has no exterior-gauged helper inputs") + frames=c["frames"]; dim=list(map(len,frames)) + need(len(frames)==17861, "baseline frame-table count") + need(frames[0]==[] and frames[1]==[1<piv[i+1] for i in range(len(piv)-1)), "frame pivot order") + need(all(not(b>>p&1) for i,b in enumerate(f) for j,p in enumerate(piv) if i!=j), + "frame is not reduced echelon") + ports=c["ports"] + need(len(ports)==v==len(set(ports)), "port count/uniqueness") + need(all(type(p) is int and 0=4 and g[0] in ("out","in"), where+": gate shape") + tag,f,pivot,terms=g[:4] + need(len(g)==(5 if tag=="out" else 4), where+": gate arity") + need(type(f) is int and 0<=f{tr}"]+=1 + totals[phase]["scalar_additions"]+=1 + if sr==tr=="y": + ybracket[(source,target)]+=q;ypiv.add(source);ytarget.add(target) + for r in regs: + climb(r,f,phase) + if phase=="A": + cut=cur.copy() + need(all(cur[v+t]==0 for t in range(v)), "scatter: Y role moved too early") + for k,r,f in c["ret"]: + need(type(r) is int and 2*v<=r>k&1 else c["scat"]["outside"]),"scatter")) + for p in ports for k in range(22)) + return { + "frame_count":len(frames),"tested_distinct_nested_pairs":len(pairs), + "live_registers_per_invocation":n,"temporary_centers":22, + "ranked_live_transitions":transitions, + "phase_stats":totals,"role_histograms":measured, + "phase_histograms":{p:hist(x) for p,x in by_phase.items()}, + "invocation_histogram":hist(combined),"invocation_calls":sum(combined.values()), + "invocation_rank_mass":mass,"retained_centers":c["ret"], + "phase_state_sha256":{"start":digest(start),"after_A":digest(cut), + "after_B":digest(before_final),"final":digest(final)}, + "literal_gate_coefficients":dict(sorted(literal.items())), + "scalar_role_directions":dict(sorted(kind.items())), + "scatter_coefficients":dict(sorted(scatter.items())), + "scatter_additions":sum(scatter.values()),"Cc_copy_additions":22, + "two_hosts_metadata_count":len(c.get("two_hosts",[])), + "two_hosts_note":"Metadata only; not an independent allocator or host-use proof.", + "Y_bracket_pairs":len(ybracket), + "literal_inverse":"Each nonself additive shear inverts by negating its coefficient; inverse phase reverses order; inverse transpose keeps chronological order and swaps source/target with negation.", + "limits":["No scalar all-column replay","No old-response or cleanup matrix formed", + "No generated Lean data comparison or kernel build","No physical stream compiler"] + } + +def scalar_word(ops): + matrix=[[int(i==j) for j in range(4)] for i in range(4)] + for target,source,q in ops: + matrix[target]=[a+q*b for a,b in zip(matrix[target],matrix[source])] + return matrix diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_scalars.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_scalars.py new file mode 100644 index 0000000000..98c5574693 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_scalars.py @@ -0,0 +1,216 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +V,R,H=1320,9036,22 +def need(x,msg): + if not x:raise ValueError(msg) + +def kind(r):return "X" if r>k&1 else c["scat"]["outside"])) + yield add(live(V+t),tmp(r),q) + yield from part(B) + +def old_word(orientation,K): + if orientation=="forward": + yield from (copy(("T",q),live(2*V+q)) for q in range(R)) + for e in K: + op,t,s,a,b=e + yield add(t,s,Q(-a if t[0]=="L" else a,b)) + else: + yield from (clear(("T",q)) for q in range(R)) + for op,t,s,a,b in reversed(K): + yield add(s,t,Q(a,b)) + yield from (add(live(2*V+q),("T",q),Q(1)) for q in range(R)) + yield from (clear(("T",q)) for q in range(R)) + +def cleanup(orientation,AB): + for t,s,q in reversed(AB): + if kind(t)=="Y":continue + if orientation=="forward":yield add(live(t),live(s),-q) + else:yield add(live(s),live(t),q) + +def main_scalar(orientation,A,B,c): + def phase(gs): + for t,s,q in gs: + if orientation=="forward":yield add(live(t),live(s),q) + else:yield add(live(s),live(t),-q) + yield from phase(A) + # Every center is a complete temporary stream and one rank20 child, + # initialized/read/discarded before the next center uses the work stock. + for k,r,_ in c["ret"]: + yield clear(center(k)) + if orientation=="forward":yield add(center(k),live(r),Q(1)) + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + if orientation=="backward":yield add(center(k),live(V+t),q) + yield ("recursive_center",k,20) + if orientation=="forward": + for t,p in enumerate(c["ports"]): + q=Q(*(c["scat"]["inside"] if p>>k&1 else c["scat"]["outside"])) + yield add(live(V+t),center(k),q) + else:yield add(live(r),center(k),Q(-1)) + yield clear(center(k)) + yield from phase(B) + +def inv_schedule(orientation,A,B,c): + K=list(old_positive(A,B,c)) + yield from ((p,e) for p,es in [ + ("old_response",old_word(orientation,K)), + ("main",main_scalar(orientation,A,B,c)), + ("cleanup",cleanup(orientation,A+B))] for e in es) + +def coeff_steps(q): + """Non-destructive coefficient expansion using one complete work stream. + Copy source, double/halve/divide by3 as needed, add/subtract, clear. + Counts Gaussian operations; multiply by2 for real/imag component primitives.""" + a,b=abs(q.numerator),q.denominator + need(a in (1,2) and b in (1,2,3,6),"unsupported new coefficient") + return 3+int(a==2)+int(b%2==0)+int(b%3==0) + +def bill(schedule): + phases={p:Counter() for p in ("old_response","main","cleanup")} + coeffs={p:Counter() for p in phases} + tape=sha256() + for p,e in schedule: + tape.update((json.dumps((p,e),separators=(",",":"))+"\n").encode()) + phases[p]["all_macros"]+=1 + if e[0]=="recursive_center": + phases[p]["recursive_centers"]+=1 + phases[p]["recursive_rank_mass"]+=e[2] + continue + phases[p]["scalar_macros"]+=1 + phases[p][e[0]]+=1 + if e[0]=="add": + q=Q(e[3],e[4]);coeffs[p][str(q)]+=1 + phases[p]["Gaussian_primitive_steps"]+=coeff_steps(q) + phases[p]["scalar_log2_magnitude_charge"]+=1+int(abs(q)==2) + phases[p]["halving_exposure"]+=int(q.denominator%2==0) + phases[p]["divisor3_exposure"]+=int(q.denominator%3==0) + else:phases[p]["Gaussian_primitive_steps"]+=1 + for p in phases:phases[p]["real_component_primitive_steps"]=2*phases[p]["Gaussian_primitive_steps"] + total=sum((Counter({k:v for k,v in x.items() if k not in ["recursive_rank_mass"]}) for x in phases.values()),Counter()) + return {"phases":{p:dict(x) for p,x in phases.items()},"coefficient_histograms":{p:dict(x) for p,x in coeffs.items()}, + "totals":dict(total),"schedule_sha256":tape.hexdigest(), + "other_main_recursive_calls":"68230 existing live-label transitions, unchanged; not scalar macros"} + +def mm(A,B):return [[sum((x*y for x,y in zip(row,col)),Q(0)) for col in zip(*B)] for row in A] + +def lifecycle(schedule): + """Verify that new scalar-only work stock never survives into a child.""" + initialized=set();dirty=set();active_centers=set();seen_main=False;children=0 + for phase,e in schedule: + if phase=="main" and not seen_main: + need(not dirty,"old-response tableau survives into recursive main phase") + seen_main=True + need(e[0] in ("add","copy","clear","recursive_center"),"unknown or unpaid recursive operation") + if e[0]=="recursive_center": + k=e[1] + need(type(k) is int and 0<=k<22 and e[2]==20,"new temporary entered uncharged child") + need(phase=="main" and not dirty,"old-response temporary used during child") + need(active_centers<=set([k]),"other center was not discarded before next child") + children+=1 + continue + target=e[1] + source=e[2] if e[0] in ("add","copy") else None + if source and source[0]=="T":need(source[1] in initialized,"uninitialized temporary read") + if target[0]=="T": + need(phase=="old_response","scalar-only tableau touched after recursive phase begins") + initialized.add(target[1]) + if e[0]=="clear":dirty.discard(target[1]) + else:dirty.add(target[1]) + if target[0]=="C": + if e[0]=="clear":active_centers.discard(target[1]) + else:active_centers.add(target[1]) + if e[0]=="add": + # Coefficient expansion is deliberately local: copy into W, + # optionally double/halve/divide3, accumulate, and clear W. + expanded=["copy_work"]+["scale"]*(coeff_steps(Q(e[3],e[4]))-3)+["accumulate","clear_work"] + need(expanded[-1]=="clear_work","coefficient work survived scalar macro") + need(not dirty and not active_centers,"temporary stock not erased at invocation end") + need(children==22,"center child count changed") + return {"tableau_cleared_before_entire_main_phase":True,"tableau_absent_from_all_children":True, + "coefficient_work_cleared_per_add":True,"center_children":children, + "new_recursive_children":0,"moment_live_width":14316, + "new_work_stock_only":9037,"complete_stream_fraction":"1/(14316*|Orth(110,2)|)"} + +def ident(n):return [[Q(int(i==j)) for j in range(n)] for i in range(n)] + +def matrix(n,gs): + a=ident(n) + for t,s,q in gs:a[t]=[x+q*y for x,y in zip(a[t],a[s])] + return a + +def toy_checks(): + # 2 X, 3 S, 2 Y. Explicit nontrivial X mixing is undone; helper map + # and K are otherwise arbitrary. Exact Fraction checks cover every column + # of THIS TINY TEMPLATE, not of the published 11676-register source. + n=7;X={0,1};S={2,3,4};Y={5,6} + gs=[(2,0,Q(1)),(3,2,Q(2)),(5,3,Q(-1,6)),(0,1,Q(1,2)), + (4,0,Q(2)),(2,4,Q(1,2)),(6,2,Q(1,3)),(0,1,Q(-1,2)), + (3,1,Q(-1)),(5,4,Q(1)),(6,0,Q(1))] + M=matrix(n,gs) + need(all(M[i]==ident(n)[i] for i in X),"toy source rows not restored") + Ugs=[e for e in gs if e[0] not in Y] + U=matrix(n,Ugs) + Uinv=matrix(n,[(t,s,-q) for t,s,q in reversed(Ugs)]) + need(mm(Uinv,U)==ident(n),"restricted inverse identity") + Mi=matrix(n,[(t,s,-q) for t,s,q in reversed(gs)]) + g8=[Mi[i] if i in S else ident(n)[i] for i in range(n)] + h8=[M[i] if i in S else ident(n)[i] for i in range(n)] + need(g8==Uinv and h8==U,"cleanup projection identities") + Ut=matrix(n,[(s,t,q) for t,s,q in reversed(Ugs)]) + need(Ut==[list(x) for x in zip(*U)],"backward cleanup transpose") + Kgs=[e for e in gs if e[1] not in X] + Kmat=matrix(n,Kgs) + need(all(Kmat[i][j]==M[i][j] for i in Y for j in S),"zero-source old response") + Kt=matrix(n,[(s,t,q) for t,s,q in reversed(Kgs)]) + need(all(Kt[i][j]==M[j][i] for i in S for j in Y),"old response adjoint") + bad=matrix(n,[(t,s,q) for t,s,q in reversed(Ugs)]) + need(bad!=g8,"wrong inverse sign must fail") + bad_order=matrix(n,[(s,t,q) for t,s,q in Ugs]) + need(bad_order!=Ut,"unreversed transpose must fail") + return {"tiny_exact_template_columns_checked":7,"checks_passed":7, + "wrong_inverse_sign_rejected":True,"unreversed_transpose_rejected":True, + "published_full_scalar_replay":False} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_splice.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_splice.py new file mode 100644 index 0000000000..4644f596af --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/code/complex_splice.py @@ -0,0 +1,277 @@ +"""Portable pure functions extracted from the reviewed complex checks; no historical receipt readers.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction +Q=Fraction +from hashlib import sha256 +from pathlib import Path +from math import prod +import gzip,json,sys + +V,R,H,N,W=1320,9036,22,11676,14316 +PHASES=["old_response","ad0","A","centers","B","final","adF","cleanup","done"] +def need(x,s): + if not x:raise ValueError(s) + +def blobhash(p):return sha256(p.read_bytes()).hexdigest() + +def digest(x):return sha256(json.dumps(x,separators=(',',':'),sort_keys=True).encode()).hexdigest() + +def role(r):return 'X' if r0 else -1),clear(work)] + +def emit(c,ori): + """Construct the complete local parametric invocation, before cover routing. + One role stream is its full complete address rectangle. Frame labels denote + exact canonical representatives, never just rank or binary matrices. + """ + A=list(flat(c['A']));B=list(flat(c['B']));cur=c['start'].copy() + K=[] + for part in (A,None,B): + if part is None: + for t,p in enumerate(c['ports']): + for k,r,f in c['ret']: + K.append(add(L(V+t),T(r),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside'])))) + else: + for t,s,q in part: + if role(s)=='X':continue + K.append(add(T(t) if role(t)=='S' else L(t),T(s),q)) + yield ('phase','old_response') + if ori=='forward': + for q in range(R):yield scal('old_response',copy(('T',q),L(2*V+q)),'old0') + for _,t,s,a,b in K:yield scal('old_response',add(t,s,Q(-a if t[0]=='L' else a,b)),'old0') + else: + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + for _,t,s,a,b in reversed(K):yield scal('old_response',add(s,t,Q(a,b)),'old0') + for q in range(R):yield scal('old_response',add(L(2*V+q),('T',q),Q(1)),'old0') + for q in range(R):yield scal('old_response',clear(('T',q)),'old0') + yield ('phase','ad0') + for r,f in enumerate(c['start']):yield ('adapter','old_to_new',r,f) + for part in ['A','centers','B','final']: + yield ('phase',part) + if part in ['A','B']: + for g in c[part]: + regs=[g[2]]+[x[0] for x in g[3]]+(g[4] if g[0]=='out' else []) + for r in regs: + if cur[r]!=g[1]: + old=cur[r];cur[r]=g[1] + yield ('climb',part,r,old,g[1],len(c['frames'][g[1]])-len(c['frames'][old])) + for t,s,q in flat([g]): + e=add(L(t),L(s),q) if ori=='forward' else add(L(s),L(t),-q) + yield scal('main',e,g[1]) + elif part=='centers': + for k,r,f in c['ret']: + yield scal('main',clear(C(k)),f if ori=='forward' else 0) + if ori=='forward':yield scal('main',add(C(k),L(r),Q(1)),f) + else: + for t,p in enumerate(c['ports']): + yield scal('main',add(C(k),L(V+t),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + yield ('center',k,f if ori=='forward' else 0,0 if ori=='forward' else f,20) + if ori=='forward': + for t,p in enumerate(c['ports']): + yield scal('main',add(L(V+t),C(k),Q(*(c['scat']['inside'] if p>>k&1 else c['scat']['outside']))),0) + else:yield scal('main',add(L(r),C(k),Q(-1)),f) + yield scal('main',clear(C(k)),0 if ori=='forward' else f) + else: + for r,f in enumerate(c['final']): + if cur[r]!=f: + old=cur[r];cur[r]=f + yield ('climb','final',r,old,f,len(c['frames'][f])-len(c['frames'][old])) + yield ('phase','adF') + for r,f in enumerate(c['final']):yield ('adapter','new_to_old',r,f) + yield ('phase','cleanup') + for t,s,q in reversed(A+B): + if role(t)=='Y':continue + e=add(L(t),L(s),-q) if ori=='forward' else add(L(s),L(t),q) + yield scal('cleanup',e,'old1') + yield ('phase','done') + +def contains(U,V): + for u in U: + for v in V: + if u>>(v.bit_length()-1)&1:u^=v + if u:return False + return True + +def validate(events,c,ori,manifest,bill): + phase=None;seen=[];cur=c['start'].copy();cent={};dirty=set();initialized=set() + climbed=Counter();hist=Counter();projection=sha256();whole=sha256();counts=Counter();ad0=[];adF=[] + pairs=set();states={};all_frame_incidence=0;primitive=sha256();primitive_count=0 + for ev in events: + whole.update((json.dumps(ev,separators=(',',':'))+'\n').encode()) + tag=ev[0];counts[tag]+=1 + if tag=='phase': + if phase=='A':states['after_A']=digest(cur) + if phase=='B':states['after_B']=digest(cur) + if phase=='final':states['final']=digest(cur) + phase=ev[1];seen.append(phase) + need(seen==PHASES[:len(seen)],'strict old/A/copy/B/final/adapter/cleanup chronology') + if phase=='ad0':need(not dirty,'old-response tableau survived before label recursion') + if phase=='A':need(ad0==list(enumerate(c['start'])),'missing or reordered exact entry adapter') + if phase=='adF':need(cur==c['final'],'final climbs omitted before cleanup') + if phase=='cleanup':need(adF==list(enumerate(c['final'])),'missing or reordered exact final adapter') + continue + if tag=='adapter': + _,which,r,f=ev + if which=='old_to_new':need(phase=='ad0','entry adapter position');ad0.append((r,f)) + else:need(which=='new_to_old' and phase=='adF','final adapter position');adF.append((r,f)) + elif tag=='climb': + _,p,r,old,new,d=ev + need(phase==p and p in ['A','B','final'],'live child outside source label walk') + need(not dirty and not cent,'new work stock or center active during live child') + need(cur[r]==old and d==len(c['frames'][new])-len(c['frames'][old]) and d>0,'wrong exact child endpoints/rank') + pair=(old,new) + if pair not in pairs:need(contains(c['frames'][old],c['frames'][new]),'nonnested child');pairs.add(pair) + cur[r]=new;climbed[p]+=1;hist[d]+=1 + elif tag=='center': + _,k,old,new,d=ev + need(phase=='centers' and not dirty and set(cent)=={k},'center child ownership') + need(cent[k]==old and (k,c['ret'][k][1],c['ret'][k][2])==tuple(c['ret'][k]),'center input frame') + f=c['ret'][k][2] + need((old,new,d)==((f,0,20) if ori=='forward' else (0,f,20)),'center child direction/rank') + cent[k]=new;hist[d]+=1 + projection.update((json.dumps(('main',('recursive_center',k,d)),separators=(',',':'))+'\n').encode()) + elif tag=='scalar': + _,p,e,f=ev + need(p==('main' if phase in ['A','centers','B'] else phase),'scalar phase binding') + need(e[0] in ['add','copy','clear'],'unpaid scalar operation') + target=e[1];source=e[2] if e[0] in ['add','copy'] else None + for x in [target]+([source] if source else []): + bank,r=x + if bank=='T':need(phase=='old_response' and 0<=r=0 + if f:stage_paid[f]+=1 + if a==WORK: + assert copy_open and c==lower.ZERO and f==CENTER + elif op==ADD: + assert a in live_image and (b in live_image or b==WORK) and a!=b + assert not(a==WORK) + assert (b==WORK)==(z==center_category) + if b==WORK:assert copy_open and f==lower.ZERO;copy_reads+=1 + adds+=1;coefficient[abs(c)]+=1 + elif op==COPY: + assert not copy_open and a==WORK and b in live_image + assert b>=4*V and lower.C.dimf[f]==CENTER + copy_open=True;copy_reads=0;copies+=1 + elif op==ERASE: + assert copy_open and a==WORK and f==lower.ZERO and copy_reads==SCATTER + copy_open=False;erases+=1 + else:raise AssertionError('unexpected stage opcode') + data=PACK.pack(*row);digest.update(data);program.update(data);opcode_counts[op]+=1 + assert not copy_open and adds==physical['weighted_scalar_events'] and copies==erases==CENTERS + assert stage_paid==Counter({int(k):n for k,n in physical['paid_histogram'].items()}) + assert coefficient=={int(k):v for k,v in physical['coefficient_histogram'].items()} + paid.update(stage_paid) + stages.append(dict(stage=stage,sha256=digest.hexdigest(),weighted_additions=adds, + fresh_copies=copies,erasures=erases,paid_histogram=dict(sorted(stage_paid.items())), + source_owner=BANKS[ACTIVE[stage][0]],target_owner=BANKS[ACTIVE[stage][1]], + complemented_reverse=stage in(1,3),work_family=WORK)) + if stage in(1,2,4): + which={1:0,2:1,4:2}[stage] + for row in lower.iter_idle(which): + paid[row[4]]+=1;program.update(PACK.pack(*row));opcode_counts[IDLE]+=1 + for row in lower.iter_bridges(which): + program.update(PACK.pack(*row));opcode_counts[BRIDGE]+=1 + for row in lower.iter_completions(): + paid[row[4]]+=1;program.update(PACK.pack(*row));opcode_counts[COMPLETE]+=1 + for row in lower.iter_exchanges(): + program.update(PACK.pack(*row));opcode_counts[EXCHANGE]+=1 + assert opcode_counts[EXCHANGE]==2*V + expected=Counter({int(k):5*n for k,n in raw['one_stage_helper_histogram_including_copies'].items()}) + expected.update({r:2*V for r in IDLE_RANKS}) + expected.update({5*int(a):n for a,n in raw['auxiliary_entrance_rank_histogram'].items()}) + assert paid==expected and sum(paid.values())==raw['five_stage_profile']['calls'] + assert sum(r*n for r,n in paid.items())==raw['five_stage_profile']['rank_mass'] and LIVE*M-sum(r*n for r,n in paid.items())==DEFICIT + assert opcode_counts[BRIDGE]==6*V and opcode_counts[COMPLETE]==expect('entrances',opcode_counts[COMPLETE]) + # Independent four-bank all-column F2 composition, no source helper replay. + def bank_endpoint(skip_bridge=None): + banks=[1<','exec'),m.__dict__);scalar=m.replay();scalar_sha=scalar_digest.hexdigest();print('PASS independent F2 event observer',scalar_count,scalar_sha,dict(scalar_coeff),flush=True) + state={i:W.w['source_frame'][i]for i in range(v)};state.update({v+t:ZERO for t in range(v)});state.update({2*v+j:W.gauge[r]['frame']if r in W.gauge else ZERO for j,r in enumerate(regs)});initial_state=state.copy();caps={t:W.register(W.module.kernel([C.cov[t]],W.h)[0])for t in range(v)} + records=array('i');hist=Counter();categories=Counter();coefficients=Counter();centers=[];center=None;used_frames=set(state.values());subcache={};count=0;tag_hash=hashlib.sha256();projection=hashlib.sha256() + # The line binding is checked against the exact generated source digest below. + tags={43:("group['frame']",'equal_inverse'),50:("group['frame']",'rank_inverse'),56:("group['frame']",'echelon_inverse'),62:("W.gauge[s]['frame']",'paired_alias_corruption'),67:("W.gauge[s]['frame']",'fresh_source_read'),81:("W.gauge[s]['frame']",'echelon_read'),96:("read_frames[s,k]",'equal_read'),98:("read_frames[s,k]",'equal_corruption'),108:("W.gauge[s]['frame']if s in W.gauge else ZERO",'dirty_read'),113:("W.opframe[i]if sign==1 else FULL",'gate'),116:("W.w['source_frame'][n]",'inject'),120:("kpair[r['source']]['mix_frame']",'gauge_mix'),127:("kpair[b]['mix_frame']",'partner_mix'),133:('ZERO','center'),137:('ZERO','echelon_setup'),142:('ZERO','rank_setup'),147:('ZERO','equal_setup'),151:('ZERO','terminal_pre'),159:('f','anchor_inject'),166:('W.opframe[i]','terminal_write'),172:("e['root_frame']",'terminal_post'),181:("W.w['root_frame'][j]",'side_root'),184:("kpair[b]['mix_frame']",'partner_mix'),186:("e['deliver_frame']",'partner_delivery'),189:('FULL','partner_cleanup'),192:('FULL','partner_cleanup'),201:('FULL','anchor_restore'),204:('FULL','partner_cleanup'),205:('FULL','uninject')} + category_names=sorted(set(k for f,k in tags.values())|{'forward_gate','cleanup_gate'});kind_ids={k:i for i,k in enumerate(category_names)} + def move(i,f): + used_frames.add(f);old=state[i] + if old==f:return + if(old,f)not in subcache:subcache[old,f]=C.sub(old,f) + assert subcache[old,f],('physical descent',i,old,f,C.dimf[old],C.dimf[f]) + d=C.dimf[f]-C.dimf[old];assert d>=0 + records.extend((0,i,old,f,d,0)) + if d:hist[d]+=1 + state[i]=f + def physical_add(x,c,y,f,kind): + nonlocal count + assert x!=y;move(x,f);physical_y=y + if kind=='center':assert center is not None and center['source']==y and f==ZERO;physical_y=n + else:move(y,f) + records.extend((1,x,physical_y,c,f,kind_ids[kind]));digest_add(projection,[x,y,c]);digest_add(tag_hash,[x,physical_y,c,f,kind]);count+=1;categories[kind]+=1;coefficients[abs(c)]+=1 + return x + def center_begin(source,frame): + nonlocal center + assert center is None;move(source,frame);rank=C.dimf[frame];assert rank==S['center_rank'];hist[rank]+=1 + center=dict(source=source,frame=frame,rank=rank,first_event=count,temporary=n,copy_output_frame=ZERO);centers.append(center);records.extend((2,source,n,frame,ZERO,rank)) + def center_end(): + nonlocal center + assert center is not None;center['after_event']=count;center['scatter_reads']=count-center['first_event'];assert center['scatter_reads']==S['scatter_reads'] + records.extend((3,center['source'],n,center['frame'],ZERO,center['rank']));center=None + class Tag(ast.NodeTransformer): + def visit_Call(self,node): + self.generic_visit(node) + if isinstance(node.func,ast.Name)and node.func.id=='add'and node.lineno<=205: + frame,kind=tags[node.lineno];node.func.id='physical_add';kindnode=ast.parse("'forward_gate'if sign==1 else'cleanup_gate'",mode='eval').body if kind=='gate'else ast.Constant(kind);node.args += [ast.parse(frame,mode='eval').body,kindnode] + return node + q=Tag().visit(ast.parse(source));fn=q.body[0];end=next(i for i,z in enumerate(fn.body)if isinstance(z,ast.If)and ast.unparse(z.test)=='binary');fn.body=fn.body[:end]+[ast.parse('return dict(center_reads=len(center_reads))').body[0]] + fn.body=[z for z in fn.body if not(isinstance(z,ast.FunctionDef)and z.name=='add')] + for node in ast.walk(fn): + if isinstance(node,ast.Assign)and any(isinstance(t,ast.Name)and t.id=='unit'for t in node.targets):node.value=ast.parse('lambda i:i',mode='eval').body + if isinstance(node,ast.FunctionDef)and node.name=='target_move':node.body.insert(0,ast.parse('move(v+t,f)').body[0]) + if isinstance(node,ast.FunctionDef)and node.name=='source_move':node.body.insert(0,ast.parse('move(physical_id(s),f)').body[0]) + # Modify the center loop without changing any scalar expression or event order. + centerloop=next(z for z in fn.body if isinstance(z,ast.For)and z.lineno==129) + centerloop.target=ast.parse('(j,(r,s))',mode='eval').body;centerloop.target.ctx=ast.Store();centerloop.target.elts[0].ctx=ast.Store();centerloop.target.elts[1].ctx=ast.Store() + for z in centerloop.target.elts[1].elts:z.ctx=ast.Store() + centerloop.iter=ast.Call(func=ast.Name(id='enumerate',ctx=ast.Load()),args=[centerloop.iter],keywords=[]) + block=centerloop.body[0];assert isinstance(block,ast.If);block.body.insert(0,ast.parse("center_begin(value(s),W.w['root_frame'][j])").body[0]);block.body.append(ast.parse('center_end()').body[0]) + ast.fix_missing_locations(q);body=ast.unparse(q); + if D is not None:(D/'generated-physical-word.py').write_text(body+'\n') + m.__dict__.update(dict(physical_id=physical_id,move=move,physical_add=physical_add,center_begin=center_begin,center_end=center_end,ZERO=ZERO,FULL=FULL)) + exec(compile(q,'','exec'),m.__dict__);local=m.replay('token');assert center is None + for i in range(v):move(i,FULL) + for t in range(v):move(v+t,caps[t]) + for j,r in enumerate(regs):move(2*v+j,FULL) + assert count==scalar_count and projection.hexdigest()==scalar_sha and coefficients==scalar_coeff + assert len(centers)==S['centers'] and local['center_reads']==S['center_reads'] + result=dict(status='PASS_PHYSICAL_P10_EXACT_SCALAR_PROJECTION_AND_MONOTONE_FRAME_TAGS',scalar_source_sha256=sha(source.encode()),scalar_projection_sha256=scalar_sha,tagged_scalar_sha256=tag_hash.hexdigest(),weighted_scalar_events=count,coefficient_histogram=dict(coefficients),categories=dict(categories),category_names=category_names,physical_registers=n,independent_dirty_registers=len(regs),source_heads=len(m.borrow),positive_rank_moves=sum(hist.values())-S['centers'],copied_centers=len(centers),copied_center_blocks=centers,center_scatter_reads=local['center_reads'],paid_histogram=dict(sorted(hist.items())),paid_rank_mass=sum(k*v for k,v in hist.items()),initial_independent_entrances=dict(Counter(C.dimf[initial_state[2*v+j]]for j in range(len(regs))if C.dimf[initial_state[2*v+j]])),used_frames=[dict(frame_id=f,dimension=C.dimf[f],basis_sha256=sha(json.dumps(C.B[f],separators=(',',':')).encode()))for f in sorted(used_frames)],input_pins=dict(source_pins or {}),physical_emitter_sha256=sha(Path(__file__).read_bytes())) + + if D is not None: + (D/'physical.json').write_text(json.dumps(result,indent=2)+'\n') + (D/'records.bin.gz').write_bytes(gzip.compress(records.tobytes(),mtime=0)) + print('PASS PHYSICAL',count,'records',len(records)//6,'rankmass',result['paid_rank_mass'],'tagged',result['tagged_scalar_sha256'],flush=True) + + return dict(context=m.__dict__,W=W,C=C,records=records,physical=result,initial_state=initial_state,ZERO=ZERO,FULL=FULL,result=result,scalar_result=scalar) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/REPIN.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/REPIN.md new file mode 100644 index 0000000000..49765da9d9 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/REPIN.md @@ -0,0 +1,60 @@ +# Re-pinning the package for new module data + +These steps install a new `pm_p10.json` or `qmod_p10.json` (or a new local design) and re-pin the package. They +are tools, not part of the proof: the result is accepted only by a fresh strict `verify.py` run. + +Run all commands from the package root, with Python 3.11+ and sympy 1.14.0. Every `--work`, `--emit` and +`--output` directory must be new and outside the package. + +1. **Install the data.** Copy the new files into `bitword/producer/data/` under the same names. +2. **Build the word.** + + ```sh + python3 -B bitword/producer/regenerate.py --work W1 --solve-matching --emit E + ``` + + This runs on a scratch copy of `bitword/producer`. It recomputes the carrier matching and freezes it, then + compiles on the frozen arcs, so frame ids follow the frozen arc order. It then runs `make_physical.py + --bank-parity` and `descent.py`. + + The log prints any `bank divisibility: dropped pair` lines. Pairs are dropped only when 60·width is not a + multiple of m = 100; record the dropped pairs in `bitword/README.md` and `BANK-PROOF.md`. +3. **Install the word.** Copy `E/selected/*` to `bitword/selected/bit/` and `E/arcs_p10.json` to + `bitword/producer/data/`. +4. **Record the pins.** + + ```sh + python3 -B discovery/repin.py --output R1 # dry run: prints every pin that changes + python3 -B discovery/repin.py --output R2 --write # writes word-pins.json and MANIFEST.json + ``` + + This runs `verify.replay()` with `word_pins.RECORD` switched on. Every structural assertion, control and exact + certificate still runs and must pass, including the bank tiling, which needs no padding. +5. **Check the build.** + + ```sh + python3 -B bitword/producer/regenerate.py --work W2 + python3 -B verify.py --output V + ``` + + The first command must report the byte-exact regeneration; the second must PASS under strict pins. +6. **Update the documents.** The numbers in `README.md`, `PROOF.md`, `BANK-PROOF.md`, `bitword/README.md` and + `PR-STATEMENT.md` change with the word; every changed pin is printed in step 4. Then refresh the manifest and + rerun the strict verification: + + ```sh + python3 -B -c "import sys; sys.path.insert(0,'discovery'); import repin; print(repin.manifest(True))" + python3 -B verify.py --output V2 + ``` + +Transplanting a different complex supplier is a separate operation. It replaces: + +- the gcert, `source-pins.json` and provenance files in `inputs/complex/`; +- `code/complex_{labels,scalars,splice}.py`; +- the re-pinned literals of `portable_complex.py`; +- the `complex_supplier()` block of `math_check.py`, i.e. the profile pins and the fallback-inclusive and + no-fallback roots. + +Keep `code/complex_gx.py`, the vendored `inputs/complex/sources/tools__gx__gx.py` with its entry in +`source-pins.json`, and the program-check call in `portable_complex.py`. After a transplant, the dry run of step 4 +must change only `kappa` and `binding`. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/repin.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/repin.py new file mode 100644 index 0000000000..291745c26f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/discovery/repin.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +"""Mechanical re-pinning after a new bit word (new module data) is installed. Not part of the proof. + + python3 -B discovery/repin.py --output /new/scratch/dir (dry run: prints the changed pins) + python3 -B discovery/repin.py --output /new/scratch/dir --write (writes word-pins.json and MANIFEST.json) + +It runs verify.replay(), the exact stage sequence of verify.py, in this process with word_pins.RECORD switched on, +so every expect(name, value) records the value of the installed word instead of asserting it. Every structural +assertion, control and exact certificate still runs and must pass. verify.py itself always runs with +RECORD = None (it asserts so), so after --write the new pins are checked by a fresh, strict `verify.py` run. +See discovery/REPIN.md for the whole procedure. Prepared by DreamingOfClouds with Anthropic Claude assistance; +Apache-2.0. +""" +import argparse, hashlib, importlib.util, json, sys, time +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT)) +sys.dont_write_bytecode = True + + +def manifest(write): + p = ROOT / 'MANIFEST.json'; old = json.loads(p.read_text()); files = {} + for q in ROOT.rglob('*'): + assert not q.is_symlink(), q + if q.is_file() and q != p: + assert '__pycache__' not in q.parts and q.suffix != '.pyc' and q.name != '.DS_Store', q + files[q.relative_to(ROOT).as_posix()] = hashlib.sha256(q.read_bytes()).hexdigest() + changed = sorted(k for k in set(files) | set(old['files']) if files.get(k) != old['files'].get(k)) + if write: + p.write_text(json.dumps(dict(files=dict(sorted(files.items())), schema=old['schema']), indent=1, sort_keys=True) + '\n') + return changed + + +def main(): + if not __debug__: raise SystemExit('assertions required') + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--output', type=Path, required=True); ap.add_argument('--write', action='store_true') + a = ap.parse_args(); out = a.output.resolve(); assert not out.exists() and not out.is_relative_to(ROOT); out.mkdir(parents=True) + import word_pins + assert Path(word_pins.__file__).resolve() == ROOT / 'word_pins.py' + old = dict(word_pins.PINS); word_pins.RECORD = {} + spec = importlib.util.spec_from_file_location('repin_verify', ROOT / 'verify.py'); verify = importlib.util.module_from_spec(spec); spec.loader.exec_module(verify) + results, timings = {}, {} + def save(name, value): (out / name).write_text(json.dumps(verify.serial(value), sort_keys=True, indent=2) + '\n') + t = time.monotonic(); verify.replay(out, results, timings, save) + new = dict(sorted(word_pins.RECORD.items())) + for k in sorted(set(old) | set(new)): + if old.get(k) != new.get(k): + print('PIN', k, ':', json.dumps(old.get(k))[:160], '->', json.dumps(new.get(k))[:160]) + (out / 'word-pins.json').write_text(json.dumps(new, indent=1, sort_keys=True) + '\n') + if a.write: + (ROOT / 'word-pins.json').write_text(json.dumps(new, indent=1, sort_keys=True) + '\n') + print('wrote word-pins.json; MANIFEST changes:', manifest(True)) + else: + print('dry run; MANIFEST would change:', manifest(False)) + print('recorded %d pins in %.0fs; now run verify.py (strict) on a new output directory' % (len(new), time.monotonic() - t)) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/finite_check.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/finite_check.py new file mode 100644 index 0000000000..9faeeab3a7 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/finite_check.py @@ -0,0 +1,130 @@ +"""Finite bill for the literal 60-replica banked five-stage p = 10 word (source527 finite bill, rebound). +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +Retains PR234exact-tape/prime/ordinary-leaf hypotheses, and pays bankroutes. +p = 10 port (DreamingOfClouds, Anthropic Claude assistance): m = 5h, d = m^2, N = 2m, the 2h-dimensional rational +route (its factor counts pinned), h copied-centre temporaries and 5h copy/erase episodes per replica; the data +route families stay 20v + 4v (five stages of 4v data families plus the final exchange); word counts pinned. +""" +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import importlib.util,json +from word_pins import expect,shape +HERE=Path(__file__).resolve().parent +THEOREM_PINS={ + 'proof/three-stage-cover-bit.tex':'47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511', + 'proof/three-stage-cover-rows.tex':'6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8', + 'proof/copied-centers-lemma.tex':'d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe'} +def ceilq(x):return -((-x.numerator)//x.denominator) + +def cutoff_log2(delta,C): + assert 0=1 + return max(1,ceilq(36/delta**2),ceilq(2*(4+(C-1).bit_length())/delta)) + +def hist(x):return Counter({int(k):v for k,v in x.items()if v}) + +def route_template(h): + """Recompute the actual 2h-dimensional rational route (48 at h = 24, 40 at h = 20), not its receipt.""" + I=lambda n:[[Q(i==j)for j in range(n)]for i in range(n)] + q=[int(i<3)for i in range(h)] + P=[[Q(q[i])*(Q(q[j])-Q(1,3))/2 for j in range(h)]for i in range(h)] + K=[[Q(i==j)-P[i][j]for j in range(h)]for i in range(h)] + rho=[P[i]+K[i]for i in range(h)]+[K[i]+P[i]for i in range(h)] + a=[r[:]for r in rho];factors=[] + for j in range(2*h): + p=next(i for i in range(j,2*h)if a[i][j]) + if p!=j:a[j],a[p]=a[p],a[j];factors.append(('swap',j,p,None)) + if a[j][j]!=1: + c=1/a[j][j];a[j]=[c*x for x in a[j]];factors.append(('scale',j,None,c)) + for i in range(2*h): + if i!=j and a[i][j]: + c=-a[i][j];a[i]=[x+c*y for x,y in zip(a[i],a[j])];factors.append(('add',i,j,c)) + assert a==I(2*h) + def replay(omit=None): + a=I(2*h) + for z in reversed(range(len(factors))): + if z==omit:continue + kind,i,j,c=factors[z] + if kind=='swap':a[i],a[j]=a[j],a[i] + elif kind=='scale':a[i]=[x/c for x in a[i]] + else:a[i]=[x-c*y for x,y in zip(a[i],a[j])] + return a + assert replay()==rho + assert replay(next(i for i,f in enumerate(factors)if f[0]=='add'))!=rho + counts=dict(Counter(f[0]for f in factors));denoms=sorted({c.denominator for kind,i,j,c in factors if c is not None}) + expect('route_factor_counts',counts);assert denoms==[1,2,3,6] + serialization=[[kind,i,j,None if c is None else str(c)]for kind,i,j,c in factors] + return dict(factors=len(factors),factor_counts=counts,denominators=denoms, + factor_program_sha256=sha256(json.dumps(serialization,separators=(',',':')).encode()).hexdigest(), + exact_inverse_reconstruction=True,missing_addition_rejected=True) + +def run(raw,physical,scalar,prime_result,math_result,banks,banked_result,global_result): + for name,h in THEOREM_PINS.items():assert sha256((HERE/name).read_bytes()).hexdigest()==h,('changed theorem',name) + bit=(HERE/'proof/three-stage-cover-bit.tex').read_text();rows=(HERE/'proof/three-stage-cover-rows.tex').read_text();copied=(HERE/'proof/copied-centers-lemma.tex').read_text() + for s in ('constants are independent of $w,n$ and ancestor values','absorbed by the complete $q^w$ target fiber','spectator counters','32m^2','only units are inverted'):assert s in bit + for s in ('W(w)^{D(n)}','padding factor is less than two','below $q^2$'):assert s in rows + assert 'Copying, pointwise reads and erasure are linear'in copied and'fixed work stream'in copied + S=shape();h=S['h'] + assert raw['physical_R']==expect('physical_R',raw['physical_R']) and raw['v']==S['v'] and raw['h']==h and raw['source_aliases']==0 + assert scalar['forward']['event_sha256']==physical['scalar_projection_sha256']==global_result['scalar_projection_sha256'] + assert physical['tagged_scalar_sha256']==global_result['local_tagged_sha256'] + f,b=scalar['forward'],scalar['inverse'];n=2*raw['v']+raw['physical_R'] + for row in(f,b): + assert row['all_source_and_dirty_restored']and row['arbitrary_target_contents_preserved']and row['all_formal_columns']==n + assert row['weighted_additions']==physical['weighted_scalar_events']==expect('weighted_scalar_events',row['weighted_additions']) + assert hist(row['coefficient_counts'])==hist(physical['coefficient_histogram']) + assert row['literal_unit_additions']==sum(c*v for c,v in hist(row['coefficient_counts']).items())==expect('literal_unit_additions',row['literal_unit_additions']) + assert f['max_intermediate_row_l1']==expect('forward_max_row_l1',f['max_intermediate_row_l1']) and b['max_intermediate_row_l1']==expect('inverse_max_row_l1',b['max_intermediate_row_l1']) + assert raw['parity_transform']['both_reflected_ledgers'] and raw['parity_transform']['remaining_payload_additions']==expect('surviving_additions',raw['parity_transform']['remaining_payload_additions']) + assert raw['parity_transform']['removed_even_add_count']==expect('removed_even_adds',raw['parity_transform']['removed_even_add_count']) + assert physical['copied_centers']==S['centers'] and len(physical['copied_center_blocks'])==S['centers'] + assert all(z['rank']==S['center_rank'] and z['scatter_reads']==S['scatter_reads'] for z in physical['copied_center_blocks']) + assert hist(physical['paid_histogram'])==hist(raw['one_stage_helper_histogram_including_copies']) + assert prime_result['all_remaining_factors_below_2_power_80']and prime_result['physical_inventory_bound'] + assert prime_result['independent_entrances']==expect('entrances',prime_result['independent_entrances']) and prime_result['bundled_unique_bases']==expect('entrance_bases',prime_result['bundled_unique_bases']) + assert hist(prime_result['entrance_rank_counts'])==hist(raw['auxiliary_entrance_rank_histogram']) + assert banks['conservative_extra_selector_calls']==expect('extra_selector_calls',banks['conservative_extra_selector_calls']) and banks['normalizer_factor_bound']==expect('normalizer_factor_bound',banks['normalizer_factor_bound']) + assert banks['physical_replicas']==S['replicas'] and banks['literal_stock']==expect('literal_stock',banks['literal_stock']) and banks['assignments']==5*S['replicas']*raw['physical_R'] + assert banked_result['all_assignments_match']and banked_result['all_logical_helpers_bound']and banked_result['independent_completions_removed']==expect('entrances',banked_result['independent_completions_removed']) + m=S['m'];v=raw['v'];R=raw['physical_R'];T=banks['physical_replicas'];stock=banks['literal_stock'];d=m*m;N=2*m + H=hist(raw['five_stage_profile']['histogram']);assert H==hist(global_result['paid_histogram']) + for a,cnt in hist(raw['auxiliary_entrance_rank_histogram']).items():assert H.pop(5*a)==cnt + literal=Counter({r:T*cnt for r,cnt in H.items()});E=sum(literal.values());mass=sum(r*cnt for r,cnt in literal.items()) + assert m*stock-mass==T*S['deficit'] and max(literal)==S['idle'][2] and Q(max(literal),m)0 and delta1>0 + chain=[Q(384599,10**10)];gaps=[] + for j in range(3): + old=chain[-1];a=(1-c)*c+c*old;ds=dict(atom=c-a,borrowing=1-a-c,remainder=1-a-c*(1-old),stock=1-c);assert old0 + delta=min(ds.values());L=cutoff_log2(delta,coefficient);assert Q(L)*delta**2>=36 and Q(L)*delta>=2*(4+(coefficient-1).bit_length()) + gaps.append(dict(stage=j+1,gaps={k:str(x)for k,x in ds.items()},minimum_gap=str(delta),cutoff_log2_at_charged_coefficient=str(L),full_cutoff_rule='Apply cutoff_log2(delta, C_full), where C_full bounds the displayed coefficient times every inherited primitive, wrapper and preceding ordinary-level constant.'));chain.append(a) + assert list(map(Q,mathematics['ordinary_bootstrap_chain']))==chain + controls=[] + for name,test in [('zero cutoff gap',lambda:cutoff_log2(Q(0),coefficient)),('negative constant',lambda:cutoff_log2(Q(1,2),0))]: + try:test() + except AssertionError:controls.append(name) + else:raise AssertionError('bad finitecutoff accepted') + expect('finite_coefficient',coefficient) + return dict(status='PASS_LITERAL_PARITY_FUSED_BANKED_FIVE_STAGE_P10_FINITE_BILL',theorem_pins=THEOREM_PINS,source_binding=dict(event=physical['scalar_projection_sha256'],tagged=physical['tagged_scalar_sha256'],global_program=global_result['program_sha256']),paid_inventory=dict(m=m,literal_stock=stock,physical_replicas=T,positive_rank_children=E,rank_mass=mass,weighted_additions=weighted,unit_expanded_additions=unit,bridge_additions=T*6*v,route_families=J,terminal_exchange_stream_movements=T*4*v,high_affine_factors=J*high,low_transposition_coefficient=J*(stock+h),generic_wrappers=E*good,matrix_preparation=E*128*N**3,copy_erase_episodes=5*h*T,fallback_per_child=32*m*m,extra_bank_selector_calls=K,normalizer_factor_bound=banks['normalizer_factor_bound'],simultaneous_extra_work_streams=1,payload_prefix_upper=payload,payload_prefix_bits=payloadbits),q_power_bound=dict(coefficient=coefficient,low_matrix_power=d,strict_upper='q^'+str(d+1)),rational_route=route,row_reserve=row_reserve,moment=dict(coarse=str(c),tau=str(1-c),delta_tau_lower=str(delta_tau),delta_linear=str(delta1),fallback_added_in_full=True),recurrence=dict(bound='A*(n+n^(1-c)*w^(1-a_j))',A='C*(1+1/delta_linear+1/delta_tau)',halving_degree=1,one_level_histogram=True),bootstrap=dict(chain=list(map(str,chain)),ordinary=str(chain[-1]),gaps=gaps),rejected_controls=controls,scope='Actual60replicas/literalbankstock andallfixedbanknormalizerschargedbefore finiteordinaryleaf absorption. Inheritedweightedcompiler,commonancestorchart,restoredrow,routing,prime,recoveryandanalyticinterfacesremainconditional.') diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/LICENSE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/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/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE new file mode 100644 index 0000000000..63aa295646 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE @@ -0,0 +1,290 @@ +Walsh-Hadamard power saving (wht-power-saving-lean) +Copyright 2026 Jacob Sussman + +Repository: https://github.com/jacobalansussman/wht-power-saving-lean + +This repository is not a project of OpenAI. OpenAI did not write, review or +endorse it. The package name "OAI" and the namespace "OAI.PowerSaving" are +those of openai/math and are kept only because the new files extend that +development. + +This repository is not a project of CrocSwap/integer-mult-bounds either. Its +authors did not write, review or endorse it. Section 6 says what is taken +from their repository. + +This repository contains files from, and files derived from, the repository +"openai/math" (https://github.com/openai/math), family 130, "Exact Fourier +transforms below n log n", at commit fd4aeeb2ee4fc729c18d98444fed42fd0529eeeb. +That repository is published under the Apache License, Version 2.0. A copy of +the licence is in the file LICENSE. The upstream repository has no NOTICE file +and its licence text names no copyright holder; the files are attributed here +to the authors of openai/math (OpenAI). + +1. Unmodified upstream files. + The 89 files under OAI/Computability/ are byte-for-byte copies of the files + with the same paths under lean/ in openai/math at the commit above. They + have not been changed. Modified copies of some of them are under + Work/Fourier/ and are listed in section 7. + One more file of openai/math is here unchanged, outside the Lean build: + third-party/openai-math/lean/ComparatorChallenges/UniformFourier.lean is a + byte-for-byte copy of lean/ComparatorChallenges/UniformFourier.lean at the + commit above (the statement of OpenAI's Fourier challenge). It is included + so that the modified copy named in section 2 can be compared with it. + +2. Files that contain upstream text. + - Work/CarrierCheck/ChallengeB2Ke16x.lean, + Work/CarrierCheck/ChallengeB2Ke16xR.lean, + Work/GCert/Data/ChallengeB2Gp193x.lean and the text template + tools/gen/templates/ChallengeB2L16x.lean.txt each contain, as their + lines 22-270, lines 9-257 of + lean/ComparatorChallenges/UniformFourier.lean of openai/math (the RAM cost + model), unchanged. Everything else in these files was written for this + repository. + - Work/Fourier/UniformFourierChallenge.lean is a modified copy of + lean/ComparatorChallenges/UniformFourier.lean of openai/math (the + statement of OpenAI's Fourier challenge, 336 lines). Changes: a comment + was added at the top; the exponent 1 - 1/(10^(13:ℕ)) was replaced by + 1 - 7474546/(10^(10:ℕ)); seven names received the suffix "Z" + (decimalExponent, decimalTime, TimeBounds, DFTGoal, ConvGoal, + transform_main, convolution_main). Everything else in the file is the + upstream text, unchanged. See section 7. + - Work/Scratch/Engine.lean and Work/Block/Engine.lean contain copies of + proofs of openai/math, changed for this repository: sections 1, 2 and 5 + of Work/Scratch/Engine.lean are upstream proofs with the batch layout + renamed, and both files contain a copy of the private upstream theorem + "hills_project" (lean/OAI/Computability/FourierTransform/ + TensorProgram.lean) with its envelope generalised. The comments in the + two files mark these places. + - lakefile.lean is adapted from lean/lakefile.lean of openai/math: the same + package name, toolchain, package option and Mathlib pin; every other + dependency was removed and the libraries of this repository were added. + lean-toolchain is a byte-for-byte copy of lean/lean-toolchain. + lake-manifest.json lists Mathlib and its dependencies at the revisions of + lean/lake-manifest.json. + - RELATED-WORK.md reproduces the BibTeX entries of two manuscripts of + openai/math. + +3. New files that build on upstream proofs. + The other files under WHTCheck/ and Work/ were written for this + repository. They import the upstream files, and several of them generalise + or adapt proofs of upstream files (for example Work/Block/Recursion.lean, + which says so in its header). They are changes and additions made for this + repository and are not part of openai/math. + +4. How the new files were made. + Jacob Sussman made the new files on 2026-10-08 and 2026-10-09 by directing + a team of AI agents (Claude). The agents wrote the new Lean files, the + certificate data and the generator scripts. See README.md, section 4. + +5. Ideas taken from other public work. + The network of the first result uses ideas published by others, among them + the helper circuit "NStar3" (Swapnil-jain/integer-mult-kappa, which credits + CrocSwap pull request #36 and Paureel for parts of it), its transfer to + family 130 (shea256/fourier-transform-below-nlogn), and "carrier links" and + "whole-residual batching" (pull requests to CrocSwap/integer-mult-bounds). + No file of Swapnil-jain/integer-mult-kappa or of + shea256/fourier-transform-below-nlogn is included here. One comment in + Work/Scratch/Engine.lean quotes three counts reported in + Swapnil-jain/integer-mult-kappa and names that source. The general frame + lemma that Work/GFrame proves is stated in + notes/general-clifford-frames.tex of CrocSwap/integer-mult-bounds; its Lean + proof was written for this repository. The credits, with links, are in + RELATED-WORK.md. + +6. Data derived from CrocSwap/integer-mult-bounds (second result). + The helper circuit of the second result is the paired-cube circuit of the + repository "CrocSwap/integer-mult-bounds" + (https://github.com/CrocSwap/integer-mult-bounds), in the state of its pull + request #193. It is the design of that community: icekylinx (pull requests + #144 and #184), eumemic (#168, and #117 behind its modules), ikeboy / + Avi Eisenberg (#191 and #193), with an664 (#128) credited there for the + workspace-sharing principle. That repository is published under the Apache + License, Version 2.0 (the same licence text as the file LICENSE). Its + NOTICE file begins "A sharper exponent for integer multiplication / + Copyright 2026 Douglas Colkitt" and says that the community release "is + not solely Douglas Colkitt's work". A complete copy of that NOTICE file, as + it is at the head of pull request #193, is in + third-party/CrocSwap-integer-mult-bounds/NOTICE. + + The data were taken from these files of that repository. They were loaded + as data by programs written for this repository; no program of that + repository was run, and none is included here. + - at the head of pull request #168 (eumemic), + 4a3c769e5c5430e7114c4d3e099ff34664677f17: + references/paired-cube/sources/local_L1.json + references/paired-cube/sources/tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json + references/paired-cube/sources/pmod_J0_full_6.0666810e-4.json + references/paired-cube/sources/qmod_climb3u_best.json + references/paired-cube/selected-module/matching-arcs.json + references/paired-cube/physical/frames.json + - at the head of pull request #193 (ikeboy), + 187e1010ac8b259af8e9b5166f68b64bc27b4b47: + research/source-assisted-v4/data/physical-pairs.json + + Files of this repository that contain data derived from them: + tools/certificate/gcert1-p11-pr193.json.gz and the Lean data modules + generated from it, Work/GCert/Data/Gen/P193*.lean and the files they import + from Work/GCert/Data/Gen/P193/; its block counts are also in the generated + modules Work/GCert/Data/P193Price.lean, RateB2Gp193.lean, RateB2Gp193x.lean + and InstB2Gp193.lean. + Changes made: the circuit was rebuilt from those data as one explicit, + renumbered list of additions with a table of frames, in the certificate + format "gcert/1" of this repository; its 1,980 in-place steps were written + as pairs of additions with rescaled coefficients; the Lean data modules + were generated from that list. No file of that repository is included + unchanged, except the copy of its NOTICE file named above. + + Notices of that NOTICE file that pertain to these data, quoted: + + Paired-cube and shared-core extension, 9 October 2026 + Copyright 2026 icekylinx + + Source-assisted common-frame extension (2026-10-09) + Copyright 2026 icekylinx. Apache-2.0. + Substantial dependency: eumemic PR168, + fd25adb7fbaa12ee761d02c733c54d1d2a7687ee + + The full text of both notices, and the notices of the work they build on, + are in the copy named above. The credits, with links and with the words of + pull request #193 about its own sources, are in README.md ("Whose circuit + this is") and in RELATED-WORK.md, section 1. + +7. Modified copies of upstream files (third result). + The files listed below are copies of files of openai/math at the commit + above, changed for this repository. Each begins with a comment that names + the upstream file it is derived from and states what was changed. The + upstream originals under lean/OAI/Computability/ are in this repository + as well, unchanged (section 1), and the copies import them. The upstream + challenge file lean/ComparatorChallenges/UniformFourier.lean is in this + repository in both forms: unchanged under third-party/openai-math/ + (section 1) and modified (section 2). + + - Work/Fourier/ArbitraryLength.lean: modified copy of + lean/OAI/Computability/FourierTransform/ArbitraryLength.lean (224 + lines; 159 of them unchanged in the copy). Changes: identifiers renamed + on 64 lines (18 names: 15 with the suffix Z, 3 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/Asymptotics.lean: modified copy of + lean/OAI/Computability/FourierTransform/Asymptotics.lean (187 lines; + 112 of them unchanged in the copy). Changes: identifiers renamed on 74 + lines (32 names: 26 with the suffix Z, 6 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + - Work/Fourier/Axioms.lean: written for this repository (not a copy of an + upstream file). + - Work/Fourier/ConvolutionProgram.lean: modified copy of + lean/OAI/Computability/FourierTransform/ConvolutionProgram.lean (100 + lines; 77 of them unchanged in the copy). Changes: identifiers renamed + on 22 lines (10 names: 9 with the suffix Z, 1 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/Goal.lean: written for this repository; contains lines of + upstream files: of its 7 code lines, 6 are lines of + lean/OAI/Computability/FourierTransform/Goal.lean (original lines 35, + 75-77, 79, 81): unchanged: its lines 25; with identifiers renamed: its + lines 21, 24, 26, 28, 30. + - Work/Fourier/Main.lean: modified copy of + lean/OAI/Computability/FourierTransform/Main.lean (151 lines; 90 of + them unchanged in the copy). Changes: identifiers renamed on 59 lines + (40 names: 35 with the suffix Z, 5 with Z inserted); 1 import line + replaced by 2; 24 comment lines added; other code lines changed: 1 of + the original, 1 of the copy (copy line 59). + - Work/Fourier/Seam.lean: written for this repository; contains lines of + upstream files: of its 122 code lines, 15 are lines of + lean/OAI/Computability/FourierTransform/TensorProgram.lean (original + lines 36-37, 95-96): unchanged: its lines 93-94, 113-114, 141-142, + 163-164, 185-187, 194-196; with identifiers renamed: its lines 184; 3 + are lines of lean/OAI/Computability/FourierTransform/TensorSaving.lean + (original lines 83-84, 114): with identifiers renamed: its lines 45-46, + 59; 1 is a line of lean/OAI/Computability/FourierTransform/Main.lean + (original line 60): with identifiers renamed: its lines 213. + - Work/Fourier/SectorAlgorithm.lean: modified copy of + lean/OAI/Computability/FourierTransform/SectorAlgorithm.lean (224 + lines; 162 of them unchanged in the copy). Changes: identifiers renamed + on 61 lines (17 names: 13 with the suffix Z, 4 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/SynchronizedAlgorithm.lean: modified copy of + lean/OAI/Computability/FourierTransform/SynchronizedAlgorithm.lean (126 + lines; 94 of them unchanged in the copy). Changes: identifiers renamed + on 31 lines (12 names: 10 with the suffix Z, 1 with Z inserted, 1 + other), the other being "canopy" to "Grove.canopy" (5 lines); 1 import + line replaced by 1; 16 comment lines added; no other change to the + code. + - Work/Fourier/TransformProgram.lean: modified copy of + lean/OAI/Computability/FourierTransform/TransformProgram.lean (146 + lines; 94 of them unchanged in the copy). Changes: identifiers renamed + on 51 lines (21 names: 19 with the suffix Z, 2 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/UniformBounds.lean: modified copy of + lean/OAI/Computability/FourierTransform/UniformBounds.lean (183 lines; + 115 of them unchanged in the copy). Changes: identifiers renamed on 67 + lines (29 names: 25 with the suffix Z, 4 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + - Work/Fourier/UniformFourierChallenge.lean: modified copy of + lean/ComparatorChallenges/UniformFourier.lean (336 lines; 328 of them + unchanged in the copy). Changes: identifiers renamed on 7 lines (7 + names: 7 with the suffix Z); 12 comment lines added; other code lines + changed: 1 of the original, 1 of the copy (copy line 281). + - Work/Fourier/WorkingCompiler.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingCompiler.lean (153 + lines; 104 of them unchanged in the copy). Changes: identifiers renamed + on 48 lines (14 names: 14 with the suffix Z); 1 import line replaced by + 1; 15 comment lines added; no other change to the code. + - Work/Fourier/WorkingPreparation.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingPreparation.lean (212 + lines; 156 of them unchanged in the copy). Changes: identifiers renamed + on 55 lines (30 names: 28 with the suffix Z, 2 with Z inserted); 1 + import line replaced by 1; 15 comment lines added; no other change to + the code. + - Work/Fourier/WorkingTransform.lean: modified copy of + lean/OAI/Computability/FourierTransform/WorkingTransform.lean (119 + lines; 91 of them unchanged in the copy). Changes: identifiers renamed + on 27 lines (9 names: 8 with the suffix Z, 1 with Z inserted); 1 import + line replaced by 1; 15 comment lines added; no other change to the + code. + + Changes made to the eleven copied proof files: every declaration received + the letter "Z" in its name (as a suffix of its own name, or of the name + of the declaration it belongs to), so that it does not collide with the + upstream declaration of the same name; the upstream exponent "alpha" + (1 - 2/10^11) and the bound "hills" defined from it were replaced by + "alphaZ" (1 - 7474547/10^10) and "hillsZ", which are defined in + Work/Fourier/Seam.lean, and the single use of the upstream theorem + "hills_program" by "hillsZ_program"; the five definitions of the upstream + statement that contain its exponent (decimalExponent, decimalTime, + TimeBounds, DFTGoal, ConvGoal) were replaced by the versions of + Work/Fourier/Goal.lean, whose exponent is 1 - 7474546/(10^(10:ℕ)); + the import lines point to the copies; a header comment was added. + Two further changes: in the copy of Main.lean the same constant stands + once as the literal 2/10^11 and was replaced there too, and the two + final theorems of that copy received a documentation comment; in the + copy of SynchronizedAlgorithm.lean the name "canopy" was written out as + "Grove.canopy" in 5 places, because the short name is shadowed in the + larger environment of the copy. The script also renamed three names + inside upstream comments; the comments are otherwise the upstream ones + and describe the upstream network. + The proofs are those of openai/math. The copies were made by the script + tools/fourier/mkchain.py of this repository. + + Work/Fourier/Goal.lean contains copies of those five definitions of + lean/OAI/Computability/FourierTransform/Goal.lean, with the exponent + replaced and the suffix "Z" on the five names. + + Work/Fourier/Seam.lean was written for this repository. It repeats the + statement of the upstream theorem "hills_program" (TensorProgram.lean) and + the definition of "hills" (TensorSaving.lean) with the two names replaced; + its header says so. + + The work of others that the third result follows (danadran01, shea256, + eumemic) is credited in README.md ("Whose reduction this is") and in + RELATED-WORK.md, section 1. No file of their repositories is included + here. + +Not included in this repository and fetched by the build: Mathlib +(https://github.com/leanprover-community/mathlib4, Apache License 2.0) and its +dependencies. The comparator (https://github.com/leanprover/comparator) is a +separate tool and is not included. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE-PR304 b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE-PR304 new file mode 100644 index 0000000000..a770422c6f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/NOTICE-PR304 @@ -0,0 +1,61 @@ +Prepared by DreamingOfClouds with Anthropic Claude assistance. Apache-2.0. +Inherited files retain their original notices and assistance disclosures. +This package claims no exclusive priority over concurrent work and reports +no new kappa. + +What this package contributes: the three re-annealed query modules of the +source-assisted complex word (modules/: pair module n = 10, all-but-one +module n = 9, disjoint-triple module p = 11, found by simulated annealing +from PR168 v4's modules against the exact compile ledger of the aligned +word), one frozen compilation recipe applied to them and, as the control, to +PR168 v4's own modules (layers/), aligned_word.py (PR194's source-aligned +word with the module files and a frozen physical layer as inputs), +paircheck.py (an independent re-check of the reuse pairs with five mutation +controls), normalize_scatter.py (the star scatter by re-signing the +registers of retained totals with unit -1), the discovery driver +discovery/make_layer.py, and the four resulting programs with their checks. +Everything else is retained and credited: + +- icekylinx (OpenAI GPT-6 Astra and Codex assistance): PR144 paired cubes + and signed decoder (the K blocks and the star scatter of every program), + PR184 source-assisted construction: source-parity local factorization, + frame flow, exact lifts, contract (complex_frame_flow.py, + exact_complex_flow_lift.py, and source_aligned_local.py, from which + aligned_word.py derives through PR194). +- Avi Eisenberg (ikeboy): PR191/193/194, the rebuild of PR184's + construction on the PR168 v4 modules (source_aligned_local_v4.py, whose + code aligned_word.py keeps, contract_v4.py run here), the + parity-erasure-avoiding pairing of PR193 (the "parity" pair recipe) and + PR194's frozen pairs of the anchor. +- chafreaky / Chafik Boukhalfa (Anthropic Claude and OpenAI Codex + assistance): PR200 operation-frame descent (the frames of every layer), + maximum-weight late compensated reuse pairing (the "mw" pair recipe) and + the complete complex checker complex/physical.py (run here to admit every + layer); PR233 layer and package (vendored in references/pr233-layer/, its + discovery harness vendored in discovery/pr233/); PR256 gcert emitter + (gcert_emit.py, vendored unchanged) and the package whose structure and + checks this one mirrors; PR225 exact moment bounds (scripts/moment.py). +- Jacob Sussman (Anthropic Claude assistance): the certificate format + gcert/1, the reference checker gx.py and the Python mirror of the two + Lean checks gxcore.py (both vendored unchanged in gx/, Apache-2.0, + Copyright 2026 Jacob Sussman, jacobalansussman/wht-power-saving-lean at + f010392c), the bridged five-stage layout (Lean-checked in his repository) + in which the programs are priced, the unit convention of gxconv.py reused + by gcert_emit.py for scalings (and by normalize_scatter.py), and the + published certificate of #193 whose histogram anchors the chain + (references/sussman/). +- eumemic (Anthropic Claude and OpenAI Codex assistance): PR168 annealed + modules (the control's modules and the starting points of the annealing), + schedules and physical frames; PR117/155/157/161 module infrastructure, + physical frames and reuse; the exact-DFT arena (scripts/moment.py adapts + eumemic/exact-dft-bounds, Apache-2.0). +- DaysSky: PR162 extended carrier closure (compile_closure, and the greedy + extension in discovery/extend_floor.py). +- hcg890 (PR234), SovereignSteak (PR250: the five-stage ledger statement + used for the price), rohanarun (PR209/237). +- PR202 baseline lineage as credited in references/pr233-layer/NOTICE: + jamesyc / James Chang, DaysSky, GamingPuzzled, gupt1156, Abhinav + Ramachandran/geckods, jacklightChen / Zhihao Chen, Rohan Arun, an664, + Swapnil Jain, hpst3r, Aurel Prosz, dleen, Douglas Colkitt. +- OpenAI: the original complex phase network of "Integer multiplication + below n log n". diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/NOTICE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/NOTICE new file mode 100644 index 0000000000..af71ab694b --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/NOTICE @@ -0,0 +1,40 @@ +Provenance of inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz (local research, not published) + +Prepared by DreamingOfClouds with Anthropic Claude assistance. Apache-2.0. No exclusive priority is claimed. + +The program is the source-assisted complex word of PR #184/#194, built with PR #304's recipe on three query +modules, all shipped here: + + pmod46_ptc1_final.json centre-sharing pair module (new): besides its 45 pair outputs it returns one extra + root, the sum of all its inputs, which is the star centre S(2i+bit) + tmod_final.json disjoint-triple module (p = 11): an earlier re-annealed version (v1, 2,069 additions), + NOT PR #304's modules/tmod_cmod_v2.json (2,067 additions) + qmod_q1_snap1.json all-but-one module: the same args and roots as PR #304's modules/qmod_cmod.json + +How it was built. PR #304's aligned_word.py cannot build this graph unchanged: its pair-module loader expects 45 +roots, and PR #144's Graph.finish sums every centre separately. The program was built by a local loader +(agent-cmod's cmgraph.build46 / exact_chain.py, not shipped). It loads the 46-root pair module and runs PR #144's +scripts/paired_cube/graph.py with the 10-line Graph.finish patch centre46_graph.diff (icekylinx, Apache-2.0; +graph.py itself is not vendored here). When a pair module returns more roots than pairs, the patched graph uses +the extra root as the centre instead of summing it separately; with any other module it is unchanged. The rest +of the recipe is PR #304's: + +- the merge f8:00111100 and coordinate frames; +- PR #233's maximum-weight late compensated reuse pairing; +- PR #184's frame flow and exact lift; +- PR #256's gcert_emit.py (credits in ../NOTICE-PR304). + +A separate local audit rebuilt the graph from this patch and these modules and reproduced the program's graph +exactly. + +exact_result.json is the exact chain's record: flow R = 9,036 and W = 4v + R = 14,316 at m = 110, gx.check1 +ACCEPTED, and the five-stage saving 7727/10^7 certified with 7728/10^7 rejected (priced without the 10^-16 +fallback). The emitter wrote the scatter as the star rule directly (every retained-total unit is +1), so no +normalize_scatter.py step was needed. The gzip file is gzip.compress(gcert1.json, compresslevel=9, mtime=0) of +the emitted bytes. Its JSON keys are not in canonical (sorted) order, and it records derived_from +'agent-cmod candidate'. The bytes are kept as emitted, because a separate Lean run checks exactly these bytes. + +verify.py consumes only the gcert/1 program. Every run checks it fresh with Jacob Sussman's gx.check1 (exact +scalar identity) and gxcore mirror (code/complex_gx.py), and prices it with the 10^-16 fallback included +(772714351296671/10^18; without the fallback, 772714354722691/10^18). The files in this directory are not read +by any check. No Lean check of this program is pinned in this package. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff new file mode 100644 index 0000000000..76437ab856 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/centre46_graph.diff @@ -0,0 +1,33 @@ +--- graph_orig.py 2026-10-10 03:55:31 ++++ graph.py 2026-10-10 03:55:31 +@@ -190,14 +190,18 @@ + self.local_channels() + base_nodes = len(self.a) + D = dict(zip(self.cubes, self.module(triple, [self.F[I] for I in self.cubes]))) +- P, Q = {}, {} ++ P, Q, star = {}, {}, {} + for i in range(self.p): + others = [a for a in range(self.p) if a != i] + pairs = list(combinations(others, 2)) + for bit in range(2): + inputs = [self.A[tuple(sorted((i, *K))), i, bit] for K in pairs] +- for K, node in zip(pairs, self.module(pair, inputs)): ++ outs = self.module(pair, inputs) ++ for K, node in zip(pairs, outs[:len(pairs)]): + P[tuple(sorted((i, *K))), i, bit] = node ++ if len(outs) > len(pairs): ++ # centre-sharing pair module: its extra root is the sum of all inputs = star(2i+bit) ++ star[i, bit] = outs[len(pairs)] + for i, j in combinations(range(self.p), 2): + others = [a for a in range(self.p) if a not in (i, j)] + for mode in range(2): +@@ -231,7 +235,8 @@ + # Their scatter is 1/2 sum_(i in T) S_i - 1/6 sum_i S_i. + for i in range(self.p): + for e in range(2): +- self.centers.append(self.sum(self.A[I, i, e] for I in self.cubes if i in I)) ++ self.centers.append(star[i, e] if (i, e) in star else ++ self.sum(self.A[I, i, e] for I in self.cubes if i in I)) + incidences = 0 + center_scatter = '1/2 sum_(i in T) S_i - 1/6 sum_i S_i' + else: diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/exact_result.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/exact_result.json new file mode 100644 index 0000000000..0380737113 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/exact_result.json @@ -0,0 +1,21 @@ +{ + "R": 9036, + "N": 254672, + "W5": 14316, + "m5": 110, + "gx_check1": "ACCEPTED", + "scalar_denominators": { + "x": 2, + "y": 6, + "s": 2 + }, + "blocks_total": 68252, + "float_root5": 0.0007727143547226677, + "flow_root3": 0.0007272300987099986, + "lift_status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified.", + "seconds": 206.82464708399493, + "margin_at_7727": 0.0005207623638446622, + "margin_at_7728": -0.0031071001379776387, + "certified_a": "7727/10^7", + "next_rejected": true +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json new file mode 100644 index 0000000000..ca39e45e46 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/pmod46_ptc1_final.json @@ -0,0 +1 @@ +{"input_count": 45, "args": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, [33, 34], [18, 45], [24, 46], [24, 32], [4, 12], [2, 10], [28, 50], [24, 51], [25, 52], [33, 37], [34, 38], [54, 55], [8, 16], [15, 57], [7, 58], [56, 59], [0, 49], [60, 61], [53, 62], [27, 29], [44, 64], [63, 65], [6, 14], [32, 36], [42, 68], [67, 69], [3, 30], [11, 71], [70, 72], [43, 73], [66, 74], [5, 13], [31, 76], [26, 77], [29, 35], [78, 79], [61, 71], [60, 81], [44, 82], [40, 41], [11, 84], [83, 85], [80, 86], [22, 28], [7, 15], [88, 89], [7, 8], [1, 91], [2, 92], [26, 39], [20, 21], [17, 22], [23, 96], [28, 29], [27, 98], [44, 99], [97, 100], [95, 101], [94, 102], [5, 6], [42, 43], [84, 105], [104, 106], [103, 107], [93, 108], [30, 68], [35, 110], [12, 13], [31, 35], [44, 98], [23, 114], [13, 14], [15, 116], [39, 104], [31, 118], [116, 119], [3, 11], [61, 121], [120, 122], [111, 123], [33, 42], [40, 125], [89, 126], [124, 127], [1, 9], [18, 20], [19, 130], [21, 131], [129, 132], [22, 37], [133, 134], [128, 135], [31, 48], [24, 25], [39, 111], [31, 139], [131, 140], [17, 27], [21, 142], [141, 143], [138, 144], [26, 28], [126, 134], [146, 147], [145, 148], [10, 12], [11, 150], [149, 151], [23, 29], [41, 153], [43, 55], [26, 145], [155, 156], [154, 157], [9, 117], [152, 159], [55, 130], [8, 154], [161, 162], [38, 54], [44, 106], [34, 165], [164, 166], [22, 115], [54, 90], [70, 169], [18, 19], [30, 122], [24, 172], [25, 173], [9, 10], [17, 175], [1, 176], [2, 177], [174, 178], [171, 179], [43, 57], [41, 181], [7, 50], [25, 37], [38, 184], [12, 185], [4, 186], [183, 187], [0, 2], [1, 189], [176, 190], [89, 191], [168, 192], [26, 27], [138, 194], [47, 121], [20, 40], [26, 197], [115, 198], [41, 198], [14, 15], [41, 199], [19, 190], [124, 132], [95, 203], [6, 93], [30, 138], [171, 207], [54, 208], [55, 209], [21, 101], [105, 211], [210, 212], [68, 213], [3, 4], [214, 215], [206, 216], [175, 205], [14, 118], [13, 219], [95, 220], [191, 194], [221, 222], [154, 181], [223, 224], [21, 27], [180, 226], [170, 227], [194, 221], [90, 191], [229, 230], [91, 104], [31, 195], [139, 167], [98, 234], [233, 235], [215, 218], [236, 237], [18, 238], [232, 239], [22, 23], [1, 241], [132, 140], [167, 243], [242, 244], [153, 155], [36, 246], [180, 247], [95, 219], [0, 44], [129, 241], [19, 251], [130, 252], [57, 193], [19, 187], [254, 255], [113, 202], [53, 87], [15, 16], [116, 259], [105, 260], [193, 196], [41, 103], [96, 210], [257, 264], [16, 19], [94, 99], [35, 77], [86, 268], [67, 226], [57, 270], [32, 248], [271, 272], [107, 267], [58, 250], [116, 275], [274, 276], [45, 275], [9, 151], [16, 279], [36, 280], [32, 281], [178, 194], [138, 283], [55, 182], [204, 284], [2, 215], [5, 287], [265, 288], [13, 259], [215, 232], [92, 289], [11, 260], [12, 293], [97, 294], [50, 116], [24, 296], [32, 121], [31, 298], [297, 299], [54, 180], [168, 301], [55, 302], [167, 241], [156, 304], [35, 36], [19, 306], [4, 307], [38, 308], [98, 305], [59, 303], [2, 3], [236, 293], [40, 261], [306, 314], [188, 306], [200, 254], [76, 317], [240, 295], [6, 7], [1, 288], [320, 321], [175, 263], [265, 290], [149, 322], [59, 250], [251, 326], [105, 270], [32, 271], [277, 316], [6, 321], [278, 300], [7, 332], [274, 333], [35, 78], [179, 335], [120, 298], [95, 337], [25, 49], [307, 339], [37, 340], [40, 231], [42, 342], [232, 236], [287, 344], [341, 343], [46, 137], [108, 347], [50, 195], [110, 349], [123, 285], [79, 351], [350, 352], [92, 312], [348, 354], [106, 327], [106, 229], [255, 318], [124, 133], [285, 359], [163, 336], [109, 184], [254, 357], [266, 361], [309, 362], [23, 360], [150, 313], [35, 358], [241, 244], [294, 369], [9, 370], [18, 338], [45, 356], [372, 373], [18, 299], [40, 347], [249, 356], [44, 62], [74, 378], [18, 252], [379, 380], [213, 282], [21, 381], [201, 382], [24, 375], [112, 377], [51, 195], [37, 309], [37, 128], [387, 389], [386, 388], [169, 180], [223, 340], [224, 393], [116, 280], [162, 331], [157, 396], [197, 335], [196, 317], [256, 328], [38, 394], [158, 395], [12, 315], [392, 398], [77, 399], [36, 400], [261, 323], [11, 407], [60, 165], [124, 409], [376, 408], [24, 34], [225, 412], [279, 324], [375, 413], [253, 269], [245, 291], [262, 329], [105, 418], [231, 385], [126, 420], [19, 403], [185, 422], [323, 423]], "roots": [310, 367, 371, 424, 411, 384, 414, 402, 160, 345, 417, 365, 355, 217, 292, 397, 325, 410, 330, 334, 75, 258, 353, 390, 391, 374, 383, 416, 366, 136, 363, 406, 368, 401, 346, 419, 405, 415, 421, 311, 273, 228, 364, 404, 286, 319]} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json new file mode 100644 index 0000000000..78965fba83 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/qmod_q1_snap1.json @@ -0,0 +1 @@ +{"input_count": 9, "args": [null, null, null, null, null, null, null, null, null, [0, 3], [6, 9], [5, 7], [8, 11], [2, 4], [12, 13], [6, 14], [6, 8], [3, 16], [7, 17], [0, 1], [2, 19], [18, 20], [3, 20], [4, 22], [5, 23], [6, 24], [7, 25], [16, 24], [12, 23], [4, 21], [11, 17], [20, 30], [15, 19], [1, 30], [4, 33], [0, 34], [10, 14], [13, 33]], "roots": [37, 36, 35, 32, 31, 29, 28, 27, 26]} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/tmod_final.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/tmod_final.json new file mode 100644 index 0000000000..3d4f3ccb44 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/centre-mw/tmod_final.json @@ -0,0 +1 @@ +{"kind": "disjoint_triples", "p": 11, "input_labels": [[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 1, 9], [0, 1, 10], [0, 2, 3], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 2, 9], [0, 2, 10], [0, 3, 4], [0, 3, 5], [0, 3, 6], [0, 3, 7], [0, 3, 8], [0, 3, 9], [0, 3, 10], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 4, 8], [0, 4, 9], [0, 4, 10], [0, 5, 6], [0, 5, 7], [0, 5, 8], [0, 5, 9], [0, 5, 10], [0, 6, 7], [0, 6, 8], [0, 6, 9], [0, 6, 10], [0, 7, 8], [0, 7, 9], [0, 7, 10], [0, 8, 9], [0, 8, 10], [0, 9, 10], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 2, 9], [1, 2, 10], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 3, 8], [1, 3, 9], [1, 3, 10], [1, 4, 5], [1, 4, 6], [1, 4, 7], [1, 4, 8], [1, 4, 9], [1, 4, 10], [1, 5, 6], [1, 5, 7], [1, 5, 8], [1, 5, 9], [1, 5, 10], [1, 6, 7], [1, 6, 8], [1, 6, 9], [1, 6, 10], [1, 7, 8], [1, 7, 9], [1, 7, 10], [1, 8, 9], [1, 8, 10], [1, 9, 10], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 7], [2, 3, 8], [2, 3, 9], [2, 3, 10], [2, 4, 5], [2, 4, 6], [2, 4, 7], [2, 4, 8], [2, 4, 9], [2, 4, 10], [2, 5, 6], [2, 5, 7], [2, 5, 8], [2, 5, 9], [2, 5, 10], [2, 6, 7], [2, 6, 8], [2, 6, 9], [2, 6, 10], [2, 7, 8], [2, 7, 9], [2, 7, 10], [2, 8, 9], [2, 8, 10], [2, 9, 10], [3, 4, 5], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 4, 9], [3, 4, 10], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 5, 9], [3, 5, 10], [3, 6, 7], [3, 6, 8], [3, 6, 9], [3, 6, 10], [3, 7, 8], [3, 7, 9], [3, 7, 10], [3, 8, 9], [3, 8, 10], [3, 9, 10], [4, 5, 6], [4, 5, 7], [4, 5, 8], [4, 5, 9], [4, 5, 10], [4, 6, 7], [4, 6, 8], [4, 6, 9], [4, 6, 10], [4, 7, 8], [4, 7, 9], [4, 7, 10], [4, 8, 9], [4, 8, 10], [4, 9, 10], [5, 6, 7], [5, 6, 8], [5, 6, 9], [5, 6, 10], [5, 7, 8], [5, 7, 9], [5, 7, 10], [5, 8, 9], [5, 8, 10], [5, 9, 10], [6, 7, 8], [6, 7, 9], [6, 7, 10], [6, 8, 9], [6, 8, 10], [6, 9, 10], [7, 8, 9], [7, 8, 10], [7, 9, 10], [8, 9, 10]], "target_labels": [[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 1, 9], [0, 1, 10], [0, 2, 3], [0, 2, 4], [0, 2, 5], [0, 2, 6], [0, 2, 7], [0, 2, 8], [0, 2, 9], [0, 2, 10], [0, 3, 4], [0, 3, 5], [0, 3, 6], [0, 3, 7], [0, 3, 8], [0, 3, 9], [0, 3, 10], [0, 4, 5], [0, 4, 6], [0, 4, 7], [0, 4, 8], [0, 4, 9], [0, 4, 10], [0, 5, 6], [0, 5, 7], [0, 5, 8], [0, 5, 9], [0, 5, 10], [0, 6, 7], [0, 6, 8], [0, 6, 9], [0, 6, 10], [0, 7, 8], [0, 7, 9], [0, 7, 10], [0, 8, 9], [0, 8, 10], [0, 9, 10], [1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 2, 7], [1, 2, 8], [1, 2, 9], [1, 2, 10], [1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 3, 7], [1, 3, 8], [1, 3, 9], [1, 3, 10], [1, 4, 5], [1, 4, 6], [1, 4, 7], [1, 4, 8], [1, 4, 9], [1, 4, 10], [1, 5, 6], [1, 5, 7], [1, 5, 8], [1, 5, 9], [1, 5, 10], [1, 6, 7], [1, 6, 8], [1, 6, 9], [1, 6, 10], [1, 7, 8], [1, 7, 9], [1, 7, 10], [1, 8, 9], [1, 8, 10], [1, 9, 10], [2, 3, 4], [2, 3, 5], [2, 3, 6], [2, 3, 7], [2, 3, 8], [2, 3, 9], [2, 3, 10], [2, 4, 5], [2, 4, 6], [2, 4, 7], [2, 4, 8], [2, 4, 9], [2, 4, 10], [2, 5, 6], [2, 5, 7], [2, 5, 8], [2, 5, 9], [2, 5, 10], [2, 6, 7], [2, 6, 8], [2, 6, 9], [2, 6, 10], [2, 7, 8], [2, 7, 9], [2, 7, 10], [2, 8, 9], [2, 8, 10], [2, 9, 10], [3, 4, 5], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 4, 9], [3, 4, 10], [3, 5, 6], [3, 5, 7], [3, 5, 8], [3, 5, 9], [3, 5, 10], [3, 6, 7], [3, 6, 8], [3, 6, 9], [3, 6, 10], [3, 7, 8], [3, 7, 9], [3, 7, 10], [3, 8, 9], [3, 8, 10], [3, 9, 10], [4, 5, 6], [4, 5, 7], [4, 5, 8], [4, 5, 9], [4, 5, 10], [4, 6, 7], [4, 6, 8], [4, 6, 9], [4, 6, 10], [4, 7, 8], [4, 7, 9], [4, 7, 10], [4, 8, 9], [4, 8, 10], [4, 9, 10], [5, 6, 7], [5, 6, 8], [5, 6, 9], [5, 6, 10], [5, 7, 8], [5, 7, 9], [5, 7, 10], [5, 8, 9], [5, 8, 10], [5, 9, 10], [6, 7, 8], [6, 7, 9], [6, 7, 10], [6, 8, 9], [6, 8, 10], [6, 9, 10], [7, 8, 9], [7, 8, 10], [7, 9, 10], [8, 9, 10]], "input_count": 165, "args": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [49, 56], [75, 166], [121, 122], [123, 168], [63, 141], [3, 29], [62, 138], [65, 172], [26, 173], [171, 174], [170, 175], [120, 152], [47, 93], [91, 178], [37, 40], [36, 180], [156, 181], [38, 159], [43, 183], [157, 162], [184, 185], [41, 186], [182, 187], [122, 125], [21, 121], [20, 190], [22, 191], [189, 192], [188, 193], [63, 68], [76, 195], [104, 163], [108, 197], [85, 127], [106, 199], [125, 200], [198, 201], [86, 88], [202, 203], [129, 204], [101, 160], [122, 206], [205, 207], [100, 121], [84, 124], [103, 210], [209, 211], [158, 212], [208, 213], [156, 214], [92, 144], [82, 94], [115, 217], [216, 218], [113, 219], [112, 220], [111, 221], [90, 139], [91, 142], [140, 224], [136, 137], [225, 226], [223, 227], [222, 228], [215, 229], [132, 150], [140, 231], [133, 232], [64, 69], [233, 234], [61, 235], [115, 145], [142, 144], [30, 238], [237, 239], [30, 35], [45, 241], [19, 118], [117, 243], [55, 244], [32, 33], [150, 246], [70, 151], [68, 248], [69, 153], [249, 250], [34, 251], [4, 252], [247, 253], [245, 254], [19, 110], [18, 256], [116, 257], [99, 135], [94, 259], [98, 155], [145, 261], [89, 93], [262, 263], [260, 264], [52, 81], [109, 266], [53, 267], [61, 268], [47, 48], [66, 270], [71, 271], [269, 272], [265, 273], [51, 80], [108, 275], [97, 154], [144, 277], [92, 278], [276, 279], [107, 165], [280, 281], [274, 282], [1, 17], [9, 284], [3, 8], [4, 286], [25, 34], [29, 288], [287, 289], [45, 290], [11, 12], [16, 292], [241, 293], [291, 294], [285, 295], [70, 134], [65, 297], [296, 298], [283, 299], [16, 102], [14, 15], [104, 302], [101, 303], [108, 160], [42, 44], [163, 306], [100, 158], [106, 308], [17, 103], [39, 310], [309, 311], [307, 312], [13, 313], [305, 314], [304, 315], [182, 316], [31, 147], [146, 318], [247, 319], [12, 35], [95, 149], [321, 322], [96, 152], [323, 324], [99, 277], [325, 326], [320, 327], [317, 328], [113, 118], [128, 330], [125, 331], [57, 126], [332, 333], [125, 168], [112, 117], [58, 336], [334, 337], [50, 52], [105, 339], [43, 159], [79, 341], [38, 74], [20, 123], [23, 344], [2, 56], [8, 346], [345, 347], [59, 348], [343, 349], [342, 350], [72, 158], [209, 352], [126, 164], [105, 354], [53, 60], [88, 356], [46, 357], [50, 57], [358, 359], [200, 360], [87, 109], [130, 362], [59, 266], [363, 364], [77, 365], [78, 366], [361, 367], [355, 368], [353, 369], [102, 161], [74, 371], [123, 372], [166, 211], [373, 374], [75, 375], [370, 376], [128, 281], [363, 378], [137, 147], [156, 380], [136, 146], [157, 159], [382, 383], [381, 384], [138, 148], [131, 386], [67, 74], [62, 388], [387, 389], [72, 390], [73, 391], [385, 392], [61, 65], [297, 394], [69, 79], [64, 396], [133, 143], [153, 398], [141, 151], [399, 400], [162, 232], [401, 402], [77, 403], [397, 404], [395, 405], [196, 406], [393, 407], [78, 80], [408, 409], [14, 21], [42, 411], [121, 412], [10, 17], [24, 414], [13, 103], [39, 416], [210, 417], [20, 418], [415, 419], [413, 420], [15, 44], [22, 422], [208, 308], [423, 424], [421, 425], [156, 426], [36, 427], [77, 355], [50, 78], [46, 356], [275, 431], [430, 432], [57, 58], [76, 434], [433, 435], [204, 436], [27, 32], [41, 438], [136, 157], [146, 440], [132, 400], [441, 442], [439, 443], [26, 38], [29, 445], [138, 446], [134, 148], [131, 448], [447, 449], [31, 450], [288, 451], [36, 452], [444, 453], [139, 149], [135, 455], [161, 456], [145, 155], [242, 458], [457, 459], [142, 152], [39, 42], [158, 462], [461, 463], [460, 464], [164, 465], [454, 466], [81, 130], [161, 468], [4, 394], [286, 297], [470, 471], [289, 472], [6, 473], [7, 196], [405, 475], [474, 476], [439, 477], [324, 326], [105, 164], [16, 45], [8, 38], [267, 372], [482, 483], [481, 484], [6, 36], [5, 72], [486, 487], [157, 488], [41, 77], [489, 490], [13, 310], [39, 492], [1, 9], [49, 75], [494, 495], [53, 496], [493, 497], [14, 42], [309, 499], [430, 500], [498, 501], [491, 502], [485, 503], [480, 504], [48, 98], [155, 506], [71, 507], [4, 34], [321, 509], [508, 510], [99, 511], [67, 148], [70, 513], [31, 514], [512, 515], [322, 516], [324, 517], [68, 151], [32, 146], [519, 520], [518, 521], [505, 522], [66, 71], [135, 458], [524, 525], [60, 468], [526, 527], [148, 288], [31, 529], [447, 530], [131, 531], [439, 532], [28, 33], [380, 534], [533, 535], [43, 536], [384, 537], [182, 538], [1, 10], [292, 540], [82, 83], [89, 542], [270, 543], [541, 544], [27, 136], [170, 546], [505, 547], [11, 30], [18, 549], [28, 550], [3, 4], [62, 67], [61, 553], [552, 554], [25, 31], [26, 131], [556, 557], [555, 558], [132, 382], [438, 560], [559, 561], [115, 120], [130, 563], [127, 564], [129, 565], [129, 437], [412, 415], [40, 423], [568, 569], [6, 7], [2, 571], [570, 572], [567, 573], [1, 574], [9, 575], [158, 455], [161, 577], [144, 154], [165, 579], [525, 580], [164, 581], [163, 461], [582, 583], [160, 584], [578, 585], [400, 402], [149, 161], [160, 588], [265, 268], [272, 590], [91, 96], [142, 592], [117, 152], [593, 594], [112, 595], [200, 596], [355, 597], [442, 598], [110, 114], [119, 134], [600, 601], [130, 602], [83, 120], [89, 260], [115, 605], [604, 606], [82, 607], [88, 608], [603, 609], [262, 362], [610, 611], [45, 294], [93, 613], [612, 614], [415, 615], [18, 19], [23, 617], [289, 618], [616, 619], [599, 620], [77, 170], [267, 281], [77, 162], [79, 624], [480, 625], [623, 626], [106, 198], [80, 430], [628, 629], [53, 630], [51, 631], [627, 632], [47, 66], [93, 145], [634, 635], [94, 216], [224, 637], [636, 638], [633, 639], [30, 66], [41, 412], [621, 642], [438, 643], [365, 378], [625, 645], [567, 646], [355, 647], [158, 209], [57, 336], [72, 486], [561, 651], [195, 652], [190, 653], [650, 654], [42, 158], [78, 127], [656, 657], [655, 658], [103, 206], [308, 660], [25, 552], [330, 336], [380, 382], [233, 664], [534, 558], [438, 666], [665, 667], [663, 668], [182, 193], [258, 670], [111, 671], [669, 672], [39, 160], [158, 307], [674, 675], [241, 455], [461, 677], [676, 678], [135, 579], [679, 680], [673, 681], [558, 561], [88, 420], [199, 309], [684, 685], [413, 686], [36, 687], [112, 688], [683, 689], [72, 73], [156, 691], [661, 692], [48, 71], [99, 120], [694, 695], [55, 119], [70, 697], [83, 98], [698, 699], [696, 700], [45, 161], [134, 401], [402, 703], [539, 704], [679, 705], [702, 706], [582, 707], [19, 321], [111, 223], [116, 322], [710, 711], [709, 712], [550, 713], [110, 115], [82, 715], [604, 716], [605, 717], [714, 718], [684, 719], [535, 558], [133, 721], [720, 722], [113, 723], [68, 69], [4, 725], [112, 113], [111, 727], [18, 728], [63, 64], [3, 730], [26, 137], [27, 28], [140, 733], [136, 734], [732, 735], [731, 736], [54, 737], [729, 738], [7, 62], [11, 90], [92, 741], [47, 742], [740, 743], [739, 744], [595, 690], [51, 629], [76, 628], [747, 748], [53, 749], [693, 750], [93, 612], [54, 55], [111, 116], [753, 754], [257, 755], [162, 379], [355, 757], [41, 43], [23, 759], [758, 760], [86, 108], [129, 762], [423, 763], [37, 122], [764, 765], [206, 766], [724, 767], [49, 84], [50, 85], [51, 86], [46, 771], [104, 772], [770, 773], [769, 774], [29, 549], [3, 776], [94, 636], [777, 778], [174, 779], [223, 780], [5, 53], [493, 782], [496, 783], [485, 784], [781, 785], [69, 206], [7, 37], [22, 788], [2, 414], [358, 790], [24, 791], [418, 792], [20, 56], [793, 794], [496, 795], [5, 796], [73, 122], [58, 798], [275, 763], [799, 800], [797, 801], [789, 802], [422, 803], [206, 804], [118, 279], [768, 806], [385, 387], [704, 808], [119, 600], [336, 810], [126, 811], [332, 812], [169, 813], [754, 814], [809, 815], [167, 358], [562, 651], [23, 481], [363, 819], [161, 820], [76, 691], [5, 6], [822, 823], [468, 702], [118, 277], [21, 125], [22, 827], [2, 828], [434, 829], [10, 770], [773, 831], [830, 832], [1, 833], [9, 24], [306, 835], [136, 728], [60, 75], [124, 838], [39, 839], [835, 840], [270, 542], [102, 123], [821, 843], [205, 570], [761, 845], [481, 846], [92, 97], [98, 263], [848, 849], [107, 850], [105, 851], [104, 592], [852, 853], [181, 427], [218, 710], [550, 856], [26, 857], [14, 100], [13, 859], [592, 860], [90, 95], [293, 849], [102, 863], [862, 864], [861, 865], [105, 866], [454, 867], [211, 817], [371, 455], [95, 870], [56, 434], [2, 872], [100, 303], [46, 769], [13, 875], [540, 876], [770, 877], [101, 771], [878, 879], [874, 880], [670, 881], [824, 882], [873, 883], [133, 234], [555, 885], [721, 886], [330, 887], [756, 888], [99, 604], [826, 890], [709, 891], [13, 301], [657, 841], [80, 129], [160, 895], [894, 896], [675, 897], [7, 824], [2, 670], [56, 900], [434, 901], [899, 902], [898, 903], [82, 91], [658, 841], [164, 906], [825, 907], [302, 834], [67, 116], [241, 835], [45, 911], [143, 635], [29, 913], [78, 359], [11, 241], [12, 916], [25, 617], [917, 918], [608, 919], [100, 101], [862, 921], [335, 872], [195, 234], [76, 692], [131, 554], [665, 926], [925, 927], [924, 928], [923, 929], [754, 930], [922, 931], [43, 534], [40, 933], [439, 934], [15, 293], [14, 936], [854, 937], [935, 938], [50, 51], [1, 940], [47, 52], [48, 942], [941, 943], [939, 944], [82, 93], [26, 546], [155, 701], [67, 948], [96, 97], [699, 950], [51, 942], [407, 952], [50, 953], [105, 592], [85, 955], [711, 890], [2, 473], [151, 395], [68, 132], [622, 960], [959, 961], [439, 962], [6, 963], [152, 593], [106, 430], [965, 966], [480, 967], [591, 968], [964, 969], [499, 970], [37, 159], [48, 95], [618, 958], [296, 971], [65, 114], [218, 634], [54, 977], [976, 978], [635, 979], [62, 980], [138, 981], [710, 982], [376, 983], [770, 859], [113, 806], [596, 986], [233, 987], [164, 165], [702, 989], [676, 990], [147, 250], [33, 992], [341, 993], [196, 236], [110, 753], [330, 996], [336, 997], [995, 998], [70, 394], [46, 364], [1000, 1001], [356, 753], [752, 1003], [1002, 1004], [272, 1005], [123, 371], [710, 1007], [711, 1008], [211, 1009], [1006, 1010], [153, 972], [924, 927], [15, 101], [13, 1014], [244, 247], [319, 1016], [8, 186], [77, 79], [74, 1019], [41, 1020], [1018, 1021], [461, 659], [20, 346], [5, 558], [555, 1025], [756, 1026], [1024, 1027], [524, 563], [135, 1029], [911, 1030], [840, 1031], [455, 1032], [1028, 1033], [1023, 1034], [355, 645], [699, 973], [59, 697], [600, 1038], [54, 1039], [338, 1040], [128, 351], [5, 788], [73, 1043], [58, 122], [22, 1045], [1044, 1046], [879, 1047], [15, 1048], [107, 1049], [52, 87], [301, 1051], [877, 1052], [1050, 1053], [1042, 1054], [19, 116], [697, 1056], [509, 515], [1057, 1058], [993, 1059], [118, 1060], [1055, 1061], [24, 129], [563, 1063], [124, 1064], [12, 862], [11, 1066], [592, 1067], [668, 1068], [279, 605], [317, 1070], [1069, 1071], [407, 1041], [116, 1017], [678, 1072], [148, 948], [333, 336], [151, 961], [1039, 1078], [1077, 1079], [182, 899], [555, 924], [438, 1082], [666, 1083], [1081, 1084], [665, 1085], [75, 524], [9, 1087], [1086, 1088], [409, 1089], [147, 513], [150, 251], [1091, 1092], [167, 211], [102, 862], [854, 1095], [921, 1096], [5, 131], [472, 1098], [531, 1099], [389, 1100], [9, 1101], [72, 823], [796, 1103], [915, 1104], [413, 685], [36, 1106], [1105, 1107], [555, 721], [46, 87], [40, 76], [571, 1111], [759, 1112], [625, 1113], [8, 1114], [105, 107], [302, 832], [1, 1117], [16, 1051], [1118, 1119], [1116, 1120], [1115, 1121], [39, 702], [89, 848], [100, 304], [13, 1125], [1068, 1126], [1124, 1127], [741, 905], [121, 123], [415, 919], [272, 605], [61, 1132], [753, 1133], [717, 1134], [1131, 1135], [2, 494], [1136, 1137], [552, 1138], [6, 42], [411, 1140], [32, 1141], [1139, 1142], [27, 1143], [132, 195], [78, 361], [596, 1146], [1145, 1147], [1144, 1148], [123, 754], [705, 852], [67, 694], [4, 1152], [301, 1151], [1127, 1154], [618, 1150], [20, 1156], [810, 1157], [103, 495], [44, 242], [584, 1160], [9, 409], [1161, 1162], [519, 1058], [247, 992], [1164, 1165], [146, 1166], [118, 1167], [81, 524], [42, 1169], [1163, 1170], [59, 126], [128, 1172], [23, 1173], [123, 1174], [1022, 1175], [903, 1176], [1168, 1177], [118, 154], [7, 22], [422, 1180], [28, 1181], [153, 155], [124, 127], [24, 1184], [130, 1185], [129, 991], [1186, 1187], [126, 128], [123, 1189], [23, 1190], [194, 1191], [148, 151], [34, 1193], [119, 1194], [1192, 1195], [1074, 1196], [35, 154], [177, 1198], [149, 1199], [1197, 1200], [1188, 1201], [1183, 1202], [224, 947], [857, 1204], [63, 112], [54, 1206], [1205, 1207], [1108, 1208], [107, 1015], [95, 97], [12, 48], [96, 1212], [1211, 1213], [117, 1057], [1178, 1215], [478, 934], [1171, 1217], [96, 594], [150, 1219], [892, 1220], [246, 1221], [54, 114], [18, 111], [1223, 1224], [176, 546], [112, 1226], [1225, 1227], [41, 489], [343, 348], [190, 1230], [1229, 1231], [1228, 1232], [178, 1233], [904, 1199], [80, 163], [60, 657], [129, 1237], [1236, 1238], [75, 124], [158, 1240], [160, 1241], [1239, 1242], [469, 1243], [989, 1244], [71, 155], [149, 1246], [120, 1247], [1179, 1248], [1245, 1249], [1122, 1212], [859, 878], [105, 1252], [1052, 1253], [59, 333], [77, 1255], [1254, 1256], [1129, 1257], [951, 1251], [19, 510], [494, 792], [8, 819], [1261, 1262], [58, 800], [645, 1264], [79, 1265], [1263, 1266], [43, 1267], [1181, 1268], [33, 1269], [153, 826], [948, 1271], [69, 1272], [1270, 1273], [1260, 1274], [1234, 1258], [110, 988], [33, 1277], [65, 143], [140, 730], [141, 1280], [1279, 1281], [137, 172], [1282, 1283], [136, 1284], [495, 751], [223, 1286], [1285, 1287], [830, 1174], [119, 255], [1289, 1290], [1259, 1291], [396, 399], [64, 331], [1293, 1294], [1005, 1295], [18, 777], [635, 1297], [66, 139], [30, 1299], [145, 1300], [142, 1301], [31, 520], [709, 957], [1219, 1304], [1303, 1305], [36, 199], [1306, 1307], [64, 143], [137, 1309], [137, 159], [147, 1311], [390, 395], [73, 1313], [1312, 1314], [56, 122], [1150, 1316], [1315, 1317], [84, 1095], [49, 1319], [101, 1320], [1318, 1321], [467, 1185], [71, 149], [1235, 1324], [26, 549], [224, 1326], [733, 1282], [775, 921], [102, 1116], [1329, 1330], [1051, 1331], [146, 1093], [116, 697], [117, 1334], [625, 1173], [74, 383], [925, 1337], [123, 1338], [923, 1339], [1336, 1340], [1335, 1341], [1333, 1342], [118, 1343], [1037, 1344], [1332, 1345], [152, 1343], [138, 914], [355, 1007], [389, 472], [195, 1350], [77, 488], [444, 1352], [1351, 1353], [532, 1354], [90, 809], [278, 281], [92, 1357], [109, 265], [1358, 1359], [480, 965], [628, 1361], [1360, 1362], [1356, 1363], [195, 560], [1250, 1347], [336, 931], [455, 1367], [49, 270], [1085, 1369], [941, 1370], [665, 1128], [1371, 1372], [353, 1094], [42, 1161], [115, 239], [93, 1129], [461, 680], [1029, 1378], [1239, 1379], [997, 1380], [1368, 1381], [84, 85], [10, 1383], [44, 160], [165, 1385], [39, 460], [1386, 1387], [579, 1388], [965, 1132], [279, 1390], [236, 1391], [40, 571], [534, 662], [195, 1394], [438, 1395], [1393, 1396], [53, 747], [17, 499], [422, 1399], [494, 1400], [748, 1401], [1398, 1402], [1397, 1403], [917, 1404], [1392, 1405], [355, 752], [331, 399], [1358, 1408], [86, 129], [1409, 1410], [587, 1411], [1407, 1412], [202, 1413], [596, 1414], [108, 207], [1312, 1416], [387, 1010], [752, 1418], [1417, 1419], [1411, 1420], [538, 1351], [338, 408], [33, 147], [118, 1424], [31, 1304], [1425, 1426], [97, 1427], [787, 1428], [157, 377], [1115, 1289], [130, 989], [1431, 1432], [45, 81], [836, 1239], [1434, 1435], [1433, 1436], [237, 1437], [223, 226], [734, 1327], [1439, 1440], [428, 1441], [124, 578], [613, 862], [49, 941], [301, 1116], [1126, 1446], [1445, 1447], [73, 156], [208, 1449], [436, 1450], [222, 1442], [729, 903], [176, 1310], [735, 1454], [1453, 1455], [56, 754], [1040, 1457], [169, 1458], [908, 1247], [563, 912], [1245, 1336], [126, 336], [810, 1156], [1463, 1464], [191, 1465], [564, 1466], [1024, 1047], [44, 1468], [1223, 1456], [870, 1444], [138, 141], [11, 905], [114, 145], [93, 1474], [849, 943], [1110, 1476], [542, 1477], [84, 1478], [49, 1479], [1095, 1480], [73, 1312], [397, 399], [7, 1483], [933, 1484], [37, 1485], [1482, 1486], [637, 1441], [317, 1488], [914, 1489], [1472, 1490], [1423, 1459], [98, 119], [155, 1493], [1306, 1494], [1194, 1495], [146, 1219], [87, 1384], [1323, 1467], [109, 990], [1446, 1500], [187, 1501], [1491, 1502], [55, 68], [164, 657], [461, 1505], [527, 1506], [175, 1225], [113, 1508], [28, 1310], [1509, 1510], [1042, 1047], [44, 896], [825, 841], [165, 1514], [1513, 1515], [1512, 1516], [144, 237], [1517, 1518], [1511, 1519], [1300, 1520], [1393, 1394], [438, 1522], [18, 999], [19, 1524], [1523, 1525], [830, 1526], [1380, 1527], [836, 1528], [241, 1529], [112, 225], [58, 1040], [129, 1236], [1229, 1256], [1231, 1534], [96, 1037], [1254, 1536], [12, 1537], [131, 712], [10, 86], [206, 869], [29, 1472], [114, 1542], [55, 726], [1017, 1544], [579, 1065], [717, 1539], [1134, 1547], [553, 1548], [869, 1549], [55, 694], [441, 1130], [682, 1064], [1184, 1553], [379, 1349], [910, 1545], [592, 1124], [54, 634], [62, 1558], [1389, 1487], [493, 1471], [454, 1561], [81, 1355], [466, 1563], [1102, 1560], [500, 1562], [599, 752], [441, 1567], [75, 1169], [80, 1569], [1565, 1570], [78, 1088], [1564, 1572], [289, 935], [704, 1574], [343, 844], [364, 1576], [8, 1577], [31, 1056], [148, 949], [1579, 1580], [1359, 1361], [1566, 1582], [410, 1569], [649, 1418], [586, 1584], [79, 281], [206, 422], [73, 788], [1588, 1589], [276, 1590], [1587, 1591], [341, 1592], [1568, 1585], [767, 1427], [8, 1108], [1295, 1532], [7, 933], [22, 1598], [974, 1599], [1597, 1600], [44, 1601], [528, 563], [580, 895], [1603, 1604], [1602, 1605], [194, 1188], [240, 1607], [729, 736], [1543, 1609], [143, 1610], [1191, 1611], [223, 777], [718, 1539], [988, 1614], [215, 1615], [146, 147], [90, 455], [95, 1618], [1132, 1619], [477, 945], [1374, 1451], [1242, 1382], [157, 1596], [8, 1113], [1401, 1625], [481, 1626], [640, 1627], [776, 1628], [989, 1177], [898, 1630], [28, 137], [858, 1632], [113, 216], [1633, 1634], [62, 634], [3, 1636], [54, 1637], [1635, 1638], [64, 1639], [1588, 1640], [803, 1641], [825, 1631], [633, 1627], [494, 1398], [139, 1612], [1608, 1646], [711, 1219], [150, 891], [1617, 1649], [1648, 1650], [215, 1651], [908, 1535], [1228, 1653], [1302, 1654], [115, 1655], [532, 618], [1101, 1487], [38, 684], [1141, 1261], [200, 915], [355, 1661], [366, 1662], [1660, 1663], [865, 1210], [848, 1665], [625, 759], [1036, 1262], [576, 1668], [1667, 1669], [38, 844], [105, 157], [41, 354], [1672, 1673], [688, 1674], [1671, 1675], [1496, 1676], [33, 1221], [1309, 1634], [980, 1679], [1268, 1680], [1297, 1681], [1182, 1682], [221, 225], [551, 1684], [27, 731], [494, 1686], [1685, 1687], [398, 1012], [450, 556], [1689, 1690], [316, 1645], [495, 1692], [1081, 1693], [726, 1152], [1694, 1695], [845, 1278], [34, 1691], [43, 1698], [535, 1699], [1388, 1700], [881, 1052], [920, 1697], [328, 1696], [331, 1658], [1022, 1081], [1692, 1706], [28, 438], [1703, 1708], [574, 1558], [1688, 1710], [1116, 1177], [1702, 1712], [154, 804], [87, 542], [55, 1153], [1429, 1716], [1714, 1717], [15, 1485], [44, 1719], [206, 801], [1009, 1657], [701, 1260], [500, 1105], [195, 818], [26, 1224], [81, 1162], [991, 1706], [1727, 1728], [75, 1729], [419, 1722], [271, 281], [190, 1504], [1153, 1308], [1733, 1734], [1724, 1735], [545, 876], [873, 899], [1556, 1738], [18, 727], [171, 1223], [1740, 1741], [1328, 1742], [1431, 1743], [862, 1737], [1028, 1745], [616, 1731], [842, 1557], [292, 1748], [909, 1749], [1526, 1750], [178, 1473], [1286, 1619], [1391, 1753], [1013, 1754], [426, 496], [433, 873], [1081, 1756], [493, 496], [1488, 1694], [809, 1097], [815, 1761], [84, 1762], [107, 848], [51, 1764], [86, 1765], [1478, 1766], [956, 1767], [519, 1219], [69, 150], [1769, 1770], [1272, 1771], [648, 1772], [50, 1768], [85, 1715], [86, 1775], [1763, 1776], [1636, 1760], [731, 1778], [510, 1581], [52, 1448], [1706, 1781], [98, 1782], [146, 1214], [1783, 1784], [519, 1497], [138, 143], [330, 1158], [112, 1205], [1475, 1789], [1676, 1790], [280, 885], [1109, 1792], [281, 591], [1362, 1794], [279, 1795], [407, 1796], [747, 1797], [985, 1746], [592, 1799], [655, 1800], [1076, 1786], [1744, 1752], [92, 1803], [1121, 1804], [1430, 1802], [67, 711], [1806, 1807], [54, 974], [6, 439], [21, 1810], [1809, 1811], [1080, 1812], [528, 1506], [1461, 1814], [42, 1815], [1813, 1816], [22, 122], [128, 1818], [1788, 1819], [719, 746], [1262, 1664], [1040, 1156], [1024, 1823], [756, 903], [1082, 1825], [669, 1826], [517, 785], [277, 1828], [1592, 1829], [664, 1616], [844, 1659], [128, 341], [1832, 1833], [281, 1834], [767, 1835], [90, 92], [994, 1830], [1365, 1549], [279, 1264], [1732, 1840], [71, 1841], [1447, 1498], [86, 1843], [1192, 1844], [521, 1058], [1147, 1839], [1296, 1842], [1374, 1847], [34, 153], [261, 1850], [148, 1851], [137, 983], [79, 645], [801, 1541], [159, 1855], [373, 1856], [1854, 1857], [1853, 1858], [371, 627], [1337, 1860], [1288, 1861], [639, 1862], [391, 962], [1552, 1864], [1077, 1865], [277, 1852], [1332, 1341], [27, 1685], [1458, 1866], [578, 1870], [1603, 1871], [1240, 1872], [1506, 1873], [532, 1824], [5, 1350], [1875, 1876], [911, 1877], [1240, 1603], [1123, 1879], [1878, 1880], [41, 1822], [1298, 1882], [112, 224], [170, 1884], [979, 1885], [27, 1886], [1883, 1887], [455, 1881], [55, 725], [340, 1355], [866, 1891], [177, 1437], [1290, 1893], [1, 1369], [1892, 1895], [21, 22], [1198, 1246], [1894, 1898], [153, 1197], [95, 1900], [1757, 1758], [681, 1090], [238, 641], [1438, 1904], [113, 1633], [1743, 1905], [179, 1837], [82, 1908], [542, 1540], [84, 1910], [848, 1911], [1215, 1846], [904, 1299], [1223, 1284], [837, 1915], [1909, 1916], [1868, 1917], [62, 739], [1376, 1919], [159, 185], [1914, 1920], [868, 1384], [1466, 1715], [32, 1882], [1923, 1924], [92, 1377], [247, 251], [581, 1533], [1705, 1824], [1507, 1929], [1073, 1931], [1535, 1913], [1538, 1933], [1046, 1930], [912, 1606], [1029, 1932], [661, 1364], [871, 1938], [1578, 1587], [1833, 1940], [805, 1941], [308, 480], [371, 1943], [441, 1864], [1159, 1619], [591, 1946], [967, 1947], [1945, 1948], [1944, 1949], [295, 415], [1555, 1921], [104, 1073], [618, 1951], [1542, 1791], [1774, 1953], [15, 879], [889, 1468], [1957, 1958], [1137, 1954], [848, 1959], [893, 1877], [1532, 1767], [1295, 1963], [1322, 1964], [862, 1480], [1962, 1966], [1360, 1700], [541, 1967], [371, 1947], [1745, 1961], [1700, 1820], [1835, 1867], [1128, 1910], [3, 1328], [596, 1662], [1006, 1078], [1318, 1597], [1976, 1977], [151, 1494], [1313, 1483], [1299, 1518], [41, 429], [1624, 1983], [481, 495], [1707, 1985], [370, 984], [64, 1559], [1622, 1988], [63, 1989], [623, 1986], [1383, 1974], [673, 1992], [480, 1991], [797, 1578], [982, 1726], [1995, 1996], [1613, 1997], [48, 49], [1577, 1984], [229, 1990], [23, 1897], [617, 2002], [813, 2003], [1375, 1575], [2004, 2005], [32, 1551], [726, 2007], [565, 2006], [1063, 2009], [440, 1987], [576, 1678], [1885, 2011], [1611, 1927], [1845, 2014], [764, 933], [1209, 1637], [1286, 1861], [1333, 2018], [322, 2019], [501, 1725], [330, 885], [279, 2022], [479, 508], [2020, 2024], [12, 241], [784, 2026], [1620, 2027], [11, 2028], [2021, 2029], [965, 2030], [998, 1748], [141, 1475], [143, 2033], [153, 1980], [29, 2034], [148, 1952], [2035, 2037], [847, 2036], [1869, 2039], [1652, 2038], [1575, 2004], [1041, 2003], [380, 1721], [1550, 2044], [119, 1595], [2023, 2045], [743, 1510], [1509, 2048], [1546, 1701], [1787, 2033], [130, 2050], [946, 2049], [230, 2051], [1055, 2053], [1952, 2054], [1820, 2052], [152, 1198], [16, 541], [82, 2059], [816, 1443], [149, 2058], [1167, 2062], [1730, 2063], [1246, 2064], [566, 2061], [585, 2066], [14, 83], [1813, 2068], [50, 956], [1477, 2070], [2069, 2071], [358, 1139], [405, 1422], [2060, 2072], [1081, 2074], [238, 1730], [1301, 1455], [87, 1912], [950, 1346], [2077, 2078], [1665, 2079], [1972, 2082], [1658, 1666], [896, 1469], [889, 2085], [579, 2086], [108, 1588], [1561, 2088], [51, 2084], [52, 1895], [2090, 2091], [1968, 2089], [1033, 2087], [187, 481], [855, 1555], [2095, 2096], [23, 2097], [1399, 1575], [936, 2099], [1363, 2100], [1160, 2101], [548, 781], [224, 2103], [170, 1680], [1531, 2105], [371, 1994], [646, 1622], [1840, 2022], [2073, 2109], [1793, 2029], [648, 2106], [1590, 2111], [1193, 1502], [745, 884], [905, 2115], [534, 2110], [552, 558], [1181, 2117], [1273, 1854], [147, 2120], [847, 1222], [1980, 2122], [620, 1409], [1851, 2114], [1850, 2123], [329, 2125], [139, 1879], [1166, 1785], [35, 177], [1460, 2130], [2, 1217], [2016, 2124], [1152, 1374], [1651, 2134], [1211, 1212], [1933, 2131], [2008, 2012], [2043, 2132], [1604, 1978], [2128, 2140], [1890, 2135], [589, 2141], [1451, 2142], [300, 1720], [1679, 1859], [206, 282], [1970, 2147], [479, 511], [1928, 2149], [1482, 1981], [2148, 2151], [148, 1807], [1644, 2150], [195, 235], [987, 2155], [567, 2156], [1135, 2157], [179, 742], [1781, 2159], [193, 539], [1455, 1706], [2160, 2162], [1337, 1349], [704, 2161], [1325, 1556], [1780, 1995], [714, 797], [855, 1648], [892, 2169], [114, 1906], [553, 1135], [2168, 2172], [2108, 2164], [322, 2167], [699, 1062], [1471, 1759], [331, 2165], [1176, 1470], [1465, 2178], [591, 1101], [190, 1875], [2136, 2176], [18, 1452], [2177, 2181], [155, 1769], [1836, 2171], [2118, 2173], [938, 1775], [180, 2184], [320, 2170], [167, 390], [216, 1348], [12, 951], [1901, 2194], [393, 954], [2187, 2193], [1354, 2182], [1097, 2196], [2042, 2189], [1925, 2186], [1723, 2201], [1844, 2195], [1011, 2192], [1540, 2200], [1340, 1916], [142, 1462], [2206, 2207], [1077, 2198], [1999, 2199], [1629, 1975], [1006, 1960], [932, 2032], [775, 2213], [15, 1600], [1964, 2215], [786, 1510], [2059, 2216], [1593, 2217], [1973, 2046], [216, 2219], [1857, 2153], [2121, 2222], [1481, 2070], [1061, 1512], [1248, 2225], [882, 1214], [1982, 2208], [100, 2224], [1870, 2229], [1739, 2227], [1198, 2226], [1516, 2232], [83, 2231]], "roots": [2067, 1939, 2041, 2056, 1415, 1421, 1594, 1831, 1777, 1586, 1366, 2228, 1937, 2143, 1874, 1623, 1492, 2025, 1863, 1798, 2152, 1950, 1755, 2210, 2174, 1773, 2223, 1808, 2144, 2080, 2112, 2146, 2013, 2001, 1918, 1848, 1979, 2158, 1956, 2204, 2047, 1965, 1849, 2230, 2214, 708, 1203, 1647, 2010, 2057, 1499, 1554, 2180, 2127, 1503, 2102, 2093, 1583, 1075, 1155, 2098, 2126, 2220, 1677, 2191, 2203, 2040, 2197, 1955, 2190, 2015, 2133, 644, 1709, 2205, 1747, 807, 2083, 1821, 1926, 1993, 2065, 2081, 1218, 1571, 1573, 1903, 2076, 1643, 1899, 2233, 2137, 2166, 1216, 1907, 1521, 1656, 1922, 2179, 1936, 1817, 1530, 2139, 1889, 2094, 1935, 1035, 2209, 1827, 2107, 2154, 1838, 523, 1704, 2129, 2211, 2221, 2104, 1779, 2163, 2145, 975, 1406, 1621, 2185, 2113, 2092, 2031, 1896, 1373, 1670, 1942, 2000, 1902, 1713, 1275, 2202, 2138, 1292, 2175, 1718, 2183, 1736, 1934, 2234, 1683, 1888, 1711, 1805, 1998, 1642, 2055, 2017, 1276, 2116, 2212, 2119, 2218, 1149, 2075, 1751, 2188, 1969, 1971, 1801], "contract": "Root indexed by J sums input I exactly when I and J are disjoint.", "source": "agent-cmod ctsa annealing of the complex compile ledger"} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz new file mode 100644 index 0000000000..4fb92af24c Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt new file mode 100644 index 0000000000..c1a8843611 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/FINITE_BRIDGE.txt @@ -0,0 +1,141 @@ +FINITE ROUTER, ROW-STOCK, AND SEMANTIC BRIDGE FOR ROUND 13 + +Prepared for icekylinx by GPT-6 Astra, 9 October 2026. Apache-2.0. + +This bridge applies to a completed, physically proved round-13 profile. +It cannot make a numerically attractive but unconstructed profile valid. +The local source/target flags, controlled injections, old-response +subtraction, inverse cleanup, and retained alias boundaries are separate +construction obligations. assemble_profiles.py records their role as +proof dependencies and independently checks the exact arithmetic. + +1. The inherited uniform interfaces + +Retain the three completed-core cover of PR144/PR168 and all of its +analytic and fixed-tape assumptions. The complex cover is O(m,2), m<=72, +with order V<2^(m*m)<=2^5184. No new independent cover coordinates are +introduced by common-frame scalar lifts or source-controlled local +rewrites. Every stage still uses one completed invocation at each vertex. + +For a supplied profile with W0<10^7 roles per cover vertex, the full +physical stock W=V W0 is less than2^5208. Its total rank s is less +than mW<2^5215. The profile's actual proper-child maximum is retained; +the selected complex maximum must be less than m/2. The script checks +these inequalities rather than assuming that fewer auxiliary rows imply +a better contraction or a shorter recursion. + +The bit word uses the same weighted q-adic frame interface and the same +internally borrowed selectors as its pinned parent. New source controls +must use existing nondegenerate source-meeting planes or separately +certified new frames. All zero-rank adapters remain charged scalar work. +The group-size factor is not omitted and is not inserted into an external +polynomial row reserve. The inherited ordinary leaf saving is exactly +384599/10^10. The bad-row allowance is1/10^16; the charged fallback per +edge is32m^2. Its inequality2m^3/2^80<1/10^16 is checked explicitly. + +2. A deliberately loose finite scalar bound + +The pinned words and round-13 modifications are finite straight-line +programs with fewer than2^40 stored nodes, roles, coefficients, and +boundary entries. Scalar sum/difference lifts use actual invertible +matrices and are executed pointwise at common frame representatives. +For the selected dyadic rewrite, new elementary coefficients are +dyadic; the inherited center scatters retain their fixed odd divisor3. +No unrecorded new odd denominator may be included under this bridge. + +Fixed integer multipliers can be expanded into scalar doublings and +additions; dyadic divisions can be expanded into halvings. The explicit +low words and full-frame inverses are much smaller than2^4096 primitive +scalar/movement groups per invocation. Even constructing their fixed +old-response matrices by exact elimination is dominated by this bound: +matrix order is below2^40, original finite-word coefficient bit lengths +are below2^80, and the elementary elimination and coefficient expansion +bounds are below2^1024. No input-size-dependent dense elimination is +being performed. These are constants of the chosen finite construction. + +Consequently all3V invocation words, endpoint adapters, and finite role +bookkeeping fit within K<2^9300 logical groups. The retained universal +router is overcharged by a full W-role permutation for every group: + + 64 (m+1)^3 (K+1) (W+1)^2 < 2^20000. + +Choose the exact dominating scalar/router budget G=2^30000. This also +dominates the primitive arithmetic required to realize the fixed scalar +coefficients and source-controlled inverse cleanup. The router still +uses a fixed number of tapes, with sequential reuse of row stock. + +3. Explicit semantic constants + +Choose the exact integer E=2^100000 and put B=s+E. Then + + 2 G W^2 + 8s + 4W + 4 + 32m < 2^40500 < E, + E <= B < 2^100001. + +For the actual maximum child r= s+E >= 1. + +Choose C0=2^210000 and C1=1. These dominate both the retained semantic +requirement32m B^2 and2B+18. The reported strict_literal_gap=1 and +induction_gap_lower=1 are proved lower bounds on the positive actual +integer gaps; they are not claims that those gaps equal one. + +Use the inherited common dyadic grid with fixed3^(-K') exposure and +retain its precision/rounding contract. No child receives an independent +rounding allowance and no source-controlled injection is treated as an +unpaid numerical operation. + +4. External rows and stopping + +The complex child maximum below m/2 gives halving degree1, while +log2 W<5208<10000. Keep the deliberately conservative inherited bit +coarse reserve9909 and ordinary-leaf reserve252. Thus the external +row coefficient is bounded by + + A=10000+9909+252=20161. + +Choose degree D=1000000 and suffix slope4D. The exact row gap is + + D - (51/25)A > 0. + +The q-adic selector fields and source-control labels remain internally +borrowed and restored. Increasing these finite overcharges changes +constants and the all-size bridge, not the selected exponent saving. + +5. Exact supplier moments and balanced assembly + +For each actual histogram, assemble_profiles.py proves + + sum_r n_r r exp(a log(m/r))/(mW0) + bad_allowance < 1 + +using rational upper bounds, with upward rounding on the2^120 grid. +The bit atom stop is the first10^(-12) grid point above +a/(1+a-old), which implies both required strict toll inequalities. +Its effective saving is(1-beta)a+beta*old. This stopping rule is the +already reviewed PR158 edge rule, not a new local-word contribution. + +The final assembly uses the substantial PR168 balanced-prefix adapter, +with eta=10^(-8) and phase stop10^(-9), retaining all47 strict +constraints and all7 margins. The selected final kappa is rounded +down on the10^(-10) grid below the minimum complete margin. The +script checks every constraint exactly and reports whether the fixed +target0.0009218338 is reached. + +This is a conditional bound of the retained theorem form + + T(n)=O(n (log n)^(1-kappa)). + +The improvement ratio refers to kappa, the logarithmic exponent saving. +It is not a measurement of practical multiplication throughput. + +Credits + +The base supplier, scalar/frame verification, and actual profiles are +pinned to PR168 fd25adb7fbaa12ee761d02c733c54d1d2a7687ee, eumemic +(Anthropic Claude assistance), building on icekylinx's PR144. The +balanced prefix is RaD/hipotures; the semantic constraints are retained +from the reviewed PR23 line; completed-core sharing is credited to +an664 PR128; the atom-edge stop is credited to geckods PR158. Existing +source notices retain their more detailed upstream attributions. +The new source-controlled boundary construction, this conservative +bridge, and its integration are GPT-6 Astra's round-13 work. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-layout.tex b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-layout.tex new file mode 100644 index 0000000000..16f4d23347 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/compact-control-layout.tex @@ -0,0 +1,118 @@ +\paragraph{Rows and complete compact fields.} +Let $m,W,s$ denote the complex network constants and keep the layer's global +$p,d,K$ at every node. Put +\[ + G=4\lceil\log_2p\rceil+6,\quad H=dG,\quad + q_F=\left\lceil\frac{2H}{K}\right\rceil,\quad + q_B=\left\lceil\frac{H}{K}\right\rceil, +\] +\[ + q_0=\lceil\log_2W\rceil\lceil\log_m(2d)\rceil, + \quad k_0=\lceil\log_m d\rceil,\quad Q_0=q_0+q_F+q_B. +\] +If $D\le Q_0$, apply all $D$ selected kernels individually. Otherwise, +process individually the first $q_0+q_F$ and last $q_B$ selected axes. +This uses existing coordinates only. The remaining active axes are a +consecutive middle block of length $D-Q_0$. + +Regard the first $q_0$ chunks as the row index. Immediately after it, the +next $q_F$ chunks have at least $2H$ bits. Reinterpret these consecutive +bits as two $H$-bit front fields and a spectator remainder; a remainder +of length zero is omitted. The last $q_B$ chunks similarly supply one +$H$-bit back field and a spectator remainder. These reinterpretations move +no records and preserve the total address space. For a call with $f$ axes +per slot, carve $nG=(f-1)G\le H$ consecutive bits from each of these +fields; collapse their unused bits into spectators. The resulting field +list has a fixed number of entries. Both front fields precede all active +slots and the back field follows them, so the compact-control proposition +applies to every ordered pair of slots. For $f=1$ no compact fields are used. + +The original row range has length $R_{\rm row}=2^{q_0K}\ge W^{k_0}$. +For each original prefix, pad this row range to the next multiple of +$W^{k_0}$ by adding zero rows. A row includes the entire complete front +fields, active middle block, back field, all spectator coordinates and +polynomial record suffix. Padding adds whole such rows, so increases total +volume by at most two and does not change any within-row range. + +At a node write the row index as $u=Wg+w$, $0\le w2r_j^{t_j}$ for largest children $r_b=529,r_c=756$. +At width $e$ reserve the product +$Q=W_c^{D_c(e)}W_b^{D_b(e)}$, with +$D_j(e)=t_j\lceil\log_2e\rceil$. Its coefficient is +$9\cdot28+20\cdot30=852$, and +\[ + 2000>\frac{51}{25}\,852. +\] +The sufficient stock is therefore $p^{2000}$, supplied by the retained +physically preceding transformed prefix and a single complete-row +padding. Nested bit stock is restored before another complex child. +Sequential copies introduce no independent row field. The supplementary +suffix condition $b_{\rm in}^{1-\epsilon}>8000(\log_2b_{\rm in}+8)$ +is eventual for fixed $\epsilon<1$. + +\subsection{Exact conditional assembly} +Use the analytic proof map in +\path{notes/structured-bulk-assembly.tex}: arbitrary-source routing +with active masking and paid repair scans; one rounded phase-cell +matrix with preserved period cuts and downward-weight error bounds; +persistent target halos, sequential overlap tapes and factor pages; +Baker--Harman--Pintz prime packing; and the retained exact-recovery +interface. Their full costs are unchanged. In particular the bulk +bound retains the terms +\[ + O\!\left(Tp\left[p^\tau\operatorname{polylog}p+ + d\operatorname{polylog}p+dp^\delta+w^2p^\delta+ + dw^2p^\delta/L\right]\right)+n^{o(1)}, +\] +with $L=2^{\lceil8\log_2p\rceil}$, +$w^2=O(p^{1-r})$, and normalization exponent requiring +$\epsilon+r<1$. These arguments, not a change of arithmetic model, +justify the seven margins below. + +\begin{theorem}[Conditional fixed-tape multiplication bound] +Under the retained analytic and fixed-tape interfaces of PR23/PR29 +and the preceding proof map, the selected copied-center networks give +\[ + T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad + \boxed{\kappa=\frac{384569}{10000000000}=3.84569\times10^{-5}}. +\] +\end{theorem} +\begin{proof} +Take the strict finite savings $a=a_b=384599/10^{10}$ and +$b=a_c=717/10^7$, with $\tau=1-a$, $\sigma=1-b$, and put +\[ +\begin{gathered} + \eta=10^{-8},\quad\beta=\tfrac14,\quad q=a(1-2\eta),\quad + c=q(1+\eta),\quad\epsilon=\frac{1-\eta}{1+c+q},\\ + \lambda'=1-q,\quad\lambda=(\tau+\lambda')/2,\quad + g=\epsilon q,\quad r=(g+1-\epsilon)/2,\quad\delta=\eta/8. +\end{gathered} +\] +The stopped complex leaf saving $(1-\beta)b=53.775\times10^{-6}$ +is strictly above $a$, so paid internal adapters use exponent $\tau$ +and both layer exponents lie below $\lambda'$. The exact certificate +checks all 47 strict constraints of the retained semantic/bulk +composition, using the new literal scalar charge and product-row gap. +These include compact reservations, geometry, the linear guard, +$\epsilon+r<1$, phase-cell/band separation, prime packing, short-record +fallback and artificial-boundary allowances. + +The seven final savings are +\[ + 1-\epsilon(1+c),\quad a,\quad g,\quad a,\quad + \min(1-\epsilon-\delta,r-\delta),\quad + 1-\epsilon-\delta,\quad\epsilon. +\] +Their minimum is exactly $g$ and the prefix margin equals $g+\eta$. +Exact rational comparison gives +\[ + g-\frac{384569}{10^{10}}>4.0746056580\times10^{-11}>0. +\] +These positive gaps absorb fixed logarithms. The all-size conclusion +retains constructive finite setup, descriptor and catalogue domination, +prime existence and analytic recovery as eventual thresholds. The +strict bit and complex moments, copied-stream recurrence contracts and +these assembly inequalities prove the claimed conditional bound. +\end{proof} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex new file mode 100644 index 0000000000..8933aaf508 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/copied-centers-lemma.tex @@ -0,0 +1,103 @@ +\subsection{Scalar, frame and temporary-stream contracts} +The retained source-copy, reversible mixer and scatter maps satisfy +$JLV=I$. Over $\mathbb F_2$ the chronological word +\[ + L,\ J,\ L^{-1},\ V,\ L,\ J,\ L^{-1},\ V +\] +adds the input to the target and restores every arbitrary auxiliary. +Over Gaussian dyadics use its corresponding old-value subtraction and +new-value addition. A designated retained output has a distinct terminal +output-use carrier: a matching may feed that carrier, but cannot merge +two designated terminals or append a later middle-producer consumer. +Its remaining uses before cleanup are its scatter reads, all of which +leave its scalar value unchanged. + +Within one tensor invocation suppress the fixed future line and put +\[ + D_0=B\otimes F_h,\quad D_1=A\otimes F_h,\quad + A=B\mathbin{\perp}P,\quad D_U=D_0\mathbin{\perp}(P\otimes U), +\] +where $P$ and the suppressed future factor are one-dimensional and +$U$ is a nondegenerate retained-center space of dimension $r$. +Thus a local change of rank $d$ has ambient rank $d$. +Write $\mathcal F_Q$ for the address frame: it is the rational partial +swap $D_Q$ in the bit construction, and the binary phase $C_Q$ in the +complex construction. Changing a copy from frame $Q_1$ to $Q_2$ means +applying $\mathcal F_{Q_2}\mathcal F_{Q_1}^{-1}$ to its physical stream. +Orthogonal backgrounds cancel in this quotient. + +Copies use Paureel's retained copy/transform/read/discard interface +\cite{paureel,pr29}. A copy has precisely the original complete role +stream, including all control and spectator ranges, and volume $V/W$. +It is processed while inactive original streams are parked on the fixed +depth-first stack tapes. Copying, pointwise reads and erasure are linear +in that stream's volume. Sequential processing needs one additional +fixed work stream, not an independently varying row coordinate. + +\begin{lemma}[Copied retained-center schedule] +In either invocation orientation a designated retained center's +physical rank profile can be changed from $z^r+z^h$ to +$z^r+z^{h-r}$, with the same scalar action, original role endpoints, +and arbitrary-scratch restoration. The rank-$r$ transform on the copy +is included in the recursive call list. +\end{lemma} +\begin{proof} +In the forward orientation the original center has scalar value $w$ +at frame $D_U$ after the middle mixer. Its old sequence was +$D_U\to D_0\to D_1$: scatter at $D_0$, then cleanup at $D_1$, +with ranks $r,h$. +Keep the original at $D_U$, copy its physical stream, and transform +only the copy to $D_0$, paying rank $r$. Supply every scatter read +from that transformed copy while its data targets remain at their +unchanged common frame $D_0$, then erase the temporary. The reads +are exactly those of $w$ in the old schedule. Since they do not change +$w$, move the original directly from $D_U$ to $D_1$ before its first +cleanup incidence; this costs $h-r$. Every subsequent original gate +therefore receives the same scalar value at its required frame. + +In the reverse complementary orientation the old sequence was +$D_0\to D_1\to D_{U^\perp}$, with ranks $h,r$ and scatter at $D_1$. +After the preceding all-$D_0$ operations, advance the original directly +to $D_{U^\perp}=D_0\mathbin{\perp}(P\otimes U^\perp)$, paying +$h-r$. Copy it and transform the copy to $D_1$, paying $r$. +Use that copy for all early scatter reads, then erase it. The original +already has the exact frame and unchanged scalar value required by the +following inverse mixer. Terminal output-use separation ensures no +intervening producer consumer has been bypassed. + +For partial swaps either direction of the rank-$r$ change is the same +involution. For complex phases the forward copy uses $C_U^{-1}$, +the direct original growth uses $C_{U^\perp}$, and the reverse copy +uses $C_FC_{U^\perp}^{-1}=C_U$. These are the same charged ranks, +implemented by the retained forward/inverse residual interface. +All tensor backgrounds cancel as stated. Every original scalar +incidence, final source-copy cancellation and auxiliary source/sink +operator is unchanged. Thus the scalar identity and all endpoints +remain exact on arbitrary initial auxiliary values. +\end{proof} + +For the selected centers $r=h-1$, and there are $h$ distinct retained +output uses per invocation. Their old histogram has rank mass +$hR_h+2\ell_h$, where $\ell_h=h(h-1)$. The new histogram is exactly +\[ + H'_{h,1}=H_{h,1}+h,\qquad H'_{h,h}=H_{h,h}-h, + \qquad H'_{h,r}=H_{h,r}\quad(r\ne1,h), +\] +and hence $\sum_r rH'_{h,r}=hR_h+\ell_h$. +Every old rank-$(h-1)$ residual remains as a paid transform of a copy; +its projector and ordinary bit pivot profile are unchanged. Only the +full-rank original transition becomes the rank-one complement. +The physical role count $R_h$ is unchanged. + +For two factors, put $N=v_av_b$, $B_a=v_bR_a$, $B_b=v_aR_b$, +$W=2N+B_a+B_b$ and $L=v_b\ell_a+v_a\ell_b$. +All exterior, data-front and endpoint-correction calls remain in place. +The resulting complete rank mass is +\[ + s=Wm-N+L,\qquad Wm-s=N-L. +\] +This follows by subtracting exactly $L$ from the retained two-stage +physical mass $Wm-N+2L$. The $N$ rank-one endpoint-copy calls are +separate and remain fully charged. Because center copies retain the +same complete role-volume fraction $1/W$, the existing complete-row, +integer-width remainder and fixed-tape recurrence proofs apply. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex new file mode 100644 index 0000000000..907a0ceda8 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/retained/endpoint-gauge-complex.tex @@ -0,0 +1,225 @@ +\subsection{A normal form for every nondegenerate binary residual} +Let $E$ have binary basis matrix $V$ and nonsingular Gram matrix +$G=V^tV$. In dual Fourier coordinates put +$q(z)=\operatorname{wt}(VG^{-1}z)\pmod4$. +Its polarization is $2z^tG^{-1}w$. The same argument applies to mixed +signs on orthogonal summands, since reversing a sign preserves this +polarization. Write $S_q=\sum_z i^{q(z)}$. Completing the square gives +\[ +\begin{aligned} +K(x,y)&=2^{-r}\sum_z i^{q(z)}(-1)^{z^t(x+y)}\\ + &=2^{-r}S_q\,i^{-q(Gx)}(-1)^{x^tGy}i^{-q(Gy)}. +\end{aligned} +\] +The scaled Walsh kernel in the middle is a binary permutation of +$H_0^{\otimes r}$, where +\[ + H_0=\tfrac12\begin{pmatrix}1&1\\1&-1\end{pmatrix} + =bSCS,\qquad b=(1-i)/2,\quad S=\operatorname{diag}(1,i). +\] +The remaining scalar $S_qb^r$ is a fourth root of unity. To verify +this, decompose the nondegenerate quadratic module into odd +one-dimensional and alternating two-dimensional blocks. Their Gauss +sums are $1\pm i$ and $\pm2$, respectively; multiplying by $b$ and +$b^2$ gives a fourth root in each case. This is a proof device, not +an orthonormal-basis assumption on $E$. + +Consequently one rank-$r$ child suffices, with binary address changes, +diagonal fourth-root phases, and one scalar fourth-root phase. +On $f$ parallel columns it is one $C^{\otimes rf}$ child, the scalar +raised to power $f$, and columnwise quadratic phases modulo four. +The retained packed address operations evaluate these fixed formulas. +These wrappers have modulus one and introduce no denominator loss. + +\subsection{The selected Gaussian-dyadic producer} +Use paired triple exclusion with base threshold two, complete unsplit +disjoint and pair-star sums, and sharing by actual ordinary support. +For an ordinary support with at least two common points use the span +of its triple indicators; these form an orthonormal common-pair star. +Otherwise use the coordinate space of its union. Support inclusion +preserves these labels: losing the common pair enters a containing +coordinate space. Source lines use ordinary triple containment. + +Retain every full pair-star $P_{uv}=\sum_{w\ne u,v}X_{uvw}$ and form +$B_u=\sum_{v\ne u}P_{uv}=2\sum_{T\ni u}X_T$. +For even $h$ label these central additions by the nondegenerate +hyperplane $E_u=\{x:\sum_{j\ne u}x_j=0\}$; every contributing star +lies in it. Retain the global total $T$ with full-space label. +The central correction at target $S$ is +\[ + \frac14\sum_{u\in S}B_u-\frac12T + =\sum_U\frac{|S\cap U|-1}{2}X_U. +\] +Adding half the disjoint sum and subtracting half the intersection-two +sum gives exactly $X_S$. All coefficients are Gaussian dyadic. +The transparent retained-output wrapper and oriented carrier compiler +apply to these nested nondegenerate labels. The $h$ hyperplane centers +lose $h(h-1)$ and the global center loses $h$, so loss is $h^2$. +The selected counts, including all point centers, are +\[ +\begin{array}{c|rrrrrr} +h&v_h&c_h&q_h&|\mathcal M_h|&R_h&\text{loss}\\\hline +32&4960&122512&19873&19241&123144&1024\\ +30&4060&99153&16271&15873&99551&900\\ +40&9880&252023&39561&37642&253942&1600 +\end{array} +\] +Their internal histograms satisfy $\sum_r rH_{h,r}=hR_h+2h^2$. +They are distinct from the bit histograms. + +\subsection{Endpoint normalization and the complex characteristic} +For nondegenerate $U$, Fourier phases give +\[ + C_U^2=X_{P_U\mathbf1},\qquad + C_{U^\perp}C_U^{-1}=C_FX_{P_U\mathbf1}. +\] +Put $v=P_U\mathbf1$. On coordinates in $v$, this endpoint has +$C^{-1}$ instead of $C$. The identity $C^{-1}=-iZCZ$ shows that +conjugating by $Z_v$ and multiplying by $i^{\operatorname{wt}(v)}$ +normalizes it to $C_F$; for $f$ columns the exponent is +$f\operatorname{wt}(v)$. These are diagonal wrappers without a child. + +Choose stage-two source $C_{D_0}$ and sink $C_{D_0^\perp}$, where +$D_1=D_0\mathbin{\perp} A$ and $\dim A=b$. The same refined copy +schedule removes the entrance on every auxiliary role. With +$R=D_1^\perp$, the exit is $C_RC_{D_0}^{-1}$ on +$E=R\mathbin{\perp}D_0=A^\perp$. Its rank is $m-b$ and its +nondegenerate polar form is unchanged by the mixed signs. The normal +form above executes it as one child. Arbitrary auxiliary restoration +justifies the endpoint normalization on the entire $B_2$ bank. + +Use the complex counts to define $B_i=NR_{h_i}/v_{h_i}$, and now +\[ +\begin{aligned} +W&=2N+B_2+B_3=10390178240000,\\ +L&=\sum_i(N/v_{h_i})h_i^2=117399987200,\\ +s&=Wm-2N+2L=398982681296998400. +\end{aligned} +\] +The whole-residual macro list is +\[ +\begin{array}{c|rrrrr} +t&38328&38360&38370&37401&899\\\hline +n_t&B_1&B_3-B_1&B_2&2N&2N. +\end{array} +\] +Add $(N/v_h)H_{h,r}$ rank-$r$ children for each positive internal rank. +Leave the remaining physical-data rank, 39393978624000, as singleton +calls. The resulting list has weighted rank exactly $s$. +For $a_c=3/125000$ and $\sigma=1-a_c$, the rational logarithm bounds +above and $e^u\le(1-u)^{-1}$, $0\le u<1$, give +\[ + \Psi_c(\sigma)\le\sum_t\frac{n_tt}{Wm(1-a_c\ell_t)} + <1-\frac{792981575160764}{10^{23}}. +\] + +\subsection{The dependency-path guard} +Before gauging, nested producer labels telescope along every arithmetic +path, including wire switches at common-frame scalar gates. Retained +center drops occur on one return frontier per stage, crossed at most +once by a path, and each costs at most that axis dimension. Carrier +reuse adds only increasing continuations. This gives +$q_0=m+2(a+b+k)$. Gauging removes an early edge and adds $ab-b$ at +a late stage-two edge. A path meets at most one such edge, since it +terminates that stage-two role, which is not shared across stages. +Thus the conservative total rank budget is +\[ + q=m+2(a+b+k)+ab=39564. +\] +Every child except the four large macros is at most 899; two large +macros cannot fit within $q$. Set $\rho=19/10$, $\gamma=9997/10000$. +The integer comparisons $m^{19}>500000000^{10}$ and +$899^9<460^{10}$ give $m^\rho>500000000$ and +$899^{\rho-1}<460$. +If a path has one large child $t$, its moment is at most +\[ + (t/m)^\rho+(q-t)899^{\rho-1}/m^\rho. +\] +This expression increases over the large-child range, since its +numerator derivative is $\rho t^{\rho-1}-899^{\rho-1}>0$. +Use $t=m-b$ and the concavity bound +$(1-x)^{19/10}\le1-19x/10+9x^2/10$ to obtain +\[ + \sum_{\rm path}(r/m)^\rho + <1-\frac{19}{12800}+\frac9{10\cdot1280^2} + +\frac{1194\cdot460}{500000000} + =\frac{51180270301}{51200000000}<\gamma. +\] +Without a large macro the bound is $227493/6250000<\gamma$. + +For coefficient-depth accounting take $E_0=128(W+m+1)^3$. +There are at most $s$ positive-rank residual calls and $W$ endpoint +normalizations. Combining the quadratic phases with the $S$ factors, +each uses at most two diagonal phase passes and one scalar phase. +The inherited gate and remainder count is therefore bounded conservatively by +\[ + 36W^3+16s+16W+8m+4 card Γ * N.unit φ) + +Scalar chain of one class (`x1 y1 x2 y2` on `X1 Y1 X2 Y2`), as in `bridged-word.md`: + + stage 0 F on pair 1 Y1 = y1 + x1 + stage 1 B on pair 1 X1 = -y1 + gates A X1 += X2, Y2 -= Y1 + stage 2 F on pair 1 Y1 = x1 + x2 + gates B Y2 += Y1, X1 -= X2 (X1 = -y1, Y2 = y2 - y1 + x2) + stage 3 B on pair 2 X2 = y1 - y2 + stage 4 F on pair 2 Y2 = x2 + gates C Y1 -= Y2, X2 += X1 (X1 = -y1, X2 = -y2, Y1 = x1, Y2 = x2) + exchange X_i := Y_i, Y_i := -X_i +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace BR +open Binary Matrix Finset RAM SS CB RF +noncomputable section + +section Gates +variable {Γ T Sl C : Type} + +/-- source of the gates of the layers A and B: `X1 ← X2`, `Y2 ← Y1`. -/ +def pAB : BRole Γ T Sl C → BRole Γ T Sl C := + mkB (fun g t => kX2 (g,t)) (fun g t => kY1 (g,t)) (fun g t => kX2 (g,t)) + (fun g t => kY1 (g,t)) (fun g q => kS (g,q)) (fun g c => kC (g,c)) + +/-- layer A: `X1 += X2`, `Y2 -= Y1`. -/ +def kA : BRole Γ T Sl C → ℚ := + mkB (fun _ _ => 1) (fun _ _ => 0) (fun _ _ => 0) (fun _ _ => -1) (fun _ _ => 0) (fun _ _ => 0) + +/-- layer B: `X1 -= X2`, `Y2 += Y1`. -/ +def kB : BRole Γ T Sl C → ℚ := + mkB (fun _ _ => -1) (fun _ _ => 0) (fun _ _ => 0) (fun _ _ => 1) (fun _ _ => 0) (fun _ _ => 0) + +/-- source of the gates of the layer C: `Y1 ← Y2`, `X2 ← X1`. -/ +def pC : BRole Γ T Sl C → BRole Γ T Sl C := + mkB (fun g t => kX1 (g,t)) (fun g t => kY2 (g,t)) (fun g t => kX1 (g,t)) + (fun g t => kY2 (g,t)) (fun g q => kS (g,q)) (fun g c => kC (g,c)) + +/-- layer C: `Y1 -= Y2`, `X2 += X1`. -/ +def kCc : BRole Γ T Sl C → ℚ := + mkB (fun _ _ => 0) (fun _ _ => -1) (fun _ _ => 1) (fun _ _ => 0) (fun _ _ => 0) (fun _ _ => 0) + +/-- scalar map of a gate layer. -/ +def gsc (p : BRole Γ T Sl C → BRole Γ T Sl C) (k : BRole Γ T Sl C → ℚ) + (x : BRole Γ T Sl C → ℂ) : BRole Γ T Sl C → ℂ := fun i => x i + (k i : ℂ) * x (p i) + +/-- the signed exchange `X_i := Y_i`, `Y_i := -X_i` on both pairs. -/ +def bpull : BRole Γ T Sl C → BRole Γ T Sl C := + mkB (fun g t => kY1 (g,t)) (fun g t => kX1 (g,t)) (fun g t => kY2 (g,t)) + (fun g t => kX2 (g,t)) (fun g q => kS (g,q)) (fun g c => kC (g,c)) + +def bsgn : BRole Γ T Sl C → ℚ := + mkB (fun _ _ => 1) (fun _ _ => -1) (fun _ _ => 1) (fun _ _ => -1) (fun _ _ => 1) (fun _ _ => 1) + +variable [Fintype Γ] [DecidableEq Γ] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] + +def brecM : Matrix (BRole Γ T Sl C) (BRole Γ T Sl C) ℚ := + fun i j => if j = bpull i then bsgn i else 0 + +lemma actPoint_brecM (x : BRole Γ T Sl C → ℂ) (i : BRole Γ T Sl C) : + actPoint brecM x i = (bsgn i : ℂ) * x (bpull i) := by + unfold actPoint + rw [sum_eq_single (bpull i)] + · simp [brecM] + · intro j _ hj; simp [brecM, hj] + · simp + +/-- the scalar map of the whole network before the exchange, on one class. -/ +def chain (x : BRole Γ T Sl C → ℂ) : BRole Γ T Sl C → ℂ := + gsc pC kCc (lift2 GF (lift2 GB (gsc pAB kB (lift1 GF (gsc pAB kA (lift1 GB (lift1 GF x))))))) + +/-- **The scalar identity of the bridged chain**: `X_i = -y_i`, `Y_i = x_i` on both pairs, +helper slots unchanged. -/ +lemma chain_eq (x : BRole Γ T Sl C → ℂ) (l : BLive Γ T Sl) : + chain x (Sum.inl l) = mkB (fun g t => -x (kY1 (g,t))) (fun g t => x (kX1 (g,t))) + (fun g t => -x (kY2 (g,t))) (fun g t => x (kX2 (g,t))) + (fun g q => x (kS (g,q))) (fun g c => x (kC (g,c))) (Sum.inl l) := by + rcases l with (((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩) + all_goals + simp only [chain, gsc, lift1, lift2, GF, GB, mkB, mkS, pAB, pC, kA, kB, kCc, pos1, pos2, + kX1, kY1, kX2, kY2, kS, kC, jX, jY, jS, jC, Function.comp_apply] + first + | (push_cast; ring) + | (push_cast; done) + | ring + +end Gates + +section Net +variable {H T Sl C α Γ : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] + [Fintype Γ] [DecidableEq Γ] +variable (N : Bridge2 H T Sl C α Γ) + +/-- gate layer A, after stage 1 and the first idle climb of pair 2: twins have equal frames. -/ +lemma Bridge2.gateA : XRoute N.S3 N.S3 (gsc pAB kA) (fun _ => 0) := by + refine gateP pAB kA N.S3 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- gate layer B, after stage 2 and the second idle climb of pair 2. -/ +lemma Bridge2.gateB : XRoute N.S5 N.S5 (gsc pAB kB) (fun _ => 0) := by + refine gateP pAB kB N.S5 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · exact N.x23 g t + · exact (hk rfl).elim + · exact (hk rfl).elim + · exact (N.y23 g t).symm + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- gate layer C, after the final climbs. -/ +lemma Bridge2.gateC : XRoute N.S8 N.S8 (gsc pC kCc) (fun _ => 0) := by + refine gateP pC kCc N.S8 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · exact (hk rfl).elim + · rfl + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- the free shifts at the end. -/ +def Bridge2.corr : BRole Γ T Sl C → Space α := + mkB (fun _ _ => 0) (fun g t => N.u g t) (fun _ _ => 0) (fun g t => N.u g t) + (fun _ _ => 0) (fun _ _ => 0) + +def Bridge2.S9 : BRole Γ T Sl C → CMat α := fun r => shift (N.corr r) * N.S8 r + +/-- the whole word before the exchange: five stages, three idle-climb layers, three gate +layers. -/ +lemma Bridge2.route : + XRoute N.S0 N.S8 chain (fun φ => (Fintype.card Γ : ℝ) * N.unit φ) := by + have R := ((((((((((N.stage0.trans N.stage1).trans N.climbA).trans N.gateA).trans + N.stage2).trans N.climbB).trans N.gateB).trans N.stage3).trans N.stage4).trans + N.fin).trans N.gateC) + refine (R.castg ?_).cast (fun φ => ?_) + · rfl + · simp only [Bridge2.unit] + ring + +/-- **The scratch certificate of the bridged five-stage network with shared helper sets**, +in whole blocks, with its exact price for every price list. -/ +theorem bridge2_certificate : + BCert α (Sum.inl : BLive Γ T Sl → BRole Γ T Sl C) + (fun φ => (Fintype.card Γ : ℝ) * N.unit φ) := by + have R2 : XRoute N.S8 N.S9 id (fun _ => 0) := XRoute.shifts N.hm N.S8 N.corr + have R3 : XRoute N.S9 (fun r => N.S9 (bpull r)) (actPoint brecM) (fun _ => 0) := + XRoute.gate brecM N.S9 _ (fun i j h => by + have hj : j = bpull i := by + by_contra hne + exact h (by simp [brecM, hne]) + rw [hj]) + have Rt := ((N.route.trans R2).trans R3).cast (c' := fun φ => (Fintype.card Γ : ℝ) * N.unit φ) + (fun φ => by first | ring | simp) + have hSinv : ∀ r, ∃ M, N.S0 r * M = 1 := by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact N.inv0 g t + · refine ⟨1, ?_⟩ + show (N.M0 g).Φ 0 * 1 = 1 + rw [N.z0, Matrix.mul_one] + · exact N.inv0 g t + · refine ⟨1, ?_⟩ + show (N.M0 g).Φ 0 * 1 = 1 + rw [N.z0, Matrix.mul_one] + · exact ⟨1, Matrix.mul_one _⟩ + · exact ⟨1, Matrix.mul_one _⟩ + choose S' hS' using hSinv + have hT : ∀ l : BLive Γ T Sl, N.S9 (bpull (Sum.inl l)) = kernel α * N.S0 (Sum.inl l) := by + rintro (((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩) + · show shift (N.u g t) * N.YF g t = kernel α * (N.M0 g).Φ (tt (N.I.tv t)) + exact (N.term g t).symm + · show shift (0 : Space α) * kernel α = kernel α * (N.M0 g).Φ 0 + rw [shift_zero, Matrix.one_mul, N.z0, Matrix.mul_one] + · show shift (N.u g t) * N.YF g t = kernel α * (N.M0 g).Φ (tt (N.I.tv t)) + exact (N.term g t).symm + · show shift (0 : Space α) * kernel α = kernel α * (N.M0 g).Φ 0 + rw [shift_zero, Matrix.one_mul, N.z0, Matrix.mul_one] + · show shift (0 : Space α) * kernel α = kernel α * 1 + rw [shift_zero, Matrix.one_mul, Matrix.mul_one] + have hg : ∀ x : BRole Γ T Sl C → ℂ, + (∀ s, (∀ l : BLive Γ T Sl, (Sum.inl l : BRole Γ T Sl C) ≠ s) → x s = 0) → + ∀ l : BLive Γ T Sl, + (actPoint brecM ∘ (id ∘ chain)) x (Sum.inl l) = x (Sum.inl l) := by + intro x _ l + change actPoint brecM (chain x) (Sum.inl l) = _ + rw [actPoint_brecM] + rcases l with (((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩) + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inl (Sum.inr (g,t))))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kX1 (g,t)) = x (kX1 (g,t)) + first | (push_cast; ring) | simp + · show ((-1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inl (Sum.inl (g,t))))) = _ + rw [chain_eq] + show ((-1:ℚ):ℂ) * (-x (kY1 (g,t))) = x (kY1 (g,t)) + first | (push_cast; ring) | simp + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inr (Sum.inr (g,t))))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kX2 (g,t)) = x (kX2 (g,t)) + first | (push_cast; ring) | simp + · show ((-1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inr (Sum.inl (g,t))))) = _ + rw [chain_eq] + show ((-1:ℚ):ℂ) * (-x (kY2 (g,t))) = x (kY2 (g,t)) + first | (push_cast; ring) | simp + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inr (g,q))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kS (g,q)) = x (kS (g,q)) + first | (push_cast; ring) | simp + exact XRoute.liveKernel (Sum.inl : BLive Γ T Sl → BRole Γ T Sl C) N.S0 S' + (fun r => N.S9 (bpull r)) hS' _ _ Rt hg hT + +end Net +end +end BR +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.BR.chain_eq +#print axioms OAI.PowerSaving.BR.Bridge2.route +#print axioms OAI.PowerSaving.BR.bridge2_certificate diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean new file mode 100644 index 0000000000..204f6d9cf9 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Bridge__Net.lean @@ -0,0 +1,345 @@ +import Work.Bridge.Inv + +/-! +# (key: bridge-net) The BRIDGED five-stage network B_2 with shared helper sets, abstract form + +Generalises `RF.Fold3S` / `RF.fold3s_certificate` (`Work.Reframe.SCert`) to the bridged word +of PLAN2.md B1: every class `(g,t)` has TWO bank pairs `(X1,Y1)`, `(X2,Y2)` with the same +line; five stages of invocations + + stage 0 forward on pair 1 invocation of the class (g,t): g + stage 1 backward on pair 1 r1 t g + stage 2 forward on pair 1 r2 t g + stage 3 backward on pair 2 r3 t g + stage 4 forward on pair 2 r4 t g + +and three layers of FREE gates between twins at equal frames: + + after stage 1 (pair 2 has climbed to the frames of pair 1): X1 += X2, Y2 -= Y1 + after stage 2 (pair 2 has climbed one more window): Y2 += Y1, X1 -= X2 + after the final climbs (all four roles at their end frames): Y1 -= Y2, X2 += X1 + +Result on both pairs: `X_i = -y_i`, `Y_i = x_i`; then the usual signed exchange. + +The idle pair does not move during a stage. Its climbs are ONE block per role: +`aX2`, `aY2` (pair 2 before the first gate layer, prices `caX`, `caY`; in B_2 ONE block of +rank `2h-2` each), +the window of stage 2 (pair 2 before the second gate layer, rank `card H - 1`, from the +package: `Inv.climbX`, `Inv.climbY`), `fX1`, `fY1` (pair 1 at the end, prices `cX1`, `cY1`; +in B_2 ONE block of rank `2h+2` each), `fX2`, `fY2` (pair 2 at the end, prices `cX2`, `cY2`; +in B_2 one block of rank `4` each). The prices are arbitrary functions of the price list, so +a geometry that makes an idle climb in several blocks can be plugged in as well. + +`Bridge2 H T Sl C α Γ` is everything the wiring needs to know about the geometry; +`bridge2_certificate`: a `BCert` on the live roles `BLive Γ T Sl` +(`card Γ * (4 card T + card Sl)` of them, `BR.card_BLive`) whose price, for EVERY price +list, is `card Γ * N.unit φ`, + + N.unit φ = 5 * N.I.cost φ + card T * ((caX φ + caY φ) + 2 * bcost φ (card H - 1) + + (cX1 φ + cY1 φ) + (cX2 φ + cY2 φ)). +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace BR +open Binary Matrix Finset RAM SS CB RF +noncomputable section + +/-- See the file header. Fields in the style of `RF.Fold3S`; stages are numbered 0 to 4. -/ +structure Bridge2 (H T Sl C α Γ : Type) [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] where + /-- the invocation (for a block circuit `X`: `X.inv`). -/ + I : Inv H T Sl C + /-- frame maps of the invocations of the five stages. -/ + M0 : Γ → XMap H α + M1 : Γ → XMap H α + M2 : Γ → XMap H α + M3 : Γ → XMap H α + M4 : Γ → XMap H α + /-- the class `(g,t)` is served by the invocation `g` in stage 0 and `r_l t g` in stage `l`. -/ + r1 : T → Γ ≃ Γ + r2 : T → Γ ≃ Γ + r3 : T → Γ ≃ Γ + r4 : T → Γ ≃ Γ + /-- the invocation `d` of stage `l` uses the helper set (and the copies) `s_l d`. -/ + s1 : Γ ≃ Γ + s2 : Γ ≃ Γ + s3 : Γ ≃ Γ + s4 : Γ ≃ Γ + /-- inverse of the frame of the base, and frame of the window, of every invocation. -/ + N1 : Γ → CMat α + W1 : Γ → CMat α + N2 : Γ → CMat α + W2 : Γ → CMat α + N3 : Γ → CMat α + W3 : Γ → CMat α + N4 : Γ → CMat α + W4 : Γ → CMat α + u : Γ → T → Space α + YF : Γ → T → CMat α + hm : 2 ≤ Fintype.card α + /-- prices of the idle climbs, for every price list. B_2 with merged climbs: + `caX = caY = fun φ => bcost φ (2h-2)`, `cX1 = cY1 = fun φ => bcost φ (2h+2)`, + `cX2 = cY2 = fun φ => bcost φ 4`. -/ + caX : (ℕ → ℝ) → ℝ + caY : (ℕ → ℝ) → ℝ + cX1 : (ℕ → ℝ) → ℝ + cY1 : (ℕ → ℝ) → ℝ + cX2 : (ℕ → ℝ) → ℝ + cY2 : (ℕ → ℝ) → ℝ + inv0 : ∀ g t, ∃ N : CMat α, (M0 g).Φ (tt (I.tv t)) * N = 1 + z0 : ∀ g, (M0 g).Φ 0 = 1 + hN1 : ∀ d, (M1 d).Φ 0 * N1 d = 1 + hW1 : ∀ d, (M1 d).Φ 1 = W1 d * (M1 d).Φ 0 + hN2 : ∀ d, (M2 d).Φ 0 * N2 d = 1 + hW2 : ∀ d, (M2 d).Φ 1 = W2 d * (M2 d).Φ 0 + hN3 : ∀ d, (M3 d).Φ 0 * N3 d = 1 + hW3 : ∀ d, (M3 d).Φ 1 = W3 d * (M3 d).Φ 0 + hN4 : ∀ d, (M4 d).Φ 0 * N4 d = 1 + hW4 : ∀ d, (M4 d).Φ 1 = W4 d * (M4 d).Φ 0 + /-- the bank frames a stage leaves are the bank frames the next stage starts from. -/ + x01 : ∀ g t, (M0 g).Φ 1 = (M1 (r1 t g)).Φ (tt (I.tv t)) + y01 : ∀ g t, (M0 g).Φ (1 + tt (I.tv t)) = (M1 (r1 t g)).Φ 0 + x12 : ∀ g t, (M1 (r1 t g)).Φ 1 = (M2 (r2 t g)).Φ (tt (I.tv t)) + y12 : ∀ g t, (M1 (r1 t g)).Φ (1 + tt (I.tv t)) = (M2 (r2 t g)).Φ 0 + x23 : ∀ g t, (M2 (r2 t g)).Φ 1 = (M3 (r3 t g)).Φ (tt (I.tv t)) + y23 : ∀ g t, (M2 (r2 t g)).Φ (1 + tt (I.tv t)) = (M3 (r3 t g)).Φ 0 + x34 : ∀ g t, (M3 (r3 t g)).Φ 1 = (M4 (r4 t g)).Φ (tt (I.tv t)) + y34 : ∀ g t, (M3 (r3 t g)).Φ (1 + tt (I.tv t)) = (M4 (r4 t g)).Φ 0 + /-- the five windows of a helper set make up the kernel. -/ + sfin : ∀ g, W4 (s4.symm g) * (W3 (s3.symm g) * (W2 (s2.symm g) * + (W1 (s1.symm g) * (M0 g).Φ 1))) = kernel α + /-- pair 2, idle in stages 0 and 1: ONE block from its start frame to the frame of its + twin after stage 1. -/ + aX2 : ∀ g t, XReach ((M0 g).Φ (tt (I.tv t))) ((M1 (r1 t g)).Φ 1) caX + aY2 : ∀ g t, XReach ((M0 g).Φ 0) ((M1 (r1 t g)).Φ (1 + tt (I.tv t))) caY + /-- pair 1, idle in stages 3 and 4: ONE block from its frame after stage 2 to the end. -/ + fX1 : ∀ g t, XReach ((M2 (r2 t g)).Φ 1) (kernel α) cX1 + fY1 : ∀ g t, XReach ((M2 (r2 t g)).Φ (1 + tt (I.tv t))) (YF g t) cY1 + /-- pair 2 after stage 4: ONE final block. -/ + fX2 : ∀ g t, XReach ((M4 (r4 t g)).Φ 1) (kernel α) cX2 + fY2 : ∀ g t, XReach ((M4 (r4 t g)).Φ (1 + tt (I.tv t))) (YF g t) cY2 + term : ∀ g t, kernel α * (M0 g).Φ (tt (I.tv t)) = shift (u g t) * YF g t + +section Net +variable {H T Sl C α Γ : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] + [Fintype Γ] [DecidableEq Γ] +variable (N : Bridge2 H T Sl C α Γ) + +/-- price of the blocks of one unit (one element of `Γ`): five invocations and the idle +climbs of the four bank roles of every class. -/ +def Bridge2.unit (φ : ℕ → ℝ) : ℝ := + 5 * N.I.cost φ + (Fintype.card T : ℝ) * ((N.caX φ + N.caY φ) + + 2 * bcost φ (Fintype.card H - 1) + + (N.cX1 φ + N.cY1 φ) + (N.cX2 φ + N.cY2 φ)) + +/-- scratch copies always enter and leave with the matrix `1` (also: the helper slots at the +start, with `C := Sl`). -/ +def cOne (Γ C α : Type) [Fintype α] [DecidableEq α] : Γ → C → CMat α := fun _ _ => 1 + +/-- the bank index of stage 0: the class `(g,t)` belongs to the invocation `g`. -/ +abbrev bid (Γ T : Type) : T → Γ ≃ Γ := fun _ => Equiv.refl Γ + +/-! bank frames of the class `(g,t)`: `xi l`, `yi l` at the START of stage `l`; `xo l`, +`yo l` at the END of stage `l` (only where no next stage follows on that pair). -/ +def Bridge2.xi0 (g : Γ) (t : T) : CMat α := (N.M0 g).Φ (tt (N.I.tv t)) +def Bridge2.yi0 (g : Γ) (t : T) : CMat α := (N.M0 g).Φ 0 +def Bridge2.xi1 (g : Γ) (t : T) : CMat α := (N.M1 (N.r1 t g)).Φ (tt (N.I.tv t)) +def Bridge2.yi1 (g : Γ) (t : T) : CMat α := (N.M1 (N.r1 t g)).Φ 0 +def Bridge2.xi2 (g : Γ) (t : T) : CMat α := (N.M2 (N.r2 t g)).Φ (tt (N.I.tv t)) +def Bridge2.yi2 (g : Γ) (t : T) : CMat α := (N.M2 (N.r2 t g)).Φ 0 +def Bridge2.xo2 (g : Γ) (t : T) : CMat α := (N.M2 (N.r2 t g)).Φ 1 +def Bridge2.yo2 (g : Γ) (t : T) : CMat α := (N.M2 (N.r2 t g)).Φ (1 + tt (N.I.tv t)) +def Bridge2.xi3 (g : Γ) (t : T) : CMat α := (N.M3 (N.r3 t g)).Φ (tt (N.I.tv t)) +def Bridge2.yi3 (g : Γ) (t : T) : CMat α := (N.M3 (N.r3 t g)).Φ 0 +def Bridge2.xi4 (g : Γ) (t : T) : CMat α := (N.M4 (N.r4 t g)).Φ (tt (N.I.tv t)) +def Bridge2.yi4 (g : Γ) (t : T) : CMat α := (N.M4 (N.r4 t g)).Φ 0 +def Bridge2.xo4 (g : Γ) (t : T) : CMat α := (N.M4 (N.r4 t g)).Φ 1 +def Bridge2.yo4 (g : Γ) (t : T) : CMat α := (N.M4 (N.r4 t g)).Φ (1 + tt (N.I.tv t)) + +/-- helper slots after the stages 0, 1, 2, 3, 4 (at the start: `cOne Γ Sl α`). -/ +def Bridge2.Z1 : Γ → Sl → CMat α := fun g _ => (N.M0 g).Φ 1 +def Bridge2.Z2 : Γ → Sl → CMat α := fun g q => N.W1 (N.s1.symm g) * N.Z1 g q +def Bridge2.Z3 : Γ → Sl → CMat α := fun g q => N.W2 (N.s2.symm g) * N.Z2 g q +def Bridge2.Z4 : Γ → Sl → CMat α := fun g q => N.W3 (N.s3.symm g) * N.Z3 g q +def Bridge2.Z5 : Γ → Sl → CMat α := fun g q => N.W4 (N.s4.symm g) * N.Z4 g q + +/-- frames: at the start; after stage 0; after stage 1; after the first idle climb of pair 2 +(first gate layer here); after stage 2; after the second idle climb of pair 2 (second gate +layer here); after stage 3; after stage 4; after the final climbs (third gate layer here). -/ +def Bridge2.S0 : BRole Γ T Sl C → CMat α := mkB N.xi0 N.yi0 N.xi0 N.yi0 (cOne Γ Sl α) (cOne Γ C α) +def Bridge2.S1 : BRole Γ T Sl C → CMat α := mkB N.xi1 N.yi1 N.xi0 N.yi0 N.Z1 (cOne Γ C α) +def Bridge2.S2 : BRole Γ T Sl C → CMat α := mkB N.xi2 N.yi2 N.xi0 N.yi0 N.Z2 (cOne Γ C α) +def Bridge2.S3 : BRole Γ T Sl C → CMat α := mkB N.xi2 N.yi2 N.xi2 N.yi2 N.Z2 (cOne Γ C α) +def Bridge2.S4 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi2 N.yi2 N.Z3 (cOne Γ C α) +def Bridge2.S5 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi3 N.yi3 N.Z3 (cOne Γ C α) +def Bridge2.S6 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi4 N.yi4 N.Z4 (cOne Γ C α) +def Bridge2.S7 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xo4 N.yo4 N.Z5 (cOne Γ C α) +def Bridge2.S8 : BRole Γ T Sl C → CMat α := + mkB (fun _ _ => kernel α) N.YF (fun _ _ => kernel α) N.YF (fun _ _ => kernel α) (cOne Γ C α) + +/-- stage 0: forward on pair 1, every helper set starts at the matrix `1`. -/ +lemma Bridge2.stage0 : + XRoute N.S0 N.S1 (lift1 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := istage_fwd N.I (bid Γ T) (Equiv.refl Γ) N.M0 (fun _ => 1) (fun g => (N.M0 g).Φ 1) + (fun d => by rw [N.z0, Matrix.mul_one]) (fun d => by rw [N.z0, Matrix.mul_one]) + (cOne Γ Sl α) (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv (bid Γ T) N.M0 + (fun g (q : Sl) => (N.M0 ((Equiv.refl Γ).symm g)).Φ 1 * cOne Γ Sl α g q) (cOne Γ C α) + = mkS N.xi1 N.yi1 N.Z1 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x01 g t + · exact N.y01 g t + · show (N.M0 g).Φ 1 * 1 = (N.M0 g).Φ 1 + rw [Matrix.mul_one] + · rfl + have h' : XRoute (bIn N.I.tv (bid Γ T) N.M0 (cOne Γ Sl α) (cOne Γ C α)) + (mkS N.xi1 N.yi1 N.Z1 (cOne Γ C α)) GF (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact blift1 N.xi0 N.yi0 h' + +/-- stage 1: backward on pair 1; the helper set `g` serves the invocation `s1⁻¹ g`. -/ +lemma Bridge2.stage1 : + XRoute N.S1 N.S2 (lift1 GB) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := istage_bwd N.I N.r1 N.s1 N.M1 N.N1 N.W1 N.hN1 N.hW1 N.Z1 (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv N.r1 N.M1 (fun g q => N.W1 (N.s1.symm g) * N.Z1 g q) (cOne Γ C α) + = mkS N.xi2 N.yi2 N.Z2 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x12 g t + · exact N.y12 g t + · rfl + · rfl + have h' : XRoute (bIn N.I.tv N.r1 N.M1 N.Z1 (cOne Γ C α)) + (mkS N.xi2 N.yi2 N.Z2 (cOne Γ C α)) GB (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact blift1 N.xi0 N.yi0 h' + +/-- stage 2: forward on pair 1. -/ +lemma Bridge2.stage2 : + XRoute N.S3 N.S4 (lift1 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := + blift1 N.xi2 N.yi2 + (istage_fwd N.I N.r2 N.s2 N.M2 N.N2 N.W2 N.hN2 N.hW2 N.Z2 (cOne Γ C α) (cOne Γ C α)) + +/-- stage 3: backward on pair 2. -/ +lemma Bridge2.stage3 : + XRoute N.S5 N.S6 (lift2 GB) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := istage_bwd N.I N.r3 N.s3 N.M3 N.N3 N.W3 N.hN3 N.hW3 N.Z3 (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv N.r3 N.M3 (fun g q => N.W3 (N.s3.symm g) * N.Z3 g q) (cOne Γ C α) + = mkS N.xi4 N.yi4 N.Z4 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x34 g t + · exact N.y34 g t + · rfl + · rfl + have h' : XRoute (bIn N.I.tv N.r3 N.M3 N.Z3 (cOne Γ C α)) + (mkS N.xi4 N.yi4 N.Z4 (cOne Γ C α)) GB (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact blift2 N.xo2 N.yo2 h' + +/-- stage 4: forward on pair 2. -/ +lemma Bridge2.stage4 : + XRoute N.S6 N.S7 (lift2 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := + blift2 N.xo2 N.yo2 + (istage_fwd N.I N.r4 N.s4 N.M4 N.N4 N.W4 N.hN4 N.hW4 N.Z4 (cOne Γ C α) (cOne Γ C α)) + +/-- first idle climb of pair 2 (stages 0 and 1 in ONE block per role), to the frames of +pair 1 after stage 1. -/ +lemma Bridge2.climbA : + XRoute N.S2 N.S3 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * (N.caX φ + N.caY φ))) := by + have H1 := XRoute.reach_all N.S2 N.S3 + (mkB (fun _ _ _ => 0) (fun _ _ _ => 0) (fun _ _ => N.caX) + (fun _ _ => N.caY) (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact XReach.refl _ + · exact XReach.refl _ + · show XReach ((N.M0 g).Φ (tt (N.I.tv t))) ((N.M2 (N.r2 t g)).Φ (tt (N.I.tv t))) N.caX + rw [← N.x12 g t] + exact N.aX2 g t + · show XReach ((N.M0 g).Φ 0) ((N.M2 (N.r2 t g)).Φ 0) N.caY + rw [← N.y12 g t] + exact N.aY2 g t + · exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +/-- second idle climb of pair 2: the window of stage 2, ONE block of rank `card H - 1` per +role, to the frames of pair 1 after stage 2. -/ +lemma Bridge2.climbB : + XRoute N.S4 N.S5 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * (2 * bcost φ (Fintype.card H - 1)))) := by + have H1 := XRoute.reach_all N.S4 N.S5 + (mkB (fun _ _ _ => 0) (fun _ _ _ => 0) (fun _ _ φ => bcost φ (Fintype.card H - 1)) + (fun _ _ φ => bcost φ (Fintype.card H - 1)) (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact XReach.refl _ + · exact XReach.refl _ + · show XReach ((N.M2 (N.r2 t g)).Φ (tt (N.I.tv t))) ((N.M3 (N.r3 t g)).Φ (tt (N.I.tv t))) + (fun φ => bcost φ (Fintype.card H - 1)) + rw [← N.x23 g t] + exact N.I.climbX (N.M2 (N.r2 t g)) t + · show XReach ((N.M2 (N.r2 t g)).Φ 0) ((N.M3 (N.r3 t g)).Φ 0) + (fun φ => bcost φ (Fintype.card H - 1)) + rw [← N.y23 g t] + exact N.I.climbY (N.M2 (N.r2 t g)) t + · exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +/-- the final climbs: pair 1 from its frames after stage 2 (ONE block per role for the +stages 3, 4 and the rest), pair 2 from its frames after stage 4; the helper slots are +already at the kernel. -/ +lemma Bridge2.fin : + XRoute N.S7 N.S8 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * ((N.cX1 φ + N.cY1 φ) + (N.cX2 φ + N.cY2 φ)))) := by + have H1 := XRoute.reach_all N.S7 N.S8 + (mkB (fun _ _ => N.cX1) (fun _ _ => N.cY1) (fun _ _ => N.cX2) (fun _ _ => N.cY2) + (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact N.fX1 g t + · exact N.fY1 g t + · exact N.fX2 g t + · exact N.fY2 g t + · show XReach (N.W4 (N.s4.symm g) * (N.W3 (N.s3.symm g) * (N.W2 (N.s2.symm g) * + (N.W1 (N.s1.symm g) * (N.M0 g).Φ 1)))) (kernel α) (fun _ => 0) + rw [N.sfin g] + exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +end Net +end +end BR +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.BR.Bridge2.stage0 +#print axioms OAI.PowerSaving.BR.Bridge2.stage1 +#print axioms OAI.PowerSaving.BR.Bridge2.stage2 +#print axioms OAI.PowerSaving.BR.Bridge2.stage3 +#print axioms OAI.PowerSaving.BR.Bridge2.stage4 +#print axioms OAI.PowerSaving.BR.Bridge2.climbA +#print axioms OAI.PowerSaving.BR.Bridge2.climbB +#print axioms OAI.PowerSaving.BR.Bridge2.fin diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean new file mode 100644 index 0000000000..b8306527d6 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Live.lean @@ -0,0 +1,232 @@ +import Work.Carrier.Pack +import Work.Carrier.Ring + +/-! +# (key: carrier-thm) The live roles of an invocation, and the four dirt gates as matrices + +`L3 T Sl = (T ⊕ T) ⊕ Sl`: the bank roles `x` (`lX`), `y` (`lY`) and the helper slots (`lS`), all +on the same footing (no scratch copies). `PX`, `PY`: the coordinate projectors. + +For the matrix `M` of all gates of the main phase and its inverse `Mi`: + + g1 M = 1 - PY * M * PS `y -= K s` g1i M = 1 + PY * M * PS (its inverse) + g8 Mi = PX + PY + PS * Mi slot rows of `M⁻¹` h8 M = PX + PY + PS * M (its inverse) + +(`PS = 1 - PX - PY`). This file: unit rows / columns of these gates (hence between which roles +their entries can be nonzero), the scatter with the copies eliminated (`scatM`), and the scalar +maps of `1 + PY * M * PX` and of the transpose of `1 - PY * M * PX`. + +No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace CR +open Binary Matrix Finset RAM SS CB BR +noncomputable section + +section Diag +variable {ρ : Type*} [Fintype ρ] [DecidableEq ρ] + +lemma col_zero_of {d : ρ → ℚ} {G : Matrix ρ ρ ℚ} + (h : G * Matrix.diagonal d = Matrix.diagonal d) {i j : ρ} (hj : d j = 1) (hij : i ≠ j) : + G i j = 0 := by + have e := congrFun (congrFun h i) j + rw [Matrix.mul_diagonal, Matrix.diagonal_apply_ne _ hij, hj, mul_one] at e + exact e + +lemma row_zero_of {d : ρ → ℚ} {G : Matrix ρ ρ ℚ} + (h : Matrix.diagonal d * G = Matrix.diagonal d) {i j : ρ} (hi : d i = 1) (hij : i ≠ j) : + G i j = 0 := by + have e := congrFun (congrFun h i) j + rw [Matrix.diagonal_mul, Matrix.diagonal_apply_ne _ hij, hi, one_mul] at e + exact e + +lemma diag_mul_of_rows {d : ρ → ℚ} {G : Matrix ρ ρ ℚ} + (h : ∀ i j, d i ≠ 0 → G i j = if i = j then 1 else 0) : + Matrix.diagonal d * G = Matrix.diagonal d := by + ext i j + rw [Matrix.diagonal_mul] + by_cases hd : d i = 0 + · rw [hd, zero_mul] + by_cases hij : i = j + · subst hij; rw [Matrix.diagonal_apply_eq, hd] + · rw [Matrix.diagonal_apply_ne _ hij] + · rw [h i j hd] + by_cases hij : i = j + · subst hij; rw [if_pos rfl, mul_one, Matrix.diagonal_apply_eq] + · rw [if_neg hij, mul_zero, Matrix.diagonal_apply_ne _ hij] + +lemma mul_diag_of_cols {d : ρ → ℚ} {G : Matrix ρ ρ ℚ} + (h : ∀ i j, d j ≠ 0 → G i j = if i = j then 1 else 0) : + G * Matrix.diagonal d = Matrix.diagonal d := by + ext i j + rw [Matrix.mul_diagonal] + by_cases hd : d j = 0 + · rw [hd, mul_zero] + by_cases hij : i = j + · subst hij; rw [Matrix.diagonal_apply_eq, hd] + · rw [Matrix.diagonal_apply_ne _ hij] + · rw [h i j hd] + by_cases hij : i = j + · subst hij; rw [if_pos rfl, one_mul, Matrix.diagonal_apply_eq] + · rw [if_neg hij, zero_mul, Matrix.diagonal_apply_ne _ hij] + +/-- scalar map of a diagonal gate matrix. -/ +lemma act_diag (d : ρ → ℚ) (u : ρ → ℂ) : + actPoint (Matrix.diagonal d) u = fun i => ((d i : ℚ) : ℂ) * u i := by + funext i + show ∑ j, ((Matrix.diagonal d i j : ℚ) : ℂ) * u j = ((d i : ℚ) : ℂ) * u i + rw [Finset.sum_eq_single i] + · rw [Matrix.diagonal_apply_eq] + · intro j _ hj + rw [Matrix.diagonal_apply_ne _ (Ne.symm hj), Rat.cast_zero, zero_mul] + · intro h + exact absurd (Finset.mem_univ i) h + +lemma actPoint_mul (A B : Matrix ρ ρ ℚ) (u : ρ → ℂ) : + actPoint (A * B) u = actPoint A (actPoint B u) := + ap_mul A B u + +end Diag + +section Live +variable {T Sl : Type} [Fintype T] [DecidableEq T] [Fintype Sl] [DecidableEq Sl] + +/-- live roles of one invocation: `x`, `y`, helper slots. -/ +abbrev L3 (T Sl : Type) := (T ⊕ T) ⊕ Sl +abbrev lX (t : T) : L3 T Sl := Sum.inl (Sum.inl t) +abbrev lY (t : T) : L3 T Sl := Sum.inl (Sum.inr t) +abbrev lS (q : Sl) : L3 T Sl := Sum.inr q + +/-- indicator of the x roles. -/ +def iX : L3 T Sl → ℚ := Sum.elim (Sum.elim (fun _ => 1) (fun _ => 0)) (fun _ => 0) +/-- indicator of the y roles. -/ +def iY : L3 T Sl → ℚ := Sum.elim (Sum.elim (fun _ => 0) (fun _ => 1)) (fun _ => 0) + +def PX : Matrix (L3 T Sl) (L3 T Sl) ℚ := Matrix.diagonal iX +def PY : Matrix (L3 T Sl) (L3 T Sl) ℚ := Matrix.diagonal iY + +lemma iX_cases (i : L3 T Sl) : iX i = 0 ∨ iX i = 1 := by + rcases i with ((t|t)|q) + · exact Or.inr rfl + · exact Or.inl rfl + · exact Or.inl rfl + +lemma iY_cases (i : L3 T Sl) : iY i = 0 ∨ iY i = 1 := by + rcases i with ((t|t)|q) + · exact Or.inl rfl + · exact Or.inr rfl + · exact Or.inl rfl + +lemma PX_sq : (PX : Matrix (L3 T Sl) (L3 T Sl) ℚ) * PX = PX := by + unfold PX + have e : (fun i : L3 T Sl => iX i * iX i) = iX := by + funext i + rcases i with ((t|t)|q) <;> simp [iX] + rw [Matrix.diagonal_mul_diagonal, e] + +lemma PY_sq : (PY : Matrix (L3 T Sl) (L3 T Sl) ℚ) * PY = PY := by + unfold PY + have e : (fun i : L3 T Sl => iY i * iY i) = iY := by + funext i + rcases i with ((t|t)|q) <;> simp [iY] + rw [Matrix.diagonal_mul_diagonal, e] + +lemma PX_PY : (PX : Matrix (L3 T Sl) (L3 T Sl) ℚ) * PY = 0 := by + unfold PX PY + rw [Matrix.diagonal_mul_diagonal] + have e : (fun i : L3 T Sl => iX i * iY i) = fun _ => 0 := by + funext i + rcases i with ((t|t)|q) <;> simp [iX, iY] + rw [e] + exact Matrix.diagonal_zero + +lemma PY_PX : (PY : Matrix (L3 T Sl) (L3 T Sl) ℚ) * PX = 0 := by + unfold PX PY + rw [Matrix.diagonal_mul_diagonal] + have e : (fun i : L3 T Sl => iY i * iX i) = fun _ => 0 := by + funext i + rcases i with ((t|t)|q) <;> simp [iX, iY] + rw [e] + exact Matrix.diagonal_zero + +lemma PX_T : (PX : Matrix (L3 T Sl) (L3 T Sl) ℚ)ᵀ = PX := Matrix.diagonal_transpose _ +lemma PY_T : (PY : Matrix (L3 T Sl) (L3 T Sl) ℚ)ᵀ = PY := Matrix.diagonal_transpose _ + +/-- "no gate into an x role": the x rows are unit rows. -/ +lemma PX_mul_of {M : Matrix (L3 T Sl) (L3 T Sl) ℚ} + (hx : ∀ t j, M (lX t) j = if lX t = j then 1 else 0) : PX * M = PX := by + unfold PX + apply diag_mul_of_rows + intro i j hi + rcases i with ((t|t)|q) + · exact hx t j + · exact absurd rfl hi + · exact absurd rfl hi + +/-- "no gate reads a y role": the y columns are unit columns. -/ +lemma mul_PY_of {M : Matrix (L3 T Sl) (L3 T Sl) ℚ} + (hy : ∀ i t, M i (lY t) = if i = lY t then 1 else 0) : M * PY = PY := by + unfold PY + apply mul_diag_of_cols + intro i j hj + rcases j with ((t|t)|q) + · exact absurd rfl hj + · exact hy i t + · exact absurd rfl hj + +/-! ### the four dirt gates -/ + +def g1 (M : Matrix (L3 T Sl) (L3 T Sl) ℚ) : Matrix (L3 T Sl) (L3 T Sl) ℚ := + 1 - PY * M * (1 - PX - PY) +def g1i (M : Matrix (L3 T Sl) (L3 T Sl) ℚ) : Matrix (L3 T Sl) (L3 T Sl) ℚ := + 1 + PY * M * (1 - PX - PY) +def g8 (Mi : Matrix (L3 T Sl) (L3 T Sl) ℚ) : Matrix (L3 T Sl) (L3 T Sl) ℚ := + PX + PY + (1 - PX - PY) * Mi +def h8 (M : Matrix (L3 T Sl) (L3 T Sl) ℚ) : Matrix (L3 T Sl) (L3 T Sl) ℚ := + PX + PY + (1 - PX - PY) * M + +/-- a gate with unit x rows and unit x columns joins two different roles only if neither is an +x role. -/ +lemma offdiag_x {G : Matrix (L3 T Sl) (L3 T Sl) ℚ} (h1 : G * PX = PX) (h2 : PX * G = PX) + {i j : L3 T Sl} (hij : G i j ≠ 0) (e : i ≠ j) : iX i = 0 ∧ iX j = 0 := by + constructor + · by_contra h + exact hij (row_zero_of h2 ((iX_cases i).resolve_left h) e) + · by_contra h + exact hij (col_zero_of h1 ((iX_cases j).resolve_left h) e) + +/-- a gate with unit x rows, unit y rows and unit y columns: a nonzero entry off the diagonal +is in a slot row and not in a y column. -/ +lemma offdiag_s {G : Matrix (L3 T Sl) (L3 T Sl) ℚ} (hx : PX * G = PX) (hy : PY * G = PY) + (hyc : G * PY = PY) {i j : L3 T Sl} (hij : G i j ≠ 0) (e : i ≠ j) : + iX i = 0 ∧ iY i = 0 ∧ iY j = 0 := by + refine ⟨?_, ?_, ?_⟩ + · by_contra h + exact hij (row_zero_of hx ((iX_cases i).resolve_left h) e) + · by_contra h + exact hij (row_zero_of hy ((iY_cases i).resolve_left h) e) + · by_contra h + exact hij (col_zero_of hyc ((iY_cases j).resolve_left h) e) + +lemma g1_x (M : Matrix (L3 T Sl) (L3 T Sl) ℚ) : g1 M * PX = PX ∧ PX * g1 M = PX := by + unfold g1 + constructor + · rw [sub_mul, one_mul, side_n_right (PX_sq (T := T) (Sl := Sl)) PY_PX, sub_zero] + · rw [mul_sub, mul_one, side_n_left (PX_PY (T := T) (Sl := Sl)), sub_zero] + +lemma g1i_x (M : Matrix (L3 T Sl) (L3 T Sl) ℚ) : g1i M * PX = PX ∧ PX * g1i M = PX := by + unfold g1i + constructor + · rw [add_mul, one_mul, side_n_right (PX_sq (T := T) (Sl := Sl)) PY_PX, add_zero] + · rw [mul_add, mul_one, side_n_left (PX_PY (T := T) (Sl := Sl)), add_zero] + +end Live +end +end CR +end PowerSaving +end OAI diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean new file mode 100644 index 0000000000..305da15b5d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Carrier__Phases.lean @@ -0,0 +1,192 @@ +import Work.Carrier.Glue + +/-! +# (key: carrier-thm) A carrier circuit given by its phases: hypotheses and scalar identities + +`Phased H T Sl C` is the hypothesis structure of the carrier invocation theorem in the general +scope (any ordered mix of gates `(x, slot)`, `(slot, slot)`, `(x, y)`, `(slot, y)`): + +* phase A (before the scatter), phase B (after it) and the final climbs F are exact block routes + on the LIVE roles `L3 T Sl` (`x`, `y`, slots: all on the same footing), for every block frame + map, with the gate products `MA`, `MB` (and the transposed inverses for the backward word); +* the scatter goes through the scratch copies: `c += Cc s` at the labels `cen`, the copies come + down, `y += Jr c` at 0; +* `hx`: no gate INTO an x role, `hy`: no gate READS a y role, `hid`: the y roles receive exactly + the x roles — three facts about the ONE matrix `Mt = MB * scatM (Jr * Cc) * MA`. + +This file: `Mt`, its inverse `Mti`, and the scalar identities of the forward and of the backward +word (`fwd_scalar`, `bwd_scalar`): with the two dirt gates `g1`, `g8` (resp. the transposes of +`g1i`, `h8`) the word does `y += x` (resp. `x -= y`) for ARBITRARY slot contents. + +No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace CR +open Binary Matrix Finset RAM SS CB BR +noncomputable section + +/-- labels of the live roles at the START of an invocation. -/ +def lab3 {H T Sl : Type} (tv : T → Space H) : L3 T Sl → Lbl H := + Sum.elim (Sum.elim (fun t => lineL (tv t)) (fun _ => zeroL)) (fun _ => zeroL) + +/-- **The hypotheses of the carrier invocation theorem, by phases.** See the file header. -/ +structure Phased (H T Sl C : Type) [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] where + tv : T → Space H + kx : ∀ t, Climb (lineL (tv t)) fullL + ky : ∀ t, Climb zeroL (perpL (tv t)) + cen : C → Lbl H + kc : ∀ k, Climb zeroL (cen k) + Cc : Matrix C Sl ℚ + Jr : Matrix T C ℚ + labA : L3 T Sl → Lbl H + labB : L3 T Sl → Lbl H + labF : L3 T Sl → Lbl H + hAy : ∀ t, (labA (lY t)).P = 0 + hAc : ∀ k q, Cc k q ≠ 0 → (cen k).P = (labA (lS q)).P + hFx : ∀ t, (labF (lX t)).P = 1 + hFy : ∀ t, (labF (lY t)).P = 1 + tt (tv t) + hFs : ∀ q, (labF (lS q)).P = 1 + MA : Matrix (L3 T Sl) (L3 T Sl) ℚ + MAi : Matrix (L3 T Sl) (L3 T Sl) ℚ + MB : Matrix (L3 T Sl) (L3 T Sl) ℚ + MBi : Matrix (L3 T Sl) (L3 T Sl) ℚ + hAi : MAi * MA = 1 + hBi : MBi * MB = 1 + hx : ∀ t j, (MB * scatM (Jr * Cc) * MA) (lX t) j = if lX t = j then 1 else 0 + hy : ∀ i t, (MB * scatM (Jr * Cc) * MA) i (lY t) = if i = lY t then 1 else 0 + hid : ∀ S t, (MB * scatM (Jr * Cc) * MA) (lY S) (lX t) = if S = t then 1 else 0 + rA : List ℕ + rB : List ℕ + rF : List ℕ + pA : ∀ {α : Type} [Fintype α] [DecidableEq α] (Xm : XMap H α), + XRoute (fun r => Xm.Φ (lab3 tv r).P) (fun r => Xm.Φ (labA r).P) (actPoint MA) + (fun φ => rcost φ rA) ∧ + XRoute (fun r => Xm.Φ (lab3 tv r).P) (fun r => Xm.Φ (labA r).P) (actPoint MAiᵀ) + (fun φ => rcost φ rA) + pB : ∀ {α : Type} [Fintype α] [DecidableEq α] (Xm : XMap H α), + XRoute (fun r => Xm.Φ (labA r).P) (fun r => Xm.Φ (labB r).P) (actPoint MB) + (fun φ => rcost φ rB) ∧ + XRoute (fun r => Xm.Φ (labA r).P) (fun r => Xm.Φ (labB r).P) (actPoint MBiᵀ) + (fun φ => rcost φ rB) + pF : ∀ {α : Type} [Fintype α] [DecidableEq α] (Xm : XMap H α), + XRoute (fun r => Xm.Φ (labB r).P) (fun r => Xm.Φ (labF r).P) id (fun φ => rcost φ rF) + +section Alg +variable {H T Sl C : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] + +namespace Phased +variable (K : Phased H T Sl C) + +/-- the product of ALL gates of the main phase (scatter with the copies eliminated). -/ +def Mt : Matrix (L3 T Sl) (L3 T Sl) ℚ := K.MB * scatM (K.Jr * K.Cc) * K.MA +/-- its inverse. -/ +def Mti : Matrix (L3 T Sl) (L3 T Sl) ℚ := K.MAi * scatMi (K.Jr * K.Cc) * K.MBi + +/-- price of one invocation: the blocks of the three phases and one block per copy. -/ +def cost (φ : ℕ → ℝ) : ℝ := + rcost φ K.rA + (∑ k, bcost φ (K.cen k).d) + rcost φ K.rB + rcost φ K.rF + +lemma im : K.Mti * K.Mt = 1 := by + unfold Mti Mt + have hB : ∀ X : Matrix (L3 T Sl) (L3 T Sl) ℚ, K.MBi * (K.MB * X) = X := fun X => by + rw [← Matrix.mul_assoc, K.hBi, Matrix.one_mul] + have hS : ∀ X : Matrix (L3 T Sl) (L3 T Sl) ℚ, + scatMi (K.Jr * K.Cc) * (scatM (K.Jr * K.Cc) * X) = X := fun X => by + rw [← Matrix.mul_assoc, scat_inv, Matrix.one_mul] + rw [Matrix.mul_assoc, Matrix.mul_assoc, Matrix.mul_assoc, hB, hS, K.hAi] + +lemma mi : K.Mt * K.Mti = 1 := mul_eq_one_comm.mp K.im + +lemma hxm : PX * K.Mt = PX := PX_mul_of (M := K.Mt) K.hx +lemma hmy : K.Mt * PY = PY := mul_PY_of (M := K.Mt) K.hy +lemma hiy : K.Mti * PY = PY := dirt_iy K.hmy K.im + +/-- **the dirt rule, forward**, for the matrices of the circuit. -/ +lemma hF : g8 K.Mti * K.Mt * g1 K.Mt = 1 + PY * K.Mt * PX := by + unfold g8 g1 + exact dirt_fwd PX_sq PY_sq PX_PY PY_PX K.hxm K.hmy K.im K.mi + +/-- **the dirt rule, backward.** -/ +lemma hB : g1i K.Mt * K.Mti * h8 K.Mt = 1 - PY * K.Mt * PX := by + unfold g1i h8 + exact dirt_bwd PX_sq PY_sq PX_PY PY_PX K.hxm K.hmy K.im K.mi + +/-- live part of the forward word before the scatter: `y -= K s`, then phase A. -/ +def f1 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint K.MA (actPoint (g1 K.Mt) u) +/-- after the scatter: phase B, then the slot rows of the inverse. -/ +def f2 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint (g8 K.Mti) (actPoint K.MB u) +/-- the same for the backward word (transposed inverses). -/ +def b1 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint K.MAiᵀ (actPoint (g1i K.Mt)ᵀ u) +def b2 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint (h8 K.Mt)ᵀ (actPoint K.MBiᵀ u) + +lemma fwd_live (u : L3 T Sl → ℂ) : + K.f2 (actPoint (scatM (K.Jr * K.Cc)) (K.f1 u)) = actPoint (1 + PY * K.Mt * PX) u := by + rw [← K.hF] + show actPoint (g8 K.Mti) (actPoint K.MB (actPoint (scatM (K.Jr * K.Cc)) + (actPoint K.MA (actPoint (g1 K.Mt) u)))) + = actPoint (g8 K.Mti * (K.MB * scatM (K.Jr * K.Cc) * K.MA) * g1 K.Mt) u + rw [actPoint_mul, actPoint_mul, actPoint_mul, actPoint_mul] + +lemma bwd_live (u : L3 T Sl → ℂ) : + K.b2 (actPoint ((scatMi (K.Jr * K.Cc))ᵀ) (K.b1 u)) + = actPoint ((1 - PY * K.Mt * PX)ᵀ) u := by + rw [← K.hB] + show actPoint (h8 K.Mt)ᵀ (actPoint K.MBiᵀ (actPoint (scatMi (K.Jr * K.Cc))ᵀ + (actPoint K.MAiᵀ (actPoint (g1i K.Mt)ᵀ u)))) + = actPoint ((g1i K.Mt * (K.MAi * scatMi (K.Jr * K.Cc) * K.MBi) * h8 K.Mt)ᵀ) u + rw [Matrix.transpose_mul, Matrix.transpose_mul, Matrix.transpose_mul, Matrix.transpose_mul, + actPoint_mul, actPoint_mul, actPoint_mul, actPoint_mul] + +lemma liveAct_glue (φ : (L3 T Sl → ℂ) → (L3 T Sl → ℂ)) (u : L3 T Sl → ℂ) (c : C → ℂ) : + liveAct φ (glue u c) = glue (φ u) c := + congrArg (fun v => glue (φ v) c) (glue_up u c) + +/-- **Scalar identity of the forward word**: `y += x`, slots restored, for ARBITRARY slot +contents (the copies are erased before and after). -/ +theorem fwd_scalar (z : Box T Sl C → ℂ) : + eraseC (liveAct K.f2 (gateS bY bC K.Jr (gateS bC bS K.Cc (liveAct K.f1 (eraseC z))))) + = shearF z := by + have h1 : liveAct K.f1 (eraseC z) = glue (K.f1 (z ∘ upE)) (fun _ => 0) := by + rw [erase_glue z, liveAct_glue] + have hs : gateS bY bC K.Jr (gateS bC bS K.Cc (glue (K.f1 (z ∘ upE)) (fun _ => 0))) ∘ upE + = actPoint (scatM (K.Jr * K.Cc)) (K.f1 (z ∘ upE)) := by + have h := scat_glue K.Jr K.Cc (glue (K.f1 (z ∘ upE)) (fun _ => 0)) rfl + rw [glue_up] at h + exact h + rw [h1] + unfold liveAct + rw [erase_of_glue, hs, K.fwd_live, act_shear K.Mt K.hid] + exact glue_shearF z + +/-- **Scalar identity of the backward word**: `x -= y`, slots restored. -/ +theorem bwd_scalar (z : Box T Sl C → ℂ) : + eraseC (liveAct K.b2 (gateS bS bC (-K.Ccᵀ) (gateS bC bY K.Jrᵀ (liveAct K.b1 (eraseC z))))) + = shearB z := by + have h1 : liveAct K.b1 (eraseC z) = glue (K.b1 (z ∘ upE)) (fun _ => 0) := by + rw [erase_glue z, liveAct_glue] + have hs : gateS bS bC (-K.Ccᵀ) (gateS bC bY K.Jrᵀ (glue (K.b1 (z ∘ upE)) (fun _ => 0))) ∘ upE + = actPoint ((scatMi (K.Jr * K.Cc))ᵀ) (K.b1 (z ∘ upE)) := by + have h := scat_glueT K.Jr K.Cc (glue (K.b1 (z ∘ upE)) (fun _ => 0)) rfl + rw [glue_up] at h + exact h + rw [h1] + unfold liveAct + rw [erase_of_glue, hs, K.bwd_live, act_shearT K.Mt K.hid] + exact glue_shearB z + +end Phased +end Alg +end +end CR +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.CR.Phased.fwd_scalar +#print axioms OAI.PowerSaving.CR.Phased.bwd_scalar diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean new file mode 100644 index 0000000000..9aa06b5bf2 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__Fourier__Main.lean @@ -0,0 +1,176 @@ +import Work.Fourier.Asymptotics +import OAI.Computability.FourierTransform.RegisterBounds +import Work.Fourier.Goal + +/- +Modified copy of lean/OAI/Computability/FourierTransform/Main.lean of github.com/openai/math +(commit fd4aeeb, Apache-2.0), generated by `tools/fourier/mkchain.py`. OpenAI's file itself is +unmodified in this repository and still imported. Changed for this repository, all mechanically: + * every declaration of this file (and of the other 10 copied files) has the suffix `Z` + on its name, so that it does not collide with OpenAI's original; + * OpenAI's exponent `alpha = 1 - 2/10^11` and envelope `hills` are replaced by + `alphaZ = 1 - 7474547/10^10` and `hillsZ` (Work/Fourier/Seam.lean), and the single use of + OpenAI's `hills_program` by `hillsZ_program`; + * `decimalExponent`, `decimalTime`, `TimeBounds`, `DFTGoal`, `ConvGoal` are replaced by their + `Z` versions from Work/Fourier/Goal.lean (exponent `1 - 7474546/10^10`); + * imports point to the copies. + * literal `let d : ℝ := 2/(10:ℝ)^11` -> `let d : ℝ := 7474547/(10:ℝ)^10` (alpha_thetaZ: the local constant d must equal 1 - alphaZ) + * `theorem transform_mainZ : DFTGoalZ :=`: docstring added + * `theorem convolution_mainZ : ConvGoalZ :=`: docstring added +Comments and docstrings below are OpenAI's and describe OpenAI's network, not ours. +-/ + +namespace OAI + +/-! +Exact uniform Fourier transforms and convolution. + +The construction formalizes the exact arithmetic algorithms of +*An explicit power saving for the exact discrete Fourier transform* (OpenAI). +The finite phase network originates in the complex construction of +*Integer multiplication below n log n*. + +`transform_mainZ` and `convolution_mainZ` give fixed finite RAM programs, including +preparation and index work, polynomial storage bounds, and a canonical root whose +order is computed from the input length. Each includes the paper exponent, decimal +power saving, and little-o bound. The `_order` variants also specify the root order. + +The implementation uses a smaller concrete tensor network (32 binary coordinates +per factor, 4060 triples, and a `2^50` role envelope) with a stronger saving that +implies the stated paper constants. The general rational-algebra extraction, +symbolic certificate search, circuit printer, and bounded-printer uniformization +from the synthesis appendix are outside this formalization. +-/ +namespace PowerSaving +open RAM Bench Selection Filter Asymptotics Real +noncomputable section +namespace Skies + +lemma multiplier_rangeZ : 1 < paperMultiplier ∧ paperMultiplier < paperM := by + norm_num [paperMultiplier,paperM,paperDelta,paperW] + +lemma theta_ltZ : theta < 1 := by + have h := multiplier_rangeZ + have hg : 0 by rw [speedZ,Real.rpow_one]; rfl + rw [h] at H; exact H + +lemma speed_paperZ : speedZ theta =O[atTop] paperTime := by + rw [isBigO_iff] + refine ⟨1,?_⟩ + filter_upwards [TtopZ.eventually_ge_atTop 1,QtopZ.eventually_ge_atTop 1] with n hn hh + have he : 0 (lunchZ a b N n:ℝ)) =O[atTop] decimalTimeZ := hd.isBigO + exact ⟨hp.isBigO.trans speed_paperZ,ht,ht.trans_isLittleO decimal_littleZ⟩ + +end Skies + +/-! Main results. Provide formula for the order besides the existential specification. -/ +theorem transform_main_orderZ : ∃ order solve W, + DFTProgram order solve W ∧ TimeBoundsZ W ∧ + ∀ n, 0 ⟨le_rfl,by dsimp; omega⟩) + a b,fun n hn => ⟨ho n hn,(ho n hn).symm ▸ (receipt_bound n hn).2⟩⟩ + +theorem convolution_main_orderZ : ∃ order solve W, + ConvProgram order solve W ∧ TimeBoundsZ W ∧ + ∀ n, 0 + ⟨ho n hn,(ho n hn).symm ▸ (receipt_bound _ (stretch_posZ hn)).2⟩⟩ + +/-- **The discrete Fourier transform of every length in `O(n (log n)^(1 - 7474546/10^10))`.** +OpenAI's `transform_main` (one fixed program, OpenAI's own `DFTProgram`, `paperTime` and `nlogn`) +with the decimal exponent `1 - 1/10^13` replaced by `decimalExponentZ = 1 - 7474546/10^10` +(Work/Fourier/Goal.lean). Sibling of the Walsh-Hadamard theorem `wht_main_block_B2Gp193x`: both +follow from one kernel program, `RAM.hillsZ_program` (Work/Fourier/Seam.lean). -/ +theorem transform_mainZ : DFTGoalZ := + let ⟨o,s,W,h,g,_⟩ := transform_main_orderZ + ⟨o,s,W,h,g⟩ + +/-- **Convolution of every length with the same bounds** (OpenAI's `convolution_main`, same change). -/ +theorem convolution_mainZ : ConvGoalZ := + let ⟨o,s,W,h,g,_⟩ := convolution_main_orderZ + ⟨o,s,W,h,g⟩ + +lemma matrix_definitionZ (n : ℕ) (x : Vec n) : dft n x = Matrix.mulVec (dftMatrix n) x := + rfl + +end +end PowerSaving + +end OAI diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean new file mode 100644 index 0000000000..eb4490af8b --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Geom.lean @@ -0,0 +1,210 @@ +import Work.GCert.Chain.NetCert +import Work.GCert.Chain.WinB +import Work.BridgeGeom.B2 + +/-! +# (key: gx-chain) THE NETWORK LEMMA (spec statement 6): the bridged word B_2 delivers a `GCert` + +GENERATED by checks/wht26/gx-chain/py/netgen.py from Work/BridgeGeom/Net.lean (section Net): +the geometry of `BG.geomBridge2`, word for word, with the windows `gwinB` (`.Xm = BG.fmapB`). + +`bridge2_gcert I hH`: for every generalised invocation package, a `GCert` on +`card Γ * (4 card T + card Sl)` live roles, label dimension `5h`, unit price +`5 * I.cost φ + card T * BG.bankPrice h φ` (unchanged). No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB RF BR GF BG +noncomputable section + +section Net +variable {H T Sl C : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] +variable (I : GInv H T Sl C) (base : T → OBase H) (l : H) + (hbase : ∀ t, I.tv t = (base t).v l) (hH : 1 ≤ Fintype.card H) +include hbase + +lemma ggeom_x01 (g : Orth (L5 H)) (t : T) : + PhiB g ∅ 1 = PhiB (RrB (base t) l (0 : Fin 4) g) (qS bs1 l) (tt (I.tv t)) := by + rw [hbase t] + exact bankT_x0 (base t) l (0 : Fin 4) g + +lemma ggeom_y01 (g : Orth (L5 H)) (t : T) : + PhiB g ∅ (1 + tt (I.tv t)) = PhiB (RrB (base t) l (0 : Fin 4) g) (qS bs1 l) 0 := by + rw [hbase t] + exact bankT_y0 (base t) l (0 : Fin 4) g + +/-- consecutive stages `c ∈ bs`, `c' ∉ bs`: `X` leaves where it enters. -/ +lemma ggeom_xx (bs : Finset (Fin 4)) (c c' : Fin 4) (hc : c ∈ bs) (hc' : c' ∉ bs) + (g : Orth (L5 H)) (t : T) : + PhiB (RrB (base t) l c g) (qS bs l) 1 + = PhiB (RrB (base t) l c' g) (qS (insert c' bs) l) (tt (I.tv t)) := by + rw [hbase t] + exact bankT_xx (base t) l bs c c' hc hc' g + +/-- consecutive stages: `Y` leaves where it enters. -/ +lemma ggeom_yy (bs : Finset (Fin 4)) (c c' : Fin 4) (hc : c ∈ bs) (hc' : c' ∉ bs) + (g : Orth (L5 H)) (t : T) : + PhiB (RrB (base t) l c g) (qS bs l) (1 + tt (I.tv t)) + = PhiB (RrB (base t) l c' g) (qS (insert c' bs) l) 0 := by + rw [hbase t] + exact bankT_yy (base t) l bs c c' hc hc' g + +/-- terminal identity of the bank pairs of the class `(g,t)`. -/ +lemma ggeom_term5 (g : Orth (L5 H)) (t : T) : + kernel (L5 H) * PhiB g ∅ (tt (I.tv t)) + = shift ((BBB (base t) g).v (Sum.inl l)) + * frame (BBB (base t) g) (univ \ {Sum.inl l}) := by + rw [hbase t] + exact class_term (base t) l g + +include hH + +/-- pair 2 before the first gate layer, `X`: ONE block of rank `2h-2`. -/ +lemma ggeom_aX2 (g : Orth (L5 H)) (t : T) : + XReach (PhiB g ∅ (tt (I.tv t))) (PhiB (RrB (base t) l (0 : Fin 4) g) (qS bs1 l) 1) + (fun φ => bcost φ (2 * Fintype.card H - 2)) := by + rw [hbase t] + exact idle_X0 (base t) l hB4 hH (0 : Fin 4) g _ (by omega) + +/-- pair 2 before the first gate layer, `Y`: ONE block of rank `2h-2`. -/ +lemma ggeom_aY2 (g : Orth (L5 H)) (t : T) : + XReach (PhiB g ∅ 0) (PhiB (RrB (base t) l (0 : Fin 4) g) (qS bs1 l) (1 + tt (I.tv t))) + (fun φ => bcost φ (2 * Fintype.card H - 2)) := by + rw [hbase t] + exact idle_Y0 (base t) l hB4 hH (0 : Fin 4) g _ (by omega) + +/-- pair 1 at the end (idle in stages 3, 4, then the last four moves), `X`: ONE block `2h+2`. -/ +lemma ggeom_fX1 (g : Orth (L5 H)) (t : T) : + XReach (PhiB (RrB (base t) l (1 : Fin 4) g) (qS bs2 l) 1) (kernel (L5 H)) + (fun φ => bcost φ (2 * Fintype.card H + 2)) := + idle_Xend (base t) l hB4 hH bs2 (1 : Fin 4) (Finset.mem_insert_self _ _) g _ + (by rw [card_bs2, Fintype.card_fin]; omega) + +/-- pair 1 at the end, `Y`: ONE block of rank `2h+2`. -/ +lemma ggeom_fY1 (g : Orth (L5 H)) (t : T) : + XReach (PhiB (RrB (base t) l (1 : Fin 4) g) (qS bs2 l) (1 + tt (I.tv t))) + (frame (BBB (base t) g) (univ \ {Sum.inl l})) + (fun φ => bcost φ (2 * Fintype.card H + 2)) := by + rw [hbase t] + exact idle_Yend (base t) l hB4 hH bs2 (1 : Fin 4) (Finset.mem_insert_self _ _) g _ + (by rw [card_bs2, Fintype.card_fin]; omega) + +/-- pair 2 after stage 4, `X`: ONE block of rank `4`. -/ +lemma ggeom_fX2 (g : Orth (L5 H)) (t : T) : + XReach (PhiB (RrB (base t) l (3 : Fin 4) g) (qS bs4 l) 1) (kernel (L5 H)) + (fun φ => bcost φ 4) := + idle_Xend (base t) l hB4 hH bs4 (3 : Fin 4) (Finset.mem_insert_self _ _) g _ + (by rw [card_bs4, Fintype.card_fin]; omega) + +/-- pair 2 after stage 4, `Y`: ONE block of rank `4`. -/ +lemma ggeom_fY2 (g : Orth (L5 H)) (t : T) : + XReach (PhiB (RrB (base t) l (3 : Fin 4) g) (qS bs4 l) (1 + tt (I.tv t))) + (frame (BBB (base t) g) (univ \ {Sum.inl l})) (fun φ => bcost φ 4) := by + rw [hbase t] + exact idle_Yend (base t) l hB4 hH bs4 (3 : Fin 4) (Finset.mem_insert_self _ _) g _ + (by rw [card_bs4, Fintype.card_fin]; omega) + +/-- **The bridged word B_2 as a term of `BR.Bridge2`**: five stages on the label space +`H ⊕ (Fin 4 × H)`, for any invocation package whose lines are the vectors of index `l` of +orthonormal bases. -/ +def ggeomBridge2 : GBridge2 H T Sl C (L5 H) (Orth (L5 H)) where + I := I + G0 := fun g => gwinB hB4 hH g ∅ + G1 := fun d => gwinB hB4 hH d (qS bs1 l) + G2 := fun d => gwinB hB4 hH d (qS bs2 l) + G3 := fun d => gwinB hB4 hH d (qS bs3 l) + G4 := fun d => gwinB hB4 hH d (qS bs4 l) + r1 := fun t => RrB (base t) l (0 : Fin 4) + r2 := fun t => RrB (base t) l (1 : Fin 4) + r3 := fun t => RrB (base t) l (2 : Fin 4) + r4 := fun t => RrB (base t) l (3 : Fin 4) + s1 := (Orth.colPerm (tauB (0 : Fin 4))).symm + s2 := (Orth.colPerm (tauB (1 : Fin 4))).symm + s3 := (Orth.colPerm (tauB (2 : Fin 4))).symm + s4 := (Orth.colPerm (tauB (3 : Fin 4))).symm + N1 := fun d => unframeM (d.1 * Matrix.fromBlocks 0 0 0 (diagI (qS bs1 l)) * d.1ᵀ) + W1 := fun d => frameM (d.1 * diagI (JB univ ∅) * d.1ᵀ) + N2 := fun d => unframeM (d.1 * Matrix.fromBlocks 0 0 0 (diagI (qS bs2 l)) * d.1ᵀ) + W2 := fun d => frameM (d.1 * diagI (JB univ ∅) * d.1ᵀ) + N3 := fun d => unframeM (d.1 * Matrix.fromBlocks 0 0 0 (diagI (qS bs3 l)) * d.1ᵀ) + W3 := fun d => frameM (d.1 * diagI (JB univ ∅) * d.1ᵀ) + N4 := fun d => unframeM (d.1 * Matrix.fromBlocks 0 0 0 (diagI (qS bs4 l)) * d.1ᵀ) + W4 := fun d => frameM (d.1 * diagI (JB univ ∅) * d.1ᵀ) + u := fun g t => (BBB (base t) g).v (Sum.inl l) + YF := fun g t => frame (BBB (base t) g) (univ \ {Sum.inl l}) + hm := two_le_card_LB hB4 hH + caX := fun φ => bcost φ (2 * Fintype.card H - 2) + caY := fun φ => bcost φ (2 * Fintype.card H - 2) + cX1 := fun φ => bcost φ (2 * Fintype.card H + 2) + cY1 := fun φ => bcost φ (2 * Fintype.card H + 2) + cX2 := fun φ => bcost φ 4 + cY2 := fun φ => bcost φ 4 + inv0 := fun g t => ⟨unframeM (g.1 * Matrix.fromBlocks (tt (I.tv t)) 0 0 (diagI ∅) * g.1ᵀ), + frameM_unframeM _⟩ + z0 := fun g => PhiB_zero_empty g + hN1 := fun d => frameM_unframeM _ + hW1 := fun d => PhiB_one d (qS bs1 l) + hN2 := fun d => frameM_unframeM _ + hW2 := fun d => PhiB_one d (qS bs2 l) + hN3 := fun d => frameM_unframeM _ + hW3 := fun d => PhiB_one d (qS bs3 l) + hN4 := fun d => frameM_unframeM _ + hW4 := fun d => PhiB_one d (qS bs4 l) + x01 := fun g t => ggeom_x01 I base l hbase g t + y01 := fun g t => ggeom_y01 I base l hbase g t + x12 := fun g t => ggeom_xx I base l hbase bs1 0 1 (Finset.mem_singleton_self _) mem1 g t + y12 := fun g t => ggeom_yy I base l hbase bs1 0 1 (Finset.mem_singleton_self _) mem1 g t + x23 := fun g t => ggeom_xx I base l hbase bs2 1 2 (Finset.mem_insert_self _ _) mem2 g t + y23 := fun g t => ggeom_yy I base l hbase bs2 1 2 (Finset.mem_insert_self _ _) mem2 g t + x34 := fun g t => ggeom_xx I base l hbase bs3 2 3 (Finset.mem_insert_self _ _) mem3 g t + y34 := fun g t => ggeom_yy I base l hbase bs3 2 3 (Finset.mem_insert_self _ _) mem3 g t + sfin := fun g => helper_fin5 g + aX2 := fun g t => ggeom_aX2 I base l hbase hH g t + aY2 := fun g t => ggeom_aY2 I base l hbase hH g t + fX1 := fun g t => ggeom_fX1 I base l hbase hH g t + fY1 := fun g t => ggeom_fY1 I base l hbase hH g t + fX2 := fun g t => ggeom_fX2 I base l hbase hH g t + fY2 := fun g t => ggeom_fY2 I base l hbase hH g t + term := fun g t => ggeom_term5 I base l hbase g t + +end Net + +section End +variable {H T Sl C : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] + +/-- an orthonormal basis through a unit vector with a zero coordinate, at any index. -/ +theorem base_ex (z : Space H) (hz : dot z z = 1) (hg : ∃ p, z p = 0) (l : H) : + ∃ A : OBase H, z = A.v l := by + obtain ⟨p, hp⟩ := hg + obtain ⟨A, k, hA⟩ := exists_base_one z hz p hp + refine ⟨reindex A (Equiv.swap k l), ?_⟩ + rw [← hA] + show A.v k = A.v (Equiv.swap k l l) + rw [Equiv.swap_apply_right] + +/-- **Generalised certificate of the bridged word B_2** for a generalised invocation package. -/ +theorem bridge2_gcert (I : GInv H T Sl C) (hH : 1 ≤ Fintype.card H) : + GCert (L5 H) (Sum.inl : BLive (Orth (L5 H)) T Sl → BRole (Orth (L5 H)) T Sl C) + (fun φ => (Fintype.card (Orth (L5 H)) : ℝ) + * (5 * I.cost φ + (Fintype.card T : ℝ) * bankPrice (Fintype.card H) φ)) := by + obtain ⟨l⟩ : Nonempty H := Fintype.card_pos_iff.mp (by omega) + have hb : ∀ t, ∃ A : OBase H, I.tv t = A.v l := + fun t => base_ex (I.tv t) (I.hunit t) (I.hgap t) l + choose base hbase using hb + exact gbridge2_certificate (ggeomBridge2 I base l hbase hH) + +end End +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.ggeomBridge2 +#print axioms OAI.PowerSaving.GX.bridge2_gcert diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean new file mode 100644 index 0000000000..d69fcb4992 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__InvThm.lean @@ -0,0 +1,164 @@ +import Work.GCert.Chain.Inv + +/-! +# (key: gx-chain) THE CARRIER INVOCATION THEOREM on the generalised engine: `Lab.inv` + +`CR.Phased.inv` (`Work/Carrier/PhasedInv.lean`) with subspace labels and `GRoute`. Forward word: + + erase | y -= K s (old frame 0) | free adapters to the labels of the certificate | phase A | + c += Cc s | copies down | y += Jr c | phase B | final climbs | free adapters to the old + frames | slots := slot rows of the inverse (old frame 1) | erase + +The backward word is the transposed inverse, gate by gate, on the same labels. The scalar +identities are `Scal.fwd_scalar` / `Scal.bwd_scalar` (those of `CR.Phased`). + +No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB BR CR GF RF +noncomputable section + +section Thm +variable {H T Sl C : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] +variable {α : Type} [Fintype α] [DecidableEq α] +variable {S : Scal T Sl C} (L : Lab H S) (W : GWin H α) + +/-- **Forward word on clean frames.** -/ +theorem Lab.fwd_erased (c0 c1 : C → CMat α) : + GRoute (iin W.Xm L.tv (fun _ : Sl => W.Xm.Φ 0) c0) + (iout W.Xm L.tv (fun _ : Sl => W.Xm.Φ 1) c1) shearF L.cost := by + have a1 : GRoute (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) + (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) + (actPoint (g1 S.Mt)) (fun _ => 0) := + GRoute.gate (g1 S.Mt) _ _ (fun i j hij => by + by_cases e : i = j + · subst e; rfl + · obtain ⟨h1, h2⟩ := offdiag_x (g1_x S.Mt).1 (g1_x S.Mt).2 hij e + exact start_frames W.Xm L.tv i j h1 h2) + have b3 : GRoute (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + (actPoint (g8 S.Mti)) (fun _ => 0) := + GRoute.gate (g8 S.Mti) _ _ (fun i j hij => by + by_cases e : i = j + · subst e; rfl + · have f := g8_facts S.hiy + obtain ⟨h1, h2, h3⟩ := offdiag_s f.1 f.2.1 f.2.2 hij e + exact end_old W.Xm L.tv i j h1 h2 h3) + have seg1 : GRoute (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) (fun r => W.X.Φ (L.labA r)) + S.f1 (fun φ => rcost φ L.rA) := + ((a1.trans (L.ad0 W)).trans (L.pA W.X W.big).1).cast (fun φ => by simp) + have seg2 : GRoute (fun r => W.X.Φ (L.labA r)) (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + S.f2 (fun φ => rcost φ L.rB + rcost φ L.rF) := + ((((L.pB W.X W.big).1.trans (L.pF W.X W.big)).trans (L.adF W)).trans b3).cast + (fun φ => by simp) + have e0 : GRoute (iin W.Xm L.tv (fun _ : Sl => W.Xm.Φ 0) c0) + (glue (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) (fun k => W.X.Φ (L.cen k))) + eraseC (fun _ => 0) := + GRoute.ofX (xerase (fun t => rfl) (fun t => rfl) (fun q => rfl)) + have L1 := glift_live (fun k => W.X.Φ (L.cen k)) seg1 + have m1 : GRoute (glue (fun r => W.X.Φ (L.labA r)) (fun k => W.X.Φ (L.cen k))) + (glue (fun r => W.X.Φ (L.labA r)) (fun k => W.X.Φ (L.cen k))) + (fun z => addBlk bC (ap S.Cc (z ∘ bS)) z) (fun _ => 0) := + GRoute.ofX (xgate_shear bC bS bS_inj S.Cc (fun k q h => congrArg W.X.Φ (L.hAc k q h))) + have m2 := L.cdown W (fun r => W.X.Φ (L.labA r)) + have m3 : GRoute (glue (fun r => W.X.Φ (L.labA r)) (fun _ : C => W.X.Φ L.z0)) + (glue (fun r => W.X.Φ (L.labA r)) (fun _ : C => W.X.Φ L.z0)) + (fun z => addBlk bY (ap S.Jr (z ∘ bC)) z) (fun _ => 0) := + GRoute.ofX (xgate_shear bY bC bC_inj S.Jr (fun t k _ => congrArg W.X.Φ (L.hAy t))) + have L2 := glift_live (fun _ : C => W.X.Φ L.z0) seg2 + have e1 : GRoute (glue (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) (fun _ : C => W.X.Φ L.z0)) + (iout W.Xm L.tv (fun _ : Sl => W.Xm.Φ 1) c1) eraseC (fun _ => 0) := + GRoute.ofX (xerase (fun t => rfl) (fun t => rfl) (fun q => rfl)) + have tot := (((((e0.trans L1).trans m1).trans m2).trans m3).trans L2).trans e1 + refine (tot.castg (g' := shearF) (funext fun z => S.fwd_scalar z)).cast (fun φ => ?_) + simp only [Lab.cost, zero_add, add_zero] + ring + +/-- **Backward word on clean frames**: the transposed inverse gates, same labels; the copies +start at the zero frame and climb. -/ +theorem Lab.bwd_erased (c0 c1 : C → CMat α) : + GRoute (iin W.Xm L.tv (fun _ : Sl => W.Xm.Φ 0) c0) + (iout W.Xm L.tv (fun _ : Sl => W.Xm.Φ 1) c1) shearB L.cost := by + have a1 : GRoute (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) + (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) + (actPoint (g1i S.Mt)ᵀ) (fun _ => 0) := + GRoute.gate (g1i S.Mt)ᵀ _ _ (fun i j hij => by + by_cases e : i = j + · subst e; rfl + · have hij' : g1i S.Mt j i ≠ 0 := hij + obtain ⟨h1, h2⟩ := offdiag_x (g1i_x S.Mt).1 (g1i_x S.Mt).2 hij' (Ne.symm e) + exact start_frames W.Xm L.tv i j h2 h1) + have b3 : GRoute (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + (actPoint (h8 S.Mt)ᵀ) (fun _ => 0) := + GRoute.gate (h8 S.Mt)ᵀ _ _ (fun i j hij => by + by_cases e : i = j + · subst e; rfl + · have hij' : h8 S.Mt j i ≠ 0 := hij + have f := h8_facts S.hmy + obtain ⟨h1, h2, h3⟩ := offdiag_s f.1 f.2.1 f.2.2 hij' (Ne.symm e) + exact (end_old W.Xm L.tv j i h1 h2 h3).symm) + have seg1 : GRoute (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) (fun r => W.X.Φ (L.labA r)) + S.b1 (fun φ => rcost φ L.rA) := + ((a1.trans (L.ad0 W)).trans (L.pA W.X W.big).2).cast (fun φ => by simp) + have seg2 : GRoute (fun r => W.X.Φ (L.labA r)) (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) + S.b2 (fun φ => rcost φ L.rB + rcost φ L.rF) := + ((((L.pB W.X W.big).2.trans (L.pF W.X W.big)).trans (L.adF W)).trans b3).cast + (fun φ => by simp) + have e0 : GRoute (iin W.Xm L.tv (fun _ : Sl => W.Xm.Φ 0) c0) + (glue (fun r : L3 T Sl => W.Xm.Φ (lab3 L.tv r).P) (fun _ : C => W.X.Φ L.z0)) + eraseC (fun _ => 0) := + GRoute.ofX (xerase (fun t => rfl) (fun t => rfl) (fun q => rfl)) + have L1 := glift_live (fun _ : C => W.X.Φ L.z0) seg1 + have m1 : GRoute (glue (fun r => W.X.Φ (L.labA r)) (fun _ : C => W.X.Φ L.z0)) + (glue (fun r => W.X.Φ (L.labA r)) (fun _ : C => W.X.Φ L.z0)) + (fun z => addBlk bC (ap S.Jrᵀ (z ∘ bY)) z) (fun _ => 0) := + GRoute.ofX (xgate_shear bC bY bY_inj S.Jrᵀ (fun k t _ => (congrArg W.X.Φ (L.hAy t)).symm)) + have m2 := L.cup W (fun r => W.X.Φ (L.labA r)) + have m3 : GRoute (glue (fun r => W.X.Φ (L.labA r)) (fun k => W.X.Φ (L.cen k))) + (glue (fun r => W.X.Φ (L.labA r)) (fun k => W.X.Φ (L.cen k))) + (fun z => addBlk bS (ap (-S.Ccᵀ) (z ∘ bC)) z) (fun _ => 0) := + GRoute.ofX (xgate_shear bS bC bC_inj (-S.Ccᵀ) + (fun q k h => (congrArg W.X.Φ (L.hAc k q (ne_of_negT S.Cc h))).symm)) + have L2 := glift_live (fun k => W.X.Φ (L.cen k)) seg2 + have e1 : GRoute (glue (fun r : L3 T Sl => W.Xm.Φ (labE L.tv r)) (fun k => W.X.Φ (L.cen k))) + (iout W.Xm L.tv (fun _ : Sl => W.Xm.Φ 1) c1) eraseC (fun _ => 0) := + GRoute.ofX (xerase (fun t => rfl) (fun t => rfl) (fun q => rfl)) + have tot := (((((e0.trans L1).trans m1).trans m2).trans m3).trans L2).trans e1 + refine (tot.castg (g' := shearB) (funext fun z => S.bwd_scalar z)).cast (fun φ => ?_) + simp only [Lab.cost, zero_add, add_zero] + ring + +/-- **THE CARRIER INVOCATION THEOREM on the generalised engine.** The two halves of a +certificate are an invocation package for the bridged network, with the price `L.cost`. -/ +def Lab.inv : GInv H T Sl C where + tv := L.tv + hunit := L.hunit + hgap := L.hgap + cost := L.cost + fwd := fun W N0 Wn hN hW Z c0 c1 => + gdirty_of_erased W.Xm L.tv N0 Wn hN hW Z c0 c1 (L.fwd_erased W c0 c1) + (shearF_comm (fun _ => 1) (fun q => N0 * Z q) (fun _ => 1)) + bwd := fun W N0 Wn hN hW Z c0 c1 => + gdirty_of_erased W.Xm L.tv N0 Wn hN hW Z c0 c1 (L.bwd_erased W c0 c1) + (shearB_comm (fun _ => 1) (fun q => N0 * Z q) (fun _ => 1)) + +@[simp] lemma Lab.inv_cost (φ : ℕ → ℝ) : L.inv.cost φ = L.cost φ := rfl +@[simp] lemma Lab.inv_tv : L.inv.tv = L.tv := rfl + +end Thm +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.Lab.fwd_erased +#print axioms OAI.PowerSaving.GX.Lab.bwd_erased +#print axioms OAI.PowerSaving.GX.Lab.inv diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean new file mode 100644 index 0000000000..6336ba0766 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetCert.lean @@ -0,0 +1,157 @@ +import Work.GCert.Chain.NetStage +import Work.GFrame.Top.Assemble + +/-! +# (key: gx-chain) The bridged word B_2 on the generalised engine: the certificate `GCert` + +GENERATED by checks/wht26/gx-chain/py/netgen.py from Work/Bridge/Cert.lean (section Net). +`gbridge2_certificate`: a `GCert` on the live roles `BLive Γ T Sl` with price `card Γ * N.unit φ`. +The gate layers, the idle climbs and the exchange are the old routes (`GRoute.ofX`). No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB RF BR GF +noncomputable section + +section Net +variable {H T Sl C α Γ : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] + [Fintype Γ] [DecidableEq Γ] +variable (N : GBridge2 H T Sl C α Γ) + +/-- gate layer A, after stage 1 and the first idle climb of pair 2: twins have equal frames. -/ +lemma GBridge2.gateA : XRoute N.S3 N.S3 (gsc pAB kA) (fun _ => 0) := by + refine gateP pAB kA N.S3 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- gate layer B, after stage 2 and the second idle climb of pair 2. -/ +lemma GBridge2.gateB : XRoute N.S5 N.S5 (gsc pAB kB) (fun _ => 0) := by + refine gateP pAB kB N.S5 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · exact N.x23 g t + · exact (hk rfl).elim + · exact (hk rfl).elim + · exact (N.y23 g t).symm + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- gate layer C, after the final climbs. -/ +lemma GBridge2.gateC : XRoute N.S8 N.S8 (gsc pC kCc) (fun _ => 0) := by + refine gateP pC kCc N.S8 ?_ + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) hk + · exact (hk rfl).elim + · rfl + · rfl + · exact (hk rfl).elim + · exact (hk rfl).elim + · exact (hk rfl).elim + +/-- the free shifts at the end. -/ +def GBridge2.corr : BRole Γ T Sl C → Space α := + mkB (fun _ _ => 0) (fun g t => N.u g t) (fun _ _ => 0) (fun g t => N.u g t) + (fun _ _ => 0) (fun _ _ => 0) + +def GBridge2.S9 : BRole Γ T Sl C → CMat α := fun r => shift (N.corr r) * N.S8 r + +/-- the whole word before the exchange: five stages, three idle-climb layers, three gate +layers. -/ +lemma GBridge2.route : + GRoute N.S0 N.S8 chain (fun φ => (Fintype.card Γ : ℝ) * N.unit φ) := by + have R := ((((((((((N.stage0.trans N.stage1).trans (GRoute.ofX N.climbA)).trans + (GRoute.ofX N.gateA)).trans N.stage2).trans (GRoute.ofX N.climbB)).trans + (GRoute.ofX N.gateB)).trans N.stage3).trans N.stage4).trans + (GRoute.ofX N.fin)).trans (GRoute.ofX N.gateC)) + refine (R.castg ?_).cast (fun φ => ?_) + · rfl + · simp only [GBridge2.unit] + ring + +/-- **The scratch certificate of the bridged five-stage network with shared helper sets**, +in whole blocks, with its exact price for every price list. -/ +theorem gbridge2_certificate : + GCert α (Sum.inl : BLive Γ T Sl → BRole Γ T Sl C) + (fun φ => (Fintype.card Γ : ℝ) * N.unit φ) := by + have R2 : GRoute N.S8 N.S9 id (fun _ => 0) := GRoute.shifts N.hm N.S8 N.corr + have R3 : GRoute N.S9 (fun r => N.S9 (bpull r)) (actPoint brecM) (fun _ => 0) := + GRoute.gate brecM N.S9 _ (fun i j h => by + have hj : j = bpull i := by + by_contra hne + exact h (by simp [brecM, hne]) + rw [hj]) + have Rt := ((N.route.trans R2).trans R3).cast (c' := fun φ => (Fintype.card Γ : ℝ) * N.unit φ) + (fun φ => by first | ring | simp) + have hSinv : ∀ r, ∃ M, N.S0 r * M = 1 := by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact N.inv0 g t + · refine ⟨1, ?_⟩ + show (N.G0 g).Xm.Φ 0 * 1 = 1 + rw [N.z0, Matrix.mul_one] + · exact N.inv0 g t + · refine ⟨1, ?_⟩ + show (N.G0 g).Xm.Φ 0 * 1 = 1 + rw [N.z0, Matrix.mul_one] + · exact ⟨1, Matrix.mul_one _⟩ + · exact ⟨1, Matrix.mul_one _⟩ + have hT : ∀ l : BLive Γ T Sl, N.S9 (bpull (Sum.inl l)) = kernel α * N.S0 (Sum.inl l) := by + rintro (((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩) + · show shift (N.u g t) * N.YF g t = kernel α * (N.G0 g).Xm.Φ (tt (N.I.tv t)) + exact (N.term g t).symm + · show shift (0 : Space α) * kernel α = kernel α * (N.G0 g).Xm.Φ 0 + rw [shift_zero, Matrix.one_mul, N.z0, Matrix.mul_one] + · show shift (N.u g t) * N.YF g t = kernel α * (N.G0 g).Xm.Φ (tt (N.I.tv t)) + exact (N.term g t).symm + · show shift (0 : Space α) * kernel α = kernel α * (N.G0 g).Xm.Φ 0 + rw [shift_zero, Matrix.one_mul, N.z0, Matrix.mul_one] + · show shift (0 : Space α) * kernel α = kernel α * 1 + rw [shift_zero, Matrix.one_mul, Matrix.mul_one] + have hg : ∀ x : BRole Γ T Sl C → ℂ, + (∀ s, (∀ l : BLive Γ T Sl, (Sum.inl l : BRole Γ T Sl C) ≠ s) → x s = 0) → + ∀ l : BLive Γ T Sl, + (actPoint brecM ∘ (id ∘ chain)) x (Sum.inl l) = x (Sum.inl l) := by + intro x _ l + change actPoint brecM (chain x) (Sum.inl l) = _ + rw [actPoint_brecM] + rcases l with (((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩) + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inl (Sum.inr (g,t))))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kX1 (g,t)) = x (kX1 (g,t)) + first | (push_cast; ring) | simp + · show ((-1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inl (Sum.inl (g,t))))) = _ + rw [chain_eq] + show ((-1:ℚ):ℂ) * (-x (kY1 (g,t))) = x (kY1 (g,t)) + first | (push_cast; ring) | simp + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inr (Sum.inr (g,t))))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kX2 (g,t)) = x (kX2 (g,t)) + first | (push_cast; ring) | simp + · show ((-1:ℚ):ℂ) * chain x (Sum.inl (Sum.inl (Sum.inr (Sum.inl (g,t))))) = _ + rw [chain_eq] + show ((-1:ℚ):ℂ) * (-x (kY2 (g,t))) = x (kY2 (g,t)) + first | (push_cast; ring) | simp + · show ((1:ℚ):ℂ) * chain x (Sum.inl (Sum.inr (g,q))) = _ + rw [chain_eq] + show ((1:ℚ):ℂ) * x (kS (g,q)) = x (kS (g,q)) + first | (push_cast; ring) | simp + exact gcert_of_groute (Sum.inl : BLive Γ T Sl → BRole Γ T Sl C) N.S0 + (fun r => N.S9 (bpull r)) _ _ Rt hSinv hg hT + +end Net + +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.GBridge2.route +#print axioms OAI.PowerSaving.GX.gbridge2_certificate diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean new file mode 100644 index 0000000000..c13042eb43 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetDef.lean @@ -0,0 +1,157 @@ +import Work.GCert.Chain.Stage + +/-! +# (key: gx-chain) The bridged five-stage word B_2 on the generalised engine: data and frames + +GENERATED by checks/wht26/gx-chain/py/netgen.py from Work/Bridge/Net.lean (`BR.Bridge2`): the +invocation is a `GInv`, the frame maps of the stages are windows `GWin` (`G0 .. G4`; the old +frame map of a window is `.Xm`). Everything else word for word. No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB RF BR GF +noncomputable section + +/-- See the file header. Fields in the style of `RF.Fold3S`; stages are numbered 0 to 4. -/ +structure GBridge2 (H T Sl C α Γ : Type) [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] where + /-- the invocation (for a block circuit `X`: `X.inv`). -/ + I : GInv H T Sl C + /-- frame maps of the invocations of the five stages. -/ + G0 : Γ → GWin H α + G1 : Γ → GWin H α + G2 : Γ → GWin H α + G3 : Γ → GWin H α + G4 : Γ → GWin H α + /-- the class `(g,t)` is served by the invocation `g` in stage 0 and `r_l t g` in stage `l`. -/ + r1 : T → Γ ≃ Γ + r2 : T → Γ ≃ Γ + r3 : T → Γ ≃ Γ + r4 : T → Γ ≃ Γ + /-- the invocation `d` of stage `l` uses the helper set (and the copies) `s_l d`. -/ + s1 : Γ ≃ Γ + s2 : Γ ≃ Γ + s3 : Γ ≃ Γ + s4 : Γ ≃ Γ + /-- inverse of the frame of the base, and frame of the window, of every invocation. -/ + N1 : Γ → CMat α + W1 : Γ → CMat α + N2 : Γ → CMat α + W2 : Γ → CMat α + N3 : Γ → CMat α + W3 : Γ → CMat α + N4 : Γ → CMat α + W4 : Γ → CMat α + u : Γ → T → Space α + YF : Γ → T → CMat α + hm : 2 ≤ Fintype.card α + /-- prices of the idle climbs, for every price list. B_2 with merged climbs: + `caX = caY = fun φ => bcost φ (2h-2)`, `cX1 = cY1 = fun φ => bcost φ (2h+2)`, + `cX2 = cY2 = fun φ => bcost φ 4`. -/ + caX : (ℕ → ℝ) → ℝ + caY : (ℕ → ℝ) → ℝ + cX1 : (ℕ → ℝ) → ℝ + cY1 : (ℕ → ℝ) → ℝ + cX2 : (ℕ → ℝ) → ℝ + cY2 : (ℕ → ℝ) → ℝ + inv0 : ∀ g t, ∃ N : CMat α, (G0 g).Xm.Φ (tt (I.tv t)) * N = 1 + z0 : ∀ g, (G0 g).Xm.Φ 0 = 1 + hN1 : ∀ d, (G1 d).Xm.Φ 0 * N1 d = 1 + hW1 : ∀ d, (G1 d).Xm.Φ 1 = W1 d * (G1 d).Xm.Φ 0 + hN2 : ∀ d, (G2 d).Xm.Φ 0 * N2 d = 1 + hW2 : ∀ d, (G2 d).Xm.Φ 1 = W2 d * (G2 d).Xm.Φ 0 + hN3 : ∀ d, (G3 d).Xm.Φ 0 * N3 d = 1 + hW3 : ∀ d, (G3 d).Xm.Φ 1 = W3 d * (G3 d).Xm.Φ 0 + hN4 : ∀ d, (G4 d).Xm.Φ 0 * N4 d = 1 + hW4 : ∀ d, (G4 d).Xm.Φ 1 = W4 d * (G4 d).Xm.Φ 0 + /-- the bank frames a stage leaves are the bank frames the next stage starts from. -/ + x01 : ∀ g t, (G0 g).Xm.Φ 1 = (G1 (r1 t g)).Xm.Φ (tt (I.tv t)) + y01 : ∀ g t, (G0 g).Xm.Φ (1 + tt (I.tv t)) = (G1 (r1 t g)).Xm.Φ 0 + x12 : ∀ g t, (G1 (r1 t g)).Xm.Φ 1 = (G2 (r2 t g)).Xm.Φ (tt (I.tv t)) + y12 : ∀ g t, (G1 (r1 t g)).Xm.Φ (1 + tt (I.tv t)) = (G2 (r2 t g)).Xm.Φ 0 + x23 : ∀ g t, (G2 (r2 t g)).Xm.Φ 1 = (G3 (r3 t g)).Xm.Φ (tt (I.tv t)) + y23 : ∀ g t, (G2 (r2 t g)).Xm.Φ (1 + tt (I.tv t)) = (G3 (r3 t g)).Xm.Φ 0 + x34 : ∀ g t, (G3 (r3 t g)).Xm.Φ 1 = (G4 (r4 t g)).Xm.Φ (tt (I.tv t)) + y34 : ∀ g t, (G3 (r3 t g)).Xm.Φ (1 + tt (I.tv t)) = (G4 (r4 t g)).Xm.Φ 0 + /-- the five windows of a helper set make up the kernel. -/ + sfin : ∀ g, W4 (s4.symm g) * (W3 (s3.symm g) * (W2 (s2.symm g) * + (W1 (s1.symm g) * (G0 g).Xm.Φ 1))) = kernel α + /-- pair 2, idle in stages 0 and 1: ONE block from its start frame to the frame of its + twin after stage 1. -/ + aX2 : ∀ g t, XReach ((G0 g).Xm.Φ (tt (I.tv t))) ((G1 (r1 t g)).Xm.Φ 1) caX + aY2 : ∀ g t, XReach ((G0 g).Xm.Φ 0) ((G1 (r1 t g)).Xm.Φ (1 + tt (I.tv t))) caY + /-- pair 1, idle in stages 3 and 4: ONE block from its frame after stage 2 to the end. -/ + fX1 : ∀ g t, XReach ((G2 (r2 t g)).Xm.Φ 1) (kernel α) cX1 + fY1 : ∀ g t, XReach ((G2 (r2 t g)).Xm.Φ (1 + tt (I.tv t))) (YF g t) cY1 + /-- pair 2 after stage 4: ONE final block. -/ + fX2 : ∀ g t, XReach ((G4 (r4 t g)).Xm.Φ 1) (kernel α) cX2 + fY2 : ∀ g t, XReach ((G4 (r4 t g)).Xm.Φ (1 + tt (I.tv t))) (YF g t) cY2 + term : ∀ g t, kernel α * (G0 g).Xm.Φ (tt (I.tv t)) = shift (u g t) * YF g t + +section Net +variable {H T Sl C α Γ : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] + [Fintype Γ] [DecidableEq Γ] +variable (N : GBridge2 H T Sl C α Γ) + +/-- price of the blocks of one unit (one element of `Γ`): five invocations and the idle +climbs of the four bank roles of every class. -/ +def GBridge2.unit (φ : ℕ → ℝ) : ℝ := + 5 * N.I.cost φ + (Fintype.card T : ℝ) * ((N.caX φ + N.caY φ) + + 2 * bcost φ (Fintype.card H - 1) + + (N.cX1 φ + N.cY1 φ) + (N.cX2 φ + N.cY2 φ)) + +/-- the bank index of stage 0: the class `(g,t)` belongs to the invocation `g`. -/ +abbrev bid (Γ T : Type) : T → Γ ≃ Γ := fun _ => Equiv.refl Γ + +/-! bank frames of the class `(g,t)`: `xi l`, `yi l` at the START of stage `l`; `xo l`, +`yo l` at the END of stage `l` (only where no next stage follows on that pair). -/ +def GBridge2.xi0 (g : Γ) (t : T) : CMat α := (N.G0 g).Xm.Φ (tt (N.I.tv t)) +def GBridge2.yi0 (g : Γ) (t : T) : CMat α := (N.G0 g).Xm.Φ 0 +def GBridge2.xi1 (g : Γ) (t : T) : CMat α := (N.G1 (N.r1 t g)).Xm.Φ (tt (N.I.tv t)) +def GBridge2.yi1 (g : Γ) (t : T) : CMat α := (N.G1 (N.r1 t g)).Xm.Φ 0 +def GBridge2.xi2 (g : Γ) (t : T) : CMat α := (N.G2 (N.r2 t g)).Xm.Φ (tt (N.I.tv t)) +def GBridge2.yi2 (g : Γ) (t : T) : CMat α := (N.G2 (N.r2 t g)).Xm.Φ 0 +def GBridge2.xo2 (g : Γ) (t : T) : CMat α := (N.G2 (N.r2 t g)).Xm.Φ 1 +def GBridge2.yo2 (g : Γ) (t : T) : CMat α := (N.G2 (N.r2 t g)).Xm.Φ (1 + tt (N.I.tv t)) +def GBridge2.xi3 (g : Γ) (t : T) : CMat α := (N.G3 (N.r3 t g)).Xm.Φ (tt (N.I.tv t)) +def GBridge2.yi3 (g : Γ) (t : T) : CMat α := (N.G3 (N.r3 t g)).Xm.Φ 0 +def GBridge2.xi4 (g : Γ) (t : T) : CMat α := (N.G4 (N.r4 t g)).Xm.Φ (tt (N.I.tv t)) +def GBridge2.yi4 (g : Γ) (t : T) : CMat α := (N.G4 (N.r4 t g)).Xm.Φ 0 +def GBridge2.xo4 (g : Γ) (t : T) : CMat α := (N.G4 (N.r4 t g)).Xm.Φ 1 +def GBridge2.yo4 (g : Γ) (t : T) : CMat α := (N.G4 (N.r4 t g)).Xm.Φ (1 + tt (N.I.tv t)) + +/-- helper slots after the stages 0, 1, 2, 3, 4 (at the start: `cOne Γ Sl α`). -/ +def GBridge2.Z1 : Γ → Sl → CMat α := fun g _ => (N.G0 g).Xm.Φ 1 +def GBridge2.Z2 : Γ → Sl → CMat α := fun g q => N.W1 (N.s1.symm g) * N.Z1 g q +def GBridge2.Z3 : Γ → Sl → CMat α := fun g q => N.W2 (N.s2.symm g) * N.Z2 g q +def GBridge2.Z4 : Γ → Sl → CMat α := fun g q => N.W3 (N.s3.symm g) * N.Z3 g q +def GBridge2.Z5 : Γ → Sl → CMat α := fun g q => N.W4 (N.s4.symm g) * N.Z4 g q + +/-- frames: at the start; after stage 0; after stage 1; after the first idle climb of pair 2 +(first gate layer here); after stage 2; after the second idle climb of pair 2 (second gate +layer here); after stage 3; after stage 4; after the final climbs (third gate layer here). -/ +def GBridge2.S0 : BRole Γ T Sl C → CMat α := mkB N.xi0 N.yi0 N.xi0 N.yi0 (cOne Γ Sl α) (cOne Γ C α) +def GBridge2.S1 : BRole Γ T Sl C → CMat α := mkB N.xi1 N.yi1 N.xi0 N.yi0 N.Z1 (cOne Γ C α) +def GBridge2.S2 : BRole Γ T Sl C → CMat α := mkB N.xi2 N.yi2 N.xi0 N.yi0 N.Z2 (cOne Γ C α) +def GBridge2.S3 : BRole Γ T Sl C → CMat α := mkB N.xi2 N.yi2 N.xi2 N.yi2 N.Z2 (cOne Γ C α) +def GBridge2.S4 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi2 N.yi2 N.Z3 (cOne Γ C α) +def GBridge2.S5 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi3 N.yi3 N.Z3 (cOne Γ C α) +def GBridge2.S6 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xi4 N.yi4 N.Z4 (cOne Γ C α) +def GBridge2.S7 : BRole Γ T Sl C → CMat α := mkB N.xo2 N.yo2 N.xo4 N.yo4 N.Z5 (cOne Γ C α) +def GBridge2.S8 : BRole Γ T Sl C → CMat α := + mkB (fun _ _ => kernel α) N.YF (fun _ _ => kernel α) N.YF (fun _ _ => kernel α) (cOne Γ C α) + + +end Net +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.GBridge2.unit diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean new file mode 100644 index 0000000000..670f4c6a84 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__NetStage.lean @@ -0,0 +1,186 @@ +import Work.GCert.Chain.NetDef + +/-! +# (key: gx-chain) The bridged word B_2 on the generalised engine: the five stages and the idle climbs + +GENERATED by checks/wht26/gx-chain/py/netgen.py from Work/Bridge/Net.lean. The stages are +`GRoute`s (`gistage_fwd` / `gistage_bwd`, `gblift1` / `gblift2`); the idle climbs of the bank +roles are the OLD block routes, unchanged. No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB RF BR GF +noncomputable section + +section Net +variable {H T Sl C α Γ : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] [Fintype α] [DecidableEq α] + [Fintype Γ] [DecidableEq Γ] +variable (N : GBridge2 H T Sl C α Γ) + +/-- stage 0: forward on pair 1, every helper set starts at the matrix `1`. -/ +lemma GBridge2.stage0 : + GRoute N.S0 N.S1 (lift1 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := gistage_fwd N.I (bid Γ T) (Equiv.refl Γ) N.G0 (fun _ => 1) (fun g => (N.G0 g).Xm.Φ 1) + (fun d => by rw [N.z0, Matrix.mul_one]) (fun d => by rw [N.z0, Matrix.mul_one]) + (cOne Γ Sl α) (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv (bid Γ T) (fun d => (N.G0 d).Xm) + (fun g (q : Sl) => (N.G0 ((Equiv.refl Γ).symm g)).Xm.Φ 1 * cOne Γ Sl α g q) (cOne Γ C α) + = mkS N.xi1 N.yi1 N.Z1 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x01 g t + · exact N.y01 g t + · show (N.G0 g).Xm.Φ 1 * 1 = (N.G0 g).Xm.Φ 1 + rw [Matrix.mul_one] + · rfl + have h' : GRoute (bIn N.I.tv (bid Γ T) (fun d => (N.G0 d).Xm) (cOne Γ Sl α) (cOne Γ C α)) + (mkS N.xi1 N.yi1 N.Z1 (cOne Γ C α)) GF (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact gblift1 N.xi0 N.yi0 h' + +/-- stage 1: backward on pair 1; the helper set `g` serves the invocation `s1⁻¹ g`. -/ +lemma GBridge2.stage1 : + GRoute N.S1 N.S2 (lift1 GB) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := gistage_bwd N.I N.r1 N.s1 N.G1 N.N1 N.W1 N.hN1 N.hW1 N.Z1 (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv N.r1 (fun d => (N.G1 d).Xm) (fun g q => N.W1 (N.s1.symm g) * N.Z1 g q) (cOne Γ C α) + = mkS N.xi2 N.yi2 N.Z2 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x12 g t + · exact N.y12 g t + · rfl + · rfl + have h' : GRoute (bIn N.I.tv N.r1 (fun d => (N.G1 d).Xm) N.Z1 (cOne Γ C α)) + (mkS N.xi2 N.yi2 N.Z2 (cOne Γ C α)) GB (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact gblift1 N.xi0 N.yi0 h' + +/-- stage 2: forward on pair 1. -/ +lemma GBridge2.stage2 : + GRoute N.S3 N.S4 (lift1 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := + gblift1 N.xi2 N.yi2 + (gistage_fwd N.I N.r2 N.s2 N.G2 N.N2 N.W2 N.hN2 N.hW2 N.Z2 (cOne Γ C α) (cOne Γ C α)) + +/-- stage 3: backward on pair 2. -/ +lemma GBridge2.stage3 : + GRoute N.S5 N.S6 (lift2 GB) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + have h := gistage_bwd N.I N.r3 N.s3 N.G3 N.N3 N.W3 N.hN3 N.hW3 N.Z3 (cOne Γ C α) (cOne Γ C α) + have e : bOut N.I.tv N.r3 (fun d => (N.G3 d).Xm) (fun g q => N.W3 (N.s3.symm g) * N.Z3 g q) (cOne Γ C α) + = mkS N.xi4 N.yi4 N.Z4 (cOne Γ C α) := by + funext r + rcases r with (((⟨g,t⟩|⟨g,t⟩)|⟨g,q⟩)|⟨g,c⟩) + · exact N.x34 g t + · exact N.y34 g t + · rfl + · rfl + have h' : GRoute (bIn N.I.tv N.r3 (fun d => (N.G3 d).Xm) N.Z3 (cOne Γ C α)) + (mkS N.xi4 N.yi4 N.Z4 (cOne Γ C α)) GB (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := by + rw [← e] + exact h + exact gblift2 N.xo2 N.yo2 h' + +/-- stage 4: forward on pair 2. -/ +lemma GBridge2.stage4 : + GRoute N.S6 N.S7 (lift2 GF) (fun φ => (Fintype.card Γ : ℝ) * N.I.cost φ) := + gblift2 N.xo2 N.yo2 + (gistage_fwd N.I N.r4 N.s4 N.G4 N.N4 N.W4 N.hN4 N.hW4 N.Z4 (cOne Γ C α) (cOne Γ C α)) + +/-- first idle climb of pair 2 (stages 0 and 1 in ONE block per role), to the frames of +pair 1 after stage 1. -/ +lemma GBridge2.climbA : + XRoute N.S2 N.S3 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * (N.caX φ + N.caY φ))) := by + have H1 := XRoute.reach_all N.S2 N.S3 + (mkB (fun _ _ _ => 0) (fun _ _ _ => 0) (fun _ _ => N.caX) + (fun _ _ => N.caY) (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact XReach.refl _ + · exact XReach.refl _ + · show XReach ((N.G0 g).Xm.Φ (tt (N.I.tv t))) ((N.G2 (N.r2 t g)).Xm.Φ (tt (N.I.tv t))) N.caX + rw [← N.x12 g t] + exact N.aX2 g t + · show XReach ((N.G0 g).Xm.Φ 0) ((N.G2 (N.r2 t g)).Xm.Φ 0) N.caY + rw [← N.y12 g t] + exact N.aY2 g t + · exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +/-- second idle climb of pair 2: the window of stage 2, ONE block of rank `card H - 1` per +role, to the frames of pair 1 after stage 2. -/ +lemma GBridge2.climbB : + XRoute N.S4 N.S5 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * (2 * bcost φ (Fintype.card H - 1)))) := by + have H1 := XRoute.reach_all N.S4 N.S5 + (mkB (fun _ _ _ => 0) (fun _ _ _ => 0) (fun _ _ φ => bcost φ (Fintype.card H - 1)) + (fun _ _ φ => bcost φ (Fintype.card H - 1)) (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact XReach.refl _ + · exact XReach.refl _ + · show XReach ((N.G2 (N.r2 t g)).Xm.Φ (tt (N.I.tv t))) ((N.G3 (N.r3 t g)).Xm.Φ (tt (N.I.tv t))) + (fun φ => bcost φ (Fintype.card H - 1)) + rw [← N.x23 g t] + exact N.I.climbX (N.G2 (N.r2 t g)).Xm t + · show XReach ((N.G2 (N.r2 t g)).Xm.Φ 0) ((N.G3 (N.r3 t g)).Xm.Φ 0) + (fun φ => bcost φ (Fintype.card H - 1)) + rw [← N.y23 g t] + exact N.I.climbY (N.G2 (N.r2 t g)).Xm t + · exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +/-- the final climbs: pair 1 from its frames after stage 2 (ONE block per role for the +stages 3, 4 and the rest), pair 2 from its frames after stage 4; the helper slots are +already at the kernel. -/ +lemma GBridge2.fin : + XRoute N.S7 N.S8 id (fun φ => (Fintype.card Γ : ℝ) * + ((Fintype.card T : ℝ) * ((N.cX1 φ + N.cY1 φ) + (N.cX2 φ + N.cY2 φ)))) := by + have H1 := XRoute.reach_all N.S7 N.S8 + (mkB (fun _ _ => N.cX1) (fun _ _ => N.cY1) (fun _ _ => N.cX2) (fun _ _ => N.cY2) + (fun _ _ _ => 0) (fun _ _ _ => 0)) (by + rintro ((((⟨g,t⟩|⟨g,t⟩)|(⟨g,t⟩|⟨g,t⟩))|⟨g,q⟩)|⟨g,c⟩) + · exact N.fX1 g t + · exact N.fY1 g t + · exact N.fX2 g t + · exact N.fY2 g t + · show XReach (N.W4 (N.s4.symm g) * (N.W3 (N.s3.symm g) * (N.W2 (N.s2.symm g) * + (N.W1 (N.s1.symm g) * (N.G0 g).Xm.Φ 1)))) (kernel α) (fun _ => 0) + rw [N.sfin g] + exact XReach.refl _ + · exact XReach.refl _) + refine H1.cast (fun φ => ?_) + simp_rw [mkB_map (fun c : (ℕ → ℝ) → ℝ => c φ)] + rw [sum_mkB] + simp only [sum_const, card_univ, nsmul_eq_mul, mul_zero, add_zero, zero_add] + ring + +end Net +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.GBridge2.stage0 +#print axioms OAI.PowerSaving.GX.GBridge2.stage1 +#print axioms OAI.PowerSaving.GX.GBridge2.stage2 +#print axioms OAI.PowerSaving.GX.GBridge2.stage3 +#print axioms OAI.PowerSaving.GX.GBridge2.stage4 +#print axioms OAI.PowerSaving.GX.GBridge2.climbA +#print axioms OAI.PowerSaving.GX.GBridge2.climbB +#print axioms OAI.PowerSaving.GX.GBridge2.fin diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean new file mode 100644 index 0000000000..e68c42377f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__Phased.lean @@ -0,0 +1,199 @@ +import Work.Carrier.Phases +import Work.GFrame.Labels.All + +/-! +# (key: gx-chain) The certificate as two halves: `Scal` (scalar half) and `Lab` (label half) + +`Scal T Sl C`: the scalar fields of `CR.Phased` (three facts about ONE matrix +`Mt = MB * scatM (Jr * Cc) * MA`). The scalar identities of the forward and of the backward +word (`fwd_scalar`, `bwd_scalar`) are those of `Work/Carrier/Phases.lean`, word for word. + +`Lab H S`: subspace labels (`GF.SLbl H`), routes of the three phases on the generalised engine +(`GF.GRoute`) through every stage-B frame map (`GF.BXMap H α`), and facts about dimensions at +the two ends. No projector, no `Climb`. + +No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB BR CR GF +noncomputable section + +/-- **The scalar half.** -/ +structure Scal (T Sl C : Type) [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] where + Cc : Matrix C Sl ℚ + Jr : Matrix T C ℚ + MA : Matrix (L3 T Sl) (L3 T Sl) ℚ + MAi : Matrix (L3 T Sl) (L3 T Sl) ℚ + MB : Matrix (L3 T Sl) (L3 T Sl) ℚ + MBi : Matrix (L3 T Sl) (L3 T Sl) ℚ + hAi : MAi * MA = 1 + hBi : MBi * MB = 1 + hx : ∀ t j, (MB * scatM (Jr * Cc) * MA) (lX t) j = if lX t = j then 1 else 0 + hy : ∀ i t, (MB * scatM (Jr * Cc) * MA) i (lY t) = if i = lY t then 1 else 0 + hid : ∀ S t, (MB * scatM (Jr * Cc) * MA) (lY S) (lX t) = if S = t then 1 else 0 + +/-- **The label half.** See `checks/wht26/shared/gcert-interface.md`, section CHAIN. -/ +structure Lab (H : Type) [Fintype H] [DecidableEq H] {T Sl C : Type} [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] (S : Scal T Sl C) where + tv : T → Space H + hunit : ∀ t, dot (tv t) (tv t) = 1 + hgap : ∀ t, ∃ p, tv t p = 0 + lab0 : L3 T Sl → SLbl H + labA : L3 T Sl → SLbl H + labB : L3 T Sl → SLbl H + labF : L3 T Sl → SLbl H + cen : C → SLbl H + z0 : SLbl H + hz0 : z0.dim = 0 + h0x : ∀ t, (lab0 (lX t)).dim = 1 ∧ (lab0 (lX t)).Mem (tv t) + h0y : ∀ t, (lab0 (lY t)).dim = 0 + h0s : ∀ q, (lab0 (lS q)).dim = 0 + hAy : ∀ t, labA (lY t) = z0 + hAc : ∀ k q, S.Cc k q ≠ 0 → cen k = labA (lS q) + hcen : ∀ k, 0 < (cen k).dim + hFx : ∀ t, (labF (lX t)).dim = Fintype.card H + hFs : ∀ q, (labF (lS q)).dim = Fintype.card H + hFy : ∀ t, (labF (lY t)).dim + 1 = Fintype.card H ∧ + ∀ x, (labF (lY t)).Mem x → dot (tv t) x = 0 + rA : List ℕ + rB : List ℕ + rF : List ℕ + pA : ∀ {α : Type} [Fintype α] [DecidableEq α] (X : BXMap H α), + Fintype.card H < Fintype.card α → + GRoute (fun r => X.Φ (lab0 r)) (fun r => X.Φ (labA r)) (actPoint S.MA) + (fun φ => rcost φ rA) ∧ + GRoute (fun r => X.Φ (lab0 r)) (fun r => X.Φ (labA r)) (actPoint S.MAiᵀ) + (fun φ => rcost φ rA) + pB : ∀ {α : Type} [Fintype α] [DecidableEq α] (X : BXMap H α), + Fintype.card H < Fintype.card α → + GRoute (fun r => X.Φ (labA r)) (fun r => X.Φ (labB r)) (actPoint S.MB) + (fun φ => rcost φ rB) ∧ + GRoute (fun r => X.Φ (labA r)) (fun r => X.Φ (labB r)) (actPoint S.MBiᵀ) + (fun φ => rcost φ rB) + pF : ∀ {α : Type} [Fintype α] [DecidableEq α] (X : BXMap H α), + Fintype.card H < Fintype.card α → + GRoute (fun r => X.Φ (labB r)) (fun r => X.Φ (labF r)) id (fun φ => rcost φ rF) + +/-- price of one invocation: the blocks of the three phases and one block per copy. -/ +def Lab.cost {H : Type} [Fintype H] [DecidableEq H] {T Sl C : Type} [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] {S : Scal T Sl C} (L : Lab H S) + (φ : ℕ → ℝ) : ℝ := + rcost φ L.rA + (∑ k, bcost φ (L.cen k).dim) + rcost φ L.rB + rcost φ L.rF + +section Alg +variable {H T Sl C : Type} [Fintype H] [DecidableEq H] [Fintype T] [DecidableEq T] + [Fintype Sl] [DecidableEq Sl] [Fintype C] [DecidableEq C] + +namespace Scal +variable (K : Scal T Sl C) + +/-- the product of ALL gates of the main phase (scatter with the copies eliminated). -/ +def Mt : Matrix (L3 T Sl) (L3 T Sl) ℚ := K.MB * scatM (K.Jr * K.Cc) * K.MA +/-- its inverse. -/ +def Mti : Matrix (L3 T Sl) (L3 T Sl) ℚ := K.MAi * scatMi (K.Jr * K.Cc) * K.MBi + + +lemma im : K.Mti * K.Mt = 1 := by + unfold Mti Mt + have hB : ∀ X : Matrix (L3 T Sl) (L3 T Sl) ℚ, K.MBi * (K.MB * X) = X := fun X => by + rw [← Matrix.mul_assoc, K.hBi, Matrix.one_mul] + have hS : ∀ X : Matrix (L3 T Sl) (L3 T Sl) ℚ, + scatMi (K.Jr * K.Cc) * (scatM (K.Jr * K.Cc) * X) = X := fun X => by + rw [← Matrix.mul_assoc, scat_inv, Matrix.one_mul] + rw [Matrix.mul_assoc, Matrix.mul_assoc, Matrix.mul_assoc, hB, hS, K.hAi] + +lemma mi : K.Mt * K.Mti = 1 := mul_eq_one_comm.mp K.im + +lemma hxm : PX * K.Mt = PX := PX_mul_of (M := K.Mt) K.hx +lemma hmy : K.Mt * PY = PY := mul_PY_of (M := K.Mt) K.hy +lemma hiy : K.Mti * PY = PY := dirt_iy K.hmy K.im + +/-- **the dirt rule, forward**, for the matrices of the circuit. -/ +lemma hF : g8 K.Mti * K.Mt * g1 K.Mt = 1 + PY * K.Mt * PX := by + unfold g8 g1 + exact dirt_fwd PX_sq PY_sq PX_PY PY_PX K.hxm K.hmy K.im K.mi + +/-- **the dirt rule, backward.** -/ +lemma hB : g1i K.Mt * K.Mti * h8 K.Mt = 1 - PY * K.Mt * PX := by + unfold g1i h8 + exact dirt_bwd PX_sq PY_sq PX_PY PY_PX K.hxm K.hmy K.im K.mi + +/-- live part of the forward word before the scatter: `y -= K s`, then phase A. -/ +def f1 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint K.MA (actPoint (g1 K.Mt) u) +/-- after the scatter: phase B, then the slot rows of the inverse. -/ +def f2 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint (g8 K.Mti) (actPoint K.MB u) +/-- the same for the backward word (transposed inverses). -/ +def b1 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint K.MAiᵀ (actPoint (g1i K.Mt)ᵀ u) +def b2 (u : L3 T Sl → ℂ) : L3 T Sl → ℂ := actPoint (h8 K.Mt)ᵀ (actPoint K.MBiᵀ u) + +lemma fwd_live (u : L3 T Sl → ℂ) : + K.f2 (actPoint (scatM (K.Jr * K.Cc)) (K.f1 u)) = actPoint (1 + PY * K.Mt * PX) u := by + rw [← K.hF] + show actPoint (g8 K.Mti) (actPoint K.MB (actPoint (scatM (K.Jr * K.Cc)) + (actPoint K.MA (actPoint (g1 K.Mt) u)))) + = actPoint (g8 K.Mti * (K.MB * scatM (K.Jr * K.Cc) * K.MA) * g1 K.Mt) u + rw [actPoint_mul, actPoint_mul, actPoint_mul, actPoint_mul] + +lemma bwd_live (u : L3 T Sl → ℂ) : + K.b2 (actPoint ((scatMi (K.Jr * K.Cc))ᵀ) (K.b1 u)) + = actPoint ((1 - PY * K.Mt * PX)ᵀ) u := by + rw [← K.hB] + show actPoint (h8 K.Mt)ᵀ (actPoint K.MBiᵀ (actPoint (scatMi (K.Jr * K.Cc))ᵀ + (actPoint K.MAiᵀ (actPoint (g1i K.Mt)ᵀ u)))) + = actPoint ((g1i K.Mt * (K.MAi * scatMi (K.Jr * K.Cc) * K.MBi) * h8 K.Mt)ᵀ) u + rw [Matrix.transpose_mul, Matrix.transpose_mul, Matrix.transpose_mul, Matrix.transpose_mul, + actPoint_mul, actPoint_mul, actPoint_mul, actPoint_mul] + +lemma liveAct_glue (φ : (L3 T Sl → ℂ) → (L3 T Sl → ℂ)) (u : L3 T Sl → ℂ) (c : C → ℂ) : + liveAct φ (glue u c) = glue (φ u) c := + congrArg (fun v => glue (φ v) c) (glue_up u c) + +/-- **Scalar identity of the forward word**: `y += x`, slots restored, for ARBITRARY slot +contents (the copies are erased before and after). -/ +theorem fwd_scalar (z : Box T Sl C → ℂ) : + eraseC (liveAct K.f2 (gateS bY bC K.Jr (gateS bC bS K.Cc (liveAct K.f1 (eraseC z))))) + = shearF z := by + have h1 : liveAct K.f1 (eraseC z) = glue (K.f1 (z ∘ upE)) (fun _ => 0) := by + rw [erase_glue z, liveAct_glue] + have hs : gateS bY bC K.Jr (gateS bC bS K.Cc (glue (K.f1 (z ∘ upE)) (fun _ => 0))) ∘ upE + = actPoint (scatM (K.Jr * K.Cc)) (K.f1 (z ∘ upE)) := by + have h := scat_glue K.Jr K.Cc (glue (K.f1 (z ∘ upE)) (fun _ => 0)) rfl + rw [glue_up] at h + exact h + rw [h1] + unfold liveAct + rw [erase_of_glue, hs, K.fwd_live, act_shear K.Mt K.hid] + exact glue_shearF z + +/-- **Scalar identity of the backward word**: `x -= y`, slots restored. -/ +theorem bwd_scalar (z : Box T Sl C → ℂ) : + eraseC (liveAct K.b2 (gateS bS bC (-K.Ccᵀ) (gateS bC bY K.Jrᵀ (liveAct K.b1 (eraseC z))))) + = shearB z := by + have h1 : liveAct K.b1 (eraseC z) = glue (K.b1 (z ∘ upE)) (fun _ => 0) := by + rw [erase_glue z, liveAct_glue] + have hs : gateS bS bC (-K.Ccᵀ) (gateS bC bY K.Jrᵀ (glue (K.b1 (z ∘ upE)) (fun _ => 0))) ∘ upE + = actPoint ((scatMi (K.Jr * K.Cc))ᵀ) (K.b1 (z ∘ upE)) := by + have h := scat_glueT K.Jr K.Cc (glue (K.b1 (z ∘ upE)) (fun _ => 0)) rfl + rw [glue_up] at h + exact h + rw [h1] + unfold liveAct + rw [erase_of_glue, hs, K.bwd_live, act_shearT K.Mt K.hid] + exact glue_shearB z + +end Scal +end Alg +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.Scal.fwd_scalar +#print axioms OAI.PowerSaving.GX.Scal.bwd_scalar diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean new file mode 100644 index 0000000000..951edde5cf --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Chain__WinB.lean @@ -0,0 +1,132 @@ +import Work.GCert.Chain.Win +import Work.BridgeGeom.Stage + +/-! +# (key: gx-chain) THE WINDOW LIFT (spec statement 3): the windows of the bridged geometry + +For the block frame map `BG.fmapB hB hH d q` of a stage of the bridged word (label space +`LB B H = H ⊕ (B × H)`, old frame of the projector `P`: `PhiB d q P`) the stage-B frame map is +`BXMap.ofConj d q` (`U ↦ d (U ⊕ span q)`, arbitrary subspaces `U` of `H`). At a coordinate +subspace of an orthonormal basis `A` of `H` the two name the SAME subspace of the address space +(`insub_old_new`), so the old frame and the representative of any label of that subspace +differ by a free factor (`frame_core_free`, `rep_change`): `old_to_new`, `new_to_old`. + +`gwinB hB hH d q : GWin H (LB B H)` with `(gwinB hB hH d q).Xm = fmapB hB hH d q` (`rfl`). + +No `sorry`. +-/ + +set_option linter.unusedSectionVars false +set_option linter.unusedVariables false + +namespace OAI +namespace PowerSaving +namespace GX +open Binary Matrix Finset RAM SS CB RF BR BG GF +noncomputable section + +section +variable {B H : Type} [Fintype B] [DecidableEq B] [Fintype H] [DecidableEq H] + +lemma blkT_mulVec (A : OBase H) (z : Space (LB B H)) (k : LB B H) : + ((blkB B A)ᵀ *ᵥ z) k = Sum.elim (fun i => dot (A.v i) (fun j => z (Sum.inl j))) + (fun b => z (Sum.inr b)) k := by + cases k with + | inl i => + simp [blkB, Matrix.fromBlocks_transpose, Matrix.mulVec, dotProduct, Fintype.sum_sum_type, + cmat, dot] + | inr b => + simp [blkB, Matrix.fromBlocks_transpose, Matrix.mulVec, dotProduct, Fintype.sum_sum_type, + Matrix.one_apply] + +/-- coordinates of `y` in the basis `d (A ⊕ std)`. -/ +lemma dot_cols (d : Orth (LB B H)) (A : OBase H) (y : Space (LB B H)) (k : LB B H) : + dot ((ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A))).v k) y + = Sum.elim (fun i => dot (A.v i) (fun j => (d.1ᵀ *ᵥ y) (Sum.inl j))) + (fun b => (d.1ᵀ *ᵥ y) (Sum.inr b)) k := by + rw [← blkT_mulVec A (d.1ᵀ *ᵥ y) k, Matrix.mulVec_mulVec, ← Matrix.transpose_mul] + rfl + +/-- **the old frame and the lifted label name the same subspace of the address space.** -/ +theorem insub_old_new (d : Orth (LB B H)) (q : Finset (B × H)) (A : OBase H) (s : Finset H) + (U : SLbl H) (h : ∀ x, U.Mem x ↔ InSub (coordPerm A) s x) (y : Space (LB B H)) : + InSub (coordPerm (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A)))) (JB s q) y ↔ + InSub (conjPerm d.1 d.2 (Orth.orth' d) U.G) (U.s.disjSum q) y := by + rw [insub_conj, insub_coordPerm] + have hU := h (fun i => (d.1ᵀ *ᵥ y) (Sum.inl i)) + constructor + · intro hk + refine ⟨hU.mpr ((insub_coordPerm A s _).mpr (fun i hi => ?_)), fun b hb => ?_⟩ + · have h1 := hk (Sum.inl i) (fun hm => hi (Finset.inl_mem_disjSum.mp hm)) + rw [dot_cols] at h1 + exact h1 + · have h1 := hk (Sum.inr b) (fun hm => hb (Finset.inr_mem_disjSum.mp hm)) + rw [dot_cols] at h1 + exact h1 + · rintro ⟨h1, h2⟩ k hk + rw [dot_cols] + cases k with + | inl i => + exact (insub_coordPerm A s _).mp (hU.mp h1) i + (fun hm => hk (Finset.inl_mem_disjSum.mpr hm)) + | inr b => exact h2 b (fun hm => hk (Finset.inr_mem_disjSum.mpr hm)) + +/-- old frame of a coordinate subspace → representative of any label naming it: FREE. -/ +theorem old_to_new (d : Orth (LB B H)) (q : Finset (B × H)) (A : OBase H) (s : Finset H) + (U : SLbl H) (h : ∀ x, U.Mem x ↔ InSub (coordPerm A) s x) : + GReach (PhiB d q (A.mat s)) ((BXMap.ofConj d.1 d.2 (Orth.orth' d) q).Φ U) (fun _ => 0) := by + rw [PhiB_eq] + obtain ⟨N, hN, e⟩ := repChange (LB B H) _ _ _ _ (insub_old_new d q A s U h) + have a : GReach (frame (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A))) (JB s q)) + (core (coordPerm (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A)))) (JB s q)) + (fun φ => rcost φ []) := + GReach.ofReach (fmv_old_to_core _ _).reach + have b : GReach + (core (coordPerm (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A)))) (JB s q)) + (core (conjPerm d.1 d.2 (Orth.orth' d) U.G) (U.s.disjSum q)) (fun φ => rcost φ []) := + GReach.ofReach (fmv_of_free hN e).reach + exact (a.trans b).cast (fun φ => by simp [rcost]) + +/-- the same, backwards. -/ +theorem new_to_old (d : Orth (LB B H)) (q : Finset (B × H)) (A : OBase H) (s : Finset H) + (U : SLbl H) (h : ∀ x, U.Mem x ↔ InSub (coordPerm A) s x) : + GReach ((BXMap.ofConj d.1 d.2 (Orth.orth' d) q).Φ U) (PhiB d q (A.mat s)) (fun _ => 0) := by + rw [PhiB_eq] + obtain ⟨N, hN, e⟩ := repChange (LB B H) _ _ _ _ + (fun y => (insub_old_new d q A s U h y).symm) + have a : GReach (core (conjPerm d.1 d.2 (Orth.orth' d) U.G) (U.s.disjSum q)) + (core (coordPerm (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A)))) (JB s q)) + (fun φ => rcost φ []) := + GReach.ofReach (fmv_of_free hN e).reach + have b : GReach + (core (coordPerm (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A)))) (JB s q)) + (frame (ofCols (d.1 * blkB B A) (mul_orth d.2 (blkB_orth A))) (JB s q)) + (fun φ => rcost φ []) := + GReach.ofReach (fmv_core_to_old _ _).reach + exact (a.trans b).cast (fun φ => by simp [rcost]) + +/-- **The window of a stage of the bridged geometry.** -/ +def gwinB (hB : 1 ≤ Fintype.card B) (hH : 1 ≤ Fintype.card H) (d : Orth (LB B H)) + (q : Finset (B × H)) : GWin H (LB B H) where + Xm := fmapB hB hH d q + X := BXMap.ofConj d.1 d.2 (Orth.orth' d) q + big := by + rw [card_LB] + have := Nat.mul_le_mul_right (Fintype.card H) (show 2 ≤ Fintype.card B + 1 by omega) + omega + toNew := fun A s U h => old_to_new d q A s U h + toOld := fun A s U h => new_to_old d q A s U h + +@[simp] lemma gwinB_Xm (hB : 1 ≤ Fintype.card B) (hH : 1 ≤ Fintype.card H) (d : Orth (LB B H)) + (q : Finset (B × H)) : (gwinB hB hH d q).Xm = fmapB hB hH d q := rfl + +end +end +end GX +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.GX.insub_old_new +#print axioms OAI.PowerSaving.GX.old_to_new +#print axioms OAI.PowerSaving.GX.new_to_old +#print axioms OAI.PowerSaving.GX.gwinB diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean new file mode 100644 index 0000000000..d7ecfebcea --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean @@ -0,0 +1,33 @@ +import Work.GCert.Scalar.Main +import Work.GCert.Data.P193ScalOK +import Work.GCert.Data.B2Gp193 + +/-! +# (key: gx-data) Bridged word B_2 with the gcert/1 circuit `P193`: THE CLOSED THEOREMS +GENERATED by checks/wht26/gx-data/py/gxrate.py. No `sorry`. +`wht_B2Gp193_of_ids` (label half, price, unit list, rate fact, gx-chain's end theorem) applied to the scalar half +`GXD.P193.scalOK : GS.ScalOK GXD.P193.raw` (kernel checks `scal_ok`, `ychk_ok`; soundness: gx-scalar). +-/ + +namespace OAI +namespace PowerSaving +namespace WHT +open BlockWHT + +/-- **Walsh-Hadamard transform in `O(n (log n)^(1 - 74745/10^8))`-type time bounds: whole-block recursion on the bridged +word B_2 with the kernel-checked gcert/1 circuit `P193`.** -/ +theorem wht_main_B2Gp193 : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - 74745/(10:ℝ)^8) W := + wht_B2Gp193_of_ids GXD.P193.scalOK.hv GXD.P193.scalOK.hAi GXD.P193.scalOK.hBi GXD.P193.scalOK.hx GXD.P193.scalOK.hy GXD.P193.scalOK.hid + +/-- **Walsh-Hadamard transform in `O(n (log n)^(1 - 7474547/10^10))`-type time bounds: whole-block recursion on the bridged +word B_2 with the kernel-checked gcert/1 circuit `P193`.** -/ +theorem wht_main_B2Gp193x : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - 7474547/(10:ℝ)^10) W := + wht_B2Gp193x_of_ids GXD.P193.scalOK.hv GXD.P193.scalOK.hAi GXD.P193.scalOK.hBi GXD.P193.scalOK.hx GXD.P193.scalOK.hy GXD.P193.scalOK.hid + +end WHT +end PowerSaving +end OAI +#print axioms OAI.PowerSaving.WHT.wht_main_B2Gp193 +#print axioms OAI.PowerSaving.WHT.wht_main_B2Gp193x diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean new file mode 100644 index 0000000000..c6cbac38e3 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Glue.lean @@ -0,0 +1,97 @@ +import Work.GCert.Scalar.Roles +import Work.GCert.Labels.Main + +/-! +# (key: gx-data) Glue between the scalar half (gx-scalar) and the label half (gx-labels) + +For ANY `c : GXD.Raw` (nothing is evaluated here): + +* `roles` gx-scalar's numbering `GS.emb` / `GS.unemb` is gx-labels' `GLab.Roles`; +* `scalOf` gx-chain's record `GX.Scal (Fin v) (Fin R) (Fin ret.length)` from the FIVE scalar + identities of the matrices `GS.MA`, `GS.MAi`, `GS.MB`, `GS.MBi`, `GS.Jrm`, `GS.Ccm`; +* `scalOf_MA .. scalOf_MBi` its gate matrices are the ordered products of the adds of `c`, in + the form asked by `GLab.Valid.lab` (`GLab.mic GS.toCoef`); +* `reg`, `reg_slot`, `reg_mem` copy `k` reads the retained register `(c.ret.getD k (0,0)).1`. + +So a generated instance needs from the scalar side exactly `hAi hBi hx hy hid` (see +`wht__of_ids` in `Work/GCert/Data/.lean`). No `sorry`. +-/ + +namespace GXD +open SSC OAI.PowerSaving OAI.PowerSaving.CR Matrix + +/-- the numbering of the roles: `x_t = t`, `y_t = v + t`, slot `q = 2 v + q` -/ +theorem roles (c : Raw) (hv : 0 < c.v) : GLab.Roles c.v c.R (GS.emb c) (GS.unemb c hv) where + hun := GS.unemb_emb hv + hin := GS.emb_unemb hv + hlt := fun q => by + rcases q with (t | S) | q + · have := t.isLt; show t.val < 2 * c.v + c.R; omega + · have := S.isLt; show c.v + S.val < 2 * c.v + c.R; omega + · have := q.isLt; show 2 * c.v + q.val < 2 * c.v + c.R; omega + eX := fun _ => rfl + eY := fun _ => rfl + eS := fun _ => rfl + +/-- **the scalar half as gx-chain's record**, from the five scalar identities -/ +noncomputable def scalOf (c : Raw) (hv : 0 < c.v) + (hAi : GS.MAi c hv * GS.MA c hv = 1) (hBi : GS.MBi c hv * GS.MB c hv = 1) + (hx : ∀ (t : Fin c.v) (j : GS.Rl c), (GS.MB c hv * scatM (GS.Jrm c * GS.Ccm c) * GS.MA c hv) + (lX t) j = if lX t = j then 1 else 0) + (hy : ∀ (i : GS.Rl c) (t : Fin c.v), (GS.MB c hv * scatM (GS.Jrm c * GS.Ccm c) * GS.MA c hv) + i (lY t) = if i = lY t then 1 else 0) + (hid : ∀ S t : Fin c.v, (GS.MB c hv * scatM (GS.Jrm c * GS.Ccm c) * GS.MA c hv) + (lY S) (lX t) = if S = t then 1 else 0) : + GX.Scal (Fin c.v) (Fin c.R) (Fin c.ret.length) where + Cc := GS.Ccm c + Jr := GS.Jrm c + MA := GS.MA c hv + MAi := GS.MAi c hv + MB := GS.MB c hv + MBi := GS.MBi c hv + hAi := hAi + hBi := hBi + hx := hx + hy := hy + hid := hid + +section +variable (c : Raw) (hv : 0 < c.v) (hAi) (hBi) (hx) (hy) (hid) + +theorem scalOf_MA : (scalOf c hv hAi hBi hx hy hid).MA + = matP (GS.unemb c hv) (GLab.mic GS.toCoef (c.gatesA.flatMap Gate.adds)) := rfl + +theorem scalOf_MAi : (scalOf c hv hAi hBi hx hy hid).MAi + = matPinv (GS.unemb c hv) (GLab.mic GS.toCoef (c.gatesA.flatMap Gate.adds)) := rfl + +theorem scalOf_MB : (scalOf c hv hAi hBi hx hy hid).MB + = matP (GS.unemb c hv) (GLab.mic GS.toCoef (c.gatesB.flatMap Gate.adds)) := rfl + +theorem scalOf_MBi : (scalOf c hv hAi hBi hx hy hid).MBi + = matPinv (GS.unemb c hv) (GLab.mic GS.toCoef (c.gatesB.flatMap Gate.adds)) := rfl + +end + +/-- the register read by copy `k` (the slot of the retained total `k`) -/ +def reg (c : Raw) (k : Fin c.ret.length) : Nat := (c.ret.getD k.val (0, 0)).1 + +theorem reg_slot (c : Raw) (hv : 0 < c.v) (hAi) (hBi) (hx) (hy) (hid) (k : Fin c.ret.length) + (q : Fin c.R) (h : (scalOf c hv hAi hBi hx hy hid).Cc k q ≠ 0) : + reg c k = 2 * c.v + q.val := by + have h' : (if 2 * c.v + q.val = (c.ret.getD k.val (0, 0)).1 then (1:ℚ) else 0) ≠ 0 := h + by_cases e : 2 * c.v + q.val = (c.ret.getD k.val (0, 0)).1 + · exact e.symm + · rw [if_neg e] at h'; exact absurd rfl h' + +theorem reg_mem (c : Raw) (k : Fin c.ret.length) : reg c k ∈ c.ret.map Prod.fst := by + unfold reg + rw [List.getD_eq_getElem _ _ k.isLt] + exact List.mem_map.mpr ⟨_, List.getElem_mem k.isLt, rfl⟩ + +end GXD + +#print axioms GXD.roles +#print axioms GXD.scalOf +#print axioms GXD.scalOf_MA +#print axioms GXD.reg_slot +#print axioms GXD.reg_mem diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean new file mode 100644 index 0000000000..9b9925ce26 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean @@ -0,0 +1,55 @@ +import Work.BridgeGeom.B2 +import Work.FoldRate.Group +import Work.GCert.Data.RateB2Gp193 +import Work.GCert.Data.RateB2Gp193x + +/-! +# (key: gx-data) Bridged word B_2 with the gcert/1 circuit `P193`, h = 22: the unit price is the price of the block list + +GENERATED by checks/wht26/gx-data/py/gxrate.py. No `sorry`. Arithmetic only (no certificate is imported). + +One unit: `W = 14692` live roles (`4 v + R`, `v = 1320`, `R = 9412`), label dimension `m = 110`, deficit `D = 3080`. +`invPrice φ` = the price of the blocks of ONE invocation (the kernel-counted list `GXD.P193.hist`, by rank); +`unitPrice φ = 5 * invPrice φ + v * BG.bankPrice h φ = listCost φ BlockAccounting.blocksB2Gp193` (`unit_cost`). +Whole-block `1 - 74745/10^8` (fails at 74746), ten decimals `1 - 7474547/10^10` (fails at 7474550). +-/ + +namespace OAI +namespace PowerSaving +namespace BridgeRate +namespace B2Gp193 +open Finset Binary Matrix RAM CB FoldRate +noncomputable section + +/-- price of the blocks of ONE invocation of `P193` (all roles and scratch copies), by rank -/ +def invPrice (φ : ℕ → ℝ) : ℝ := 29178 * φ 1 + 12398 * φ 2 + 9923 * φ 3 + 4209 * φ 4 + 1950 * φ 5 + 1605 * φ 6 + 706 * φ 7 + 1531 * φ 8 + 429 * φ 9 + 930 * φ 10 + 354 * φ 11 + 1197 * φ 12 + 127 * φ 13 + 742 * φ 14 + 1879 * φ 15 + 88 * φ 16 + 81 * φ 17 + 2653 * φ 18 + 167 * φ 19 + 22 * φ 20 + +/-- price of ONE unit of the bridged word B_2 -/ +def unitPrice (φ : ℕ → ℝ) : ℝ := 5 * invPrice φ + ((1320:ℕ):ℝ) * BG.bankPrice 22 φ + +/-- **The unit price is the price of the unit block list.** -/ +theorem unit_cost (φ : ℕ → ℝ) : unitPrice φ = listCost φ BlockAccounting.blocksB2Gp193 := by + unfold unitPrice invPrice + simp only [BG.bankPrice, listCost, BlockAccounting.blocksB2Gp193, List.map_cons, List.map_nil, + List.sum_cons, List.sum_nil] + norm_num [bcost] + try ring + +theorem blocks_x : BlockAccounting.blocksB2Gp193 = BlockAccounting.blocksB2Gp193x := rfl + +theorem unit_cost_x (φ : ℕ → ℝ) : unitPrice φ = listCost φ BlockAccounting.blocksB2Gp193x := by + rw [unit_cost, blocks_x] + +/-- one unit stands for `W * m - D` unit moves -/ +theorem unit_tally : unitPrice (fun r => (r:ℝ)) = ((14692:ℕ):ℝ) * ((110:ℕ):ℝ) - ((3080:ℕ):ℝ) := by + rw [unit_cost] + exact BlockAccounting.blocksB2Gp193_tally + +end +end B2Gp193 +end BridgeRate +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.BridgeRate.B2Gp193.unit_cost +#print axioms OAI.PowerSaving.BridgeRate.B2Gp193.unit_tally diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean new file mode 100644 index 0000000000..3c3250279e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Cert.lean @@ -0,0 +1,81 @@ +import Work.GCert.Labels.Main +import Work.GCert.Data.P193Price +import Work.GCert.Data.Gen.P193Tab0 +import Work.GCert.Data.Gen.P193Tab1 +import Work.GCert.Data.Gen.P193Tab2 +import Work.GCert.Data.Gen.P193Tab3 +import Work.GCert.Data.Gen.P193Seg0 +import Work.GCert.Data.Gen.P193Seg1 +import Work.GCert.Data.Gen.P193Seg2 +import Work.GCert.Data.Gen.P193Seg3 +import Work.GCert.Data.Gen.P193Seg4 +import Work.GCert.Data.Gen.P193SegF +import Work.GCert.Data.Gen.P193End +/-! # (key: gx-data) gcert/1 certificate `P193` (h = 22): THE LABEL HALF and its price +GENERATED by checks/wht26/gx-data/py/gxgen.py from gcert1-p11-pr193.json.gz. No `sorry`. +`v = 1320` ports, `R = 9412` slots, 22 scratch copies of rank 20, copy cost `cst = 440`, `N = 262944` unit moves. +* `aux : GLab.Aux`, `valid : GLab.Valid raw aux`: frame table (`tab_ok` composed by `tabK_node`), the replays of phase A + and phase B (`seg_ok` composed by `Run.append`), the final climbs (`segF_ok`, `fin_ok`), the ends (`end_ok`); +* `lab_cost`, `lab_price`: for ANY scalar half `S` the label half `valid.lab S ..` costs + `rcost rA + card C * bcost 20 + rcost rB + rcost rF` = `invPrice φ` = 29178 * φ 1 + 12398 * φ 2 + 9923 * φ 3 + 4209 * φ 4 + 1950 * φ 5 + 1605 * φ 6 + 706 * φ 7 + 1531 * φ 8 + 429 * φ 9 + 930 * φ 10 + 354 * φ 11 + 1197 * φ 12 + 127 * φ 13 + 742 * φ 14 + 1879 * φ 15 + 88 * φ 16 + 81 * φ 17 + 2653 * φ 18 + 167 * φ 19 + 22 * φ 20 + (`Gen.P193Hist`, `P193Price`) when there are 22 copies. -/ +set_option maxRecDepth 100000 +namespace GXD.P193 +open GXD OAI.PowerSaving OAI.PowerSaving.CB +theorem raw_h : raw.h = 22 := rfl +theorem raw_v : raw.v = 1320 := rfl +theorem raw_R : raw.R = 9412 := rfl +/-- what the label checks read next to `raw` -/ +noncomputable def aux : GLab.Aux := ⟨par, st0, st2, st5, st6, fins, rA, rB, rF⟩ +theorem fin_ok : GLab.noAdds fins = true := by decide +kernel +theorem cen_ok : (raw.ret.map Prod.fst).all (fun r => Nat.beq (GLab.cdim (par.tab.get (st2.get r))) 20) = true := by + decide +kernel +theorem tab_ok : GLab.tabK par.h par.tab = true := (GLab.tabK_node _ _ _ (GLab.tabK_node _ _ _ tab0_ok tab1_ok) (GLab.tabK_node _ _ _ tab2_ok tab3_ok)) +theorem gatesA_eq : raw.gatesA = seg0 ++ (seg1) := by + show List.flatten [seg0, seg1] = _ + simp only [List.flatten_cons, List.flatten_nil, List.append_nil] +/-- the replay of phase A, composed from its kernel-checked segments -/ +theorem runA : GLab.Run par st0 raw.gatesA st2 rA := by + rw [gatesA_eq] + exact GLab.Run.append (GLab.Run.of_seg seg0_ok) (GLab.Run.of_seg seg1_ok) +theorem gatesB_eq : raw.gatesB = seg2 ++ (seg3 ++ (seg4)) := by + show List.flatten [seg2, seg3, seg4] = _ + simp only [List.flatten_cons, List.flatten_nil, List.append_nil] +/-- the replay of phase B, composed from its kernel-checked segments -/ +theorem runB : GLab.Run par st2 raw.gatesB st5 rB := by + rw [gatesB_eq] + exact GLab.Run.append (GLab.Run.of_seg seg2_ok) (GLab.Run.append (GLab.Run.of_seg seg3_ok) (GLab.Run.of_seg seg4_ok)) +/-- **the kernel-checked label facts** of the certificate -/ +theorem valid : GLab.Valid raw aux where + hn := rfl + tab := tab_ok + runA := runA + runB := runB + runF := GLab.Run.of_seg segF_ok + fin := fin_ok + ends := end_ok +theorem cen_dim (r : Nat) (hr : r ∈ raw.ret.map Prod.fst) : GLab.cdim (par.tab.get (st2.get r)) = 20 := + Nat.eq_of_beq_eq_true (List.all_eq_true.mp cen_ok r hr) +/-- price of the label half over ANY scalar half -/ +theorem lab_cost {C : Type} [Fintype C] [DecidableEq C] (S : GX.Scal (Fin raw.v) (Fin raw.R) C) + {emb : CR.L3 (Fin raw.v) (Fin raw.R) → Nat} {un : Nat → CR.L3 (Fin raw.v) (Fin raw.R)} + (Ro : GLab.Roles raw.v raw.R emb un) (cf : Co → SSC.Coef) (hMA) (hMAi) (hMB) (hMBi) + (reg : C → Nat) (hCc) (hreg) (φ : ℕ → ℝ) : + (valid.lab S Ro cf hMA hMAi hMB hMBi reg hCc hreg).cost φ + = rcost φ rA + (Fintype.card C : ℝ) * bcost φ 20 + rcost φ rB + rcost φ rF := by + obtain ⟨h1, h2, h3, h4⟩ := valid.lab_ranks S Ro cf hMA hMAi hMB hMBi reg hCc hreg + have h5 : ∀ k, bcost φ (((valid.lab S Ro cf hMA hMAi hMB hMBi reg hCc hreg).cen k).dim) = bcost φ 20 := + fun k => by rw [h4 k]; exact congrArg (bcost φ) (cen_dim _ (hreg k)) + rw [GX.Lab.cost, h1, h2, h3, Finset.sum_congr rfl (fun k _ => h5 k), Finset.sum_const, Finset.card_univ, nsmul_eq_mul] + rfl +/-- **the label half costs one invocation price** (`invPrice`, by rank, from the kernel counts) -/ +theorem lab_price {C : Type} [Fintype C] [DecidableEq C] (S : GX.Scal (Fin raw.v) (Fin raw.R) C) + {emb : CR.L3 (Fin raw.v) (Fin raw.R) → Nat} {un : Nat → CR.L3 (Fin raw.v) (Fin raw.R)} + (Ro : GLab.Roles raw.v raw.R emb un) (cf : Co → SSC.Coef) (hMA) (hMAi) (hMB) (hMBi) + (reg : C → Nat) (hCc) (hreg) (hC : Fintype.card C = 22) (φ : ℕ → ℝ) : + (valid.lab S Ro cf hMA hMAi hMB hMBi reg hCc hreg).cost φ = invPrice φ := by + rw [lab_cost S Ro cf hMA hMAi hMB hMBi reg hCc hreg φ, hC, ← inv_cost φ] + norm_num [bcost] +end GXD.P193 +#print axioms GXD.P193.valid +#print axioms GXD.P193.lab_price diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean new file mode 100644 index 0000000000..eeed011d64 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193Price.lean @@ -0,0 +1,54 @@ +import Work.GCert.Data.Price +import Work.GCert.Data.Gen.P193Hist + +/-! +# (key: gx-data) gcert/1 certificate `P193` (h = 22): the price of one invocation + +GENERATED by checks/wht26/gx-data/py/gxgen.py from gcert1-p11-pr193.json.gz. No `sorry`. +`rA_cost`, `rB_cost`, `rF_cost`: the price of the block rank lists of phase A, phase B and the final climbs +(lists `GXD.P193.rA / rB / rF`, counted by the kernel in `Gen.P193Hist`); +`inv_cost`: with the 22 scratch copies (22 * φ 20) the blocks of ONE invocation cost +`invPrice φ` = 29178 * φ 1 + 12398 * φ 2 + 9923 * φ 3 + 4209 * φ 4 + 1950 * φ 5 + 1605 * φ 6 + 706 * φ 7 + 1531 * φ 8 + 429 * φ 9 + 930 * φ 10 + 354 * φ 11 + 1197 * φ 12 + 127 * φ 13 + 742 * φ 14 + 1879 * φ 15 + 88 * φ 16 + 81 * φ 17 + 2653 * φ 18 + 167 * φ 19 + 22 * φ 20; `inv_moves`: they stand for `R h + 2 v (h - 1) + cst = 262944` unit moves. +-/ + +namespace GXD.P193 +open GXD OAI.PowerSaving.CB + +/-- price of the blocks of phase A, from the kernel counts -/ +theorem rA_cost (φ : ℕ → ℝ) : rcost φ rA = 9900 * φ 1 + 500 * φ 2 + 2402 * φ 3 + 82 * φ 4 + 242 * φ 5 + 175 * φ 6 + 88 * φ 7 + 68 * φ 8 + 110 * φ 9 + 132 * φ 10 + 10 * φ 11 + 67 * φ 12 + 3 * φ 13 + 19 * φ 15 := by + rw [GXD.rcost_wsumK φ rA 19 rankBoundA] + simp only [Finset.sum_range_succ, Finset.sum_range_zero, rankA0_ok, rankA1_ok, rankA2_ok, rankA3_ok, rankA4_ok, rankA5_ok, rankA6_ok, rankA7_ok, rankA8_ok, rankA9_ok, rankA10_ok, rankA11_ok, rankA12_ok, rankA13_ok, rankA14_ok, rankA15_ok, rankA16_ok, rankA17_ok, rankA18_ok, rankA19_ok] + norm_num [bcost] + +/-- price of the blocks of phase B, from the kernel counts -/ +theorem rB_cost (φ : ℕ → ℝ) : rcost φ rB = 16638 * φ 1 + 10380 * φ 2 + 4111 * φ 3 + 3476 * φ 4 + 1531 * φ 5 + 1137 * φ 6 + 531 * φ 7 + 1346 * φ 8 + 293 * φ 9 + 629 * φ 10 + 343 * φ 11 + 1067 * φ 12 + 123 * φ 13 + 712 * φ 14 + 1860 * φ 15 + 81 * φ 16 + 39 * φ 17 + 2640 * φ 18 := by + rw [GXD.rcost_wsumK φ rB 19 rankBoundB] + simp only [Finset.sum_range_succ, Finset.sum_range_zero, rankB0_ok, rankB1_ok, rankB2_ok, rankB3_ok, rankB4_ok, rankB5_ok, rankB6_ok, rankB7_ok, rankB8_ok, rankB9_ok, rankB10_ok, rankB11_ok, rankB12_ok, rankB13_ok, rankB14_ok, rankB15_ok, rankB16_ok, rankB17_ok, rankB18_ok, rankB19_ok] + norm_num [bcost] + +/-- price of the blocks of the final climbs, from the kernel counts -/ +theorem rF_cost (φ : ℕ → ℝ) : rcost φ rF = 2640 * φ 1 + 1518 * φ 2 + 3410 * φ 3 + 651 * φ 4 + 177 * φ 5 + 293 * φ 6 + 87 * φ 7 + 117 * φ 8 + 26 * φ 9 + 169 * φ 10 + 1 * φ 11 + 63 * φ 12 + 1 * φ 13 + 30 * φ 14 + 7 * φ 16 + 42 * φ 17 + 13 * φ 18 + 167 * φ 19 := by + rw [GXD.rcost_wsumK φ rF 19 rankBoundF] + simp only [Finset.sum_range_succ, Finset.sum_range_zero, rankF0_ok, rankF1_ok, rankF2_ok, rankF3_ok, rankF4_ok, rankF5_ok, rankF6_ok, rankF7_ok, rankF8_ok, rankF9_ok, rankF10_ok, rankF11_ok, rankF12_ok, rankF13_ok, rankF14_ok, rankF15_ok, rankF16_ok, rankF17_ok, rankF18_ok, rankF19_ok] + norm_num [bcost] + +/-- price of the blocks of ONE invocation (x roles, y roles, slots, scratch copies), by rank -/ +def invPrice (φ : ℕ → ℝ) : ℝ := 29178 * φ 1 + 12398 * φ 2 + 9923 * φ 3 + 4209 * φ 4 + 1950 * φ 5 + 1605 * φ 6 + 706 * φ 7 + 1531 * φ 8 + 429 * φ 9 + 930 * φ 10 + 354 * φ 11 + 1197 * φ 12 + 127 * φ 13 + 742 * φ 14 + 1879 * φ 15 + 88 * φ 16 + 81 * φ 17 + 2653 * φ 18 + 167 * φ 19 + 22 * φ 20 + +/-- **Price of ONE invocation** in the shape of `GX.Lab.cost`: phase A, the scratch copies, phase B, final climbs. -/ +theorem inv_cost (φ : ℕ → ℝ) : rcost φ rA + (22 * φ 20) + rcost φ rB + rcost φ rF = invPrice φ := by + rw [rA_cost, rB_cost, rF_cost] + unfold invPrice + ring + +theorem inv_moves : invPrice (fun r => (r:ℝ)) = 9412 * 22 + 2 * 1320 * (22 - 1) + 440 := by + unfold invPrice + norm_num + +theorem inv_count : invPrice (fun _ => (1:ℝ)) = 70169 := by + unfold invPrice + norm_num + +end GXD.P193 +#print axioms GXD.P193.inv_cost +#print axioms GXD.P193.inv_moves diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean new file mode 100644 index 0000000000..3539192ac1 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean @@ -0,0 +1,17 @@ +import Work.GCert.Scalar.Main +import Work.GCert.Data.Gen.P193Scal0 +import Work.GCert.Data.Gen.P193Scal1 +import Work.GCert.Data.Gen.P193YChk +/-! # (key: gx-data) gcert/1 certificate `P193` (h = 22): THE SCALAR HALF `scalOK : GS.ScalOK raw` +GENERATED by checks/wht26/gx-data/py/gxgen.py from gcert1-p11-pr193.json.gz. No `sorry`. +Kernel checks `scal_ok` (2 source batches) and `ychk_ok`. -/ +namespace GXD.P193 +open GXD +theorem scalOK : GS.ScalOK raw where + hv := by decide + hs := fun t ht => + if h0 : t < 660 then ⟨0, 660, Nat.zero_le t, h0, GS.XRun.of_check scal0_ok⟩ else + ⟨660, 660, Nat.le_of_not_lt h0, Nat.lt_of_lt_of_le ht (by decide), GS.XRun.of_check scal1_ok⟩ + hyc := fun t ht => ⟨0, 1320, Nat.zero_le t, Nat.lt_of_lt_of_le ht (by decide), GS.YRun.of_check ychk_ok⟩ +end GXD.P193 +#print axioms GXD.P193.scalOK diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean new file mode 100644 index 0000000000..df563cde73 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean @@ -0,0 +1,327 @@ +import Work.BlockAccounting.Moment +import Work.BlockAccounting.Sharp +import Work.FoldRate.RankTools + +/-! +# (key: gx-data) Rate lemmas for one unit of the bridged word B_2 with the gcert/1 circuit `P193` (h = 22) + +GENERATED by checks/wht26/gx-data/py/gxrate.py with the text generators of checks/wht9/bridge-rate/py +(used read-only). No `sorry`. Arithmetic only. + +One unit: `W = 14692` live roles, label dimension `m = 110`, deficit `D = 3080`. + +* `blocksB2Gp193x` the block list (rank, count) of ONE unit; +* `fold_B2Gp193x` whole-block fact at `1 - 7474547/10^10`, fill parameter `s = 40` (slack 2.37e-12); +* `fold_B2Gp193x_sharp` `W ≤ moment` at `1 - 7474550/10^10`: fails for every table (excess 1.40e-10); +* `foldRank_B2Gp193x` per-rank fact at `1 - 4058344/10^10`, `s = 40` (slack 1.10e-07); +* `foldRank_B2Gp193x_sharp` per-rank: fails for every table at `1 - 4058349/10^10`. + +That a Lean word has `G` times this list as its block histogram is NOT proved here. +-/ + +set_option maxRecDepth 4000 + +namespace OAI.PowerSaving.BlockAccounting +open Finset + +/-- Block list `(rank, count)` of ONE unit of the bridged five-stage word B_2 with the gcert/1 circuit `P193` (h = 22, m = 110): five invocations (ALL blocks of one invocation: x roles, y roles, slots, scratch copies; the kernel-counted list `GXD.P193.hist`), and for each of the v = 1320 ports the idle climbs of its two twins (2 blocks each of rank h-1, 2h-2, 2h+2, 4); R = 9412 slots shared by the five stages. -/ +def blocksB2Gp193x : List (ℕ × ℕ) := [(1, 145890), (2, 61990), (3, 49615), (4, 23685), (5, 9750), (6, 8025), (7, 3530), (8, 7655), (9, 2145), (10, 4650), (11, 1770), (12, 5985), (13, 635), (14, 3710), (15, 9395), (16, 440), (17, 405), (18, 13265), (19, 835), (20, 110), (21, 2640), (42, 2640), (46, 2640)] + +/-- total rank of one unit (= number of unit moves it stands for): `W * m - D` -/ +theorem blocksB2Gp193x_rank : (blocksB2Gp193x.map fun b => b.1 * b.2).sum = 14692 * 110 - 3080 := by + norm_num [blocksB2Gp193x] + +/-- the same as a price: the unit list at the price list `r ↦ r` (shape of `hPid` in `RAM.engine_program_group_perRank`) -/ +theorem blocksB2Gp193x_tally : (blocksB2Gp193x.map fun b => (b.2:ℝ) * ((b.1:ℕ):ℝ)).sum = ((14692:ℕ):ℝ) * ((110:ℕ):ℝ) - ((3080:ℕ):ℝ) := by + norm_num [blocksB2Gp193x] + +theorem blocksB2Gp193x_count : (blocksB2Gp193x.map fun b => b.2).sum = 361405 := by + norm_num [blocksB2Gp193x] + +theorem blocksB2Gp193x_proper : ∀ b ∈ blocksB2Gp193x, 1 ≤ b.1 ∧ b.1 < 110 := by + decide + +/-- **whole-block fact** of `blocksB2Gp193x` at exponent `1 - 7474547/10^10`, fill parameter `s = 40`: the hypothesis `hnum` of `RAM.engine_program_group_list` (u = 110, W = 14692). Relative slack of the rational certificate: 2.37e-12. -/ +theorem fold_B2Gp193x : + ((2:ℝ)^40 - 1) * moment 110 (1 - 7474547/(10:ℝ)^10) blocksB2Gp193x + + ((14692:ℕ):ℝ) * (T 110 (1 - 7474547/(10:ℝ)^10) (110 - 1) 1 + T 110 (1 - 7474547/(10:ℝ)^10) 1 1) + < (2:ℝ)^40 * ((14692:ℕ):ℝ) := by + have hsum : moment 110 (1 - 7474547/(10:ℝ)^10) blocksB2Gp193x + = T 110 (1 - 7474547/(10:ℝ)^10) 1 145890 + (T 110 (1 - 7474547/(10:ℝ)^10) 2 61990 + (T 110 (1 - 7474547/(10:ℝ)^10) 3 49615 + (T 110 (1 - 7474547/(10:ℝ)^10) 4 23685 + (T 110 (1 - 7474547/(10:ℝ)^10) 5 9750 + (T 110 (1 - 7474547/(10:ℝ)^10) 6 8025 + (T 110 (1 - 7474547/(10:ℝ)^10) 7 3530 + (T 110 (1 - 7474547/(10:ℝ)^10) 8 7655 + (T 110 (1 - 7474547/(10:ℝ)^10) 9 2145 + (T 110 (1 - 7474547/(10:ℝ)^10) 10 4650 + (T 110 (1 - 7474547/(10:ℝ)^10) 11 1770 + (T 110 (1 - 7474547/(10:ℝ)^10) 12 5985 + (T 110 (1 - 7474547/(10:ℝ)^10) 13 635 + (T 110 (1 - 7474547/(10:ℝ)^10) 14 3710 + (T 110 (1 - 7474547/(10:ℝ)^10) 15 9395 + (T 110 (1 - 7474547/(10:ℝ)^10) 16 440 + (T 110 (1 - 7474547/(10:ℝ)^10) 17 405 + (T 110 (1 - 7474547/(10:ℝ)^10) 18 13265 + (T 110 (1 - 7474547/(10:ℝ)^10) 19 835 + (T 110 (1 - 7474547/(10:ℝ)^10) 20 110 + (T 110 (1 - 7474547/(10:ℝ)^10) 21 2640 + (T 110 (1 - 7474547/(10:ℝ)^10) 42 2640 + (T 110 (1 - 7474547/(10:ℝ)^10) 46 2640 + 0)))))))))))))))))))))) := rfl + have b0 : T 110 (1 - 7474547/(10:ℝ)^10) 1 145890 ≤ ((16636758090767:ℝ)/12500000000) := + term_le 110 1 145890 (7474547/(10:ℝ)^10) ((2350240182897:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 27 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b1 : T 110 (1 - 7474547/(10:ℝ)^10) 2 61990 ≤ ((22609438945563:ℝ)/20000000000) := + term_le 110 2 61990 (7474547/(10:ℝ)^10) ((2003666592617:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 26 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b2 : T 110 (1 - 7474547/(10:ℝ)^10) 3 49615 ≤ ((135678423202471:ℝ)/100000000000) := + term_le 110 3 49615 (7474547/(10:ℝ)^10) ((1800934038563:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 24 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b3 : T 110 (1 - 7474547/(10:ℝ)^10) 4 23685 ≤ ((43170446048157:ℝ)/50000000000) := + term_le 110 4 23685 (7474547/(10:ℝ)^10) ((1657093002337:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 24 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b4 : T 110 (1 - 7474547/(10:ℝ)^10) 5 9750 ≤ ((44420693582197:ℝ)/100000000000) := + term_le 110 5 9750 (7474547/(10:ℝ)^10) ((38638030667:ℝ)/12500000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 23 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b5 : T 110 (1 - 7474547/(10:ℝ)^10) 6 8025 ≤ ((43867998737293:ℝ)/100000000000) := + term_le 110 6 8025 (7474547/(10:ℝ)^10) ((1454360448283:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 22 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b6 : T 110 (1 - 7474547/(10:ℝ)^10) 7 3530 ≤ ((2250993477097:ℝ)/10000000000) := + term_le 110 7 3530 (7474547/(10:ℝ)^10) ((2754570216739:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 22 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b7 : T 110 (1 - 7474547/(10:ℝ)^10) 8 7655 ≤ ((55781903078171:ℝ)/100000000000) := + term_le 110 8 7655 (7474547/(10:ℝ)^10) ((1310519412057:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 21 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b8 : T 110 (1 - 7474547/(10:ℝ)^10) 9 2145 ≤ ((17582868029823:ℝ)/100000000000) := + term_le 110 9 2145 (7474547/(10:ℝ)^10) ((1251627894229:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 21 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b9 : T 110 (1 - 7474547/(10:ℝ)^10) 10 4650 ≤ ((10587140349809:ℝ)/25000000000) := + term_le 110 10 4650 (7474547/(10:ℝ)^10) ((2997369091:ℝ)/1250000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 21 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b10 : T 110 (1 - 7474547/(10:ℝ)^10) 11 1770 ≤ ((17730489316207:ℝ)/100000000000) := + term_le 110 11 1770 (7474547/(10:ℝ)^10) ((575646273249:ℝ)/250000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 20 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b11 : T 110 (1 - 7474547/(10:ℝ)^10) 12 5985 ≤ ((65399123107589:ℝ)/100000000000) := + term_le 110 12 5985 (7474547/(10:ℝ)^10) ((1107786858003:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 20 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b12 : T 110 (1 - 7474547/(10:ℝ)^10) 13 635 ≤ ((3758266936203:ℝ)/50000000000) := + term_le 110 13 635 (7474547/(10:ℝ)^10) ((533882752083:ℝ)/250000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 20 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b13 : T 110 (1 - 7474547/(10:ℝ)^10) 14 3710 ≤ ((47290992642379:ℝ)/100000000000) := + term_le 110 14 3710 (7474547/(10:ℝ)^10) ((2061423036179:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 19 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b14 : T 110 (1 - 7474547/(10:ℝ)^10) 15 9395 ≤ ((128304571925681:ℝ)/100000000000) := + term_le 110 15 9395 (7474547/(10:ℝ)^10) ((498107541173:ℝ)/250000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 19 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b15 : T 110 (1 - 7474547/(10:ℝ)^10) 16 440 ≤ ((6409229123791:ℝ)/100000000000) := + term_le 110 16 440 (7474547/(10:ℝ)^10) ((963945821777:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 19 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b16 : T 110 (1 - 7474547/(10:ℝ)^10) 17 405 ≤ ((1253566561349:ℝ)/20000000000) := + term_le 110 17 405 (7474547/(10:ℝ)^10) ((933633510869:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 19 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b17 : T 110 (1 - 7474547/(10:ℝ)^10) 18 13265 ≤ ((217357516651669:ℝ)/100000000000) := + term_le 110 18 13265 (7474547/(10:ℝ)^10) ((905054303949:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 18 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b18 : T 110 (1 - 7474547/(10:ℝ)^10) 19 835 ≤ ((14441670418763:ℝ)/100000000000) := + term_le 110 19 835 (7474547/(10:ℝ)^10) ((1756041386627:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 18 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b19 : T 110 (1 - 7474547/(10:ℝ)^10) 20 110 ≤ ((2002550068509:ℝ)/100000000000) := + term_le 110 20 110 (7474547/(10:ℝ)^10) ((21309351153:ℝ)/12500000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 18 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b20 : T 110 (1 - 7474547/(10:ℝ)^10) 21 2640 ≤ ((25231210703361:ℝ)/50000000000) := + term_le 110 21 2640 (7474547/(10:ℝ)^10) ((165595792807:ℝ)/100000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 18 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b21 : T 110 (1 - 7474547/(10:ℝ)^10) 42 2640 ≤ ((100872567578631:ℝ)/100000000000) := + term_le 110 42 2640 (7474547/(10:ℝ)^10) ((962810747511:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 15 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b22 : T 110 (1 - 7474547/(10:ℝ)^10) 46 2640 ≤ ((22094393345401:ℝ)/20000000000) := + term_le 110 46 2640 (7474547/(10:ℝ)^10) ((174367793861:ℝ)/200000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 14 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b23 : T 110 (1 - 7474547/(10:ℝ)^10) 109 1 ≤ ((198183171:ℝ)/200000000) := + term_le 110 109 1 (7474547/(10:ℝ)^10) ((1826496713:ℝ)/200000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 5 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have b24 : T 110 (1 - 7474547/(10:ℝ)^10) 1 1 ≤ ((456145263:ℝ)/50000000000) := + term_le 110 1 1 (7474547/(10:ℝ)^10) ((2350240182897:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 27 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + have e1 : ((2:ℝ)^40 - 1) = 1099511627775 := by norm_num + have e2 : (2:ℝ)^40 = 1099511627776 := by norm_num + have e3 : ((14692:ℕ):ℝ) = 14692 := by norm_num + have e4 : T 110 (1 - 7474547/(10:ℝ)^10) (110 - 1) 1 = T 110 (1 - 7474547/(10:ℝ)^10) 109 1 := rfl + rw [e1, e2, e3, e4, hsum] + linarith + +/-- **sharpness**: at exponent `1 - 7474550/10^10` the moment of one unit is at least its number of live roles `14692`, so the moment criterion fails for EVERY table made of copies of the unit and idle roles (`FoldRate.block_fails`). Relative excess of the rational certificate: 1.40e-10. -/ +theorem fold_B2Gp193x_sharp : ((14692:ℕ):ℝ) ≤ moment 110 (1 - 7474550/(10:ℝ)^10) blocksB2Gp193x := by + have hsum : moment 110 (1 - 7474550/(10:ℝ)^10) blocksB2Gp193x + = T 110 (1 - 7474550/(10:ℝ)^10) 1 145890 + (T 110 (1 - 7474550/(10:ℝ)^10) 2 61990 + (T 110 (1 - 7474550/(10:ℝ)^10) 3 49615 + (T 110 (1 - 7474550/(10:ℝ)^10) 4 23685 + (T 110 (1 - 7474550/(10:ℝ)^10) 5 9750 + (T 110 (1 - 7474550/(10:ℝ)^10) 6 8025 + (T 110 (1 - 7474550/(10:ℝ)^10) 7 3530 + (T 110 (1 - 7474550/(10:ℝ)^10) 8 7655 + (T 110 (1 - 7474550/(10:ℝ)^10) 9 2145 + (T 110 (1 - 7474550/(10:ℝ)^10) 10 4650 + (T 110 (1 - 7474550/(10:ℝ)^10) 11 1770 + (T 110 (1 - 7474550/(10:ℝ)^10) 12 5985 + (T 110 (1 - 7474550/(10:ℝ)^10) 13 635 + (T 110 (1 - 7474550/(10:ℝ)^10) 14 3710 + (T 110 (1 - 7474550/(10:ℝ)^10) 15 9395 + (T 110 (1 - 7474550/(10:ℝ)^10) 16 440 + (T 110 (1 - 7474550/(10:ℝ)^10) 17 405 + (T 110 (1 - 7474550/(10:ℝ)^10) 18 13265 + (T 110 (1 - 7474550/(10:ℝ)^10) 19 835 + (T 110 (1 - 7474550/(10:ℝ)^10) 20 110 + (T 110 (1 - 7474550/(10:ℝ)^10) 21 2640 + (T 110 (1 - 7474550/(10:ℝ)^10) 42 2640 + (T 110 (1 - 7474550/(10:ℝ)^10) 46 2640 + 0)))))))))))))))))))))) := rfl + have c0 : ((665470322971:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 1 145890 := + term_ge 110 1 145890 (7474550/(10:ℝ)^10) ((4700480365791:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 4 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c1 : ((565235973477:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 2 61990 := + term_ge 110 2 61990 (7474550/(10:ℝ)^10) ((4007333185231:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 4 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c2 : ((1356784232023:ℝ)/1000000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 3 49615 := + term_ge 110 3 49615 (7474550/(10:ℝ)^10) ((3601868077123:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c3 : ((431704460547:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 4 23685 := + term_ge 110 4 23685 (7474550/(10:ℝ)^10) ((3314186004671:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c4 : ((44420693593:ℝ)/100000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 5 9750 := + term_ge 110 5 9750 (7474550/(10:ℝ)^10) ((3091042453357:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c5 : ((87735997501:ℝ)/200000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 6 8025 := + term_ge 110 6 8025 (7474550/(10:ℝ)^10) ((2908720896563:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c6 : ((112549673893:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 7 3530 := + term_ge 110 7 3530 (7474550/(10:ℝ)^10) ((86080319273:ℝ)/31250000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c7 : ((557819030987:ℝ)/1000000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 8 7655 := + term_ge 110 8 7655 (7474550/(10:ℝ)^10) ((2621038824111:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c8 : ((87914340183:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 9 2145 := + term_ge 110 9 2145 (7474550/(10:ℝ)^10) ((500651157691:ℝ)/200000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c9 : ((423485614161:ℝ)/1000000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 10 4650 := + term_ge 110 10 4650 (7474550/(10:ℝ)^10) ((2397895272797:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c10 : ((88652446617:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 11 1770 := + term_ge 110 11 1770 (7474550/(10:ℝ)^10) ((2302585092993:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c11 : ((130798246269:ℝ)/200000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 12 5985 := + term_ge 110 12 5985 (7474550/(10:ℝ)^10) ((2215573716003:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c12 : ((15033067751:ℝ)/200000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 13 635 := + term_ge 110 13 635 (7474550/(10:ℝ)^10) ((2135531008329:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c13 : ((23645496331:ℝ)/50000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 14 3710 := + term_ge 110 14 3710 (7474550/(10:ℝ)^10) ((128838939761:ℝ)/62500000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 3 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c14 : ((320761429947:ℝ)/250000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 15 9395 := + term_ge 110 15 9395 (7474550/(10:ℝ)^10) ((1992430164689:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 12 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c15 : ((1001442051:ℝ)/15625000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 16 440 := + term_ge 110 16 440 (7474550/(10:ℝ)^10) ((1927891643551:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c16 : ((62678328093:ℝ)/1000000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 17 405 := + term_ge 110 17 405 (7474550/(10:ℝ)^10) ((373453404347:ℝ)/200000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c17 : ((1086787583699:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 18 13265 := + term_ge 110 18 13265 (7474550/(10:ℝ)^10) ((362021721579:ℝ)/200000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c18 : ((28883340849:ℝ)/200000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 19 835 := + term_ge 110 19 835 (7474550/(10:ℝ)^10) ((13719073333:ℝ)/7812500000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c19 : ((20025500693:ℝ)/1000000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 20 110 := + term_ge 110 20 110 (7474550/(10:ℝ)^10) ((1704748092237:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c20 : ((63078026783:ℝ)/125000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 21 2640 := + term_ge 110 21 2640 (7474550/(10:ℝ)^10) ((1655957928067:ℝ)/1000000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 2 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c21 : ((126090709507:ℝ)/125000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 42 2640 := + term_ge 110 42 2640 (7474550/(10:ℝ)^10) ((240702686877:ℝ)/250000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 1 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have c22 : ((552359833771:ℝ)/500000000) ≤ T 110 (1 - 7474550/(10:ℝ)^10) 46 2640 := + term_ge 110 46 2640 (7474550/(10:ℝ)^10) ((435919484651:ℝ)/500000000000) _ (by norm_num) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 1 11 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) + have e3 : ((14692:ℕ):ℝ) = 14692 := by norm_num + rw [e3, hsum] + linarith + +/-- **per-rank fact** at exponent `1 - 4058344/10^10`, fill parameter `s = 40`: the hypothesis `hnum` of `RAM.engine_program_group_perRank` (u = 110, W = 14692, D = 3080). Relative slack: 1.10e-07. -/ +theorem foldRank_B2Gp193x : + (2:ℝ)^40 * ((14692:ℕ):ℝ) * (((110:ℕ):ℝ) - ((110:ℕ):ℝ)^(1 - 4058344/(10:ℝ)^10)) < ((2:ℝ)^40 - 1) * ((3080:ℕ):ℝ) := + FoldRate.rank_fact3 110 14692 3080 40 (4058344/(10:ℝ)^10) ((2350240182897:ℝ)/500000000000) (by norm_num) (by norm_num) (by norm_num) + (log_le_of_le_expsum _ _ 27 (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + +/-- **per-rank sharpness**: at exponent `1 - 4058349/10^10` the deficit of one unit is at most `W (m - m^z)`, so the per-rank inequality fails for EVERY table made of copies of the unit and idle roles (`FoldRate.rank_fails`). -/ +theorem foldRank_B2Gp193x_sharp : + ((3080:ℕ):ℝ) ≤ ((14692:ℕ):ℝ) * (((110:ℕ):ℝ) - ((110:ℕ):ℝ)^(1 - 4058349/(10:ℝ)^10)) := + FoldRate.rank_fact_sharp 110 14692 3080 (4058349/(10:ℝ)^10) ((4700480365791:ℝ)/1000000000000) (by norm_num) (by norm_num) (by norm_num) + (le_log_of_expbound _ _ 4 10 (by norm_num) (by norm_num) (by norm_num) + (by norm_num [Finset.sum_range_succ, Nat.factorial])) + (by norm_num) (by norm_num) + +end OAI.PowerSaving.BlockAccounting + +#print axioms OAI.PowerSaving.BlockAccounting.fold_B2Gp193x +#print axioms OAI.PowerSaving.BlockAccounting.fold_B2Gp193x_sharp +#print axioms OAI.PowerSaving.BlockAccounting.foldRank_B2Gp193x +#print axioms OAI.PowerSaving.BlockAccounting.foldRank_B2Gp193x_sharp diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean new file mode 100644 index 0000000000..499fa67e88 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__Raw.lean @@ -0,0 +1,93 @@ +/-! +# (key: gx-data) Raw Lean form of a `gcert/1` file (EXTENDED-CERT-SPEC section 1) + +Core Lean only (no Mathlib): the generated data modules import nothing else, so they elaborate +cheaply. Field order and meaning are those of the JSON; `pairs` and `cuts` are DERIVED by the +generator (`checks/wht26/gx-data/py/gxgen.py`) and must be tested by the label check. + +Registers: `x_t = t`, `y_t = v + t`, slot `k = 2 v + k`. Vectors are bit masks. +-/ + +namespace GXD + +/-- the rational `(-1)^neg * num / den` (`den > 0`) -/ +structure Co where + neg : Bool + num : Nat + den : Nat + deriving DecidableEq, Repr + +/-- a gate: every register named (extras too) first moves to `frame`; then the adds happen in order -/ +inductive Gate where + /-- `tgt += co * src` for each `(tgt, co)` -/ + | out (frame src : Nat) (tgts : List (Nat × Co)) (extra : List Nat) + /-- `tgt += co * src` for each `(src, co)` -/ + | inn (frame tgt : Nat) (srcs : List (Nat × Co)) + deriving Repr + +/-- the scatter `y_t += sum over k of coef(t, k) * total k` -/ +inductive Scat where + /-- star rule: `inside` if coordinate `k` is in port `t`, else `outside` -/ + | star (inside outside : Co) + /-- explicit rows: row `t` = `[(total k, coef)]` -/ + | table (rows : List (List (Nat × Co))) + deriving Repr + +/-- a `gcert/1` file -/ +structure Raw where + h : Nat + v : Nat + R : Nat + N : Nat + cst : Nat + /-- `v` masks: the unit vectors of the ports -/ + ports : List Nat + /-- CHUNKED frame table (`flatten` = the table); an entry is a reduced echelon basis, leading bits descending -/ + frames : List (List (List Nat)) + /-- frame id per register at the start -/ + start : List Nat + /-- frame id per register at the end -/ + final : List Nat + /-- position `k` = retained total `k`: (slot REGISTER, frame id) -/ + ret : List (Nat × Nat) + scat : Scat + /-- CHUNKED gates before the scatter -/ + A : List (List Gate) + /-- CHUNKED gates after the scatter -/ + B : List (List Gate) + /-- CHUNKED, derived: the distinct climbs `(a, b)`, `a ≠ b`, in order of first use -/ + pairs : List (List (Nat × Nat)) + /-- derived: replay cut points `(gates of A ++ B before the cut, frame id per register there)` -/ + cuts : List (Nat × List Nat) + /-- slots that start off the zero frame `(slot REGISTER, frame id)` (rule 2); EMPTY on the path -/ + ext : List (Nat × Nat) + /-- derived (questions.md Q1): per port `h` masks, the first is the port, pairwise dots = delta + (an orthonormal basis of `F_2^h` through the port) -/ + obase : List (List Nat) + +/-- registers of a gate, in the order they are moved -/ +def Gate.regs : Gate → List Nat + | .out _ s ts ex => s :: (ts.map Prod.fst ++ ex) + | .inn _ t ss => t :: ss.map Prod.fst + +/-- frame of a gate -/ +def Gate.frame : Gate → Nat + | .out f _ _ _ => f + | .inn f _ _ => f + +/-- single adds `(tgt, src, co)` of a gate, in order -/ +def Gate.adds : Gate → List (Nat × Nat × Co) + | .out _ s ts _ => ts.map fun p => (p.1, s, p.2) + | .inn _ t ss => ss.map fun p => (t, p.1, p.2) + +/-- the frame table -/ +def Raw.frameTab (c : Raw) : List (List Nat) := c.frames.flatten + +/-- all gates of phase A / phase B -/ +def Raw.gatesA (c : Raw) : List Gate := c.A.flatten +def Raw.gatesB (c : Raw) : List Gate := c.B.flatten + +/-- number of registers -/ +def Raw.nreg (c : Raw) : Nat := 2 * c.v + c.R + +end GXD diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean new file mode 100644 index 0000000000..0392e1f05b --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean @@ -0,0 +1,38 @@ +import Work.GCert.Data.B2Gp193Main + +/-! +Comparator solution `Work.GCert.Data.SolutionB2Gp193x` (not part of github.com/openai/math). + +The whole proof is in `Work.GCert.Data.B2Gp193Main` (and its imports), which ends with + + theorem wht_main_B2Gp193x : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - 7474547/(10:ℝ)^10) W + +This module adds nothing mathematical: it defines `WHT.WHTTimeBoundsAt` with the text of the +challenge (the same definition as `BlockWHT.WHTTimeBoundsAt` of `Work.Block.WHT`) and restates +the theorem under the name the challenge uses. Its proof is that single term. +`WHTProgram`, `wht`, `whtInKind`, `whtOutKind` come from `WHTCheck.Solution`. +-/ + +namespace OAI +namespace PowerSaving +namespace WHT +open Filter Asymptotics + +/-- `W = O(2^k (k+1)^β)` and `W = o(2^k k)` (`WHTTimeBounds` is the case `β = 1 - 2/10^11`). -/ +def WHTTimeBoundsAt (β : ℝ) (W : ℕ → ℕ) : Prop := + let W' := fun k : ℕ => (W k : ℝ) + W' =O[atTop] (fun k : ℕ => (2:ℝ)^k * ((k:ℝ)+1)^β) ∧ + W' =o[atTop] (fun k : ℕ => (2:ℝ)^k * (k:ℝ)) + +/-- **Walsh-Hadamard transform with the improved exponent**: the statement `WHTGoal` of +`WHTCheck/Challenge.lean` with `1 - 2/10^11` replaced by `1 - 7474547/10^10`. -/ +theorem wht_main_block_B2Gp193x : + ∃ solve W, WHTProgram solve W ∧ WHTTimeBoundsAt (1 - 7474547/(10:ℝ)^10) W := + wht_main_B2Gp193x + +end WHT +end PowerSaving +end OAI + +#print axioms OAI.PowerSaving.WHT.wht_main_block_B2Gp193x diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean new file mode 100644 index 0000000000..24e261ad08 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean @@ -0,0 +1,183 @@ +import Work.GFrame.Engine.Letters + +/-! +# GFrame engine, part 2: the free adapter letters in the RAM (agent key: eng-ram) + +One free adapter on the array of one role is ONE linear pass, no recursive call: + +* `Gear.permuted` the address of `x ↦ G.π x` (columnwise), O(1) per entry with the XOR table + (as `Gear.shifted`, through `Gear.body_additive` of `Work/Block/Address.lean`); +* `Gear.phase_row` the `f`-bit row `(z·x_j + c)_j` of an entry, O(1); +* `GRig` a rig together with the table of `lum` over `Bits f` (`i^popcount`); +* `Rig.perm_cost`, `GRig.phase_cost` the two letters, work = length of the role table. +-/ + +set_option linter.unusedSectionVars false + +namespace OAI +namespace PowerSaving.GF +open Binary Matrix Finset +noncomputable section +section +variable {α : Type*} [Fintype α] [DecidableEq α] + +/-- An address permutation acts on an array with `f` columns by moving the address. -/ +lemma act_perm (G : APerm α) (f : ℕ) (x : Sky α f → ℂ) (j : Sky α f) : + matAct f (permMat G) x j = x (fun k => G.π (j k)) := by + change ∑ i, digitProd (fun _ : Fin f => permMat G) j i * x i = _ + have h (i : Sky α f) : digitProd (fun _ : Fin f => permMat G) j i = + if (fun k => G.π (j k)) = i then 1 else 0 := + prod_delta (κ:=fun _ : Fin f => Space α) _ _ + simp_rw [h] + simp [ite_mul] + +/-- A diagonal phase acts by the scalar `lum` of the row of phase bits. -/ +lemma act_phase (z : Space α) (c : F) (f : ℕ) (x : Sky α f → ℂ) (j : Sky α f) : + matAct f (phaseMat z c) x j = lum (fun k : Fin f => dot z (j k) + c) * x j := by + unfold matAct phaseMat + rw [digitProd_diagonal, Matrix.mulVec_diagonal] + rfl + +end +end +end PowerSaving.GF + +namespace PowerSaving.RAM +open Binary Ty Finset GF +noncomputable section +universe U V +variable {ι : Type U} + +namespace Gear +variable {m : Bool} {B f : ι → ℕ} {s t : Ty} {x : ι → T s} +variable (g : Gear m B f s x) +include g +variable {α : Type*} [Fintype α] [DecidableEq α] (X : Layout α) (r : ℕ) + +/-- Address moved by an additive bijection (across the `f` columns). -/ +lemma permuted (G : APerm α) (v : ∀ i, Grid α r (f i)) + (h : Knows m B s x (fun i => (book X r (f i)).loc (v i))) : + Knows m B s x (fun i => (book X r (f i)).loc ((v i).1, + fun j => G.π ((v i).2 j))) := by + obtain ⟨hg, hh⟩ := g.grid_fetch X r (v:=v) h + let K (i : ι) : Grid α r (f i) := ((v i).1, fun j => G.π ((v i).2 j)) + apply g.grid_combine X r (v:=K) hg (g.body_set X (fun i => (K i).2) _) + intro a + exact g.body_additive X (fun y => G.π y a) (fun p q => by rw [G.add]; rfl) + (fun i => (v i).2) hh + +/-- The row of phase bits `(z·x_j + c)_j` of an address. -/ +lemma phase_row (z : Space α) (c : F) (v : ∀ i, Grid α r (f i)) + (h : Knows m B s x (fun i => (book X r (f i)).loc (v i))) : + Knows m B s x (fun i => (bits (f i)).loc (fun l : Fin (f i) => dot z ((v i).2 l) + c)) := by + obtain ⟨_, hh⟩ := g.grid_fetch X r (v:=v) h + have hv := g.body_additive X (fun y => dot z y) (fun p q => dot_add_right z p q) + (fun i => (v i).2) hh + rcases bit_cases c with hc|hc + · refine hv.cong (fun _ => rfl) (fun i => ?_) + simp [hc] + · let q i : Bits (f i) × Bits (f i) := (fun l => dot z ((v i).2 l), fun _ => 1) + have hf : Knows m B s x (fun i => (bits (f i)).loc (q i).2) := + (g.power.minus (Can.wc 1) g.bound).cong (fun _ => rfl) (fun i => by + change 2^f i-1=(bits _).loc (fun _ => 1) + rw [← bits_lit] + simp) + refine (g.addr_xor q hv hf).cong (fun _ => rfl) (fun i => ?_) + apply congr_arg (bits (f i)).loc + ext k; simp [q,hc] + +end Gear + +/-- A rig together with the table of `lum` over `Bits f` (the fourth roots `i^popcount`). -/ +structure GRig {α ρ : Type*} (m : Bool) (B f : ι → ℕ) (s : Ty) (x : ι → T s) + (cl : Paint) (X : Layout α) (R : Layout ρ) (r : ℕ) (v : ∀ i, Grain α ρ r (f i)) : Prop where + rig : Rig m B f s x cl X R r v + lumT : Has m B s (a sc) x fun i => (bits (f i)).tape (fun y : Bits (f i) => lum y) + +section +variable {α ρ : Type*} [Fintype α] [DecidableEq α] [Fintype ρ] [DecidableEq ρ] +variable {m : Bool} {B f : ι → ℕ} {s t : Ty} {x : ι → T s} + {cl : Paint} {X : Layout α} {R : Layout ρ} {r : ℕ} {v : ∀ i, Grain α ρ r (f i)} + +omit [Fintype α] [DecidableEq α] [Fintype ρ] [DecidableEq ρ] in +lemma GRig.gather (h : GRig m B f s x cl X R r v) {κ : Type V} (j : κ → ι) (y : κ → T t) + (g : Has m (fun k => B (j k)) t s y (fun k => x (j k))) : + GRig m (fun k => B (j k)) (fun k => f (j k)) t y cl X R r (fun k => v (j k)) := + ⟨h.rig.gather j y g, g.then_do (h.lumT.reindex j)⟩ + +lemma Rig.ferry_perm (h : Rig m B f s x cl X R r v) (l : ρ) (G : APerm α) + (q : ∀ i, Beach α ρ r (f i)) + (g : Knows m B s x fun i => (fleet X R r (f i)).loc (q i)) : + Has m B s (c cl) x fun i => ferryM r (f i) l (permMat G) (v i) (q i) := by + obtain ⟨hl,hk⟩ := h.addrs q g + have hb := h.read q hl hk + let t i : Beach α ρ r (f i) := ((q i).1,(q i).2.1,fun j => G.π ((q i).2.2 j)) + have hh := h.read t hl (h.gear.permuted X r G _ hk) + apply Can.cases_code (q:=fun i => (q i).1) R hl + intro p + by_cases he : p=l + · refine (hh.reindex (fun i : {i // (q i).1=p} => i.1)).cong (fun _ => rfl) + (fun i => ?_) + have hql : (q i.val).1 = l := i.property.trans he + change v i.val ((q i.val).1,(q i.val).2.1,fun j => G.π ((q i.val).2.2 j)) = _ + simp only [ferryM, roleAct, hql, if_true, act_perm] + · refine (hb.reindex (fun i : {i // (q i).1=p} => i.1)).cong (fun _ => rfl) + (fun i => ?_) + have H : (q i.val).1≠l := fun hh => he (i.property.symm.trans hh) + simp only [ferryM, roleAct, H, ite_false, Prod.mk.eta] + +/-- **Free address permutation**: one pass over the role table. -/ +lemma Rig.perm_cost (h : Rig m B f s x cl X R r v) (l : ρ) (G : APerm α) : + Can m B s (a (c cl)) x + (fun i => (fleet X R r (f i)).tape (ferryM r (f i) l (permMat G) (v i))) + (fun i => (fleet X R r (f i)).n) := by + refine h.chart _ ?_ + let S := Σ i, Beach α ρ r (f i) + have hg := h.gather (fun d : S => d.1) + (fun d => ((x d.1, (fleet X R r (f d.1)).loc d.2):T (p s w))) (t:=p s w) Can.first + exact hg.ferry_perm l G (fun d => d.2) Can.second + +lemma GRig.ferry_phase (h : GRig m B f s x cl X R r v) (l : ρ) (z : Space α) (c' : F) + (q : ∀ i, Beach α ρ r (f i)) + (g : Knows m B s x fun i => (fleet X R r (f i)).loc (q i)) : + Has m B s (c cl) x fun i => ferryM r (f i) l (phaseMat z c') (v i) (q i) := by + obtain ⟨hl,hk⟩ := h.rig.addrs q g + have hb := h.rig.read q hl hk + have hrow := h.rig.gear.phase_row X r z c' (fun i => (q i).2) hk + have hs : Has m B s sc x + (fun i => lum (fun k : Fin (f i) => dot z ((q i).2.2 k) + c')) := + Can.fetch (t:=sc) (L:=fun i => bits (f i)) (v:=fun i (y : Bits (f i)) => lum y) + (i:=fun i => (fun k : Fin (f i) => dot z ((q i).2.2 k) + c')) h.lumT hrow + have hh := hs.mul hb + apply Can.cases_code (q:=fun i => (q i).1) R hl + intro p + by_cases he : p=l + · refine (hh.reindex (fun i : {i // (q i).1=p} => i.1)).cong (fun _ => rfl) + (fun i => ?_) + have hql : (q i.val).1 = l := i.property.trans he + change lum (fun k : Fin (f i.val) => dot z ((q i.val).2.2 k) + c') * + v i.val ((q i.val).1,(q i.val).2.1,(q i.val).2.2) = _ + simp only [ferryM, roleAct, hql, if_true, act_phase] + · refine (hb.reindex (fun i : {i // (q i).1=p} => i.1)).cong (fun _ => rfl) + (fun i => ?_) + have H : (q i.val).1≠l := fun hh => he (i.property.symm.trans hh) + simp only [ferryM, roleAct, H, ite_false, Prod.mk.eta] + +/-- **Free diagonal phase**: one pass over the role table (one table look-up per entry). -/ +lemma GRig.phase_cost (h : GRig m B f s x cl X R r v) (l : ρ) (z : Space α) (c' : F) : + Can m B s (a (c cl)) x + (fun i => (fleet X R r (f i)).tape (ferryM r (f i) l (phaseMat z c') (v i))) + (fun i => (fleet X R r (f i)).n) := by + refine h.rig.chart _ ?_ + let S := Σ i, Beach α ρ r (f i) + have hg := h.gather (fun d : S => d.1) + (fun d => ((x d.1, (fleet X R r (f d.1)).loc d.2):T (p s w))) (t:=p s w) Can.first + exact hg.ferry_phase l z c' (fun d => d.2) Can.second + +end +end +end PowerSaving.RAM +end OAI + +#print axioms OAI.PowerSaving.RAM.Rig.perm_cost +#print axioms OAI.PowerSaving.RAM.GRig.phase_cost diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean new file mode 100644 index 0000000000..2eca6e713b --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Letters.lean @@ -0,0 +1,199 @@ +import Work.Block.Bridge + +/-! +# GFrame engine, part 1: the generalised word language (agent key: eng-ram) + +Letters = the letters of `BWord` (`localM`, `shift`, `block`) plus TWO FREE ADAPTER letters on +one role: + +* `perm l G` address permutation by an additive bijection `G` of the label space + (matrix `permMat G`, `(permMat G) x y = 1` iff `G.π x = y`); +* `phase l z c` the diagonal phase `i^[z·x + c]` IN THE STANDARD BASIS + (matrix `phaseMat z c = diagonal (fun x => tint (dot z x + c))`). + +Products of `phaseMat` are exactly the diagonal matrices `i^Q(x)`, `Q` a `ℤ/4`-valued quadratic +form plus a constant; with the old free letter `shift` the free letters generate every affine +address permutation times such a phase. A "twisted block" is NOT a primitive letter: it is the +word `free adapters ++ [block] ++ free adapters` (see `Free.lean`, `gstep_of_factor`). + +The semantics is `gwalk` (no unit-move word behind it: the new letters are not Walsh-diagonal). +Old words embed by `GWord.ofB`, and `gwalk f (ofB w) = walk f w.flat`. +-/ + +set_option linter.unusedSectionVars false + +namespace OAI +namespace PowerSaving.GF +open Binary Matrix Finset +noncomputable section + +/-- An additive bijection of the label space. -/ +structure APerm (α : Type*) where + π : Space α ≃ Space α + add : ∀ x y, π (x + y) = π x + π y + +section Mats +variable {α : Type*} [Fintype α] [DecidableEq α] + +/-- Permutation matrix of an additive bijection: `(permMat G *ᵥ v) x = v (G.π x)`. -/ +def permMat (G : APerm α) : CMat α := fun x y => if G.π x = y then 1 else 0 + +/-- Elementary diagonal phase in the standard basis: `i^[z·x + c]`. -/ +def phaseMat (z : Space α) (c : F) : CMat α := Matrix.diagonal fun x => tint (dot z x + c) + +end Mats + +/-- Letters of the generalised word language. -/ +inductive GMove (α ρ : Type*) + | old (mv : BMove α ρ) + | perm (l : ρ) (G : APerm α) + | phase (l : ρ) (z : Space α) (c : F) + +abbrev GWord (α ρ : Type*) := List (GMove α ρ) + +namespace GMove +variable {α ρ : Type*} + +/-- The letter of `BWord` with the same price (free adapters ↦ a free letter). -/ +def shadow : GMove α ρ → BMove α ρ + | .old mv => mv + | .perm _ _ => .localM 0 + | .phase _ _ _ => .localM 0 + +/-- Rank paid by a letter (`none` = free). -/ +def rk? (mv : GMove α ρ) : Option ℕ := mv.shadow.rk? +def costR (φ : ℕ → ℝ) (mv : GMove α ρ) : ℝ := mv.shadow.costR φ +def Proper (u : ℕ) (mv : GMove α ρ) : Prop := mv.shadow.Proper u + +@[simp] lemma costR_perm (φ : ℕ → ℝ) (l : ρ) (G : APerm α) : + (GMove.perm l G : GMove α ρ).costR φ = 0 := rfl +@[simp] lemma costR_phase (φ : ℕ → ℝ) (l : ρ) (z : Space α) (c : F) : + (GMove.phase l z c : GMove α ρ).costR φ = 0 := rfl +@[simp] lemma costR_old (φ : ℕ → ℝ) (mv : BMove α ρ) : (GMove.old mv).costR φ = mv.costR φ := rfl +lemma proper_perm (u : ℕ) (l : ρ) (G : APerm α) : (GMove.perm l G : GMove α ρ).Proper u := + trivial +lemma proper_phase (u : ℕ) (l : ρ) (z : Space α) (c : F) : + (GMove.phase l z c : GMove α ρ).Proper u := trivial +@[simp] lemma proper_old (u : ℕ) (mv : BMove α ρ) : (GMove.old mv).Proper u ↔ mv.Proper u := + Iff.rfl + +end GMove + +namespace GWord +variable {α ρ : Type*} + +def shadow (w : GWord α ρ) : BWord α ρ := w.map GMove.shadow +def costR (φ : ℕ → ℝ) (w : GWord α ρ) : ℝ := (w.map (GMove.costR φ)).sum +def Proper (u : ℕ) (w : GWord α ρ) : Prop := ∀ mv ∈ w, mv.Proper u +def hist (w : GWord α ρ) (r : ℕ) : ℕ := w.shadow.hist r +/-- Natural-number cost when a block of rank `rk` costs `g rk`. -/ +def cost (g : ℕ → ℕ) (w : GWord α ρ) : ℕ := w.shadow.cost g +/-- An old block word as a generalised word. -/ +def ofB (w : BWord α ρ) : GWord α ρ := w.map GMove.old + +@[simp] lemma shadow_nil : shadow ([] : GWord α ρ) = [] := rfl +@[simp] lemma shadow_cons (mv : GMove α ρ) (w : GWord α ρ) : + shadow (mv :: w) = mv.shadow :: shadow w := rfl +@[simp] lemma shadow_ofB (w : BWord α ρ) : shadow (ofB w) = w := by + simp [shadow, ofB, List.map_map, Function.comp_def, GMove.shadow] + +lemma costR_shadow (φ : ℕ → ℝ) (w : GWord α ρ) : costR φ w = BWord.costR φ w.shadow := by + unfold costR BWord.costR shadow + rw [List.map_map] + rfl +@[simp] lemma costR_nil (φ : ℕ → ℝ) : costR φ ([] : GWord α ρ) = 0 := rfl +lemma costR_cons (φ : ℕ → ℝ) (mv : GMove α ρ) (w : GWord α ρ) : + costR φ (mv :: w) = mv.costR φ + costR φ w := by simp [costR] +lemma costR_append (φ : ℕ → ℝ) (w w' : GWord α ρ) : + costR φ (w ++ w') = costR φ w + costR φ w' := by simp [costR] +lemma costR_ofB (φ : ℕ → ℝ) (w : BWord α ρ) : costR φ (ofB w) = BWord.costR φ w := by + rw [costR_shadow, shadow_ofB] +@[simp] lemma cost_nil (g : ℕ → ℕ) : cost g ([] : GWord α ρ) = 0 := rfl +lemma cost_cons (g : ℕ → ℕ) (mv : GMove α ρ) (w : GWord α ρ) : + cost g (mv :: w) = mv.shadow.cost g + cost g w := BWord.cost_cons g _ _ + +lemma Proper.shadow {u : ℕ} {w : GWord α ρ} (h : Proper u w) : BWord.Proper u w.shadow := by + intro mv hmv + obtain ⟨g, hg, rfl⟩ := List.mem_map.mp hmv + exact h g hg +lemma Proper.tail {u : ℕ} {mv : GMove α ρ} {w : GWord α ρ} (h : Proper u (mv :: w)) : + Proper u w := fun x hx => h x (List.mem_cons_of_mem _ hx) +lemma Proper.head {u : ℕ} {mv : GMove α ρ} {w : GWord α ρ} (h : Proper u (mv :: w)) : + mv.Proper u := h mv List.mem_cons_self +lemma Proper.append {u : ℕ} {w w' : GWord α ρ} (h : Proper u w) (h' : Proper u w') : + Proper u (w ++ w') := by + intro mv hmv + rcases List.mem_append.mp hmv with h1|h1 + · exact h mv h1 + · exact h' mv h1 +lemma proper_nil (u : ℕ) : Proper u ([] : GWord α ρ) := fun _ h => by simp at h +lemma proper_ofB {u : ℕ} {w : BWord α ρ} (h : w.Proper u) : Proper u (ofB w) := by + intro mv hmv + obtain ⟨g, hg, rfl⟩ := List.mem_map.mp hmv + exact h g hg + +lemma costR_eq_sum (u : ℕ) (φ : ℕ → ℝ) (w : GWord α ρ) (hw : Proper u w) : + costR φ w = ∑ r : Fin u, (w.hist r:ℝ) * φ r := by + rw [costR_shadow]; exact BWord.costR_eq_sum u φ _ hw.shadow +lemma cost_eq_sum (u : ℕ) (g : ℕ → ℕ) (w : GWord α ρ) (hw : Proper u w) : + cost g w = ∑ r : Fin u, hist w r * g r := BWord.cost_eq_sum u g _ hw.shadow +lemma hist_zero (u : ℕ) (w : GWord α ρ) (hw : Proper u w) : hist w 0 = 0 := + BWord.hist_zero u _ hw.shadow +lemma hist_large (u : ℕ) (w : GWord α ρ) (hw : Proper u w) (r : ℕ) (hr : u ≤ r) : + hist w r = 0 := BWord.hist_large u _ hw.shadow r hr + +end GWord + +section Sem +variable {α ρ σ : Type*} [Fintype α] [DecidableEq α] [Fintype ρ] [DecidableEq ρ] + +/-- The action of one letter. -/ +def GMove.act (f : ℕ) : GMove α ρ → Data α ρ f → Data α ρ f + | .old mv => mv.act f + | .perm l G => roleAct f l (permMat G) + | .phase l z c => roleAct f l (phaseMat z c) + +/-- **Semantics of a generalised word.** -/ +def gwalk (f : ℕ) (w : GWord α ρ) (x : Data α ρ f) : Data α ρ f := + w.foldl (fun y mv => mv.act f y) x + +@[simp] lemma gwalk_nil (f : ℕ) (x : Data α ρ f) : gwalk f ([] : GWord α ρ) x = x := rfl +lemma gwalk_cons (f : ℕ) (mv : GMove α ρ) (w : GWord α ρ) (x : Data α ρ f) : + gwalk f (mv :: w) x = gwalk f w (mv.act f x) := rfl +lemma gwalk_append (f : ℕ) (p q : GWord α ρ) (x : Data α ρ f) : + gwalk f (p ++ q) x = gwalk f q (gwalk f p x) := by simp [gwalk] + +/-- Old words keep their meaning. -/ +lemma gwalk_ofB (f : ℕ) (w : BWord α ρ) (x : Data α ρ f) : + gwalk f (GWord.ofB w) x = walk f w.flat x := by + induction w generalizing x with + | nil => rfl + | cons mv w ih => + rw [walk_flat_cons, ← ih] + rfl + +/-- The scratch certificate for the generalised language (cf. `RAM.LiveKernel`). -/ +def GLiveKernel (e : σ → ρ) (w : GWord α ρ) : Prop := + ∀ (f : ℕ) (v : Data α ρ f), (∀ s, (∀ l, e l ≠ s) → v s = 0) → + ∀ l, gwalk f w v (e l) = matAct f (kernel α) (v (e l)) + +/-- Every old certificate is a generalised certificate. -/ +theorem GLiveKernel.ofB {e : σ → ρ} {w : BWord α ρ} (h : RAM.LiveKernel e w.flat) : + GLiveKernel e (GWord.ofB w) := by + intro f v hv l + rw [gwalk_ofB] + exact h f v hv l + +/-- One role goes from matrix `M` to `N` by a generalised word (cf. `XStep`). -/ +def GStep (l : ρ) (M N : CMat α) (c : (ℕ → ℝ) → ℝ) : Prop := + ∃ (w : GWord α ρ) (U : CMat α), w.Proper (Fintype.card α) ∧ (∀ φ, w.costR φ = c φ) ∧ + U * M = N ∧ ∀ (f : ℕ) (x : Data α ρ f), gwalk f w x = roleAct f l U x + +end Sem +end +end PowerSaving.GF +end OAI + +#print axioms OAI.PowerSaving.GF.gwalk_ofB +#print axioms OAI.PowerSaving.GF.GLiveKernel.ofB +#print axioms OAI.PowerSaving.GF.GWord.costR_eq_sum diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean new file mode 100644 index 0000000000..6bd7cfa0c3 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/Work__GFrame__Engine__Level.lean @@ -0,0 +1,163 @@ +import Work.GFrame.Engine.Sweep +import WHTCheck.Solution + +/-! +# GFrame engine, part 4: one level of the recursion for generalised words (agent key: eng-ram) + +Copy of `amplifyB` (`Work/Block/Recursion.lean`) with two changes: + +* the word is a `GWord` with certificate `GLiveKernel e w` (semantics `gwalk`); +* after the XOR table the level also builds the table of `lum` over `Bits f` + (`WHT.lum_tables`, doubling construction, `O(2^f)` work), which the free diagonal phases + read; it is part of the environment of the sweep (`GRig`). + +Cost: the same `2^k` linear term and the same recursive calls as `amplifyB`. +-/ + +set_option linter.unusedSectionVars false + +namespace OAI +namespace PowerSaving.RAM +open Binary Matrix Ty Finset GF +noncomputable section + +section +universe U +variable {α ρ σ : Type*} [Fintype α] [DecidableEq α] [Fintype ρ] [DecidableEq ρ] + [Fintype σ] [DecidableEq σ] +variable {ι : Type U} {m : Bool} + {k f : ι → ℕ} {cl : Paint} {b : Bank (hatch cl) ι} + {v : ∀ i, Sim σ (k i)→ℂ} + +/-- **One level of the recursion for a generalised word** (replaces `amplifyB`). -/ +lemma gamplify (m : Bool) (b : Bank (hatch cl) ι) (v : ∀ i, Sim σ (k i) → ℂ) + (X : Layout α) (R : Layout ρ) (Q : Layout σ) (e : σ → ρ) (he : Function.Injective e) + (r : ℕ) (hr : 3 ≤ X.n) (hq : ∀ i, X.n*f i+r=k i) (hd : r < X.n) (hQ : 0 rk * f i) (τ rk) Q) + (hB : Small b.B (fun i => 2^k i)) + (w : GWord α ρ) (hw : GLiveKernel e w) (hP : w.Proper X.n) : + Able m b (simIn cl) (bundle cl) (fun i => loaded cl Q (k i) (v i)) + (fun i => (sim Q (k i)).tape (whole (k i) (v i))) + (fun i => 2^k i) (fun i => w.cost (fun rk => n rk i * τ rk i)) := by + let W i := 2^k i + let s := simIn cl + let eQ (i : ι) := ebb X r (f i) (k i) (hq i) (v i) + let zQ (i : ι) : Grain α σ r (f i) := + fun j => chords r (f i) (fun l => eQ i (j.1,l)) j.2 + let Z (i : ι) : Grain α ρ r (f i) := crossAct r (f i) (embM e) (zQ i) + let O (i : ι) : Grain α σ r (f i) := + crossAct r (f i) (extM e) (gcoast r (f i) w (Z i)) + let szQ i := (fleet X Q r (f i)).n + let szR i := (fleet X R r (f i)).n + have hszQ : Dom W szQ := by + refine ⟨Q.n+1, fun i => ?_⟩ + unfold W szQ fleet + rw [Layout.pair_len, book_len,hq] + simp only [mul_add,add_mul,mul_one,one_mul] + gcongr <;> simp + have hszR : Dom W szR := by + refine ⟨R.n+1, fun i => ?_⟩ + unfold W szR fleet + rw [Layout.pair_len, book_len,hq] + simp only [mul_add,add_mul,mul_one,one_mul] + gcongr <;> simp + have hn (i : ι) : 0 < W i := pow_pos (by decide) _ + have hf (i) : f i ≤ k i := by + have g := hq i + have h := Nat.le_mul_of_pos_left (f i) (show 0 < X.n by omega) + omega + have hy (i) : k i ≤ W i := Nat.lt_two_pow_self.le + have sd := hB.mono hy + have sq := sd.mono hf + let p2 i := 2^f i + have hm : Small b.B p2 := + hB.mono (fun i => Nat.pow_le_pow_right (by omega) (hf i)) + have hcube (i) : p2 i ^ 3 ≤ W i := by + unfold p2 W + rw [← pow_mul] + apply Nat.pow_le_pow_right (by omega) + have hh : 3*f i ≤ X.n*f i := Nat.mul_le_mul_right _ hr + have hg := hq i + rw [mul_comm] + omega + let env (i : ι) := loaded cl Q (k i) (v i) + -- construct fields (f,p2) + have hmf : Can m b.B s Ty.w env f W := by + have ht : Can m b.B s Ty.w env k W := Can.first + refine (ht.dvdW (Can.wc X.n) sd).cong (fun _ => rfl) ?_ + intro i + rw [← hq,mul_comm X.n] + exact Layout.div_join hd + have hmp : Can m b.B s (Ty.p Ty.w Ty.w) env (fun i => (f i,p2 i)) W := + hmf.pair (hmf.wTwo sq hm (Dom.of_le (fun i => (hf i).trans (hy i)))) + let T1 := Ty.p s (Ty.p Ty.w Ty.w) + let Y (i : ι) : T T1 := (env i,f i,p2 i) + have hmx : Can m b.B T1 (Ty.a Ty.w) Y (fun i => xorTab (f i)) W := + (Can.xor_prepare (m:=m) (f:=f) (B:=b.B) (s:=T1) (x:=Y) + (Can.fst Can.second) (Can.snd Can.second) sq hm).mono hcube + let T2 := Ty.p T1 (Ty.a Ty.w) + let Y' (i : ι) : T T2 := (Y i,xorTab (f i)) + -- NEW: the table of `lum` over `Bits f` + have hE2 : Has m b.B T2 s Y' env := Can.fst Can.first + have hml : Can m b.B T2 (Ty.a sc) Y' + (fun i => (bits (f i)).tape (fun y : Bits (f i) => lum y)) W := + (WHT.lum_tables (k:=f) (Can.fst (Can.snd Can.first)) sq hm hE2.snd.fst).1.mono + (fun i => Nat.pow_le_pow_right (by omega) (hf i)) + let T2' := Ty.p T2 (Ty.a sc) + let Y'' (i : ι) : T T2' := (Y' i,(bits (f i)).tape (fun y : Bits (f i) => lum y)) + -- the input, read as a table on the slots + have hG0 : Rig m b.B f T2 Y' cl X Q r eQ := by + refine ⟨⟨?_,?_,Can.second,hm⟩,?_,?_⟩ + · exact Can.snd (Can.snd Can.first) + · exact Can.fst (Can.snd Can.first) + · exact hE2.snd.fst + · exact hE2.snd.snd.cong (fun _ => rfl) (fun i => (ebb_eq ..).symm) + have hG : Rig m b.B f T2' Y'' cl X Q r eQ := hG0.gather id Y'' (t:=T2') Can.first + -- leftover bits, still on the slots + have HH : Can m b.B T2' (bundle cl) Y'' (fun i => (fleet X Q r (f i)).tape (zQ i)) W := + hG.dots_cost.weaken hszQ + let T3 := Ty.p T2' (bundle cl) + let A (i) : T T3 := (Y'' i,(fleet X Q r (f i)).tape (zQ i)) + have Hg := hG.gather id A (t:=T3) Can.first + have G : Rig m b.B f T3 A cl X Q r zQ := ⟨Hg.gear,Hg.imag,Can.second⟩ + -- embed the slots into the table of roles; scratch roles are created as zero + have HE : Can m b.B T3 (bundle cl) A (fun i => (fleet X R r (f i)).tape (Z i)) W := + (G.cross_point R (embM e)).weaken hszR + let T4 := Ty.p T3 (bundle cl) + let A4 (i) : T T4 := (A i,(fleet X R r (f i)).tape (Z i)) + have Hg4 := G.gather id A4 (t:=T4) Can.first + have hL4 : Has m b.B T4 (Ty.a sc) A4 + (fun i => (bits (f i)).tape (fun y : Bits (f i) => lum y)) := + Can.snd (Can.fst Can.first) + have G4 : GRig m b.B f T4 A4 cl X R r Z := ⟨⟨Hg4.gear,Hg4.imag,Can.second⟩,hL4⟩ + -- the GENERALISED word on the table of roles + have Hy := G4.gsweep n τ Q hQ hk + (fun rk h1 h2 i => by rw [book_len,hq]; exact hc rk h1 h2 i) w hP + -- extract the slots; scratch roles are dropped + let T5 := Ty.p T4 (bundle cl) + let A5 (i) : T T5 := (A4 i,(fleet X R r (f i)).tape (gcoast r (f i) w (Z i))) + have Hg5 := G4.rig.gather id A5 (t:=T5) Can.first + have G5 : Rig m b.B f T5 A5 cl X R r (fun i => gcoast r (f i) w (Z i)) := + ⟨Hg5.gear,Hg5.imag,Can.second⟩ + have HX : Can m b.B T5 (bundle cl) A5 (fun i => (fleet X Q r (f i)).tape (O i)) W := + (G5.cross_point Q (extM e)).weaken hszQ + have heq (i) : O i = ebb X r (f i) (k i) (hq i) (whole (k i) (v i)) := + gamplifies X r (f i) (k i) (hq i) e he w hw (v i) + have ha (i) : (fleet X Q r (f i)).tape (O i) = + (sim Q (k i)).tape (whole (k i) (v i)) := by + rw [heq]; exact ebb_eq .. + have Ho := ((Hy.weaken hszR (fun _ => le_rfl)).save_keep + (Able.of_can (b:=b) HX)).cong (fun _ => rfl) ha + have Hx := (Able.of_can (b:=b) hmp).save_keep + ((Able.of_can (b:=b) hmx).save_keep ((Able.of_can (b:=b) hml).save_keep + ((Able.of_can (b:=b) HH).save_keep ((Able.of_can (b:=b) HE).save_keep Ho)))) + simpa only [Nat.zero_add,Nat.add_zero] using Hx + +end +end +end PowerSaving.RAM +end OAI + +#print axioms OAI.PowerSaving.RAM.gamplify diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md new file mode 100644 index 0000000000..e28b355d0a --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__ORIGIN.md @@ -0,0 +1,64 @@ +# tools/gx/ and tools/certificate/gcert1-p11-pr193.json.gz: where they come from + +Everything in this directory is Python 3 (standard library only). No Lean is run by these scripts. +"The outside repository" means github.com/CrocSwap/integer-mult-bounds (Apache-2.0, `LICENSE` and `NOTICE` +of that repository; `NOTICE`: "A sharper exponent for integer multiplication, Copyright 2026 Douglas Colkitt"). + +## The scripts (this project) + +| file | what it is | +|---|---| +| `gxcore.py` | loads a certificate of format gcert/1, brings it to normal form, and is a Python mirror of both Lean checks (labels and scalars); cut points and label data for the generator | +| `gxunit.py` | split plan of the kernel evaluations, the unit of the word, expected exponents | +| `gxbind.py` | the texts of the generated Lean modules (check, histogram, price, certificate and final modules) | +| `gxgen.py` | certificate -> Lean data modules and one module per kernel evaluation | +| `gxrate.py` | rate lemmas, unit price list, final theorem modules, comparator challenge / solution / configuration | +| `gxdry.py`, `gxmut.py` | dry run (mirror, sizes, plan, exponents); mutants that the mirror must reject | +| `gxconv.py` | converts the earlier format gcert/0 to gcert/1 when a step scales its target (the in-place pair step of #193) | +| `gsmirror.py` | a second, separately written Python mirror of the scalar check `GS.scalCheck` / `GS.yCheck`; `gxbind.py` calls it for the check parameters | +| `gx.py`, `gxrun.py` | the reference checker of the format (`gx.check1`: labels and exact scalar identity) and its command line | +| `gxpaths.py`, `regen_check.py`, `refcheck.py` | written for this repository: relative paths; regenerate and compare; `gx.check1` on a gcert/1 file | + +The scripts are the working copies with path edits only (absolute paths of the author's machine replaced through +`gxpaths.py`; templates read from `tools/gen/templates/`; `foldlib.py` / `foldgen.py` taken from `tools/gen/`). +The sentences "Generated by checks/..." that the generators print into Lean files name the scripts by their +working paths; they are kept so that the generated modules come out byte for byte. +No script of the outside repository is included, imported or executed. + +## The certificate `tools/certificate/gcert1-p11-pr193.json.gz` + +sha256 of the file: `15251deb0c11e0504d7b297c9786818888a93f08b92b03c6c122784b70488633` +(gzip stores a time stamp; sha256 of the uncompressed JSON: `c64d2a95431c3cf24452de7391cce780bd71521da44ce23923ebb235f6c7962c`). + +It is ONE explicit program (numbered registers, every addition, every frame) for the helper circuit at +h = 22: 1,320 ports, 9,412 slots, 262,944 unit moves. **The design of that circuit is not this project's.** It is the +"paired-cube" circuit of the outside repository as of pull request #193 (which builds on #191, #184, #168 and #144). +The outside repository publishes the design as generator scripts, frozen data files and a ledger; it has no file +of this kind. This file was produced by this project's own code, which + +1. loaded the following files of the outside repository **as data** (JSON; nothing was executed): + - at pull request #168, commit `4a3c769e5c5430e7114c4d3e099ff34664677f17`: + `references/paired-cube/sources/local_L1.json`, + `references/paired-cube/sources/tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json`, + `references/paired-cube/sources/pmod_J0_full_6.0666810e-4.json`, + `references/paired-cube/sources/qmod_climb3u_best.json` (the local modules), + `references/paired-cube/selected-module/matching-arcs.json` (carrier arcs), + `references/paired-cube/physical/frames.json` (moved frames); + - at pull request #193, commit `187e1010ac8b259af8e9b5166f68b64bc27b4b47`: + `research/source-assisted-v4/data/physical-pairs.json` (the hand-over pairs); +2. rebuilt the circuit from them step by step, following the algorithms of the outside scripts (read as text), + and checked the result exactly (every published count reproduced; the scalar identity as an identity of + linear maps with arbitrary contents of the helper registers); +3. converted it to gcert/1 with `gxconv.py` (tested by `gx.check1`). + +Step 1 and step 2 (the rebuild scripts and the outside inputs they read) are NOT part of this repository; +the inputs can be fetched from the outside repository at the two commits above. +What this repository proves about the file does not depend on how it was made: the Lean kernel checks the +generated modules (labels, scalar identity, price), and `regen_check.py` shows that those modules are exactly +what `gxgen.py` / `gxrate.py` produce from this file. + +## Check it yourself + + python3 tools/gx/regen_check.py # regenerates the Lean modules and compares + python3 tools/gx/gxdry.py tools/certificate/gcert1-p11-pr193.json.gz # Python mirror of both checks + python3 tools/gx/refcheck.py # the reference checker gx.check1 on the certificate diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gx.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gx.py new file mode 100644 index 0000000000..6d14c0a976 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gx.py @@ -0,0 +1,296 @@ +#!/usr/bin/python3 -I +"""gx.py. OWN code (imports nothing of port-producer, nothing outside). +(1) convert(c0): gcert/0 (port-producer's event list) -> gcert/1, the LEAN-FACING NORMAL FORM: + only the main phase (no read0 / undo / uninj: the invocation theorem derives the dirt gate and the undo + gate from the product), every gate an elementary fan-out or fan-in add, the 4x4 K block written as three + such adds plus a sign carried by one register, the star scatter as a table. +(2) check1(c1): the local decidable conditions of EXTENDED-CERT-SPEC.md on a gcert/1 file: + E0 sizes, E1 labels (nested subspaces by containment, equal frame at a gate), E2 scatter cut, + E3 shape (kinds of gates; X1; S1), E4 bracket rule S2, E5 scalar (x-content replay: hid and X3), + E6 price data (block histograms, N), E7 exterior gauges only (Q2). Raises AssertionError(": ..."). +""" +from fractions import Fraction as Fr +from collections import Counter +from math import lcm + + +def need(c, msg): + if not c: + raise AssertionError(msg) + + +def reduce(u, basis): + """basis: reduced echelon, pivot = leading bit, descending. Returns u modulo the span.""" + for b in basis: + if u >> (b.bit_length() - 1) & 1: + u ^= b + return u + + +def echelon_ok(f): + piv = [b.bit_length() - 1 for b in f] + if any(b == 0 for b in f) or piv != sorted(piv, reverse=True) or len(set(piv)) != len(piv): + return False + return all(not (b >> p & 1) for i, b in enumerate(f) for j, p in enumerate(piv) if i != j) + + +def inside(a, b): + return all(reduce(u, b) == 0 for u in a) + + +def par(x): + return bin(x).count("1") & 1 + + +KJ = [[[1, 2] if i == j else [-1, 2] for j in range(4)] for i in range(4)] + + +def convert(c0): + need(c0["format"] == "gcert/0", "input is not gcert/0") + v, h, R = c0["v"], c0["h"], c0["R"] + ev = c0["events"] + cen = [n for n, e in enumerate(ev) if e[0] == "centre"] + need(cen == list(range(cen[0], cen[0] + len(cen))), "centres are not contiguous: no single scatter cut") + A, B, ret = [], [], [] + neg = set() # x registers currently holding MINUS their value (between the two K blocks) + openq = {} + for n, e in enumerate(ev): + k = e[0] + out = A if n < cen[0] else B + if k in ("read0", "undo", "uninj"): + continue + if k == "inj": + need(e[2] not in neg, "inj reads a negated x register") + out.append(["out", e[3], e[2], [[e[1], 1, 1]], []]) + elif k == "op": + if e[3] == -1: + out.append(["neg", e[5], e[1]]) + else: + need(e[3] == 1, "op ca") + out.append(["out", e[5], e[2], [[e[1], e[4], 1]], []]) + elif k == "centre": + ret.append([e[2], e[1], e[3]]) + elif k == "gread": + hit = set(t for t, _, _ in e[3]) + out.append(["out", e[2], e[1], [[v + t, a, b] for t, a, b in e[3]], [v + t for t in e[4] if t not in hit]]) + elif k == "rread": + out.append(["out", e[2], e[1], [[v + t, a, b] for t, a, b in e[3]], []]) + elif k == "ysh": + out.append(["out", e[4], e[2], [[e[1], e[3], 1]], []]) + elif k == "yw": + out.append(["out", e[4], e[2], [[e[1], e[3][0], e[3][1]]], []]) + elif k == "kd": + out.append(["out", e[3], e[2], [[e[1], -1 if e[2] in neg else 1, 1]], []]) + elif k == "ktr": + q = tuple(e[1]) + need(e[2] == KJ, "ktr matrix is not 1 - J/2") + x1, rest = q[0], list(q[1:]) + if q not in openq: # first block: x := M x, register x1 keeps the sign + out.append(["in", e[3], x1, [[r, 1, 1] for r in rest]]) + out.append(["out", e[3], x1, [[r, -1, 2] for r in rest], []]) + out.append(["in", e[3], x1, [[r, 1, 1] for r in rest]]) + openq[q] = n + neg.add(x1) + else: # second block: the three adds undone in reverse order + out.append(["in", e[3], x1, [[r, -1, 1] for r in rest]]) + out.append(["out", e[3], x1, [[r, 1, 2] for r in rest], []]) + out.append(["in", e[3], x1, [[r, -1, 1] for r in rest]]) + del openq[q] + neg.discard(x1) + else: + raise AssertionError("unknown event kind %r" % k) + need(not openq and not neg, "a K block is not closed") + ext = sorted([z[3], z[1]] for z in c0["gauge"] if z[5]) + c1 = dict(format="gcert/1", derived_from=c0["name"] + " (gcert/0)", p=c0["p"], h=h, v=v, R=R, cst=c0["cst"], + N=c0["N"], ports=c0["ports"], frames=c0["frames"], start=c0["start"], final=c0["final"], + ext=ext, ret=sorted(ret), scat=dict(inside=c0["scat"]["inside"], outside=c0["scat"]["outside"]), + A=A, B=B, blocks=c0["blocks"]) + return c1 + + +def scat_row(c, t): + """the scatter of target t: [(k, coefficient)], from the table or from the star rule""" + sc = c["scat"] + if "table" in sc: + return [(k, Fr(a, b)) for k, a, b in sc["table"][t]] + sin, sout = Fr(*sc["inside"]), Fr(*sc["outside"]) + return [(k, sin if c["ports"][t] >> k & 1 else sout) for k in range(c["h"])] + + +def gate_regs(g): + if g[0] == "neg": + return [g[2]], [], [] + if g[0] == "out": + return [g[2]] + [t for t, _, _ in g[3]] + list(g[4]), [(t, g[2], Fr(a, b)) for t, a, b in g[3]], g[4] + if g[0] == "in": + return [g[2]] + [s for s, _, _ in g[3]], [(g[2], s, Fr(a, b)) for s, a, b in g[3]], [] + raise AssertionError("E0: unknown gate kind %r" % (g[0],)) + + +def check1(c, scalar=True, stats=None): + need(c.get("format") == "gcert/1", "E0: format") + h, v, R = c["h"], c["v"], c["R"] + nreg = 2 * v + R + ports, fr = c["ports"], [tuple(f) for f in c["frames"]] + need(len(ports) == v == len(set(ports)) and all(par(q) and 0 < q < 1 << h for q in ports), "E0: ports") + need(fr[0] == () and fr[1] == tuple(1 << i for i in range(h - 1, -1, -1)), "E0: frames 0 and 1") + need(all(echelon_ok(f) for f in fr) and len(set(fr)) == len(fr), "E0: frame table not reduced echelon / repeats") + dim = [len(f) for f in fr] + start, final = c["start"], c["final"] + need(len(start) == len(final) == nreg, "E0: start / final") + ext = {r: f for r, f in c["ext"]} + for t in range(v): + need(fr[start[t]] == (ports[t],) and final[t] == 1, "E1: x start / final") + f = fr[final[v + t]] + need(start[v + t] == 0 and len(f) == h - 1 and all(par(u & ports[t]) == 0 for u in f), "E1: y start / final") + for r in range(2 * v, nreg): + need(start[r] == ext.get(r, 0) and final[r] == 1, "E1: slot start / final") + cls = lambda r: "x" if r < v else "y" if r < 2 * v else "s" + cur = list(start) + H = {"x": Counter(), "y": Counter(), "s": Counter(), "c": Counter()} + steps = set() + + def climb(r, f, where): + o = cur[r] + if o != f: + if (o, f) not in steps: + need(dim[o] < dim[f] and inside(fr[o], fr[f]), "E1: step not nested (%s, register %d)" % (where, r)) + steps.add((o, f)) + H[cls(r)][dim[f] - dim[o]] += 1 + cur[r] = f + okind = {("x", "s"), ("s", "s"), ("s", "y"), ("x", "y"), ("x", "x"), ("y", "y")} + ysum, piv, ytg = Counter(), set(), set() + inc = 0 + for ph, gates in (("A", c["A"]), ("B", c["B"])): + if ph == "B": # ---- E2: the scatter cut + need(sorted(k for k, _, _ in c["ret"]) == list(range(len(c["ret"]))), "E2: retained totals numbered 0..") + if "table" in c["scat"]: + need(len(c["scat"]["table"]) == v and all(0 <= k < len(c["ret"]) for row in c["scat"]["table"] for k, _, _ in row), + "E2: scatter table") + else: + need(len(c["ret"]) == h, "E2: one retained total per coordinate (star rule)") + for k, s, f in c["ret"]: + need(cls(s) == "s" and cur[s] == f, "E2: retained slot %d is not at its frame" % s) + H["c"][dim[f]] += 1 + need(all(cur[v + t] == 0 for t in range(v)), "E2: a y role left frame 0 before the scatter") + for i, g in enumerate(gates): + regs, pairs, _ = gate_regs(g) + need(all(0 <= r < nreg for r in regs) and len(set(regs)) == len(regs), "E3: registers of gate %s%d" % (ph, i)) + inc += len(regs) + for r in regs: + climb(r, g[1], "%s%d" % (ph, i)) + for t, s, co in pairs: + kd = (cls(s), cls(t)) + need(kd in okind, "E3: gate kind %s -> %s (gate %s%d)" % (kd + (ph, i))) + need(ph == "B" or kd in {("x", "s"), ("s", "s")}, "E3: bank gate before the scatter (gate A%d)" % i) + if kd == ("y", "y"): + ysum[s, t] += co + piv.add(s) + ytg.add(t) + need(ph == "B" or all(cls(r) != "y" for r in regs), "E2: y role named in phase A") + for r in range(nreg): + climb(r, final[r], "final") + need(not (piv & ytg), "E4: a pivot is the target of a gate reading y") + need(all(x == 0 for x in ysum.values()), "E4: y-reads of a (pivot, target) pair do not cancel") + Hs = {k: {str(r): n for r, n in sorted(w.items())} for k, w in H.items()} + need(Hs == c["blocks"], "E6: block histograms") + N = sum(r * n for w in H.values() for r, n in w.items()) + tails = sum(dim[f] for f in ext.values()) + need(N == c["N"] and N + tails == R * h + 2 * v * (h - 1) + c["cst"], "E6: N") + if stats is not None: + stats.update(steps=len(steps), incidences=inc, blocks=sum(sum(w.values()) for w in H.values()), + step_work=sum(dim[a] * dim[b] for a, b in steps), ysh_pairs=len(ysum)) + if scalar: + scal(c, stats) + q2(c) + return True + + +def scal(c, stats=None): + """E5: exact replay of the x-content of every register through A, scatter, B.""" + h, v, R = c["h"], c["v"], c["R"] + nreg = 2 * v + R + reg = [({r: Fr(1)} if r < v else {}) for r in range(nreg)] + den = {"x": 1, "y": 1, "s": 1} + mx = {"x": Fr(0), "y": Fr(0), "s": Fr(0)} + cls = lambda r: "x" if r < v else "y" if r < 2 * v else "s" + + def axpy(t, src, co): + d = reg[t] + for k, u in src.items(): + w = d.get(k, 0) + co * u + if w: + d[k] = w + kk = cls(t) + if w.denominator != 1: + den[kk] = lcm(den[kk], w.denominator) + if abs(w) > mx[kk]: + mx[kk] = abs(w) + else: + d.pop(k, None) + + def run(gates): + for g in gates: + if g[0] == "neg": + reg[g[2]] = {k: -u for k, u in reg[g[2]].items()} + elif g[0] == "out": + src = dict(reg[g[2]]) + for t, a, b in g[3]: + axpy(t, src, Fr(a, b)) + else: + for s, a, b in g[3]: + axpy(g[2], reg[s], Fr(a, b)) + run(c["A"]) + tot = {k: dict(reg[s]) for k, s, _ in c["ret"]} + for t in range(v): + for k, co in scat_row(c, t): + axpy(v + t, tot[k], co) + run(c["B"]) + need(all(reg[t] == {t: 1} for t in range(v)), "E5: an x role is not restored (X3)") + need(all(reg[v + t] == {t: 1} for t in range(v)), "E5: a target does not receive exactly its source (hid)") + if stats is not None: + stats.update(den=dict(den), maxabs={k: str(x) for k, x in mx.items()}, + gates_A=len(c["A"]), gates_B=len(c["B"])) + + +def q2(c): + """E7 (only for files with exterior gauges, rule (2)): for every slot q that starts off the zero frame, the + column of q in the y rows of the product is zero (its dirt is removed in line, the derived dirt gate at + frame 0 does not touch it). Replay with the gauged slots as variables, x = 0.""" + h, v, R = c["h"], c["v"], c["R"] + ext = [r for r, _ in c["ext"]] + if not ext: + return True + reg = [dict() for _ in range(2 * v + R)] + for r in ext: + reg[r] = {r: Fr(1)} + + def axpy(t, src, co): + d = reg[t] + for k, u in src.items(): + w = d.get(k, 0) + co * u + if w: + d[k] = w + else: + d.pop(k, None) + + def run(gates): + for g in gates: + if g[0] == "neg": + reg[g[2]] = {k: -u for k, u in reg[g[2]].items()} + elif g[0] == "out": + src = dict(reg[g[2]]) + for t, a, b in g[3]: + axpy(t, src, Fr(a, b)) + else: + for s, a, b in g[3]: + axpy(g[2], reg[s], Fr(a, b)) + run(c["A"]) + tot = {k: dict(reg[s]) for k, s, _ in c["ret"]} + for t in range(v): + for k, co in scat_row(c, t): + if tot[k]: + axpy(v + t, tot[k], co) + run(c["B"]) + need(all(not reg[v + t] for t in range(v)), "E7: the dirt of an exterior-gauged slot reaches a y role (Q2)") + return True diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py new file mode 100644 index 0000000000..fcb625619c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxbind.py @@ -0,0 +1,438 @@ +"""gxbind.py: THE BINDING of the generator to the Lean terms of gx-scalar / gx-labels / +gx-chain. Everything that names somebody else's definition is in this file (tables SCAL, LAB, CHAIN).""" +import os, re, subprocess +import gxpaths +ROOT = gxpaths.OUT +GSM = gxpaths.HERE + '/gsmirror.py' + +# gx-scalar (gcert-interface.md, SCALAR v1): GS.scalCheck c p lo n, GS.yCheck c p lo n, p : GS.SPar = +SCAL = dict(imports=['Work.GCert.Scalar.Seg'], scal='GS.scalCheck raw ⟨%(d)d, %(sw)d, %(ux)d, %(us)d, %(uy)d⟩ %(lo)d %(n)d', + ychk='GS.yCheck raw ⟨%(d)d, %(sw)d, %(ux)d, %(us)d, %(uy)d⟩ 0 %(v)d') +# gx-labels (gcert-interface.md LABELS v1 + questions.md N1): namespace GLab; frame = code, table and states = SSC.Trie, +# GLab.Par = . `end` = GLab.endK of Labels/EndDef.lean (questions.md N2; no obaseK: Q1 closed). +LAB = dict(imports=['Work.GCert.Labels.Def'], end_imports=['Work.GCert.Labels.EndDef'], par='⟨%(h)d, %(n)d, %(d)d, %(K)d, tab⟩', ns='GLab', + tab='GLab.tabK %(h)d %(sub)s', seg='GLab.segK par %(gs)s st%(i)d st%(j)d %(rs)s', + end='GLab.endK par %(v)d ports (raw.ret.map Prod.fst) st0 st%(a)d st%(f)d', noadds='GLab.noAdds fins') +# gx-chain (CHAIN v1): GX.wht_of_halves; the terms below are PLACEHOLDERS until Labels/Main and Scalar/Main compile +CHAIN = dict(imports=['Work.GCert.Chain.End', 'Work.GCert.Labels.Main'], scal='(GS.ScalOK.scal GXD.%(c)s.scalOK)', + lab='(GXD.%(c)s.valid.lab GXD.%(c)s.scalOK)', lab_cost='GXD.%(c)s.lab_cost') + + +def code(h, basis): + """gx-labels' code of a reduced echelon basis: dim + 2^8 M + 2^(8+h) P (M = pivot mask, vector of pivot p at digit p)""" + M = P = 0 + for b in basis: + p = b.bit_length() - 1 + M |= 1 << p + P |= b << (h * p) + return len(basis) + (M << 8) + (P << (8 + h)) + + +MOD = '''import %(imports)s +/-! Kernel check (%(doc)s) of the gcert/1 certificate `GXD.%(name)s.raw`. Source: %(src)s. +Generated by checks/wht26/gx-data/py/gxgen.py (do not edit). -/ +set_option maxRecDepth 100000 +namespace GXD.%(name)s +open GXD +theorem %(thm)s : %(stmt)s := by decide +kernel +end GXD.%(name)s +#print axioms GXD.%(name)s.%(thm)s +''' + + +def spar(D, path): + """scalar parameters: from gx-scalar's mirror when it exists, else from my own replay (sw is then a GUESS)""" + import gxcore as gc + n, d = 2 * D['v'] + D['R'], 0 + while (1 << d) < n: + d += 1 + dg = gc.digits(D) + S = dict(d=d, sw=16, ux=dg['x'][0], us=dg['s'][0], uy=dg['y'][0], source='gx-data replay; sw = 16 is a GUESS', digits=dg) + if os.path.exists(GSM): + try: + o = subprocess.run(['python3', '-B', GSM, path], capture_output=True, text=True, timeout=1800).stdout + m = re.search(r'SPar[^\d]*(\d+)[, ]+(\d+)[, ]+(\d+)[, ]+(\d+)[, ]+(\d+)', o) + if m: + S.update(zip(('d', 'sw', 'ux', 'us', 'uy'), map(int, m.groups())), source='gsmirror.py') + except Exception as e: + S['source'] += ' (gsmirror.py failed: %r)' % (e,) + return S + + +def write_checks(D, M, name, src, out, L, S, plan): + base = out[len(ROOT):].replace('/', '.') + raw = '%s.Gen.%s' % (base, name) + h, v, n = D['h'], D['v'], 2 * D['v'] + D['R'] + res = [] + + def mod(suffix, imports, thm, stmt, doc): + m = '%s.Gen.%s%s' % (base, name, suffix) + open('%s/Gen/%s%s.lean' % (out, name, suffix), 'w').write(MOD % dict( + imports='\nimport '.join(imports), doc=doc, name=name, src=src, thm=thm, stmt=stmt)) + res.append((m, thm, stmt)) + for i, (lo, hi) in enumerate(M['scal']['batches']): + mod('Scal%d' % i, SCAL['imports'] + [raw], 'scal%d_ok' % i, SCAL['scal'] % dict(S, lo=lo, n=hi - lo) + ' = true', + 'scalar identity E3 E5 for the sources %d .. %d' % (lo, hi - 1)) + mod('YChk', SCAL['imports'] + [raw], 'ychk_ok', SCAL['ychk'] % dict(S, v=v) + ' = true', 'the y -> y adds, E4') + par = '%s.Gen.%sPar' % (base, name) + open('%s/Gen/%sPar.lean' % (out, name), 'w').write( + 'import %s\nimport %s\n/-! Parameters `GLab.Par` of the label check of `GXD.%s.raw` (h, registers, trie depth, K, frame table).\n' + 'Generated by checks/wht26/gx-data/py/gxgen.py (do not edit). -/\nnamespace GXD.%s\nopen GXD\n' + 'noncomputable def par : GLab.Par := %s\nend GXD.%s\n' + % (LAB['imports'][0], raw, name, name, LAB['par'] % dict(h=h, n=n, d=L['d'], K=L['K']), name)) + paths = [format(i, '0%db' % L['ts']) for i in range(1 << L['ts'])] if L['ts'] else [''] + for i, pth in enumerate(paths): + mod('Tab%d' % i, LAB['imports'] + [raw], 'tab%d_ok' % i, + LAB['tab'] % dict(h=h, sub='tab_n' + pth if pth else 'tab') + ' = true', + 'E0: subtrie %d of %d of the frame table (codes of reduced echelon bases)' % (i, len(paths))) + for i in range(L['nseg']): + mod('Seg%d' % i, [par], 'seg%d_ok' % i, + LAB['seg'] % dict(gs='seg%d' % i, i=i, j=i + 1, rs='rs%d' % i) + ' = true', + 'E1: replay of the gates %d .. %d (phase %s) and their block ranks' % ( + M['cuts'][i], M['cuts'][i + 1] - 1, 'A' if i < L['nsegA'] else 'B')) + mod('SegF', [par], 'segF_ok', LAB['seg'] % dict(gs='fins', i=L['nseg'], j=L['nseg'] + 1, rs='rF') + ' = true', + 'E1: the final climbs and their block ranks') + if LAB['end']: + mod('End', LAB['end_imports'] + [par], 'end_ok', LAB['end'] % dict(v=v, a=L['nsegA'], f=L['nseg'] + 1) + ' = true', + 'E1 E2: frames at the start, at the scatter, at the end') + return res + + +def nest(xs): + return ' ++ ('.join(xs) + ')' * (len(xs) - 1) if xs else '[]' + + +def write_hist(D, M, name, src, out, L): + """kernel counts of the block ranks on the EXPLICIT rank lists rA, rB, rF (no replay)""" + base = out[len(ROOT):].replace('/', '.') + h, rs = D['h'], M['lab']['rs'] + ph = {'A': sum(rs[:L['nsegA']], []), 'B': sum(rs[L['nsegA']:], []), 'F': M['lab']['rF']} + top = max(max(x) if x else 0 for x in ph.values()) + cop = [M['dim'][f] for _, f in D['ret']] + tot = {r: sum(x.count(r) for x in ph.values()) + cop.count(r) for r in range(1, max(top, max(cop)) + 1)} + assert {r: c for r, c in tot.items() if c} == M['hist'], 'histogram of the rank lists differs from the mirror' + lines = ['/-- block ranks of phase A / phase B, in order (the lists of the replay segments) -/', + 'noncomputable def rA : List Nat := ' + nest(['rs%d' % i for i in range(L['nsegA'])]), + 'noncomputable def rB : List Nat := ' + nest(['rs%d' % i for i in range(L['nsegA'], L['nseg'])])] + names = [] + for X, lst in sorted(ph.items()): + l = 'r' + X + lines.append('theorem rankBound%s : wsumK (SSC.wGt %d) %s 0 = 0 := by decide +kernel' % (X, top, l)) + lines += ['theorem rank%s%d_ok : wsumK (SSC.wEq %d) %s 0 = %d := by decide +kernel' % (X, r, r, l, lst.count(r)) + for r in range(top + 1)] + names += ['rankBound' + X] + ['rank%s%d_ok' % (X, r) for r in range(top + 1)] + txt = ('import Work.GCert.Data.Count\nimport %s.Gen.%s\n' % (base, name) + + '/-! Kernel count of the BLOCK RANKS of the gcert/1 certificate `GXD.%s.raw` (h = %d) on the explicit rank lists\n' + '`rA`, `rB`, `rF` (phase A, phase B, final climbs): `wsumK (SSC.wEq r) l 0` blocks of rank `r`, none above %d\n' + '(`GXD.sum_of_wsumK` turns a count into `(l.map wt).sum` = `SSC.wsum wt l`).\n' + 'The %d scratch copies (ranks %s) are not in these lists. Whole invocation, by rank: %s.\n' + 'Source: %s. Generated by checks/wht26/gx-data/py/gxgen.py (do not edit). -/\n' + 'set_option maxRecDepth 100000\nnamespace GXD.%s\nopen GXD\n' % ( + name, h, top, len(cop), sorted(set(cop)), M['hist'], src, name) + '\n'.join(lines) + + '\nend GXD.%s\n' % name + '\n'.join('#print axioms GXD.%s.%s' % (name, x) for x in names[:2]) + '\n') + open('%s/Gen/%sHist.lean' % (out, name), 'w').write(txt) + return '%s.Gen.%sHist' % (base, name) + + +def write_price(D, M, name, src, out, L): + """Mathlib module: the price of the rank lists rA, rB, rF from the kernel counts, and of one whole invocation""" + base = out[len(ROOT):].replace('/', '.') + rs = M['lab']['rs'] + ph = {'A': sum(rs[:L['nsegA']], []), 'B': sum(rs[L['nsegA']:], []), 'F': M['lab']['rF']} + top = max(max(x) if x else 0 for x in ph.values()) + cop = [M['dim'][f] for _, f in D['ret']] + tm = lambda cnt: ' + '.join('%d * φ %d' % (n, r) for r, n in sorted(cnt.items()) if n) or '0' + thms = '' + for X in 'ABF': + cnt = {r: ph[X].count(r) for r in range(1, top + 1)} + thms += ''' +/-- price of the blocks of %s, from the kernel counts -/ +theorem r%s_cost (φ : ℕ → ℝ) : rcost φ r%s = %s := by + rw [GXD.rcost_wsumK φ r%s %d rankBound%s] + simp only [Finset.sum_range_succ, Finset.sum_range_zero, %s] + norm_num [bcost] +''' % ({'A': 'phase A', 'B': 'phase B', 'F': 'the final climbs'}[X], X, X, tm(cnt), X, top, X, + ', '.join('rank%s%d_ok' % (X, r) for r in range(top + 1))) + copies = tm({r: cop.count(r) for r in set(cop)}) + txt = '''import Work.GCert.Data.Price +import %(base)s.Gen.%(name)sHist + +/-! +# (key: gx-data) gcert/1 certificate `%(name)s` (h = %(h)d): the price of one invocation + +GENERATED by checks/wht26/gx-data/py/gxgen.py from %(src)s. No `sorry`. +`rA_cost`, `rB_cost`, `rF_cost`: the price of the block rank lists of phase A, phase B and the final climbs +(lists `GXD.%(name)s.rA / rB / rF`, counted by the kernel in `Gen.%(name)sHist`); +`inv_cost`: with the %(nc)d scratch copies (%(copies)s) the blocks of ONE invocation cost +`invPrice φ` = %(terms)s; `inv_moves`: they stand for `R h + 2 v (h - 1) + cst = %(N)d` unit moves. +-/ + +namespace GXD.%(name)s +open GXD OAI.PowerSaving.CB +%(thms)s +/-- price of the blocks of ONE invocation (x roles, y roles, slots, scratch copies), by rank -/ +def invPrice (φ : ℕ → ℝ) : ℝ := %(terms)s + +/-- **Price of ONE invocation** in the shape of `GX.Lab.cost`: phase A, the scratch copies, phase B, final climbs. -/ +theorem inv_cost (φ : ℕ → ℝ) : rcost φ rA + (%(copies)s) + rcost φ rB + rcost φ rF = invPrice φ := by + rw [rA_cost, rB_cost, rF_cost] + unfold invPrice + ring + +theorem inv_moves : invPrice (fun r => (r:ℝ)) = %(R)d * %(h)d + 2 * %(v)d * (%(h)d - 1) + %(cst)d := by + unfold invPrice + norm_num + +theorem inv_count : invPrice (fun _ => (1:ℝ)) = %(count)d := by + unfold invPrice + norm_num + +end GXD.%(name)s +#print axioms GXD.%(name)s.inv_cost +#print axioms GXD.%(name)s.inv_moves +''' % dict(base=base, name=name, h=D['h'], src=src, nc=len(cop), copies=copies, terms=tm(M['hist']), N=D['N'], thms=thms, + R=D['R'], v=D['v'], cst=D['cst'], count=sum(M['hist'].values())) + open('%s/%sPrice.lean' % (out, name), 'w').write(txt) + return '%s.%sPrice' % (base, name) + + +def write_cert(D, M, name, src, out, chk, L): + """Cert: THE LABEL HALF (aux, valid : GLab.Valid raw aux, lab_cost, lab_price) -- compiles without the scalar half; + ScalOK: the scalar half `scalOK : GS.ScalOK raw` (needs Work/GCert/Scalar/Main).""" + base = out[len(ROOT):].replace('/', '.') + bs = M['scal']['batches'] + hs = '' + for i, (lo, hi) in enumerate(bs): + lo_pf = 'Nat.zero_le t' if i == 0 else 'Nat.le_of_not_lt h%d' % (i - 1) + if i + 1 < len(bs): + hs += ' if h%d : t < %d then ⟨%d, %d, %s, h%d, GS.XRun.of_check scal%d_ok⟩ else\n' % (i, hi, lo, hi - lo, lo_pf, i, i) + else: + hs += ' ⟨%d, %d, %s, Nat.lt_of_lt_of_le ht (by decide), GS.XRun.of_check scal%d_ok⟩' % (lo, hi - lo, lo_pf, i) + terms = ' + '.join('%d * φ %d' % (n, r) for r, n in M['hist'].items()) + info = dict(base=base, name=name, h=D['h'], src=src, v=D['v'], R=D['R'], nc=len(D['ret']), cst=D['cst'], N=D['N'], + nb=len(bs), terms=terms, hs=hs) + txt = '''import Work.GCert.Scalar.Main +import %(imps)s +/-! # (key: gx-data) gcert/1 certificate `%(name)s` (h = %(h)d): THE SCALAR HALF `scalOK : GS.ScalOK raw` +GENERATED by checks/wht26/gx-data/py/gxgen.py from %(src)s. No `sorry`. +Kernel checks `scal_ok` (%(nb)d source batches) and `ychk_ok`. -/ +namespace GXD.%(name)s +open GXD +theorem scalOK : GS.ScalOK raw where + hv := by decide + hs := fun t ht => +%(hs)s + hyc := fun t ht => ⟨0, %(v)d, Nat.zero_le t, Nat.lt_of_lt_of_le ht (by decide), GS.YRun.of_check ychk_ok⟩ +end GXD.%(name)s +#print axioms GXD.%(name)s.scalOK +''' % dict(info, imps='\nimport '.join(c[0] for c in chk if 'Scal' in c[0] or 'YChk' in c[0])) + open('%s/%sScalOK.lean' % (out, name), 'w').write(txt) + # ---- the label half + nA, ns, ts = L['nsegA'], L['nseg'], L['ts'] + cop = sorted(set(M['dim'][f] for _, f in D['ret'])) + assert len(cop) == 1, 'scratch copies of several ranks %s: lab_cost of gxbind.py assumes one' % cop + + def tabpf(path): + if len(path) == ts: + return 'tab%d_ok' % (int(path, 2) if path else 0) + return '(GLab.tabK_node _ _ _ %s %s)' % (tabpf(path + '0'), tabpf(path + '1')) + + def runpf(a, b): + return 'GLab.Run.of_seg seg%d_ok' % a if a + 1 == b else 'GLab.Run.append (GLab.Run.of_seg seg%d_ok) (%s)' % (a, runpf(a + 1, b)) + + def run(X, a, b): + segs = ['seg%d' % i for i in range(a, b)] + return '''theorem gates%(X)s_eq : raw.gates%(X)s = %(cat)s := by + show List.flatten %(lst)s = _ + simp only [List.flatten_cons, List.flatten_nil, List.append_nil] +/-- the replay of phase %(X)s, composed from its kernel-checked segments -/ +theorem run%(X)s : GLab.Run par st%(a)d raw.gates%(X)s st%(b)d r%(X)s := by + rw [gates%(X)s_eq] + exact %(pf)s +''' % dict(X=X, cat=nest(segs), lst=ll_(segs), a=a, b=b, pf=runpf(a, b)) + lab = 'valid.lab S Ro cf hMA hMAi hMB hMBi reg hCc hreg' + txt = '''import Work.GCert.Labels.Main +import %(base)s.%(name)sPrice +import %(imps)s +/-! # (key: gx-data) gcert/1 certificate `%(name)s` (h = %(h)d): THE LABEL HALF and its price +GENERATED by checks/wht26/gx-data/py/gxgen.py from %(src)s. No `sorry`. +`v = %(v)d` ports, `R = %(R)d` slots, %(nc)d scratch copies of rank %(c)d, copy cost `cst = %(cst)d`, `N = %(N)d` unit moves. +* `aux : GLab.Aux`, `valid : GLab.Valid raw aux`: frame table (`tab_ok` composed by `tabK_node`), the replays of phase A + and phase B (`seg_ok` composed by `Run.append`), the final climbs (`segF_ok`, `fin_ok`), the ends (`end_ok`); +* `lab_cost`, `lab_price`: for ANY scalar half `S` the label half `valid.lab S ..` costs + `rcost rA + card C * bcost %(c)d + rcost rB + rcost rF` = `invPrice φ` = %(terms)s + (`Gen.%(name)sHist`, `%(name)sPrice`) when there are %(nc)d copies. -/ +set_option maxRecDepth 100000 +namespace GXD.%(name)s +open GXD OAI.PowerSaving OAI.PowerSaving.CB +theorem raw_h : raw.h = %(h)d := rfl +theorem raw_v : raw.v = %(v)d := rfl +theorem raw_R : raw.R = %(R)d := rfl +/-- what the label checks read next to `raw` -/ +noncomputable def aux : GLab.Aux := ⟨par, st0, st%(a)d, st%(n)d, st%(f)d, fins, rA, rB, rF⟩ +theorem fin_ok : GLab.noAdds fins = true := by decide +kernel +theorem cen_ok : (raw.ret.map Prod.fst).all (fun r => Nat.beq (GLab.cdim (par.tab.get (st%(a)d.get r))) %(c)d) = true := by + decide +kernel +theorem tab_ok : GLab.tabK par.h par.tab = true := %(tabpf)s +%(runA)s%(runB)s/-- **the kernel-checked label facts** of the certificate -/ +theorem valid : GLab.Valid raw aux where + hn := rfl + tab := tab_ok + runA := runA + runB := runB + runF := GLab.Run.of_seg segF_ok + fin := fin_ok + ends := end_ok +theorem cen_dim (r : Nat) (hr : r ∈ raw.ret.map Prod.fst) : GLab.cdim (par.tab.get (st%(a)d.get r)) = %(c)d := + Nat.eq_of_beq_eq_true (List.all_eq_true.mp cen_ok r hr) +/-- price of the label half over ANY scalar half -/ +theorem lab_cost {C : Type} [Fintype C] [DecidableEq C] (S : GX.Scal (Fin raw.v) (Fin raw.R) C) + {emb : CR.L3 (Fin raw.v) (Fin raw.R) → Nat} {un : Nat → CR.L3 (Fin raw.v) (Fin raw.R)} + (Ro : GLab.Roles raw.v raw.R emb un) (cf : Co → SSC.Coef) (hMA) (hMAi) (hMB) (hMBi) + (reg : C → Nat) (hCc) (hreg) (φ : ℕ → ℝ) : + (%(lab)s).cost φ + = rcost φ rA + (Fintype.card C : ℝ) * bcost φ %(c)d + rcost φ rB + rcost φ rF := by + obtain ⟨h1, h2, h3, h4⟩ := valid.lab_ranks S Ro cf hMA hMAi hMB hMBi reg hCc hreg + have h5 : ∀ k, bcost φ (((%(lab)s).cen k).dim) = bcost φ %(c)d := + fun k => by rw [h4 k]; exact congrArg (bcost φ) (cen_dim _ (hreg k)) + rw [GX.Lab.cost, h1, h2, h3, Finset.sum_congr rfl (fun k _ => h5 k), Finset.sum_const, Finset.card_univ, nsmul_eq_mul] + rfl +/-- **the label half costs one invocation price** (`invPrice`, by rank, from the kernel counts) -/ +theorem lab_price {C : Type} [Fintype C] [DecidableEq C] (S : GX.Scal (Fin raw.v) (Fin raw.R) C) + {emb : CR.L3 (Fin raw.v) (Fin raw.R) → Nat} {un : Nat → CR.L3 (Fin raw.v) (Fin raw.R)} + (Ro : GLab.Roles raw.v raw.R emb un) (cf : Co → SSC.Coef) (hMA) (hMAi) (hMB) (hMBi) + (reg : C → Nat) (hCc) (hreg) (hC : Fintype.card C = %(nc)d) (φ : ℕ → ℝ) : + (%(lab)s).cost φ = invPrice φ := by + rw [lab_cost S Ro cf hMA hMAi hMB hMBi reg hCc hreg φ, hC, ← inv_cost φ] + norm_num [bcost] +end GXD.%(name)s +#print axioms GXD.%(name)s.valid +#print axioms GXD.%(name)s.lab_price +''' % dict(info, imps='\nimport '.join(c[0] for c in chk if 'Scal' not in c[0] and 'YChk' not in c[0]), c=cop[0], a=nA, n=ns, + f=ns + 1, tabpf=tabpf(''), runA=run('A', 0, nA), runB=run('B', nA, ns), lab=lab) + open('%s/%sCert.lean' % (out, name), 'w').write(txt) + return ['%s.%sCert' % (base, name), '%s.%sScalOK' % (base, name)] + + +def ll_(xs): + return '[' + ', '.join(xs) + ']' + + +def final_module(name, cname, d, dx, g, out): + """.lean: the final theorems OVER ANY SCALAR HALF (compiles as soon as Cert does): label half, price, + unit list, rate fact and gx-chain's `GX.wht_of_halves` are all closed; what is left is `S : GX.Scal` with its + gate matrices = the ordered products of the adds of `raw` (gx-scalar).""" + h, v, R, W, m, nc = g['h'], g['v'], g['R'], d['W'], d['m'], g['nc'] + X = 'GXD.%s' % cname + args = 'S Ro cf hMA hMAi hMB hMBi reg hCc hreg' + + def thm(nm, rate, A, B, s, ux): + return f''' +/-- **Walsh-Hadamard transform, whole-block recursion on the bridged word B_2 with the gcert/1 circuit `{cname}`**, +over any scalar half of `{X}.raw`: the statement `WHTGoal` of `WHTCheck/Challenge.lean` with `1 - 2/10^11` +replaced by `1 - {A}/10^{B}`. -/ +theorem {nm} (Ro : GLab.Roles {X}.raw.v {X}.raw.R emb un) + (hMA : S.MA = SSC.matP un (GLab.mic cf ({X}.raw.gatesA.flatMap GXD.Gate.adds))) + (hMAi : S.MAi = SSC.matPinv un (GLab.mic cf ({X}.raw.gatesA.flatMap GXD.Gate.adds))) + (hMB : S.MB = SSC.matP un (GLab.mic cf ({X}.raw.gatesB.flatMap GXD.Gate.adds))) + (hMBi : S.MBi = SSC.matPinv un (GLab.mic cf ({X}.raw.gatesB.flatMap GXD.Gate.adds))) + (reg : C → Nat) (hCc : ∀ k (q : Fin {X}.raw.R), S.Cc k q ≠ 0 → reg k = 2 * {X}.raw.v + q.val) + (hreg : ∀ k, reg k ∈ {X}.raw.ret.map Prod.fst) (hC : Fintype.card C = {nc}) : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - {A}/(10:ℝ)^{B}) W := + GX.wht_of_halves S ({X}.valid.lab {args}) + (by rw [Fintype.card_fin]; decide) {m} {W} (by rw [Fintype.card_fin]; rfl) + (by rw [Fintype.card_fin, Fintype.card_fin]; rfl) (by norm_num) BlockAccounting.blocks{rate} + (fun φ => by + rw [{X}.lab_price {args} hC φ, Fintype.card_fin, Fintype.card_fin] + exact BridgeRate.{name}.unit_cost{ux} φ) + {s} (1 - {A}/(10:ℝ)^{B}) (by norm_num) (by norm_num) BlockAccounting.fold_{rate} + +/-- the same from the FIVE scalar identities of gx-scalar's matrices of `{X}.raw` (`Work/GCert/Data/Glue.lean`) -/ +theorem {nm.replace('_of_scal', '_of_ids')} (hv : 0 < {X}.raw.v) + (hAi : GS.MAi {X}.raw hv * GS.MA {X}.raw hv = 1) (hBi : GS.MBi {X}.raw hv * GS.MB {X}.raw hv = 1) + (hx : ∀ (t : Fin {X}.raw.v) (j : GS.Rl {X}.raw), (GS.MB {X}.raw hv * CR.scatM (GS.Jrm {X}.raw * GS.Ccm {X}.raw) + * GS.MA {X}.raw hv) (CR.lX t) j = if CR.lX t = j then 1 else 0) + (hy : ∀ (i : GS.Rl {X}.raw) (t : Fin {X}.raw.v), (GS.MB {X}.raw hv * CR.scatM (GS.Jrm {X}.raw * GS.Ccm {X}.raw) + * GS.MA {X}.raw hv) i (CR.lY t) = if i = CR.lY t then 1 else 0) + (hid : ∀ S t : Fin {X}.raw.v, (GS.MB {X}.raw hv * CR.scatM (GS.Jrm {X}.raw * GS.Ccm {X}.raw) + * GS.MA {X}.raw hv) (CR.lY S) (CR.lX t) = if S = t then 1 else 0) : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - {A}/(10:ℝ)^{B}) W := + {nm} (GXD.scalOf {X}.raw hv hAi hBi hx hy hid) GS.toCoef (GXD.roles {X}.raw hv) + (GXD.scalOf_MA _ hv hAi hBi hx hy hid) (GXD.scalOf_MAi _ hv hAi hBi hx hy hid) + (GXD.scalOf_MB _ hv hAi hBi hx hy hid) (GXD.scalOf_MBi _ hv hAi hBi hx hy hid) + (GXD.reg {X}.raw) (GXD.reg_slot {X}.raw hv hAi hBi hx hy hid) (GXD.reg_mem {X}.raw) + (by rw [Fintype.card_fin]; decide) +''' + txt = f'''import Work.GCert.Chain.End +import Work.GCert.Data.Glue +import Work.GCert.Data.{cname}Cert +import Work.GCert.Data.Inst{name} + +/-! +# (key: gx-data) Bridged word B_2 with the gcert/1 circuit `{cname}` (h = {h}, m = {m}): final theorems over a scalar half +GENERATED by checks/wht26/gx-data/py/gxrate.py. No `sorry`. +`GX.wht_of_halves` (gx-chain) on the label half `{X}.valid` (kernel checks of `Work/GCert/Data/Gen/{cname}*`), its +price `{X}.lab_price`, the unit list `BlockAccounting.blocks{name}` (`W = {W}` live roles) and the rate facts +`fold_{name}` (`1 - {d['A']}/10^{d['B']}`), `fold_{name}x` (`1 - {dx['A']}/10^{dx['B']}`). +The ONLY hypothesis left is the scalar half: `S : GX.Scal (Fin {v}) (Fin {R}) C` whose gate matrices are the ordered +products of the adds of `raw` (`hMA .. hMBi`), with `{nc}` copies read from the retained registers (`reg`, `hCc`, `hreg`, `hC`); +`wht_{name}_of_ids`, `wht_{name}x_of_ids`: the same from the five identities `hAi hBi hx hy hid` of gx-scalar's matrices +`GS.MA GS.MAi GS.MB GS.MBi GS.Jrm GS.Ccm` of `raw` (the fields of the planned `GS.ScalOK`). +-/ + +namespace OAI +namespace PowerSaving +namespace WHT +open BlockWHT + +variable {{C : Type}} [Fintype C] [DecidableEq C] (S : GX.Scal (Fin {X}.raw.v) (Fin {X}.raw.R) C) + {{emb : CR.L3 (Fin {X}.raw.v) (Fin {X}.raw.R) → Nat}} {{un : Nat → CR.L3 (Fin {X}.raw.v) (Fin {X}.raw.R)}} + (cf : GXD.Co → SSC.Coef) +''' + thm('wht_' + name + '_of_scal', name, d['A'], d['B'], d['s'], '') + thm('wht_' + name + 'x_of_scal', name + 'x', dx['A'], dx['B'], dx['s'], '_x') + f''' +end WHT +end PowerSaving +end OAI +#print axioms OAI.PowerSaving.WHT.wht_{name}_of_scal +#print axioms OAI.PowerSaving.WHT.wht_{name}x_of_scal +#print axioms OAI.PowerSaving.WHT.wht_{name}_of_ids +#print axioms OAI.PowerSaving.WHT.wht_{name}x_of_ids +''' + open(out + '%s.lean' % name, 'w').write(txt) + + +def main_module(name, cname, d, dx, out): + """Main.lean: the CLOSED theorems (what the comparator solution cites). WRITTEN against gx-scalar's planned + `GS.ScalOK` (fields / theorems hv hAi hBi hx hy hid, SCALAR v2); compiles when Work/GCert/Scalar/Main.lean exists.""" + K = 'GXD.%s.scalOK' % cname + + def thm(sfx, A, B): + return f''' +/-- **Walsh-Hadamard transform in `O(n (log n)^(1 - {A}/10^{B}))`-type time bounds: whole-block recursion on the bridged +word B_2 with the kernel-checked gcert/1 circuit `{cname}`.** -/ +theorem wht_main_{name}{sfx} : + ∃ solve W, WHTProgram solve W ∧ BlockWHT.WHTTimeBoundsAt (1 - {A}/(10:ℝ)^{B}) W := + wht_{name}{sfx}_of_ids {K}.hv {K}.hAi {K}.hBi {K}.hx {K}.hy {K}.hid +''' + txt = f'''import Work.GCert.Scalar.Main +import Work.GCert.Data.{cname}ScalOK +import Work.GCert.Data.{name} + +/-! +# (key: gx-data) Bridged word B_2 with the gcert/1 circuit `{cname}`: THE CLOSED THEOREMS +GENERATED by checks/wht26/gx-data/py/gxrate.py. No `sorry`. +`wht_{name}_of_ids` (label half, price, unit list, rate fact, gx-chain's end theorem) applied to the scalar half +`{K} : GS.ScalOK GXD.{cname}.raw` (kernel checks `scal_ok`, `ychk_ok`; soundness: gx-scalar). +-/ + +namespace OAI +namespace PowerSaving +namespace WHT +open BlockWHT +''' + thm('', d['A'], d['B']) + thm('x', dx['A'], dx['B']) + f''' +end WHT +end PowerSaving +end OAI +#print axioms OAI.PowerSaving.WHT.wht_main_{name} +#print axioms OAI.PowerSaving.WHT.wht_main_{name}x +''' + open(out + '%sMain.lean' % name, 'w').write(txt) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py new file mode 100644 index 0000000000..49ebb65973 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxconv.py @@ -0,0 +1,131 @@ +"""gxconv.py: gcert/0 -> gcert/1 for files whose in-place pair op SCALES its target +(`op dest ctrl ca cb`: dest := ca dest + cb ctrl with ca not in {1}; #193 has ca = -2), questions.md D2. +COPY of `convert` of gx.py with ONE change: a scaling is not a gate, it changes the +UNIT in which the register is stored. wanted(r) = lam[r] * stored(r), lam = 1 at the start; + op dest ctrl ca cb : lam[dest] *= ca ; stored(dest) += (cb lam[ctrl] / lam[dest]) stored(ctrl) + any other add t += k s : stored(t) += (k lam[s] / lam[t]) stored(s) + scatter y_t += coef(t, k) total_k : coefficient coef(t, k) * lam[slot of total k] (a TABLE if some lam != 1) +Only slots may be scaled (tested: lam = 1 on every x and y register, always), so the x / y rows and columns of +the product (E5: hx, hy, hid) are those of the unscaled circuit; frames, blocks and N are untouched. +The result is tested by the reference checker `gx.check1` (labels and scalars) before it is written. + +usage: gxconv.py out= [noext] +""" +import sys, time +from fractions import Fraction as Fr +import gxpaths +import gx +import gxrun +need = gx.need + + +def convert(c0): + need(c0["format"] == "gcert/0", "input is not gcert/0") + v, h, R = c0["v"], c0["h"], c0["R"] + ev = c0["events"] + cen = [n for n, e in enumerate(ev) if e[0] == "centre"] + need(cen == list(range(cen[0], cen[0] + len(cen))), "centres are not contiguous: no single scatter cut") + A, B, ret = [], [], [] + neg, openq, lam, nsc = set(), {}, {}, 0 + L = lambda r: lam.get(r, Fr(1)) + + def co(t, s, a, b=1): # stored coefficient of the wanted add t += (a/b) s + w = Fr(a, b) * L(s) / L(t) + return [w.numerator, w.denominator] + + def o(f, s, tg, ex=()): + return ["out", f, s, [[t] + co(t, s, a, b) for t, a, b in tg], list(ex)] + + def i(f, t, sr): + return ["in", f, t, [[s] + co(t, s, a, b) for s, a, b in sr]] + scat_lam = None + for n, e in enumerate(ev): + k = e[0] + out = A if n < cen[0] else B + if k in ("read0", "undo", "uninj"): + continue + if k == "inj": + need(e[2] not in neg, "inj reads a negated x register") + out.append(o(e[3], e[2], [[e[1], 1, 1]])) + elif k == "op": + if e[3] != 1: + need(e[3] != 0 and e[1] >= 2 * v, "op scales a register that is not a slot (or by 0)") + lam[e[1]] = L(e[1]) * e[3] + nsc += 1 + out.append(o(e[5], e[2], [[e[1], e[4], 1]])) + elif k == "centre": + ret.append([e[2], e[1], e[3]]) + if scat_lam is None: + scat_lam = dict(lam) + elif k == "gread": + hit = set(t for t, _, _ in e[3]) + out.append(o(e[2], e[1], [[v + t, a, b] for t, a, b in e[3]], [v + t for t in e[4] if t not in hit])) + elif k == "rread": + out.append(o(e[2], e[1], [[v + t, a, b] for t, a, b in e[3]])) + elif k == "ysh": + out.append(o(e[4], e[2], [[e[1], e[3], 1]])) + elif k == "yw": + out.append(o(e[4], e[2], [[e[1], e[3][0], e[3][1]]])) + elif k == "kd": + out.append(o(e[3], e[2], [[e[1], -1 if e[2] in neg else 1, 1]])) + elif k == "ktr": + q = tuple(e[1]) + need(e[2] == gx.KJ, "ktr matrix is not 1 - J/2") + x1, rest = q[0], list(q[1:]) + if q not in openq: + out.append(i(e[3], x1, [[r, 1, 1] for r in rest])) + out.append(o(e[3], x1, [[r, -1, 2] for r in rest])) + out.append(i(e[3], x1, [[r, 1, 1] for r in rest])) + openq[q] = n + neg.add(x1) + else: + out.append(i(e[3], x1, [[r, -1, 1] for r in rest])) + out.append(o(e[3], x1, [[r, 1, 2] for r in rest])) + out.append(i(e[3], x1, [[r, -1, 1] for r in rest])) + del openq[q] + neg.discard(x1) + else: + raise AssertionError("unknown event kind %r" % k) + need(all(r >= 2 * v for r, x in lam.items() if x != 1), "an x or y register is scaled") + need(not openq and not neg, "a K block is not closed") + ret = sorted(ret) + need([z[0] for z in ret] == list(range(len(ret))), "retained totals are not 0 .. n-1") + sin, sout = Fr(*c0["scat"]["inside"]), Fr(*c0["scat"]["outside"]) + sl = [(scat_lam or {}).get(z[1], Fr(1)) for z in ret] + if all(x == 1 for x in sl): + scat = dict(inside=c0["scat"]["inside"], outside=c0["scat"]["outside"]) + else: + need(len(ret) == h, "star rule with a number of totals other than h") + scat = dict(table=[[[kk, (w * sl[kk]).numerator, (w * sl[kk]).denominator] + for kk in range(h) for w in [sin if c0["ports"][t] >> kk & 1 else sout]] for t in range(v)]) + ext = sorted([z[3], z[1]] for z in c0["gauge"] if z[5]) + c1 = dict(format="gcert/1", derived_from=c0["name"] + " (gcert/0; %d scalings as units, gxconv.py)" % nsc, p=c0["p"], + h=h, v=v, R=R, cst=c0["cst"], N=c0["N"], ports=c0["ports"], frames=c0["frames"], start=c0["start"], + final=c0["final"], ext=ext, ret=ret, scat=scat, A=A, B=B, blocks=c0["blocks"]) + return c1, nsc, sorted(set(str(x) for x in lam.values())), sum(1 for x in sl if x != 1) + + +if __name__ == "__main__": + t0 = time.time() + opt = dict(a.split("=", 1) for a in sys.argv[2:] if "=" in a) + c0 = gxrun.load(sys.argv[1]) + c1, nsc, lams, nsl = convert(c0) + c1["two_hosts"] = sorted(2 * c0["v"] + i for i, hs in enumerate(c0["hosts"]) if len(hs) > 1) + if "noext" in sys.argv and c1["ext"]: # as gxrun.py: exterior gauges become first blocks + for r, f in c1["ext"]: + d = str(len(c1["frames"][f])) + c1["start"][r] = 0 + c1["blocks"]["s"][d] = c1["blocks"]["s"].get(d, 0) + 1 + c1["N"] += int(d) + c1["blocks"]["s"] = {k: c1["blocks"]["s"][k] for k in sorted(c1["blocks"]["s"], key=int)} + c1["derived_from"] += ", exterior gauges turned into first blocks" + c1["ext"] = [] + st = {} + gx.check1(c1, scalar=True, stats=st) + print("ACCEPTED by gx.check1: %s h=%d v=%d R=%d N=%d gates A=%d B=%d ext=%d; scalings %d, final units %s, scaled totals %d, " + "scatter %s, stats %s (%.1fs)" % (c0["name"], c1["h"], c1["v"], c1["R"], c1["N"], len(c1["A"]), len(c1["B"]), + len(c1["ext"]), nsc, lams, nsl, "table" if "table" in c1["scat"] else "star", st, + time.time() - t0)) + if "out" in opt: + gxrun.dump(c1, opt["out"]) + print("written", opt["out"]) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py new file mode 100644 index 0000000000..3e3f0a3076 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/inputs/complex/sources/tools__gx__gxcore.py @@ -0,0 +1,375 @@ +"""gxcore.py: gcert/1 JSON -> normal data D, PYTHON MIRROR of the two Lean checks +(label side: E0 frames, E1 pairs, E1/E2/E6 replay in segments; scalar side: E3 kinds, E4 bracket, E5 replay +in source batches, E7), derived data (distinct climbs, cut states, block histogram) and kernel sizes. +Own code; the reference is gx.py (check1), not imported. Python 3, standard library only.""" +import json, gzip +from collections import Counter +from math import gcd + + +class Reject(Exception): + pass + + +def need(c, msg): + if not c: + raise Reject(msg) + + +def load(path): + c = json.load(gzip.open(path, "rt") if path.endswith(".gz") else open(path)) + need(c.get("format") == "gcert/1", "E0: format is not gcert/1") + return c + + +def co(num, den): + need(den > 0, "E0: denominator") + return (num < 0, abs(num), den) + + +def normal(c): + """the Lean-facing data: gates as tuples, coefficients (neg, num, den), ret by total""" + def gate(g): + if g[0] == "out": + return ("out", g[1], g[2], [(t, co(a, b)) for t, a, b in g[3]], list(g[4])) + need(g[0] == "in", "E0: unknown gate kind %r" % (g[0],)) + return ("in", g[1], g[2], [(s, co(a, b)) for s, a, b in g[3]]) + ret = sorted(c["ret"]) + need([k for k, _, _ in ret] == list(range(len(ret))), "E2: retained totals numbered 0..") + sc = c["scat"] + scat = ("table", [[(k, co(a, b)) for k, a, b in row] for row in sc["table"]]) if "table" in sc else \ + ("star", co(*sc["inside"]), co(*sc["outside"])) + return dict(h=c["h"], v=c["v"], R=c["R"], N=c["N"], cst=c["cst"], ports=list(c["ports"]), + frames=[list(f) for f in c["frames"]], start=list(c["start"]), final=list(c["final"]), + ext=[tuple(e) for e in c.get("ext", [])], ret=[(s, f) for _, s, f in ret], scat=scat, + A=[gate(g) for g in c["A"]], B=[gate(g) for g in c["B"]], + blocks={k: {int(r): n for r, n in c["blocks"][k].items()} for k in "xysc"}) + + +def regs(g): + return [g[2]] + [t for t, _ in g[3]] + (g[4] if g[0] == "out" else []) + + +def adds(g): + """single adds (tgt, src, coef) in order""" + return [(t, g[2], k) for t, k in g[3]] if g[0] == "out" else [(g[2], s, k) for s, k in g[3]] + + +def reduce(u, basis): + for b in basis: + if u >> (b.bit_length() - 1) & 1: + u ^= b + return u + + +def echelon_ok(f): + piv = [b.bit_length() - 1 for b in f] + if any(b == 0 for b in f) or any(piv[i] <= piv[i + 1] for i in range(len(piv) - 1)): + return False + return all(not (b >> p & 1) for i, b in enumerate(f) for j, p in enumerate(piv) if i != j) + + +def par(x): + return bin(x).count("1") & 1 + + +def cls(D, r): + return "x" if r < D["v"] else "y" if r < 2 * D["v"] else "s" + + +# ---- label side ------------------------------------------------------------------------------------------ +def chk_frames(D): + """E0: ports; frame table reduced echelon, no repeats, zero first, full second""" + h, v, fr = D["h"], D["v"], D["frames"] + p = D["ports"] + need(len(p) == v == len(set(p)) and all(par(q) and 0 < q < 1 << h for q in p), "E0: ports") + need(len(fr) >= 2 and fr[0] == [] and fr[1] == [1 << i for i in range(h - 1, -1, -1)], "E0: frames 0 and 1") + need(all(echelon_ok(f) and all(b < 1 << h for b in f) for f in fr), "E0: frame table not reduced echelon") + need(len(set(map(tuple, fr))) == len(fr), "E0: frame table has repeats") + return [len(f) for f in fr] + + +def derive(D): + """distinct climbs in order of first use (NOT a check: plain replay of the frame ids)""" + cur, seen, pairs = list(D["start"]), set(), [] + + def go(r, f): + o = cur[r] + if o != f: + if (o, f) not in seen: + seen.add((o, f)) + pairs.append((o, f)) + cur[r] = f + for g in D["A"] + D["B"]: + for r in regs(g): + go(r, g[1]) + for r, f in enumerate(D["final"]): + go(r, f) + return pairs + + +def chk_pairs(D, dim, pairs): + """E1, level 2: every listed pair is a nested pair of the table; returns the mask-operation count""" + fr, n, work = D["frames"], len(D["frames"]), 0 + for a, b in pairs: + need(a < n and b < n and dim[a] < dim[b], "E1: pair (%d, %d) does not climb" % (a, b)) + need(all(reduce(u, fr[b]) == 0 for u in fr[a]), "E1: pair (%d, %d) is not nested" % (a, b)) + work += dim[a] * dim[b] + return work + + +def cut_points(D, gmax, wmax=210000): + """replay segments: each phase (A, B) is cut into k pieces of equal gate count, k = the least number with at + most `gmax` gates AND at most `wmax` work per piece on average (work = sum over gates of the dimension of the + gate's frame; measured at h = 22: about 1 ms of kernel time per unit, NOTES.md). + Cut points = gate counts in A ++ B (always 0, |A| and the end).""" + nA, nB = len(D["A"]), len(D["B"]) + cuts = [0] + for off, gs in ((0, D["A"]), (nA, D["B"])): + n = len(gs) + k = max(1, -(-n // gmax), -(-sum(len(D["frames"][g[1]]) for g in gs) // wmax)) + cuts += [off + (n * i) // k for i in range(1, k + 1)] + return sorted(set(cuts)) + + +def label_data(D, dim, cuts): + """for gx-labels (gcert-interface.md LABELS v1): ordered block ranks per replay segment, the final climbs as + gates without adds (same final frame, at most 32 registers, only registers that still climb), their ranks, + the largest number of registers named by one gate. Plain replay (the mirror has accepted the file).""" + cur, G = list(D["start"]), D["A"] + D["B"] + rs, most = [], 0 + for a, b in zip(cuts, cuts[1:]): + r = [] + for g in G[a:b]: + most = max(most, len(regs(g))) + for x in regs(g): + if cur[x] != g[1]: + r.append(dim[g[1]] - dim[cur[x]]) + cur[x] = g[1] + rs.append(r) + by = {} + for x, f in enumerate(D["final"]): + if cur[x] != f: + by.setdefault(f, []).append(x) + fins, rF = [], [] + for f in sorted(by): + for i in range(0, len(by[f]), 32): + xs = by[f][i:i + 32] + fins.append(("out", f, xs[0], [], xs[1:])) + rF += [dim[f] - dim[cur[x]] for x in xs] + return dict(rs=rs, fins=fins, rF=rF, most=max(most, 32 if fins else 0)) + + +def chk_replay(D, dim, pairs, cuts): + """E1 (labels), E2 (scatter cut), E6 (price), in the segments given by `cuts`. + Returns (states at the cuts, histogram by class, visits per segment).""" + h, v, R, fr = D["h"], D["v"], D["R"], D["frames"] + n = 2 * v + R + start, final, ext = D["start"], D["final"], dict(D["ext"]) + need(len(start) == len(final) == n, "E0: start / final") + for t in range(v): + need(fr[start[t]] == [D["ports"][t]] and final[t] == 1, "E1: x start / final") + f = fr[final[v + t]] + need(start[v + t] == 0 and len(f) == h - 1 and all(par(u & D["ports"][t]) == 0 for u in f), "E1: y start / final") + for r in range(2 * v, n): + need(start[r] == ext.get(r, 0) and final[r] == 1, "E1: slot start / final") + ok = set(pairs) + need(len(ok) == len(pairs), "E1: pair list has repeats") + cur = list(start) + H = {k: Counter() for k in "xysc"} + + def climb(r, f, where): + o = cur[r] + if o != f: + need((o, f) in ok, "E1: climb (%d, %d) is not a tested pair (%s, register %d)" % (o, f, where, r)) + H[cls(D, r)][dim[f] - dim[o]] += 1 + seg[dim[f] - dim[o]] += 1 + cur[r] = f + seg, segs = Counter(), [] + G, nA = D["A"] + D["B"], len(D["A"]) + states, visits = [], [] + need(cuts[0] == 0 and cuts[-1] == len(G) and cuts == sorted(cuts), "cut points") + for a, b in zip(cuts, cuts[1:]): + states.append(list(cur)) + vs = 0 + for i in range(a, b): + if i == nA: + scatter_cut(D, cur, dim, H, seg) + g = G[i] + rs = regs(g) + need(all(0 <= r < n for r in rs) and len(set(rs)) == len(rs), "E3: registers of gate %d" % i) + need(i >= nA or all(r < v or r >= 2 * v for r in rs), "E2: y role named in phase A (gate %d)" % i) + vs += len(rs) + for r in rs: + climb(r, g[1], "gate %d" % i) + visits.append(vs) + if b < len(G): + segs.append(seg) + seg = Counter() + if nA == len(G): + scatter_cut(D, cur, dim, H, seg) + states.append(list(cur)) + for r in range(n): + climb(r, final[r], "final") + segs.append(seg) + Hb = {k: dict(sorted(w.items())) for k, w in H.items()} + need(Hb == D["blocks"], "E6: block histogram differs from `blocks`") + N = sum(r * c for w in H.values() for r, c in w.items()) + need(N == D["N"] and N + sum(dim[f] for f in ext.values()) == R * h + 2 * v * (h - 1) + D["cst"], "E6: N") + need(sum(r * c for r, c in H["c"].items()) == D["cst"], "E6: cst") + return states, Hb, visits, [[w[r] for r in range(h + 1)] for w in segs] + + +def scatter_cut(D, cur, dim, H, seg): + v = D["v"] + if D["scat"][0] == "table": + need(len(D["scat"][1]) == v and all(k < len(D["ret"]) for row in D["scat"][1] for k, _ in row), "E2: scatter table") + else: + need(len(D["ret"]) == D["h"], "E2: one retained total per coordinate (star rule)") + for s, f in D["ret"]: + need(s >= 2 * v and cur[s] == f, "E2: retained slot %d is not at its frame" % s) + H["c"][dim[f]] += 1 + seg[dim[f]] += 1 + need(all(cur[v + t] == 0 for t in range(v)), "E2: a y role left frame 0 before the scatter") + + +# ---- scalar side ----------------------------------------------------------------------------------------- +SC = 6 # all scalar entries are kept as integers in units of 1/6 +KINDS = {("x", "s"), ("s", "s"), ("s", "y"), ("x", "y"), ("x", "x"), ("y", "y")} + + +def chk_shape(D): + """E3 kinds, E4 bracket""" + ysum, piv, ytg = Counter(), set(), set() + for ph in "AB": + for i, g in enumerate(D[ph]): + for t, s, (ng, a, b) in adds(g): + kd = (cls(D, s), cls(D, t)) + need(kd in KINDS and t != s, "E3: gate kind %s -> %s (gate %s%d)" % (kd + (ph, i))) + need(ph == "B" or kd in {("x", "s"), ("s", "s")}, "E3: bank gate before the scatter (gate A%d)" % i) + if kd == ("y", "y"): + need(SC % b == 0, "E4: denominator beyond sixths") + ysum[s, t] += (-a if ng else a) * (SC // b) + piv.add(s) + ytg.add(t) + need(not (piv & ytg), "E4: a pivot is the target of a gate reading y") + need(all(x == 0 for x in ysum.values()), "E4: y-reads of a (pivot, target) pair do not cancel") + return len(ysum) + + +def scat_row(D, t): + sc = D["scat"] + if sc[0] == "table": + return sc[1][t] + return [(k, sc[1] if D["ports"][t] >> k & 1 else sc[2]) for k in range(D["h"])] + + + +def replay(D, init, count=None): + """exact replay through A, scatter, B of sparse vectors with entries in sixths; `init` = register -> {key: 6}""" + v = D["v"] + reg = [dict(init.get(r, ())) for r in range(2 * v + D["R"])] + + def axpy(t, src, k): + ng, a, b = k + d = reg[t] + for key, u in src.items(): + w = u * a + need(w % b == 0, "E5: an entry needs a denominator beyond sixths (register %d)" % t) + w = w // b + w = d.get(key, 0) + (-w if ng else w) + if count is not None: + count[key] += 1 + if w: + d[key] = w + else: + d.pop(key, None) + + def run(gates): + for g in gates: + if g[0] == "out": + src = dict(reg[g[2]]) + for t, k in g[3]: + axpy(t, src, k) + else: + for s, k in g[3]: + axpy(g[2], reg[s], k) + run(D["A"]) + afterA = sum(len(d) for d in reg) + tot = [dict(reg[s]) for s, _ in D["ret"]] + for t in range(v): + for k, cf in scat_row(D, t): + if tot[k]: + axpy(v + t, tot[k], cf) + run(D["B"]) + return reg, afterA + + +def chk_scalar(D, batches=1): + """E5 (+ E7 when `ext` is non-empty). Returns stats: denominators and largest numerators per class in the + units of the spec (x halves, y sixths, slots integers), updates per source batch, entries after A.""" + v = D["v"] + count = Counter() + reg, afterA = replay(D, {t: {t: SC} for t in range(v)}, count) + need(all(reg[t] == {t: SC} for t in range(v)), "E5: an x role is not restored (X3)") + need(all(reg[v + t] == {t: SC} for t in range(v)), "E5: a target does not receive exactly its source (hid)") + if D["ext"]: + rg, _ = replay(D, {r: {r: SC} for r, _ in D["ext"]}) + need(all(not rg[v + t] for t in range(v)), "E7: the dirt of an exterior-gauged slot reaches a y role") + step = -(-v // batches) + per = [sum(count[k] for k in range(lo, min(lo + step, v))) for lo in range(0, v, step)] + return dict(updates=sum(count.values()), per_batch=per, afterA=afterA, + batches=[(lo, min(lo + step, v)) for lo in range(0, v, step)]) + + +def digits(D): + """largest |entry| met and denominators per class, by a second replay that watches every write (slow path + kept separate from the check): returns {class: (lcm of denominators, largest |numerator| in units 1/den)}""" + v = D["v"] + den = {"x": 1, "y": 1, "s": 1} + mx = {"x": 0, "y": 0, "s": 0} + reg = [({r: SC} if r < v else {}) for r in range(2 * v + D["R"])] + + def axpy(t, src, k): + ng, a, b = k + d, kk = reg[t], cls(D, t) + for key, u in src.items(): + w = d.get(key, 0) + (-(u * a // b) if ng else u * a // b) + if w: + d[key] = w + q = SC // gcd(w, SC) + if den[kk] % q: + den[kk] = den[kk] * q // gcd(den[kk], q) + if abs(w) > mx[kk]: + mx[kk] = abs(w) + else: + d.pop(key, None) + for g in D["A"]: + for t, s, k in adds(g): + axpy(t, reg[s], k) + tot = [dict(reg[s]) for s, _ in D["ret"]] + for t in range(v): + for k, cf in scat_row(D, t): + axpy(v + t, tot[k], cf) + for g in D["B"]: + for t, s, k in adds(g): + axpy(t, reg[s], k) + return {k: (den[k], mx[k] * den[k] // SC if (mx[k] * den[k]) % SC == 0 else "%d/6" % mx[k]) for k in "xys"} + + +def mirror(D, gmax=12000, batches=1, pairs=None, cuts=None): + """both checks; returns everything the generator and the dry run need""" + dim = chk_frames(D) + pairs = derive(D) if pairs is None else pairs + work = chk_pairs(D, dim, pairs) + cuts = cut_points(D, gmax) if cuts is None else cuts + states, H, visits, segH = chk_replay(D, dim, pairs, cuts) + ysh = chk_shape(D) + S = chk_scalar(D, batches) + hist = Counter() + for k in "xysc": + for r, n in H[k].items(): + hist[r] += n + return dict(dim=dim, pairs=pairs, pair_work=work, cuts=cuts, states=states, H=H, visits=visits, ysh=ysh, + scal=S, hist=dict(sorted(hist.items())), segH=segH, + lab=label_data(D, dim, cuts)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/math_check.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/math_check.py new file mode 100644 index 0000000000..07f0730727 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/math_check.py @@ -0,0 +1,95 @@ +"""Source-bound banked five-stage moments and all47outerconstraints. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +Uses PR234 five-stage architecture and complex baseline, the p = 10 helper and +PR197-derived actual five-stage entrance banks. Inputs must be live verifier outputs. +p = 10 port (DreamingOfClouds, Anthropic Claude assistance): the bit profile is the p = 10 word's (m = 5h = 100, +deficit 4v - 5h(h-2), counts pinned in word-pins.json). The complex supplier is isolated in complex_supplier(). +Complex-bound assembly (draft by DreamingOfClouds with Anthropic Claude assistance, adopted unchanged in logic): +the bit is certified at its true root c with the adjacent grid point rejected; the saving fed to the bootstrap +and the 47 outer constraints is s = min(c, floor((1-beta)b - 10^-18)), re-checked exactly at s (the moment is +increasing in the saving). When s < c the complex supplier binds, and outer.assembly at the cap (1-beta)b itself +must fail on leaf_saving_above_bit. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import importlib.util +from word_pins import expect,shape +HERE=Path(__file__).resolve().parent + +def load(name): + p=HERE/(name+'.py');s=importlib.util.spec_from_file_location('banked527_'+name,p);m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m + +def serial(x): + if isinstance(x,Q):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return list(map(serial,x)) + return x + +def hist(x):return Counter({int(k):v for k,v in x.items()if v}) + +def complex_supplier(cost,other,complex_histogram): + """The retained complex supplier: profile pins, coarse b and its exact moment certificate (adjacent grid point + rejected). This is the only complex-specific block of math_check; a transplanted complex chain replaces it. + b is certified like the bit side: WITH the 10^-16 bad-class fallback envelope (32 m^2 rank-one calls per paid + child), by both rational moment engines, adjacent 10^-18 grid point rejected. The inherited PR234/PR193 + convention priced the complex side without the fallback; that larger root b0 is re-certified and recorded only.""" + # the centre-sharing complex supplier built with PR #304's pipeline (inputs/complex/centre-mw/). + CH=hist(complex_histogram);assert sum(CH.values())==351820 and sum(k*n for k,n in CH.items())==1571680 + m,W,grid=110,14316,Q(1,10**18) + cp=dict(m=m,W=W,histogram=dict(CH),calls=sum(CH.values()),rank_mass=sum(k*n for k,n in CH.items()),deficit=3080,maxchild=max(CH)) + root=cost.certify(dict(CH),m,W,True);b=Q(int(Q(root['lower'])*10**18),10**18);assert b==Q(772714351296671,10**18) + cm=cost.moment(dict(CH),m,W,b,True);nextcm=cost.moment(dict(CH),m,W,b+grid,True);assert cm[1]<10 and min(H.values())>0 and max(H)==S['idle'][2] + literal={k:n*T for k,n in H.items()};literal_mass=sum(k*n for k,n in literal.items());literal_W=banks['literal_stock'] + assert m*literal_W-literal_mass==T*S['deficit'] + # Divide the literal profile by5 to an integer normalization. The executed + # realization is still60replicas, and finite accounting uses its literalstock. + assert literal_W%5==0 and all(n%5==0 for n in literal.values()) + normalized={k:n//5 for k,n in literal.items()};W=literal_W//5;mass=sum(k*n for k,n in normalized.items()) + bp=dict(m=m,W=W,histogram=normalized,calls=sum(normalized.values()),rank_mass=mass,deficit=m*W-mass,maxchild=max(normalized),normalization=T//5,physical_replicas=T,literal_stock=literal_W,literal_children=sum(literal.values()),literal_rank_mass=literal_mass) + root=cost.certify(normalized,m,W,True);c=Q(int(Q(root['lower'])*10**18),10**18);bm=cost.moment(normalized,m,W,c,True);nextbm=cost.moment(normalized,m,W,c+Q(1,10**18),True);assert bm[1]<1cap-grid # tight against the complex cap: the next grid point exceeds (1-beta)*b-grid + chain=[Q(384599,10**10)] + for _ in range(3): + a=(1-s)*s+s*chain[-1];assert chain[-1]0 + q=bit*(1-2*eta);minimum=(1-eta)*q/(1+q);ticks=minimum*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + assembly=outer.assembly(bit,b,bridge,k,eta=eta,beta=beta);assert len(assembly['strict_constraints'])==47 and len(assembly['margins'])==7 and min(assembly['strict_constraints'].values())>0 + try:outer.assembly(bit,b,bridge,k+Q(1,10**18),eta=eta,beta=beta) + except AssertionError:pass + else:raise AssertionError('Adjacentkappaadmitted') + if binding=='complex': # the cap is the outer constraint: a bit saving at (1-beta)*b itself fails leaf_saving_above_bit + try:outer.assembly(cap,b,bridge,k,eta=eta,beta=beta) + except AssertionError as e:assert 'leaf_saving_above_bit' in str(e) + else:raise AssertionError('Complexleafcapadmitted') + expect('binding',binding);expect('kappa',k) + return serial(dict(status='PASS_BANKED_FIVE_STAGE_P10_EXACT_MOMENTS_AND_OUTER47',mathematics=dict(bit_profile=bp,complex_profile=cp,bit_coarse=s,bit_root=c,bit_root_moment_interval=bm,complex_coarse=b,complex_coarse_without_fallback=supplier['coarse_without_fallback'],complex_leaf_cap=cap,bit_moment_interval=sm,complex_moment_interval=cm,next_complex_grid_excluded=supplier['next_grid_excluded'],next_bit_grid_excluded=nextbm,independent_base_two_pass=True,ordinary_bootstrap_chain=chain,finite_bridge=bridge,assembly=assembly,kappa=k,kappa_decimal=cost.decimal(k),kappa_scientific=format(float(k),'.15e'),binding=binding),adjacent_grid_point_rejected=True)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/moment.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/moment.py new file mode 100644 index 0000000000..7d697cb452 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/moment.py @@ -0,0 +1,113 @@ +"""Independent prospective ordinary five-stage cost, never supplier admission. + +Consumes a raw one-invocation ledger made from the actual source/internal/target +paths. No packed profile is used as an input. Missing physical/finite/compiler +obligations must remain explicit in the accompanying report. +""" +from collections import Counter +from decimal import Decimal, localcontext, ROUND_FLOOR +from fractions import Fraction as F +from functools import lru_cache +from math import factorial +import hashlib, json, sys +from pathlib import Path + +DYAD = 1 << 224 + +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) + +@lru_cache(None) +def logarithm(x): + """Mercator bounds after binary reduction; ln(2) via two Mercator sums. + + For 1 <= y < 2, log(y) is an alternating series in z=y-1. + We instead reduce to 1 <= y < 3/2, and bound log(3/2) and + log(2) by the same alternating series at z=1/2 and z=1/3, + using log(2)=log(3/2)+log(4/3). All sums are exact rationals. + """ + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + def mercator(y): + z=y-1 + assert 0 <= z <= F(1,2) + # An even partial sum is below log; the next term bounds its tail. + t=z; s=F(0) + for n in range(1, 225): + s += (t if n & 1 else -t)/n + t *= z + return s, s+t/225 + a,b=mercator(x); c,d=mercator(F(3,2)); e,f=mercator(F(4,3)) + return floor(a+(k+j)*c+k*e), ceil(b+(k+j)*d+k*f) + +def exponential(l,u): + assert 0 <= l <= u < F(1,10) + def poly(x): + s=t=F(1) + for j in range(1,25): t=t*x/j; s+=t + return s,t + lo,_=poly(l);hi,last=poly(u) + return floor(lo),ceil(hi+last*u/25/(1-u/26)) + +def moment(H,m,W,a,bad=False): + lo=hi=F(0) + for r,n in H.items(): + assert 0 < r < m and n > 0 + l,u=logarithm(F(m,r)); e,f=exponential(a*l,a*u) + p=F(r*n,m*W);lo+=p*e;hi+=p*f + if bad: + # Existing envelope shape, only conditionally portable to the new cover. + l,u=logarithm(F(m));e,f=exponential(a*l,a*u) + p=F(32*m*sum(H.values()),10**16*W) + lo+=p*e;hi+=p*f + return floor(lo),ceil(hi) + +def decimal(x): + with localcontext() as c: + c.prec=70 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def certify(H,m,W,bad=False): + with localcontext() as c: + c.prec=70 + terms=[(Decimal(r*n)/Decimal(m*W),(Decimal(m)/Decimal(r)).ln()) for r,n in H.items()] + fallback=Decimal(32*m*sum(H.values()))/Decimal(10**16*W) if bad else Decimal(0) + lm=Decimal(m).ln();lo=Decimal(0);hi=Decimal('.003') + for _ in range(210): + a=(lo+hi)/2 + if sum(p*(a*l).exp() for p,l in terms)+fallback*(a*lm).exp()<1:lo=a + else:hi=a + q=int(((lo+hi)/2*10**24).to_integral_value(rounding=ROUND_FLOOR)) + lo=F(q,10**24);hi=lo+F(1,10**24) + lv=moment(H,m,W,lo,bad);hv=moment(H,m,W,hi,bad) + assert lv[1]<10 for v in slacks.values()),{k:str(v) for k,v in slacks.items() if v<=0} + assert min(margins.values())==minimum + assert margins['balanced_prefix']-minimum==eta and 1-eps-r==eta/2 + assert 1-eps*(1+c)==eta-eps*eta/4 + return dict(parameters=dict(a_bit=a,a_complex=b,tau=tau,sigma=sigma, + eta=eta,beta=beta,q=q,c=c,epsilon=eps,lambda_=lam, + lambda_prime=lp,alpha_squared_power=r,delta=delta, + C0=bridge['semantic']['C0'],C1=1,kappa=kappa), + strict_constraints=slacks,margins=margins,minimum_margin=minimum, + absorption_gap=minimum-kappa, + recurrence=dict(internal=internal,leaf=leaf,reservations=1-c)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/parity_transform.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/parity_transform.py new file mode 100644 index 0000000000..c9e688b54c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/parity_transform.py @@ -0,0 +1,146 @@ +"""F2 payload identity elision and exact nested address-MOVE fusion. +The inherited signed source decoder is retained as producer evidence. +All odd-prime address projectors and routes remain unchanged. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +p = 10 port (DreamingOfClouds, Anthropic Claude assistance): h, copies and scatter reads from word_pins.shape, +word counts pinned in word-pins.json; the unused-stream census ranges over the actual 2v+R streams. +""" +from array import array +from collections import Counter +from pathlib import Path +import gzip,hashlib,json,time +from word_pins import expect,shape +if not __debug__:raise SystemExit('assertions required') + +def transform(records, nstreams): + out = array('i') + pending = {} + chains = [] + removed = Counter() + hist = Counter() + merged = 0 + maxchain = 0 + uses = Counter() + + def flush(a): + nonlocal merged, maxchain + if a in pending: + old, new, rank, count, first, last = pending.pop(a) + if rank: + hist[rank] += 1 + out.extend((0, a, old, new, rank, 0)) + merged += count - 1 + maxchain = max(maxchain, count) + if count > 1: + chains.append(dict(stream=a, old=old, new=new, rank=rank, moves=count, first=first, last=last)) + for index in range(0, len(records), 6): + op, a, b, c, f, z = records[index:index + 6] + if op == 1 and c % 2 == 0: + removed[c] += 1 + continue + if op == 0: + assert z == 0 + if a in pending: + old, prev, rank, count, first, last = pending[a] + assert prev == b, ('disconnected movechain', a, prev, b) + pending[a] = (old, c, rank + f, count + 1, first, index // 6) + else: + pending[a] = (b, c, f, 1, index // 6, index // 6) + continue + assert op in (1, 2, 3) + flush(a) + flush(b) + if op == 1: + uses[a] += 1 + uses[b] += 1 + elif op == 2: + hist[z] += 1 + uses[a] += 1 + uses[b] += 1 + out.extend((op, a, b, c, f, z)) + for a in sorted(pending): + flush(a) + return (out, dict(removed_even_adds=dict(removed), removed_even_add_count=sum(removed.values()), merged_move_count=merged, max_chain=maxchain, fused_chains=len(chains), paid_histogram=dict(sorted(hist.items())), paid_calls=sum(hist.values()), paid_rank_mass=sum((r * n for r, n in hist.items())), surviving_additions=sum((out[k] == 1 for k in range(0, len(out), 6))), output_records=len(out) // 6, unused_streams=[i for i in range(nstreams) if not uses[i]], stream_use_counts=dict(uses)), chains) + +def run(producer,output_dir=None): + begun=time.monotonic();W,C=producer['W'],producer['C'];v=W.v;S=shape();h=W.h;assert h==S['h'] and v==S['v'];n=2*v+len(producer['context']['regs']) + old=producer['records'];out,stats,chains=transform(old,n);oldmeta=producer['physical'] + expect('removed_even_adds',stats['removed_even_add_count']);expect('surviving_additions',stats['surviving_additions']) + expect('local_paid_rank_mass',stats['paid_rank_mass']);assert stats['merged_move_count']==0 + initial=producer['initial_state'];ZERO,FULL=producer['ZERO'],producer['FULL'] + # Independent required-frame census: ignore all original MOVE instructions. + # Use only surviving gate operands, copy sources and mathematical endpoints. + needs={i:[] for i in initial};copies=Counter();copy=None + for k in range(0,len(old),6): + op,a,b,c,f,z=old[k:k+6] + if op==1 and c%2: + needs[a].append(f) + if b!=n:needs[b].append(f) + else:assert copy is not None + elif op==2: + assert copy is None;copy=(a,b,c);needs[a].append(c);copies[z]+=1 + elif op==3:assert copy==(a,b,c);copy=None + assert copy is None and copies=={S['center_rank']:S['centers']} + final={i:FULL for i in initial} + for t in range(v):final[v+t]=W.register(W.module.kernel([C.cov[t]],W.h)[0]) + census=Counter(copies);per_role={};pairs=set() + for i,oldf in initial.items(): + H=Counter() + for f in needs[i]+[final[i]]: + assert C.sub(oldf,f);rank=C.dimf[f]-C.dimf[oldf] + if rank:H[rank]+=1 + pairs.add((oldf,f));oldf=f + per_role[i]=H;census.update(H) + assert census==Counter({int(r):c for r,c in stats['paid_histogram'].items()}) + # Read back the actual annihilator rows as a separate reflected ledger. + # A(new) annihilating B(old) states new^perp <= old^perp exactly. + reflected_pairs=0;endpoint_frames={f for pair in pairs for f in pair};nondeg_bases=set() + for f in endpoint_frames: + assert len(C.B[f])==C.dimf[f] and len(C.A[f])+C.dimf[f]==h + key=tuple(map(tuple,C.B[f])) + if key not in nondeg_bases: + assert C.nondeg(f),'singular required endpoint frame' + nondeg_bases.add(key) + for oldf,newf in sorted(pairs): + assert len(C.A[newf])<=len(C.A[oldf]) + assert all(W.module.dot(a,b)==0 for a in C.A[newf]for b in C.B[oldf]) + reflected_pairs+=1 + # Validate the actual transformed instruction stream against its own frames. + state=dict(initial);copy=None;used=set(initial.values());hist=Counter();cat=Counter();coeff=Counter();centers=[];count=0 + scalar=hashlib.sha256();tagged=hashlib.sha256();category_names=oldmeta['category_names'] + def event(d,row):d.update(json.dumps(row,separators=(',',':')).encode());d.update(b'\n') + for k in range(0,len(out),6): + op,a,b,c,f,z=out[k:k+6] + if op==0: + assert state[a]==b and C.sub(b,c) and C.dimf[c]-C.dimf[b]==f + # Complement reflection reverses containment and preserves the gap. + assert (h-C.dimf[b])-(h-C.dimf[c])==f + state[a]=c;used.update((b,c)) + if f:hist[f]+=1 + elif op==1: + assert c%2 and state[a]==state[b]==f and a!=b + kind=category_names[z];source=copy['source']if b==n else b + event(scalar,[a,source,c]);event(tagged,[a,b,c,f,kind]);count+=1;cat[kind]+=1;coeff[abs(c)]+=1;used.add(f) + elif op==2: + assert copy is None and b==n and state[a]==c and f==ZERO and z==S['center_rank'] + state[b]=f;hist[z]+=1;copy=dict(source=a,frame=c,rank=z,temporary=b,first_event=count,copy_output_frame=f) + else: + assert op==3 and copy is not None and (a,b,c)==(copy['source'],copy['temporary'],copy['frame']) and state[b]==f==ZERO + copy.update(after_event=count,scatter_reads=count-copy['first_event']);assert copy['scatter_reads']==S['scatter_reads'] + centers.append(copy);copy=None;del state[b] + assert copy is None and state==final and hist==census + assert count==expect('surviving_additions',count) and coeff==expect('surviving_coefficients',dict(coeff)) and len(centers)==S['centers'] + delta=Counter(hist);delta.subtract(Counter({int(r):c for r,c in oldmeta['paid_histogram'].items()}));delta={r:c for r,c in delta.items()if c} + assert delta=={} + sourceH=Counter();targetH=Counter();internalH=Counter(copies) + for i,H in per_role.items():(sourceH if i0,'row reserve gap') + need(2*(dim*(dim-1)+3*dim+dim+3*dim*(dim-1)//2+dim+1)+2*dim0,'factor shape';product*=p**exponent + assert product==abs(determinant),'factor identity' + +def run(context,physical,progress=lambda text:None): + started=time.monotonic();w,c=context['W'],context['C'] + p=HERE/'prime_witnesses.py';spec=importlib.util.spec_from_file_location('source527_exact_prime_validator',p);module=importlib.util.module_from_spec(spec);spec.loader.exec_module(module) + required=set(w.opframe)|set(w.w['source_frame'])|set(w.w['root_frame'])|{w.w['full_frame'],w.register([])} + required.update(g['frame']for g in w.gauge.values()) + for e in w.k['entries']:required.update((e['mix_frame'],e['deliver_frame'])) + for t in range(w.v):required.add(w.register(w.module.kernel([c.cov[t]],w.h)[0])) + required.update(g['frame']for g in context['agg']+context['rankgroups']+context['echelon']) + required.update(r['mix_frame']for r in context['pair_selection']) + used=set();groups={} + for row in physical['used_frames']: + f=row['frame_id'];assert f not in used;used.add(f) + h=basis_hash(c.B[f]);assert h==row['basis_sha256'] and len(c.B[f])==c.dimf[f]==row['dimension'],'fresh physical basis identity' + groups.setdefault(h,f) + assert {basis_hash(c.B[f])for f in required}<=set(groups),'base and added transform coverage' + determinants={};largest=0;prime_factors=set();witnesses={} + for j,(h,f)in enumerate(sorted(groups.items())): + B=c.B[f];s=list(map(sum,B)) + gram=[[9*sum(a*b for a,b in zip(x,y))-s[i]*s[k]for k,y in enumerate(B)]for i,x in enumerate(B)] + det=module.det(gram);powers,residual=module.factor_witness(det) + row=dict(dimension=len(B),determinant=det,residual=residual,factors={p:e for p,e in powers.items()if e}) + validate_record(row,len(B),det,module.PRIMES);prime_factors.update(map(int,row['factors']));witnesses[h]=row + determinants[h]=det;largest=max(largest,abs(det).bit_length()) + if j and j%5000==0:progress('Validated '+str(j)+' exact basis determinants') + ranks=Counter();bundle_bases=set();M=shape()['m'] + for role,g in w.gauge.items(): + if role in w.donor or role in context['borrow']:continue + a=g['dim'];h=basis_hash(c.B[g['frame']]);d=determinants[h] + assert 0<5*a=0 for x in powers.values()) + assert type(residual) is int and 02^80 before the input widths +n,w are chosen. All represented determinant and route exclusions lie in +{2,3,5,7}. The primitive constant C may depend on q, the fixed source recipe, +the finite bootstrap level and the retained primitive implementations. It +does not depend on n,w, ancestor values or unrelated spectator widths except +through logical volume V. + +The three byte-pinned public sources supplied here are +`three-stage-cover-bit.tex`, `three-stage-cover-rows.tex`, and +`copied-centers-lemma.tex`. Their exact-tape, completed ordinary-leaf and +complete-stream hypotheses are retained. All high matrix fibers are batched; +prefix descriptor preparation has fixed polynomial cost in w and is paid +over the complete q^w target fiber. Unrelated spectators use ripple counters. +Fresh child role fields never enter the ancestor weight descriptor. Finite +low-type tables, initialization and sequential scans are charged in C. +There is no unit-cost random-access oracle or new numerical Turing-machine +constant requirement. + +## Actual finite recipe + +Let m=120, W=23,683, E=495,304, v=1,760, R=16,643, d=m^2 and +J=20v+10R+4v=208,670. The last 4v=7,040 families pay the explicit final +complete-stream exchange; they are not equal-frame payload shears. + +The check derives from the fresh word 12,858,690 weighted additions or +21,787,770 unit additions, including all six bridge families. Its +cancellation-free prefix lift is +64*37,623^3*9,430,154^2=303,094,329,841,208,644,962,256,113,408<2^98. +No old defining-integer endpoint is imposed on the F2 supplier. + +The actual rational 48-dimensional route is reconstructed, eliminated and +inversely replayed: 195 additions, 44 swaps and 27 scalings, with denominator +set {1,2,3,6}. A missing addition fails reconstruction. Coordinate +permutations and embedding give the other ports and stages. + +Per route, pay at most 23,707*|GL_120(F_q)| low-role transpositions and +16*(d+1)^2 high affine factors. Per good edge, pay at most 8m^2+8 elementary +normalizer wrappers. The same compiler pays all exterior completions. +There are 120 copied-center episodes. Their recursive rank-22 calls and +their scalar reads are already included in E and the scalar count; their +copy/erase and parking passes are separately paid by the complete-stream +primitive, using one additional work stream. + +For a bad edge with N=2m=240, the exact inherited Gaussian fallback uses at +most 6N(N-1)+3N+6(N-1)=346,314<32m^2=460,800 children. Keep the entire +larger allowance in the moment. Coefficient preparation uses only unit +pivot inversions. Allocate 128N^3 ring operations per edge per low class: +four 8N^3 elimination/inversion allocations and sixteen 2N^3 matrix products +give 64N^3; the remaining 64N^3 pays extraction, copying, generic tests, +factor output and the bad-branch elimination. Matrix bit costs and descriptor +arithmetic are paid by the inherited primitive theorem. Invertibility testing +of each candidate low matrix additionally gets 16m^3 operations. + +Overcharging every finite recipe item over every low matrix gives + + B(q) <= [unit+J*16(d+1)^2+J*(W+24)+E*(8m^2+8) + +E*128(2m)^3+16m^3+120+E+1]*q^14400 + = 1,568,901,757,016,837*q^14400 < q^14401. + +These are explicit ring/recipe counts, not single-step machine costs. All +fixed-tape, table, setup and selector constants stay in C_primitive, giving +the normalized toll C*n+C*w^(1-a_old) after increasing one finite C. +No recursive child is absorbed into this nonrecursive constant. + +## Weighted induction and rows + +Set c=704197288590873/10^18 and tau=1-c. Exact interval recomputation, +adding the entire 10^-16*32m^2 fallback envelope per edge, proves + + 1-mu_tau > 774/10^21, + 1-mu_1 = 107421874442783/69383789062500000 > 0. + +For the retained recurrence +T(n,w)<=sum_r c_r*T(r*floor(n/120),w)+C*n+C*w^(1-a_old), +take A=C*(1+1/(1-mu_1)+1/(1-mu_tau)). Induction bounds T by +A*(n+n^tau*w^(1-a_old)): the linear and stopped gaps separately pay the +two tolls; the leaves follow A>=C. Floors only decrease the child sizes. + +The maximum ratio is 5/6, so four levels halve. The depth bound +4*ceil(log2(max(2,n))) changes stock, not the one-level moment. Paying all +24 temporary roles gives per-level log_q stock below 14400w+1. Add the +inherited old-leaf reserve. The new contribution is at most +57,604w*ceil(log2(max(2,n))). Borrow and restore these complete high digits; +successive residuals and the two-call ordinary wrapper reuse the reserve. +One outer row padding factor is below two; binary-radix padding costs less +than q^2 in logical volume. The temporary roles never enter the denominator W. + +## Finite ordinary bootstrap and cutoff + +Starting with completed ordinary a0=384599/10^10, set beta=c and repeat +a_(j+1)=(1-c)c+c*a_j exactly three times. The finite result is + + a3=704197288358392787581160456097840009769165126434639147437106139267359/10^72. + +At each stage, the paid exponents are 1-c, 1-a_(j+1), c with a logarithm, +and c(1-a_j). The exact positive gaps are c-a_(j+1), +1-a_(j+1)-c, 1-a_(j+1)-c(1-a_j), and 1-c (for row fitting). + +Choose a finite integer C>=1 dominating that stage's already fixed primitive, +recurrence, wrapper, row, setup, padding and previous ordinary constants. +Let delta be the minimum positive gap and + + L=ceil(max(1,36/delta^2,2*(4+ceil(log2 C))/delta)), e0=2^L. + +For e>=e0, C(1+log2 e)e^(-delta)<=1/16. Indeed for t=log2 e, +log2(1+t)<=3sqrt(t)<=delta*t/2 and log2 C+4<=delta*t/2. +Thus every lower-order toll is covered and the borrowed high part fits. +Below e0 use the previously completed ordinary algorithm. A finite next +constant is C_large+C_old*2^(L*(a_(j+1)-a_j)). This choice is sequential, +not circular, and uniform in the input and complete spectators. + +This proves the finite-accounting and ordinary-bootstrap step at the same +conditional theorem level as the retained public baseline. It does not claim +an independent proof of those inherited primitives, a measured universal +machine constant, or execution at every input width. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/INTEGRATED_PROOF.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/INTEGRATED_PROOF.md new file mode 100644 index 0000000000..c624da6c5c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/INTEGRATED_PROOF.md @@ -0,0 +1,87 @@ +# Source-bound five-stage compositional candidate + +9 October 2026. This is an isolated research admission branch. Its executable checks immutable finite receipts and recomputes exact scalar moments, a finite ordinary bootstrap, and all 47 balanced outer inequalities. It additionally binds fresh public-source bit preparation, raw-ledger construction, and the complete globally lowered physical event stream. It does not repeat the exhaustive F2 column proof, run the Lean kernel or universal tape machine, or claim Mac qualification or publication. + +## 1. Meaning of admission here + +The branch is an explicit conjunction of constructive source theorems and finite source-bound evidence. It does not replace any proof with a numerical root or infer source correctness from a PASS string. The new family names are `new5stageF2` and `baseline5stageComplex`; the old dimension-72 entry point and written bounds are kept byte-identical. The branch has no general-purpose dimension override. + +The executable's semantic guards reject a wrong source, omitted copied centers, a rank-only complex frame contract, a work/live denominator substitution, omitted final climbs, incorrect reverse-copy lowering, and a one-level bit-halving substitution. The source lock identifies the exact evidence, code, and primary proof files consumed. The more detailed emitted-program verifiers exercise local chronology and addresses, beyond these top-level schema controls. + +## 2. Raw source471 provenance + +The saved raw helper ledger pins an older screen.py. The older screen bytes are unavailable; no byte-delta assertion is made. The rebind verifier reruns the current exact geometry/ledger construction with all writes suppressed and a hash-verified cached certificate in place of its redundant network fetch. Every semantic field, all 471 source paths, and all 1,760 target paths agree. The saved ledger is not rewritten. + +The apparent target-prefix duplication is resolved by the actual chronology: screen.py removes the two latest loan prefixes for its predecessor positive controls; raw_ledger.py puts those two prefixes back. There are exactly eight restored target reads. Current-source dependency hashes and the canonical semantic-payload digest make this equivalence independently inspectable. The sole historical pin exception is specifically this screen.py field and is allowed only with the exact rebind witness. + +## 3. Local bit helper and global lowering + +The source is PR210 df95878d11190518e45ef9717c9ee05011f88ace. The independently recorded local scalar word has 2,569,626 weighted events. Its projection is fixed by SHA256 e74e43692685ad5f716b41b363acb8b443c2c90096634a55f0e3728980713944. Both literal forward and signed inverse pass all 20,163 F2 columns, including arbitrary targets and 16,643 independent dirty helpers. The 471 borrowed sources are source aliases, never extra independent dirty coordinates. + +The tagged physical word has digest 614f19da4288021cd5c10a575ec7759c069962a6030bf30edb047573ed76edf6 and realizes the telescope Dout M Din^-1. Its input frames are X:Pq, Y:0, Z:sigma and output frames X:H, Y:H-Pq, Z:H. Thus a completed invocation has no data/helper cross blocks and each independent helper residual is D_(H-sigma). This is a full arbitrary-input operator identity, not just zero-dirt testing. + +The five-stage compiler maps every local live index through the stage owner injection, maps every local temporary to external family 23,683, and applies the stage's data or helper cover bijection. The active source/target pairs are (X1,Y1), (Y1,X1), (X1,Y1), (Y2,X2), (X2,Y2). The unused pair stays parked. A data route is right multiplication by the exact rational rho_i,S; a helper route is the whole-block exchange tau_i. Both are bijections of the eligible GL cover. They are charged address movements, not dense payload arithmetic. + +Cover expansion is strictly phase-major: complete every cover class in stage i before starting the next routed stage or boundary phase. The same rule applies separately to idle, bridge, completion and terminal-exchange phases. Running all five stages for one class before proceeding to another class would be incorrect because rho and tau refer to other classes. The callable stage and boundary iterators specify the phases; a flattened one-class-per-phase template is not a class-major execution schedule. The admission contract rejects that alternative loop ordering. + +For backward stages the compiler reverses the complete local event order, negates scalar coefficients, and replaces local P by H-P. A copied-center block is lowered afresh: copy the original at H-U, transform the copy to H, perform reverse signed scatter, and erase it. It is forbidden to invert an erased temporary. Every original center also retains its complementary live climb. Copy/live index injectivity is checked for all stage orientations. + +The global lowering artifact must emit bridges, idle children, independent gauge completions, and the final signed bank exchange. That exchange is an explicitly paid complete-stream role permutation, not a same-frame shear. A stage-descriptor string alone does not meet this obligation. + +## 4. Rational five-window geometry and prime eligibility + +Take H=Q^24, G=I-J/9 and a triple line q*. Its projector has denominator 6; coordinate permutations supply the port isometries. The two-block involution rho_i,S fixes the two port lines and exchanges their complementary spaces. With Q_i the direct sum of the first i copied complements, the frame is D_[g rho_i,S(P direct_sum Q_i)rho_i,S^-1 g^-1]. The four elementary two-block projector identities imply all eight bank boundary equalities. Rational complements are I-P. + +The exact rational partial swap is D_P=[[I-P,P],[P,I-P]]. It is involutory. Every same-frame scalar gate telescopes exactly, all idle transitions are nested actual projectors, and D_I D_Pq=D_(I-Pq) gives the terminal all-data address endpoint after the scalar exchange. No Pauli or Fourier phase claim is imported from the complex compiler into this bit proof. + +For each independent physical helper, the five routed residuals occupy different H_i. Their supported projectors have pairwise zero products. Their product is D_(I-sum_i sigma_i), so one paid child D_(sum_i sigma_i) completes D_I. This is one correction for each helper, not a packing of unrelated dirty rows. The 2,279 independent entrances have ranks {12:18,13:48,18:13,20:2200}; the 31 source-owned gauge entrances receive no extra completion. + +All 26,750 used physical frame IDs (26,380 distinct bases) have exact determinant witnesses. Their factors lie in {2,3,5,7}; the 231 distinct gauge-bundle bases use {2,3,5}. Window-map denominators also use {2,3,5}. Hence every retained q>2^80 preserves these ranks. General GL charts use gPg^-1, not a recomputed Euclidean orthogonal projection. + +The weighted generic normalizer allows every proper rank, including 60,65,90,100 in dimension120. Its cleared pivot-polynomial degree is at most m r(r+1)/2 < m^3. Thus the bad fraction is at most2m^3/q<10^-16. Each bad edge retains the full invertible local-ring residual and is paid 32m^2=460,800 rank-one fallback children. No field elimination at nonunit pivots is substituted. + +## 5. Exact bit ledger and ordinary finite recurrence + +One invocation has 95,789 positive-rank children and rank mass435,846. Its24 rank22 center copies are included once, as are each original center's live climbs. With H this histogram, + +n5 = 5H + 3520(delta4+delta23+delta46+delta50) + +18delta60+48delta65+13delta90+2200delta100. + +Thus m=120, W=23,683, calls495,304, mass2,837,560, deficit4,400. Work streams do not enlarge the live moment denominator. Five invocations retain all120 rank22 centers. + +The counted finite-bit adapter pays the literal scalar word, six bridge families, weighted good-edge wrappers, bad-class residuals, copy/read/erase, class routing, selector arithmetic, and fixed-tape movement. Its retained primitive theorem fixes the eligible prime and finite source recipe before varying width, so its finite constant may depend on that prime and recipe. It cannot depend on width, ancestor payload values or unrelated spectators except through complete volume. This is the correct quantifier order; an invented numerical Turing-machine constant is unnecessary. + +The largest child ratio is5/6. Three levels do not halve and four do: (5/6)^4=625/1296<1/2. The same one-level weighted moment induction remains valid; the factor4 is used only in depth/descriptor/borrowed-row bounds. Even paying24 simultaneous temporaries gives physical stock23,707 per GL cover vertex and log_q Wphysical(w)<14400w+1. The resulting internal log_q row charge is at most4ceil(log2(max(2,n)))(14400w+1), plus the old-leaf reserve. High digits are borrowed and restored internally; this is not a new external q-adic group factor. + +The defining-integer lift need not equal the older supplier's decoder endpoint. A safe cancellation-free prefix bound is64*37623^3*9430154^2<2^98. It uses neither signed integer restoration nor commutation between stage-dependent decoder channels. F2 payload exactness does not require complex floating precision. + +Let c=704197288590873/10^18. The freshly enclosed full bit moment, including all bad fallback charges, has a strictly positive gap. Start from the retained completed ordinary leaf a0=384599/10^10. Three finite levels with atom exponent beta=c give + +a_(j+1)=(1-c)c+c a_j, +a3=.000704197288358392787581160456097840009769165126434639147437106139267359. + +At every level a_j32mB^2. The complex half-shrink requirement is preserved:2*46<110. + +The physical row overcharge16,171 remains below20,161. Degree1,000,000 and suffix slope4,000,000 retain exact row gap23,971,789/25. These constants come from the changed stock and counted program, not from simply replacing72 by110 in the old guard. + +## 7. Fresh outer47 arithmetic and completion boundary + +Use complex saving747454944651775/10^18, strictly inside its freshly re-enclosed moment. The bit saving is the exact finite a3 above. Both moment gaps exceed7.7e-19. With eta=10^-12 and stopping fraction10^-9, the unchanged retained balanced assembly produces47 positive strict constraints and7 margins. + +The isolated candidate is kappa=703701743496697/10^18, or.000703701743496697. The minimum outer margin exceeds it by approximately7.3899e-19. This arithmetic value exceeds the retained frontier. Exact rational gaps, rather than printed decimals, are the evidence. + +The certificate remains a receipt-bound compositional research candidate with explicit source-theorem dependencies. The clean loader consumes 22 pinned public files and agrees in 23 exact semantic components with the audited context. Its fresh raw ledger and complete five-stage histogram agree; an empty-directory extraction passes all 10 focused tests. The clean-root global emitter regenerates all 12,858,690 weighted additions, 495,304 paid children, 120 fresh copies and erasures, 2,279 helper completions, and 3,520 final pair exchanges. Source-bound global lowering, exact h24 geometry, clean-loader qualification, and finite closure supplements are all mandatory before the entry point emits its PASS certificate. + +These fresh computations do not pretend that the inherited exhaustive F2 columns, exact determinant archive, or complex source theorems were independently reproved. Full portable packaging and Mac qualification remain separate delivery checks. The pinned comparison frontier is df95878's .000694782719690783; the subsequently reported public head31f4ccc1c16c538749845f9244b24747f1cf93dd claims .000695191451687307, which is a separate comparator pending independent validation and is not substituted into this source freeze. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/PARITY-CONTRACT.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/PARITY-CONTRACT.md new file mode 100644 index 0000000000..fad6150b1f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/PARITY-CONTRACT.md @@ -0,0 +1,45 @@ +# Parity-even payload gate removal: inherited contract audit + +Conclusion: removing an even-coefficient pointwise payload ADD is valid for the bit supplier. The odd-prime address arithmetic remains unchanged. A new paid profile still requires the actual filtered word and full frame schedule; this conclusion alone does not certify a new kappa value. + +## Primary source evidence + +The bundled, unmodified primary section [`primary/03-motifs.tex`](primary/03-motifs.tex) states the following. Its exact source, attribution, and file hashes are recorded in [`primary/PROVENANCE.md`](primary/PROVENANCE.md). + +* Line50: in the bit construction scalars lie in F2. +* Lines149–177: replace a scalar by an array in R^Omega, with R the scalar ring of the network. Common R-linear frames give the exact operator `D_out S_Omega D_in^-1`. +* Around line223: the scalar domain need not equal the label field. Bit labels are rational subspaces even though the payload scalars are binary. +* Lines483–493: rational-address frames are F2-linear permutations of array entries; the bit network uses pointwise XOR gates. + +The byte-pinned [`copied-centers-lemma.tex`](copied-centers-lemma.tex) in this package opens with its scalar restoration identity explicitly over F2. Its copy contract preserves the complete role stream, controls and spectators; each copy's frame change and erasure remain paid. + +The retained PR234 [`INTEGRATED_PROOF.md`](INTEGRATED_PROOF.md), line56, explicitly says: "The defining-integer lift need not equal the older supplier's decoder endpoint" and the majorant "uses neither signed integer restoration nor commutation between stage-dependent decoder channels." The package's signed integer decoder checks are stronger supplier evidence; the inherited bit interface does not impose their particular integer endpoint on a newly synthesized F2-equivalent word. + +The retained weighted bit theorem, [`three-stage-cover-bit.tex`](three-stage-cover-bit.tex), uses the odd-prime local ring Z/q^w for address fields and weighted address interchanges. Its rational projectors, unit-pivot tests, route matrices and fallback coefficients are address geometry. They are not the F2 payload ADD coefficients. + +## Operator proof + +Fix the finite complete address set Omega and let one stream be a vector in F2^Omega. A payload gate is `x_a <- x_a + (c mod2) x_b`. For even c this is the identity on every input, including arbitrary correlated dirty streams and spectators. Removing any number of these identity gates leaves the complete scalar operator S_Omega unchanged. Negative odd coefficients and coefficient3 also reduce to1, though the simplest experimental witness can retain their original signed integer representatives. + +Retain each original input/output frame and every remaining gate's original common frame. The common-frame identity then gives the same `D_out S_Omega D_in^-1` for the filtered word. In particular, every independent helper still has its required partial-swap residual and the existing completed-bank proof still applies. No integer identity of the new lift is needed to conclude this F2 operator identity. + +## Safe frame compression + +Deleting an ADD removes its operand-frame alignment requirement. For a given stream, collect successive MOVE operations between surviving uses. A use includes any surviving ADD, COPY read/write, ERASE or required phase/endpoint boundary. No use may be crossed merely because another stream is idle. + +Suppose the original local frames form a nested chain U0 <= U1 <= ... <= Uk. Their exact address changes telescope to `D_Uk D_U0^-1`. Their orthogonal increments are disjoint commuting projectors, so this is one allowed residual of rank dim(Uk)-dim(U0). In the reflected orientation the chain is the reversed complementary chain; the same endpoint difference and rank follow exactly. The ambient stage background cancels. Rebuild both ledgers from the actual surviving uses and actual basis inclusions; do not infer this from summed ranks alone. + +Keep every physical input/output family and its endpoint, all stage boundaries, all data routes/bridges, and every copied-center lifetime. For source527 the120 center copies in the five-stage construction have odd scatter coefficients, so parity filtering does not itself remove those episodes. The shared work stream cannot be used before COPY or after ERASE. A COPY is a barrier even if its original register has no intervening ADD. + +## Required finite admission + +1. Filter actual emitted ADD records by the literal coefficient modulo2; retain all odd-coefficient records in their original order. Check all20107 formal F2 source, target and dirty columns against the admitted shear. The expected local event counts before any further resynthesis are1,783,196 removed and786,621 retained. +2. Generate the actual complemented inverse schedule, with fresh reverse copies as before, and verify every formal F2 column again. Do not reverse an erasure. +3. Compute cancellation-free prefix bounds for the new literal signed forward/inverse projections. Recompute the five-stage bound and finite bill. Failure to reproduce the previous integer decoder is not itself a contract failure; a missing F2 dirty restoration is. +4. Regenerate exact monotone forward/reflected physical paths and the complete paid histogram. Every fused residual's actual endpoints must be checked. Keep all remaining recursive children, copied-center calls, fallback allowance, data idle edges and stock. +5. Rebind the completed banks and final global address lowering to the new word and tags. Their actual rational address projectors, odd-q routes and normalizers must not be reduced modulo2. +6. Rerun actual basis/prime coverage, finite ordinary-leaf assembly, both rational moment engines and all47 outer inequalities before claiming a result. + +For simple monotone MOVE fusion the paid rank mass and physical stock remain unchanged; combining positive increments can improve the concave moment while reducing the number of children. Any different deficit or stock must be explained by a separate exact endpoint change. The displayed bound is still conditional on the retained all-size compiler, selectors, common ancestor charts, restored rows, routing, prime and analytic interfaces. + +Prepared with OpenAI Codex assistance. This audit is independent of the physical parity-filter/fusion implementation owned by the complex research lane. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/README.md new file mode 100644 index 0000000000..e6bb06c84e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/README.md @@ -0,0 +1,8 @@ +# Retained proof documents + +The `.tex` files are byte-pinned theorem sources. `finite_check.py` checks their hashes and phrases. + +`INTEGRATED_PROOF.md`, `FINITE_BIT_ACCOUNTING.md` and `PARITY-CONTRACT.md` are retained verbatim from the +PR234 and source527 packages. Their arguments apply to this package unchanged. Their numerical instances, +such as R, W, stock, bills and digests, describe the earlier source471 and source527 helpers, not this package's p = 10 word. +The p = 10 values are recomputed by `verify.py` and stated in `../PROOF.md` and `../BANK-PROOF.md`. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/copied-centers-lemma.tex b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/copied-centers-lemma.tex new file mode 100644 index 0000000000..8933aaf508 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/copied-centers-lemma.tex @@ -0,0 +1,103 @@ +\subsection{Scalar, frame and temporary-stream contracts} +The retained source-copy, reversible mixer and scatter maps satisfy +$JLV=I$. Over $\mathbb F_2$ the chronological word +\[ + L,\ J,\ L^{-1},\ V,\ L,\ J,\ L^{-1},\ V +\] +adds the input to the target and restores every arbitrary auxiliary. +Over Gaussian dyadics use its corresponding old-value subtraction and +new-value addition. A designated retained output has a distinct terminal +output-use carrier: a matching may feed that carrier, but cannot merge +two designated terminals or append a later middle-producer consumer. +Its remaining uses before cleanup are its scatter reads, all of which +leave its scalar value unchanged. + +Within one tensor invocation suppress the fixed future line and put +\[ + D_0=B\otimes F_h,\quad D_1=A\otimes F_h,\quad + A=B\mathbin{\perp}P,\quad D_U=D_0\mathbin{\perp}(P\otimes U), +\] +where $P$ and the suppressed future factor are one-dimensional and +$U$ is a nondegenerate retained-center space of dimension $r$. +Thus a local change of rank $d$ has ambient rank $d$. +Write $\mathcal F_Q$ for the address frame: it is the rational partial +swap $D_Q$ in the bit construction, and the binary phase $C_Q$ in the +complex construction. Changing a copy from frame $Q_1$ to $Q_2$ means +applying $\mathcal F_{Q_2}\mathcal F_{Q_1}^{-1}$ to its physical stream. +Orthogonal backgrounds cancel in this quotient. + +Copies use Paureel's retained copy/transform/read/discard interface +\cite{paureel,pr29}. A copy has precisely the original complete role +stream, including all control and spectator ranges, and volume $V/W$. +It is processed while inactive original streams are parked on the fixed +depth-first stack tapes. Copying, pointwise reads and erasure are linear +in that stream's volume. Sequential processing needs one additional +fixed work stream, not an independently varying row coordinate. + +\begin{lemma}[Copied retained-center schedule] +In either invocation orientation a designated retained center's +physical rank profile can be changed from $z^r+z^h$ to +$z^r+z^{h-r}$, with the same scalar action, original role endpoints, +and arbitrary-scratch restoration. The rank-$r$ transform on the copy +is included in the recursive call list. +\end{lemma} +\begin{proof} +In the forward orientation the original center has scalar value $w$ +at frame $D_U$ after the middle mixer. Its old sequence was +$D_U\to D_0\to D_1$: scatter at $D_0$, then cleanup at $D_1$, +with ranks $r,h$. +Keep the original at $D_U$, copy its physical stream, and transform +only the copy to $D_0$, paying rank $r$. Supply every scatter read +from that transformed copy while its data targets remain at their +unchanged common frame $D_0$, then erase the temporary. The reads +are exactly those of $w$ in the old schedule. Since they do not change +$w$, move the original directly from $D_U$ to $D_1$ before its first +cleanup incidence; this costs $h-r$. Every subsequent original gate +therefore receives the same scalar value at its required frame. + +In the reverse complementary orientation the old sequence was +$D_0\to D_1\to D_{U^\perp}$, with ranks $h,r$ and scatter at $D_1$. +After the preceding all-$D_0$ operations, advance the original directly +to $D_{U^\perp}=D_0\mathbin{\perp}(P\otimes U^\perp)$, paying +$h-r$. Copy it and transform the copy to $D_1$, paying $r$. +Use that copy for all early scatter reads, then erase it. The original +already has the exact frame and unchanged scalar value required by the +following inverse mixer. Terminal output-use separation ensures no +intervening producer consumer has been bypassed. + +For partial swaps either direction of the rank-$r$ change is the same +involution. For complex phases the forward copy uses $C_U^{-1}$, +the direct original growth uses $C_{U^\perp}$, and the reverse copy +uses $C_FC_{U^\perp}^{-1}=C_U$. These are the same charged ranks, +implemented by the retained forward/inverse residual interface. +All tensor backgrounds cancel as stated. Every original scalar +incidence, final source-copy cancellation and auxiliary source/sink +operator is unchanged. Thus the scalar identity and all endpoints +remain exact on arbitrary initial auxiliary values. +\end{proof} + +For the selected centers $r=h-1$, and there are $h$ distinct retained +output uses per invocation. Their old histogram has rank mass +$hR_h+2\ell_h$, where $\ell_h=h(h-1)$. The new histogram is exactly +\[ + H'_{h,1}=H_{h,1}+h,\qquad H'_{h,h}=H_{h,h}-h, + \qquad H'_{h,r}=H_{h,r}\quad(r\ne1,h), +\] +and hence $\sum_r rH'_{h,r}=hR_h+\ell_h$. +Every old rank-$(h-1)$ residual remains as a paid transform of a copy; +its projector and ordinary bit pivot profile are unchanged. Only the +full-rank original transition becomes the rank-one complement. +The physical role count $R_h$ is unchanged. + +For two factors, put $N=v_av_b$, $B_a=v_bR_a$, $B_b=v_aR_b$, +$W=2N+B_a+B_b$ and $L=v_b\ell_a+v_a\ell_b$. +All exterior, data-front and endpoint-correction calls remain in place. +The resulting complete rank mass is +\[ + s=Wm-N+L,\qquad Wm-s=N-L. +\] +This follows by subtracting exactly $L$ from the retained two-stage +physical mass $Wm-N+2L$. The $N$ rank-one endpoint-copy calls are +separate and remain fully charged. Because center copies retain the +same complete role-volume fraction $1/W$, the existing complete-row, +integer-width remainder and fixed-tape recurrence proofs apply. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/03-motifs.tex b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/03-motifs.tex new file mode 100644 index 0000000000..cdb0ba527a --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/proof/primary/03-motifs.tex @@ -0,0 +1,700 @@ +\section{Two finite networks with a rank saving} +\label{sec:finite-networks} + +We construct two fixed linear networks that exchange two banks of values +while restoring every auxiliary value. When the values are replaced by +arrays, a common representation on all wires at a gate lets that gate act +pointwise without disturbing the representation. We explain this invariant +before constructing the subspace labels that make changes of representation +cheap. The first network uses bit values and rational subspaces; the second +uses Gaussian dyadic values and binary subspaces. The scalar domain specifies +the values combined at a gate, while the subspace labels are used to construct operators +on each wire's address-indexed array. + +Put +\[ + h=100,\qquad v=\binom h3=161700,\qquad + N=v^3=4227952113000000,\qquad m=h^3=1000000. +\] +Let $\mathcal T$ be the set of three-element subsets of $[h]$. +There are two data banks $X_a,Y_a$, indexed by +$a=(a_1,a_2,a_3)\in\mathcal T^3$. +A wire carries one scalar. A gate is a fixed linear map on a specified +set of wires; untouched wires retain their values. The vertices on a +wire are its source, the gates that touch it in time order, and its sink; +its edges join consecutive vertices. We call the name of a wire its +\emph{role}, so that we can distinguish a fixed place in the network +from the value currently carried there. + +\subsection{Scalar operations and restored auxiliary values} + +There are three stages. At stage $j$, fix the other two coordinates and +operate on the $v$ values in each bank obtained by varying coordinate $j$. Thus +there are $v^2$ separate invocations at each stage. +Each such invocation has its own auxiliary wires, distinct from all +other invocations, including those in other stages. There are +\[ + I=3v^2=78440670000 +\] +invocations. In a forward invocation, write $x_T$ for the data used as +controls and $y_S$ for the data to be updated; $S,T\in\mathcal T$ are +their varying $j$th coordinates. These are the logical source and +target banks of the invocation. For each ordered pair $(S,T)$ that is +neighboring under the rule below, there is an auxiliary wire $A_{ST}$. +There are also central wires $C_i$, $i\in[h]$, and in the second +construction a wire $C_\ast$. We call all these auxiliary wires +\emph{scratch wires}; their initial values may be arbitrary. + +The following maps specify the construction. +\begin{itemize} +\item In the bit construction, scalars lie in $\mathbb F_2$, and +$S,T$ are neighbors when $|S\cap T|=1$. +The copy map adds $x_T$ to $A_{ST}$ for each neighbor pair. +The side injection adds $\sum_{T:\,|S\cap T|=1}A_{ST}$ to $y_S$. +The gather adds $\sum_{T\ni i}x_T$ to $C_i$, and the scatter adds +$\sum_{i\in S}C_i$ to $y_S$. +\item In the complex construction, scalars lie in +$\mathbb Z[i,1/2]$, and neighbors are distinct triples with even +intersection. Copy is unchanged. Side injection adds +\[ + -\sum_{T\text{ neighboring }S}\frac{|S\cap T|-1}{2}A_{ST} +\] +to $y_S$. Gather adds $\sum_{T\ni i}x_T$ to $C_i$ and +$\sum_Tx_T$ to $C_\ast$. Scatter adds +$(\sum_{i\in S}C_i-C_\ast)/2$ to $y_S$. +\end{itemize} +Each update leaves its control wires unchanged. The first two rows of +the following schedule remove the effect of the old scratch values; +the next four introduce the source values and add their effect to the +target; the last two restore the scratch values. +This cancellation of arbitrary initial scratch values is a linear +instance of the restoration construction for transparent computation in +Buhrman, Cleve, Kouck\'y, Loff and Speelman~\cite[Section~3]{BuhrmanCleveKouckyLoffSpeelman2014}. +The forward schedule is +\begin{equation} +\begin{array}{c|l|l} +\text{row}&\text{operation}&\text{gate grouping}\\ \hline +0&\text{subtract side injection}&\text{one gate per target}\\ +1&\text{subtract scatter}&\text{one gate on targets and center}\\ +2&\text{copy}&\text{one gate per source}\\ +3&\text{gather}&\text{one gate on sources and center}\\ +4&\text{scatter}&\text{one gate on targets and center}\\ +5&\text{side injection}&\text{one gate per target}\\ +6&\text{undo gather}&\text{one gate on sources and center}\\ +7&\text{undo copy}&\text{one gate per source}. +\end{array} +\label{eq:motif-schedule} +\end{equation} + +\begin{lemma}\label{lem:scalar-motifs} +For arbitrary initial values of its auxiliary wires, a forward +invocation changes $y_S$ to $y_S+x_S$ and leaves every other value +unchanged. Performing a forward invocation from $X$ to $Y$ at stage 1, +the inverse forward schedule from $Y$ to $X$ at stage 2, and a forward +invocation from $X$ to $Y$ at stage 3 sends +\[ + (X_a,Y_a)\longmapsto(-Y_a,X_a) +\] +and restores every auxiliary value. In the bit construction this is the +permutation exchanging $X_a$ and $Y_a$. +\end{lemma} + +\begin{proof} +Write $\mathcal V$ for copy, $\mathcal G$ for gather, +$\mathcal J$ for side injection and $\mathcal R$ for scatter. +If the initial side and central vectors are $a,c$, the first two rows +subtract $\mathcal J a+\mathcal R c$ from $y$. Rows 2 and 3 change +them to $a+\mathcal Vx,c+\mathcal Gx$. Rows 4 and 5 therefore add +$\mathcal R(c+\mathcal Gx)+\mathcal J(a+\mathcal Vx)$. +Rows 6 and 7 restore $c,a$. The net target change is +$(\mathcal J\mathcal V+\mathcal R\mathcal G)x$, independently of +$a,c$. + +In the bit case, the central coefficient from $x_T$ to $y_S$ is +$|S\cap T|\bmod2$. The side contribution cancels exactly the +intersection-one cases; distinct triples with intersection zero or two +already have coefficient zero, and the self coefficient is one. +In the complex case, the central coefficient is $(|S\cap T|-1)/2$. +The side cancels it for distinct triples with intersection zero or two; +intersection one contributes zero, and the self coefficient is one. +Thus both net maps are $y\gets y+x$. + +The inverse schedule with logical source $Y$ and target $X$ effects +$X\gets X-Y$. Starting from $(x,y)$, the three stages give +$(x,y+x)$, then $(-y,y+x)$, then $(-y,x)$. +Each invocation restores its own auxiliary wires. +\end{proof} + +A fixed triple has +\[ + z_{\rm b}=3\binom{97}{2}=13968,\qquad + z_{\rm c}=\binom{97}{3}+3\cdot97=147731 +\] +neighbors in the two constructions, respectively. The second count +separates intersection zero and intersection two. Ordered pairs must +be counted: there are $vz$ side wires in each invocation, not $vz/2$. +With $c_{\rm b}=100$ and $c_{\rm c}=101$ central wires per invocation, +the total wire counts are +\begin{align} + W_{\rm b}&=2N+I(vz_{\rm b}+c_{\rm b}) + =177176569091445000000,\label{eq:bit-wire-count}\\ + W_{\rm c}&=2N+I(vz_{\rm c}+c_{\rm c}) + =1873807244643542670000.\label{eq:complex-wire-count} +\end{align} +All these numbers are fixed, independently of any eventual input length. + +\subsection{From scalar values to arrays} + +We record the representation principle before choosing the labels. Let +$R$ be the scalar ring of either network and let $\Omega$ be a finite address +set common to all wires. Replace each scalar by an array in $R^\Omega$, and +apply each scalar gate pointwise at every address. Write $\mathsf S_\Omega$ +for the resulting network on the vector of wire arrays. + +At each source, gate and sink $v$, assign an invertible $R$-linear operator +$D_v$ on $R^\Omega$, called its \emph{frame}. A frame acts on the values +indexed by addresses within one wire's array and may mix them; a gate instead +combines wire values at each fixed address. All incoming and outgoing +incidences of one gate use the same $D_v$. On an edge from $u$ to $v$, apply +$D_vD_u^{-1}$ to that wire's array. Define the operators on all input and +output roles by +\[ + D_{\rm in}=\bigoplus_w D_{\mathrm{source}(w)},\qquad + D_{\rm out}=\bigoplus_w D_{\mathrm{sink}(w)}. +\] +For a supplied physical input $f$, define its logical interpretation to be +$g=D_{\rm in}^{-1}f$; this definition requires no physical preprocessing. +At a vertex $v$, the invariant is that the stored array equals $D_v$ applied +to the logical array there. It holds at the sources by definition. On an +edge whose logical array is $\varphi$, the edge operator changes $D_u\varphi$ +to $D_v\varphi$. At a gate with logical input arrays $\varphi_j$, +$R$-linearity gives +$\sum_j c_jD_v\varphi_j=D_v(\sum_j c_j\varphi_j)$ for each output combination, with +$c_j\in R$. Thus the common frame commutes with the pointwise gate, and +the invariant continues to the sinks. The implemented operator is therefore +\begin{equation} + D_{\rm out}\,\mathsf S_\Omega\,D_{\rm in}^{-1}. + \label{eq:common-frame-identity} +\end{equation} +In particular, if the scalar network is a signed role permutation that +sends input role $w$ to output role $\rho(w)$ with scalar sign +$\varepsilon_w$, that route applies +$\varepsilon_wD_{\mathrm{sink}(\rho(w))} +D_{\mathrm{source}(w)}^{-1}$ to its input array. All roles, including +the auxiliary roles, enter this identity. Once the scalar routing is fixed, +the endpoint frames determine the array operator on each route; the +intermediate frames can then be chosen to make each edge change inexpensive. + +Figure~\ref{fig:frame-compatibility} summarizes this invariant. +\begin{figure}[ht] +\centering +\input{figures/proof-map.tex} +\caption{An edge changes the representation of one role's logical array +$g_w$. At the next gate $G$, all $t$ input arrays have the common frame +$D_v$, so the pointwise linear gate commutes with that frame. The same +$D_v$ acts on each output component.} +\label{fig:frame-compatibility} +\end{figure} + +\subsection{Subspaces attached to the gates} + +The scalar network already has the required signed exchange. We now +choose its intermediate labels to make the changes of frame inexpensive. +A label is a nondegenerate subspace of a fixed bilinear space. On every +edge one label will contain the other. For such an edge, the +\emph{orthogonal residual} is the orthogonal complement of the smaller label inside +the larger one; its dimension is the absolute change in label dimension. +The saving will come from keeping the total dimension lost on decreasing +edges small relative to $N$. + +For the bit network, let $F=\mathbb Q^h$ with bilinear form +\[ + \langle x,y\rangle=x^{\mathsf T}(I-J/9)y, +\] +where $J$ is the all-one matrix. This form has eigenvalues $1$ and +$1-h/9=-91/9$, so it is nondegenerate. For a triple $T$ let $t_T$ be +its indicator vector. Then +\[ + \langle t_S,t_T\rangle=|S\cap T|-1, + \qquad \langle t_T,t_T\rangle=2. +\] +For the complex network, take instead $F=\mathbb F_2^h$ with the +ordinary dot product; here $t_T\cdot t_T=1$. +Thus every triple line is nondegenerate, and neighboring triple lines +are orthogonal, in the label field belonging to either construction. +The scalar domain need not equal the label field. +These degree-one intersection formulas specialize the construction +described by Alon~\cite[Section~3, remark after Theorem~1.1]{Alon1998} +to the prime $2$, with the ground-set size changed to $h=100$. + +The ambient label space is $\mathcal F=F^{\otimes3}$ with its tensor +bilinear form. It has dimension $m$ and is nondegenerate. Write +\[ + u_a=t_{a_1}\otimes t_{a_2}\otimes t_{a_3},\qquad U_a=\langle u_a\rangle. +\] +The prescribed terminal labels are +\[ +\begin{array}{c|cc} +\text{role}&\text{source label}&\text{sink label}\\ \hline +X_a&U_a&\mathcal F\\ +Y_a&0&U_a^\perp\\ +\text{each scratch role}&0&\mathcal F. +\end{array} +\] +Write $W$ for the wire count in the construction under consideration. +The source dimensions sum to $N$ and the sink dimensions to $Wm-N$. +Thus the signed dimension changes will sum to $Wm-2N$, because the +contributions at gates cancel. If decreasing edges lose a total +dimension $L$, the sum of absolute changes is $Wm-2N+2L$. +We will obtain $L1$. +The same argument gives a unit vector in $Q^\perp$ when it is nonzero. +A triple complement, and the complement of two neighboring triple +lines, contain coordinate units outside supports of sizes at most +three and six, respectively. Full tensor spaces contain coordinate +units as well. In each nonzero tensor summand, tensoring these chosen +norm-one vectors gives a norm-one vector; placing it in that orthogonal +summand gives one in the whole residual. Each residual is nondegenerate +by the decompositions above. Thus every nonzero residual is nonalternating. + +For completeness, every nondegenerate nonalternating binary symmetric +space has an orthonormal basis. Split off unit lines until the +remaining space is alternating. A nonzero nondegenerate alternating +space splits into planes with bases $a,b$ satisfying +$a\cdot a=b\cdot b=0$, $a\cdot b=1$; this follows by choosing a +nonzero $a$, choosing $b$ with $a\cdot b=1$, and taking the orthogonal +complement of their nondegenerate plane. Retain one unit vector $w$ +from the lines already split off. A plane orthogonal to $w$ can be +absorbed into that line: the three vectors +\[ + w+a,\qquad w+b,\qquad w+a+b +\] +are independent, pairwise orthogonal, and have norm one. +Use one of these new unit vectors in place of $w$ for the next plane; +the remaining planes are still orthogonal to it. Repeating this +operation absorbs every alternating plane. +\end{proof} + +The loss ratios have the exact values +\[ + \frac{L_{\rm b}}{N}=\frac{100}{539},\qquad + \frac{L_{\rm c}}{N}=\frac{101}{539}. +\] +In particular, both are smaller than $1/2$. We now turn the dimension +count into the two interfaces needed later. + +\subsection{The rational matrix interface} + +For a nondegenerate rational subspace $U\subset\mathcal F$, write +$P_U$ for the projection onto $U$ along $U^\perp$. Assign $P_U$ to +each gate or sink with label $U$. Assign the source matrix $-P_{U_a}$ +to $X_a$ and zero to every other source. +These are fixed rational $m\times m$ matrices; write $M_v$ for the matrix +at vertex $v$. Define +$\rho(X_a)=Y_a$, $\rho(Y_a)=X_a$, and let $\rho$ fix every auxiliary +wire. + +In the tape application, two address chunks are written as vectors $H,D$ +of $m$ fields. For a matrix $M$, the frame $\Phi_M$ moves the array entry +at $(H,D)$ to $(H+MD,D)$, leaving the other address fields unchanged. +The fields use a radix coprime to the fixed denominators, and addition is +modulo their common range. Hence $\Phi_M$ is an invertible +$\mathbb F_2$-linear permutation of array entries, and +$\Phi_{M'}\Phi_M=\Phi_{M'+M}$. Using $D_v=\Phi_{M_v}$ +in \eqref{eq:common-frame-identity}, the endpoint matrix difference on each +routed role is exactly the shear applied to that role. The following identity +makes it the same shear $H\gets H+D$ on every role; +Section~\ref{sec:tape-interchange} turns that shear into a field interchange +and implements an edge change with one smaller interchange per unit of its +rational rank. + +\begin{proposition}\label{prop:bit-motif-interface} +The bit network has $W_{\rm b}$ wires, uses only pointwise XOR gates, +and sends its input vector to the permutation $\rho$ of that vector. +Its rational matrices are common to all incidences of a gate and obey +\[ + M_{\mathrm{sink}(\rho(w))}-M_{\mathrm{source}(w)}=I_m + \quad\text{for every input role }w. +\] +The sum of the rational ranks of all edge differences is +\begin{align} + s_{\rm b} + &=\sum_{e}\operatorname{rank}_{\mathbb Q} + (M_{\mathrm{head}(e)}-M_{\mathrm{tail}(e)})\\ + &=W_{\rm b}m-N+2L_{\rm b} + =1771765690887858612870000000$. + +For an input $X_a$ the endpoint difference is +$P_{U_a^\perp}-(-P_{U_a})=I_m$. Every other role has zero source +matrix and identity sink matrix. This proves the interface. +\end{proof} + +\subsection{The binary phase interface} + +Use the complex scalar network and binary labels. For a binary vector +$x$, let $\operatorname{wt}(x)$ denote its integer Hamming weight, and +write $[b]\in\{0,1\}$ for the integer representative of $b\in\mathbb F_2$. +For a label $U$, let +\[ + q_U(x)=\operatorname{wt}(P_Ux)\pmod4. +\] +The projection here is over $\mathbb F_2$. +Let +\[ + H=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix},\quad + C=H\begin{pmatrix}1&0\\0&i\end{pmatrix}H + =aI+bX,\qquad a=\frac{1+i}{2},\quad b=\frac{1-i}{2}, +\] +where $X$ interchanges the two coordinates. On functions of +$x\in\mathbb F_2^m$ define +\[ + \mathcal C_U=H^{\otimes m}\operatorname{diag}_x(i^{q_U(x)})H^{\otimes m}. +\] +The use of $H$ in this definition is an identity of matrices. Each entry +of $\mathcal C_U$ and its inverse is a Gaussian integer divided by $2^m$, +so both preserve arrays over $\mathbb Z[i,1/2]$. The kernels implemented +below have Gaussian dyadic coefficients. + +To apply the scalar network to these functions, replace the scalar on +each wire $w$ by an array +$f_w:\mathbb F_2^m\to\mathbb Z[i,1/2]$. At each address, a gate +applies its scalar linear map to the values on the wires it touches. +The frame in \eqref{eq:common-frame-identity} is $D_v=\mathcal C_U$ at a +vertex with label $U$. On an edge from label $U$ to label $V$, apply +$\mathcal C_V\mathcal C_U^{-1}$ to that wire's array. +All frames are diagonalized by the same matrix $H^{\otimes m}$. +For an integer $k\ge1$, an address for $k$ columns is +$(x^{(1)},\ldots,x^{(k)})\in(\mathbb F_2^m)^k$; every frame and edge +operator is then the tensor product of its one-column version over +these $k$ coordinates. Each scalar gate is still applied once at each +joint address, to the vector of values on the roles it touches. + +\begin{proposition}\label{prop:complex-motif-interface} +For each edge of the complex network, write $U,V$ for its tail and +head labels. Its phase-frame difference +$\mathcal C_V\mathcal C_U^{-1}$ is a product of one translation +kernel $aI+bX_v$, or its inverse, per vector in an orthonormal basis +of the edge residual. Here $(X_vf)(x)=f(x+v)$. +The sum of these basis lengths is +\[ + s_{\rm c}=W_{\rm c}m-2N+2L_{\rm c} + =18738072446366712673080000000$. + +For an edge $e$, write $\mathcal B_e$ for its residual basis and +$K_{e,v}$ for the forward or inverse translation kernel associated +with $v\in\mathcal B_e$. Taking tensor products preserves their +product, so on $k$ columns +\[ + \bigl(\mathcal C_V\mathcal C_U^{-1}\bigr)^{\otimes k} + =\prod_{v\in\mathcal B_e}K_{e,v}^{\otimes k}. +\] +Thus each residual vector contributes one factor acting on all $k$ +columns, and there are $s_{\rm c}$ such factors over the network. + +Let $\rho$ denote the underlying permutation of the complex roles: it +exchanges $X_a,Y_a$ and fixes each scratch role. +By Lemma~\ref{lem:scalar-motifs}, the pointwise scalar network sends an input array at +$X_a$ to $Y_a$ with sign $+1$, an input at $Y_a$ to $X_a$ with sign +$-1$, and each scratch input to its own output with sign $+1$. +Applying \eqref{eq:common-frame-identity} with $D_v=\mathcal C_{U_v}$, +where $U_v$ is the label at vertex $v$, shows that an input role $w$ reaches +output role $\rho(w)$ with that sign and with operator +$\mathcal C_{U_{\mathrm{sink}(\rho(w))}} + \mathcal C_{U_{\mathrm{source}(w)}}^{-1}$. +For $k$ columns, use $D_v=\mathcal C_{U_v}^{\otimes k}$ on the joint +address set in the same identity. The route operator is then the $k$th +tensor power of the displayed address operator, multiplied by its scalar +route sign once. +The zero label has frame $I$, while the full label has frame +$C^{\otimes m}$ because $q_{\mathcal F}(x)=\operatorname{wt}(x)$. +Every pair except $X_a\to Y_a$ has these zero and full labels. +For the remaining pair, write $u=u_a$. Its binary norm is one and +its weight is $3^3=27$. Orthogonal weight additivity yields +\begin{align*} + q_{U_a^\perp}(x)-q_{U_a}(x) + &=\operatorname{wt}(x)-2\operatorname{wt}(u)[u\cdot x]\\ + &=\operatorname{wt}(x)+2[u\cdot x]\pmod4. +\end{align*} +Since $2[u\cdot x]\equiv2\sum_{j\in\operatorname{supp}(u)}x_j +\pmod4$, the operator on $X_a\to Y_a$ is the tensor of $C^{-1}$ on the +27 coordinates of $\operatorname{supp}(u)$ and $C$ elsewhere. +Put $Z=\operatorname{diag}(1,-1)$. Direct multiplication gives +\[ + C=iZC^{-1}Z,\qquad C^{-1}=-iZCZ. +\] +For $k$ columns, let $Z_{a,k}$ be the tensor product of $Z$ on +those 27 coordinates in every column and the identity elsewhere. +Apply $Z_{a,k}$ before the network at $X_a$, and apply +$i^{27k}Z_{a,k}$ after the network at $Y_a$; the latter scalar is +applied once to the whole role. There are $27k$ inverse factors, so +the identity $C=iZC^{-1}Z$ turns each of them into $C$. The operator +on this pair is therefore $C^{\otimes mk}$ as well. +Only the physical $X$ outputs still carry the minus sign of the +scalar exchange. Negate those outputs and send output role $\rho(w)$ +back to role $w$. Every role, including every scratch role, now has +the required forward tensor product. +\end{proof} + +\subsection{Explicit rational bounds for the two recurrences} + +The relative rank deficits are +\[ + \eta_{\rm b}=\frac{W_{\rm b}m-s_{\rm b}}{W_{\rm b}m} + =\frac{339}{22587335000000},\qquad + \eta_{\rm c}=\frac{W_{\rm c}m-s_{\rm c}}{W_{\rm c}m} + =\frac{73}{19906842167500}. +\] +For both recurrences we may use the fixed rational exponent +\begin{equation} + \tau=\sigma=1-2^{-50}. + \label{eq:explicit-motif-exponents} +\end{equation} +Both exact deficits displayed above are greater than $20\cdot2^{-50}$. +Since $m<2^{20}$ and $\log 2<1$, we have $\log m<20$, whence +\[ + m^{1-2^{-50}} + =m\exp(-2^{-50}\log m) + >m(1-20\cdot2^{-50})>m(1-\eta) +\] +for either $\eta=\eta_{\rm b}$ or $\eta=\eta_{\rm c}$. +Consequently +\[ + \frac{s_{\rm b}}{W_{\rm b}}2^{80}$ avoiding all fixed rational denominators and rank witnesses. +At atom width $w$ use the finite cover $\operatorname{GL}_m(R_w)$ and its +right-multiplication edges $g\mapsto gR_s$. Every vertex has the unique chart +\[ + g=g_0+qG_1,\quad g_0\in\operatorname{GL}_m(\mathbb F_q), + \quad G_1\in(\mathbb Z/q^{w-1}\mathbb Z)^{m^2}, +\] +using fixed representatives for $g_0$. Right multiplication permutes $g_0$ +and acts affinely on $G_1$, with a carry determined by $g_0$. Its fixed +dimensional rational linear part factors into fixed scalings, ordered +shifts and a constant number of old width-$O(w)$ interchanges. Thus each +fixed port routing costs $O(Vw^{1-a_{\rm old}})$. + +Let $W_0=|\operatorname{GL}_m(\mathbb F_q)|(2v+3R_{\rm loc})$. +The full role count is $W(w)=W_0q^{m^2(w-1)}$. Split preceding rows into +low role type, high matrix and unused stock. Batch \emph{all} high matrices +for each low type in one stream. A frame edge is one child on this whole +batch, of volume $V/W_0$, and routing is executed once per fixed operation +type. Consequently neither the number of tapes nor the number of child +programs grows with $w$. High cardinality cancels in the normalized moment, +but its $m^2(w-1)$ digits are charged in the row reserve. + +For each fixed projector require the leading minors of sizes $1$ through +$r$ to be units. Each cleared minor polynomial in $g_0$ is nonzero: +similarity to $\operatorname{diag}(I_r,0)$ supplies a witness after the +fixed rank is preserved modulo $q$. Their total degree is at most $m^3$. +The polynomial zero bound and conditioning on invertibility (a factor at +most two) give bad fraction at most $2m^3/q<10^{-16}$ for each edge type. +No simultaneous union bound over edge types is needed, since their moments +are averaged separately. Good classes use the whole-rank child; bad +classes use the full $32m^2$-child fallback just proved. + +Let $H_r$ be the three-stage histogram described above and +$W=2v+3R_{\rm loc}=90140$. The retained ledger gives +\[ + \sum_r rH_r=6037356,\qquad Wm-\sum_r rH_r=2024=2v-3\ell, + \qquad \max\{r:H_r>0\}=66. +\] +For $a=747/2000000$, $\tau=1-a$, and $b=10^{-16}$ the conservative moment is +\[ + \mu_\tau\le + \sum_r\frac{H_r}{W}(r/m)^\tau+ + b\frac{32m^2\sum_rH_r}{W}(1/m)^\tau<1. +\] +The entire fallback is added; no displaced good contribution is subtracted. +The exact script \path{scripts/three_stage_cover_network.py} and certificate +\path{certificates/three-stage-cover-network.json}, from the retained axis +\path{certificates/three-stage-cover-bit-input.json}, give +$1-\mu_\tau>6.3397366396\cdot10^{-7}$. +The certificate uses the 32-term positive atanh logarithm series with its +geometric tail, $\exp(u)\le1+u+u^2/(2(1-u/3))$, and upward rounding to +the grid $2^{-120}$. All inputs have $0\le u<3$; these are rational upper +bounds, not floating-point root estimates. Since every child ratio is at +most one and $\tau<1$, this same strict bound implies $\mu_1<1$. + +With $T(n,w)$ denoting time divided by logical volume, the fixed low-type +profile $\{c_r\}$, including fallback classes, satisfies +\[ + T(n,w)\le\sum_rc_rT(r\lfloor n/m\rfloor,w)+Cn+Cw^{1-a_{\rm old}} + \quad(n\ge m),\qquad + T(n,w)\le Cw^{1-a_{\rm old}}\quad(na_{\rm bit}$ and $\beta<1-a_{\rm bit}$ make both +the atom-adapter and borrowing terms lower order. The remainder cost +$O(Vw^{1-a_{\rm old}})$ is also covered. Thus the ordinary radix-$q$ +interchange has cost $O(Ve^{1-a_{\rm bit}})$, without an externally supplied +superpolynomial stock of rows. + +For an original binary chunk range $[2^e]$, let +$t=\lceil e/\log_2q\rceil$ and embed it numerically into $[q^t]$. +Pad both exchanged ranges while retaining every spectator. The total +logical-volume increase is below $q^2$. Execute the completed ordinary +radix-$q$ interchange, then remove the padding. Its endpoint preserves the +rectangular genuine set $[2^e]\times[2^e]$; intermediate maps may mix genuine +and padded addresses, which does not affect this endpoint justification. +As $q$ is fixed and $t=\Theta(e)$, the binary interchange has the same +saving exponent. All schedules use a fixed number of finite-alphabet +tapes; low residue tables and port types are fixed independently of $w$. + +The conclusion retains the original local-producer, ordered-affine, +ordinary-leaf and multiplication-framework hypotheses. It adds no free +unit-scaling, dense chart transformation, or external row-stock primitive. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/raw_ledger.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/raw_ledger.py new file mode 100644 index 0000000000..e28e7bfbfa --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/raw_ledger.py @@ -0,0 +1,191 @@ +"""Independent fresh p = 10 physical path census, including both reflections. +Derived from the source527 census (eumemic); constants rebound to the gen5 word, then generalized to any cube +size (h, v, m, copies and deficits from word_pins.shape; word counts pinned in word-pins.json) for p = 10. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +No saved receipt, search script, or historical profile is consumed. +""" +from collections import Counter,defaultdict +from types import SimpleNamespace +from word_pins import expect,shape + +def run(context): + m=SimpleNamespace(**context);W=m.W;C=m.C;chosen=m.pair_selection;fresh=m.fresh;pair_byalias=m.pair_byalias;pair_bydirty=m.pair_bydirty + compact=lambda h:{str(k):v for k,v in sorted(h.items())if v} + zero=W.register([]);compact=lambda h:{str(k):v for k,v in sorted(h.items())if v} + # Exact raw event sequence, with every actual extra source included. + events=[] + for j,op in enumerate(W.rest): + for s in m.at[j]:events.append(dict(kind='gauge',ref=s,frame=W.gauge[s]['frame'],targets=list(m.adj[s]))) + if op in m.bywrite:events.append(dict(kind='terminalwrite',ref=op,frame=W.opframe[op],targets=[m.bywrite[op]['pivot']])) + if op in m.afterwrite:events.append(dict(kind='terminalread',ref=op,frame=m.afterwrite[op]['root_frame'],targets=m.afterwrite[op]['targets'])) + for s in m.at[len(W.rest)]:events.append(dict(kind='gauge',ref=s,frame=W.gauge[s]['frame'],targets=list(m.adj[s]))) + endgauge=len(events) + for j,r in enumerate(W.g['roots']): + if r['kind']=='side'and j not in m.deletedroots:events.append(dict(kind='root',ref=j,frame=W.w['root_frame'][j],targets=r['targets'])) + for e in m.deliveries[j]:events.append(dict(kind='K',ref=e['passive'],frame=e['deliver_frame'],targets=e['receivers'])) + for t in range(W.v):events.append(dict(kind='endpoint',ref=t,frame=W.register(W.module.kernel([C.cov[t]],W.h)[0]),targets=[t])) + + def histogram(t,path): + h=Counter();rev=Counter();assert path[0]==zero and C.dimf[path[-1]]==W.h-1 + for f in path:assert C.nondeg(f)and all(W.module.dot(C.cov[t],b)==0 for b in C.B[f]),('cap/nondeg',t,f) + for a,b in zip(path,path[1:]): + assert C.sub(a,b),('forward inclusion',t,a,b) + d=C.dimf[b]-C.dimf[a];assert d>=0 + if d:h[d]+=1 + for a,b in zip(reversed(path),list(reversed(path))[1:]): + assert all(W.module.dot(x,y)==0 for x in C.A[a]for y in C.B[b]),('reflected inclusion',t,a,b) + d=len(C.A[b])-len(C.A[a]);assert d>=0 + if d:rev[d]+=1 + assert h==rev and sum(k*v for k,v in h.items())==W.h-1 + return h + + def paths(agg,readframes,echelon,rankgroups): + rankowner={t:k for k,g in enumerate(rankgroups)for t in g['targets']} + out=[[zero]for _ in range(W.v)];owner={t:k for k,g in enumerate(agg)for t in g['targets']};roles=defaultdict(list) + for k,g in enumerate(agg): + for s in g['roles']:roles[s].append(k) + active=set(range(len(agg)));rankactive=set(range(len(rankgroups)));echactive=set(range(len(echelon)));seen=[set()for _ in echelon];restores=[] + for j,e in enumerate(events): + if j>=endgauge:assert not active and not rankactive and not echactive + s=e['ref'];T=set(e['targets']) + if e['kind']=='gauge': + if s in pair_byalias:continue + if s in fresh: + for t,c in fresh[s]['transformed_response'].items(): + if c:out[int(t)].append(W.gauge[s]['frame']) + continue + skip=set() + for k,g in enumerate(echelon): + if k not in echactive:continue + if s not in g['roles']: + if T&set(g['targets']): + assert seen[k]==g['roles'];restores.append(dict(group=k,before_role=s,event=j)) + for t in g['targets']:out[t].append(g['frame']) + echactive.remove(k) + continue + seen[k].add(s);skip.update(g['targets']) + for t,a in g['response'].items(): + if a.get(s,0):out[t].append(W.gauge[s]['frame']) + for k in sorted({rankowner[t]for t in T if t in rankowner}): + if k in rankactive and s not in rankgroups[k]['roles']: + for t in rankgroups[k]['targets']:out[t].append(rankgroups[k]['frame']) + rankactive.remove(k) + for k in sorted({owner[t]for t in T if t in owner}): + if k in active and s not in agg[k]['roles']: + for t in agg[k]['targets']:out[t].append(agg[k]['frame']) + active.remove(k) + for k in roles[s]: + assert k in active;g=agg[k];out[g['pivot']].append(readframes[s,k]);skip.update(g['targets']) + for t in e['targets']: + if t in skip:continue + rk=rankowner.get(t) + if rk in rankactive and t in rankgroups[rk]['dependent']:continue + out[t].append(e['frame']) + else: + assert not(T&{t for k in active for t in agg[k]['targets']}) + assert not(T&{t for k in echactive for t in echelon[k]['targets']}) + for t in e['targets']:out[t].append(e['frame']) + H=Counter() + for t,p in enumerate(out):H.update(histogram(t,p)) + return out,H,restores + + newpaths,target,restores=paths(m.agg,m.read_frames,m.echelon,m.rankgroups) + # Recover raw literal adjoint independently, respecting all omitted copies. + adj=[{}for _ in range(W.R)] + for root,role in zip(W.g['roots'],W.w['rootroles']): + for t in root['targets']:adj[role][t]=adj[role].get(t,0)+1 + for i in reversed(W.phase1+W.rest): + if i in m.omitted:continue + a,b,_=W.ops[i] + for t,c in adj[a].items():adj[b][t]=adj[b].get(t,0)+c + assert adj==m.adj + oldused={r[k]for r in m.selection+m.gauge_selection if r['role']not in pair_byalias for k in('source','partner')} + assert len({r[k]for r in chosen for k in('source','partner')})==2*len(chosen)==0 and not oldused&{r[k]for r in chosen for k in('source','partner')} + for r in chosen: + b=r['aliased_role'];response=Counter(adj[b]) + for a,c in r['retained_dirty_coefficients'].items(): + for t,v in adj[a].items():response[t]+=c*v + assert not any(response.values()) + # Complete physical source and auxiliary census, including all alias handoffs. + recipient={d:b for b,d in W.pairs};roots=defaultdict(list) + for j,s in enumerate(W.w['rootroles']):roots[s].append(W.w['root_frame'][j]) + source_role={s:n for n,s in W.source.items()};plainborrow={r['role']:r for r in m.selection};gauges={r['role']:r for r in m.gauge_selection} + assert len(plainborrow)==0 and len(gauges)==0 and len(m.borrow)==0 + seq={s:[('op',i,W.opframe[i])for i in W.role_ops[s]]+[('root',j,f)for j,f in enumerate(roots[s])]for s in range(W.R)} + def physical_path(s): + a=list(seq[s]) + if s in pair_bydirty:a=[('paired-source-injection',s,pair_bydirty[s]['mix_frame'])]+a + if s in recipient: + b=recipient[s];a+=[('alias',b,W.gauge[b]['frame'])]+seq[b] + return a+[('full',s,W.w['full_frame'])] + count=0 + + def census_hist(start,events): + nonlocal count + count+=1;prev=start;dim=C.dimf[start]if start is not None else 0;out=Counter();chain=[]if start is None else[start] + for _,_,f in events: + assert C.nondeg(f)and(prev is None or C.sub(prev,f));d=C.dimf[f]-dim;assert d>=0 + if d:out[d]+=1 + prev=f;dim=C.dimf[f];chain.append(f) + assert dim==W.h;reflected=Counter() + for a,b in zip(reversed(chain),list(reversed(chain))[1:]): + assert all(W.module.dot(x,y)==0 for x in C.A[a]for y in C.B[b]);d=len(C.A[b])-len(C.A[a]);assert d>=0 + if d:reflected[d]+=1 + if start is None: + d=W.h-len(C.A[chain[0]]) + if d:reflected[d]+=1 + assert reflected==out + return out,chain + internal=Counter();sources=Counter();pathrows={};sourcepaths={};dirtypaths={} + for s in m.regs: + start=W.gauge[s]['frame']if s in W.gauge else W.w['source_frame'][source_role[s]]if s in source_role else None + H,chain=census_hist(start,physical_path(s)) + if s in source_role:H[1]+=1 + internal.update(H);pathrows['a'+str(s)]=compact(H) + if s in pair_bydirty:dirtypaths[str(s)]=[zero]+chain + for j,r in enumerate(W.g['roots']): + if r['kind']=='center':internal[C.dimf[W.w['root_frame'][j]]]+=1 + for entry in W.k['entries']: + carrier,n=entry['carrier'],entry['passive'];H,chain=census_hist(entry['carrier_chain'][0],[('carrier',j,f)for j,f in enumerate(entry['carrier_chain'][1:])]);sources.update(H) + if n not in m.by_source: + H,chain=census_hist(entry['passive_chain'][0],[('passive',j,f)for j,f in enumerate(entry['passive_chain'][1:])]);sources.update(H);pathrows['s'+str(n)]=compact(H);continue + r=m.by_source[n];s=r['role'];events=physical_path(s) + if s in plainborrow: + r=plainborrow[s];events=[x for x in events if not(x[0]=='op'and x[1]==r['omit_copy'])];at=next(i for i,x in enumerate(events)if x[0]=='op'and x[1]==r['early']);events.insert(at,('mix',n,entry['mix_frame'])) + else: + assert s in gauges;events=[('mix',n,entry['mix_frame']),('gauge',s,W.gauge[s]['frame'])]+events + H,chain=census_hist(W.w['source_frame'][n],events);sources.update(H);pathrows['s'+str(n)]=compact(H) + if s in m.extra_byrole:sourcepaths[str(s)]=chain + assert count==len(m.regs)+W.v and len(sourcepaths)==0 and len(dirtypaths)==0 and sum(k*v for k,v in sources.items())==W.v*(W.h-1) + gauges=Counter(z['dim']for s,z in W.gauge.items()if s not in W.donor and s not in m.borrow) + S=shape();expect('entrance_ranks',gauges) + copies=Counter(C.dimf[W.w['root_frame'][j]]for j,r in enumerate(W.g['roots'])if r['kind']=='center');assert copies=={S['center_rank']:S['centers']} + withoutcopies=internal.copy();withoutcopies.subtract(copies);assert min(withoutcopies.values())>=0 + helper=internal+sources+target;h=S['h'];v=S['v'];R=len(m.regs);M=S['m'];stock=4*v+R + assert h==W.h and v==W.v and R==expect('physical_R',R) and len(m.borrow)==0 + assert sum(k*n for k,n in helper.items())==h*R+2*v*(h-1)+sum(k*n for k,n in copies.items())-sum(k*n for k,n in gauges.items()) + idle=Counter({r:2*v for r in S['idle']});five=Counter({r:5*n for r,n in helper.items()});five.update(idle) + for r,n in gauges.items():five[5*r]+=n + mass=sum(k*n for k,n in five.items());assert M*stock-mass==S['deficit'] + raw=dict(schema='p10-fresh-raw-ledger/1',source_head=context.get('source_head','p10'),h=h,v=v,physical_R=R,source_aliases=len(m.borrow),terminal_sinks=len(m.terminal),physical_donor_recipient_identifications=len(W.pairs),physical_internal_excluding_center_copies=compact(withoutcopies),paid_center_copy_histogram=compact(copies),physical_source_histogram=compact(sources),physical_target_histogram=compact(target),one_stage_helper_histogram_including_copies=compact(helper),auxiliary_entrance_rank_histogram=compact(gauges),auxiliary_entrance_count=sum(gauges.values()),helper_rank_mass=sum(k*n for k,n in helper.items()),five_stage_profile=dict(m=M,W=stock,histogram=compact(five),idle_histogram=compact(idle),calls=sum(five.values()),rank_mass=mass,deficit=M*stock-mass,maxchild=max(five)),source_aux_paths=count,target_paths=v,extra_source_paths=len(sourcepaths),paired_dirty_paths=len(dirtypaths),all_reflected_ledgers=True,all_zero_response_relations=True,scope='Fresh complete p = 10 raw physical source/internal/target and copied-center ledger. Both reflected chains checked; no saved execution receipt consumed.') + expect('producer_five_stage_calls',raw['five_stage_profile']['calls']);expect('five_stage_rank_mass',mass) + return raw + +def rebind_parity(raw,receipt): + """Bind the fresh required-use census to the retained producer source ledger.""" + from copy import deepcopy + def hist(x):return Counter({int(r):n for r,n in x.items()if n}) + assert receipt['status']=='PASS_FRESH_PARITY_FUSION_AND_INDEPENDENT_REQUIRED_FRAME_CENSUS' + assert receipt['both_reflected_ledgers']and receipt['unchanged_all_input_output_frames'] + source=hist(receipt['source_histogram']);target=hist(receipt['target_histogram']);internal=hist(receipt['internal_histogram_including_copies']);copies=hist(receipt['copied_center_histogram']) + assert source==hist(raw['physical_source_histogram']) + assert internal==hist(raw['physical_internal_excluding_center_copies'])+copies + delta=target.copy();delta.subtract(hist(raw['physical_target_histogram']));assert {r:n for r,n in delta.items()if n}=={} + producer=deepcopy(raw);helper=source+target+internal;five=Counter({r:5*n for r,n in helper.items()});five.update(hist(raw['five_stage_profile']['idle_histogram'])) + for a,n in hist(raw['auxiliary_entrance_rank_histogram']).items():five[5*a]+=n + expect('five_stage_calls',sum(five.values()));assert sum(r*n for r,n in five.items())==expect('five_stage_rank_mass',raw['five_stage_profile']['rank_mass']) + raw['schema']='p10-parity-fused-fresh-raw-ledger/1';raw['producer_ledger']=producer + raw['physical_target_histogram']={str(r):n for r,n in sorted(target.items())};raw['one_stage_helper_histogram_including_copies']={str(r):n for r,n in sorted(helper.items())} + raw['five_stage_profile'].update(histogram={str(r):n for r,n in sorted(five.items())},calls=sum(five.values())) + raw['parity_transform']=receipt;raw['scope']='Fresh p = 10 producer ledger plus independently rebuilt actual surviving-use ledger after F2 payload identity elision and same-stream nested MOVE fusion. Both reflected endpoint inclusions checked. No address arithmetic reduced modulo2.' + return raw diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/requirements.txt b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/requirements.txt new file mode 100644 index 0000000000..1ca5fd0616 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/requirements.txt @@ -0,0 +1 @@ +sympy==1.14.0 diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar/word.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar/word.py new file mode 100644 index 0000000000..95b9affd44 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar/word.py @@ -0,0 +1,263 @@ +def replay(mode='F2',direction=1,bits=24,mutation=None): + major=mode=='bound';binary=mode=='F2';v=W.v + unit=(lambda i:1)if major else(lambda i:1<=0 + if d:target_hist[d]+=1 + target_frames[t]=f;target_paths[t].append(f) + X0=[unit(i)for i in range(v)];Y0=[unit(v+i)for i in range(v)];Z0={r:unit(idx[r])for r in regs};x=X0[:];y=Y0[:];z=Z0.copy();top=1;done=[] + def track(value): + nonlocal top + if major:top=max(top,value) + return value + def value(s): + s=W.phys[s];return x[borrow[s]]if s in borrow else z[s] + def assign(s,val): + s=W.phys[s] + if s in borrow:x[borrow[s]]=track(val) + else:z[s]=track(val) + source_paths={role:[W.w['source_frame'][r['source']],r['mix_frame']]for role,r in extra_byrole.items()} + pair_dirty_paths={r:[zero]for r in pair_bydirty} + def source_move(s,f): + role=W.phys[s] + if role in pair_dirty_paths: + assert C.sub(pair_dirty_paths[role][-1],f),('paired dirty chronology',role,pair_dirty_paths[role][-1],f) + pair_dirty_paths[role].append(f) + if role not in source_paths:return + assert C.sub(source_paths[role][-1],f),('orderedsource chronology',s,role,source_paths[role][-1],f) + source_paths[role].append(f) + responses=W.adjoint() if mutation=='old_adjoint' else adj + def aggregate_restore(k,trigger): + if not aggregation_active[k]:return + group=agg[k];pivot=group['pivot'];assert aggregation_read[k]==set(group['roles']),('early aggregation inverse',k,trigger,aggregation_read[k]) + for t in group['targets']:target_move(t,group['frame']) + if mutation!='omit_aggregation_inverse' or k!=39: + for t in group['targets']: + if t!=pivot:y[t]=track(add(y[t],1,y[pivot])) + aggregation_active[k]=False;aggregation_restores.append(dict(group=k,before_role=trigger,frame=group['frame'])) + def rank_restore(k,trigger): + group=rankgroups[k];assert k in rank_active and rank_seen[k]==group['roles'] + for t in group['targets']:target_move(t,group['frame']) + if mutation!='omit_rank_inverse'or k!=0: + for t,cs in group['dependent'].items(): + for p,c in cs.items():y[t]=track(add(y[t],c,y[p])) + rank_active.remove(k);rank_restores.append(dict(group=k,before_role=trigger,frame=group['frame'])) + def echelon_restore(k,trigger): + group=echelon[k];assert echelon_seen[k]==group['roles'] + for t in group['targets']:target_move(t,group['frame']) + if mutation!='omit_echelon_inverse'or k!=0: + for t,p,c in reversed(group['moves']):y[t]=track(add(y[t],-c,y[p])) + echelon_active.remove(k);echelon_restores.append(dict(group=k,before_role=trigger,frame=group['frame'])) + def read(s): + nonlocal aggregation_pivot_reads,rank_skipped,echelon_reads + if s in pair_byalias: + if mutation=='subtract_paired_alias'and s==next(iter(pair_byalias)): + for t,c in adj[s].items():y[t]=track(add(y[t],-direction*c,value(s))) + return + if s in fresh: + if mutation=='omit_transformed_source_read'and s==next(iter(fresh)):return + for t,c in fresh[s]['transformed_response'].items(): + t=int(t);source_move(s,W.gauge[s]['frame']);target_move(t,W.gauge[s]['frame']);y[t]=track(add(y[t],-direction*c,value(s))) + return + echelon_skip=set() + if s in W.gauge: + for k,group in enumerate(echelon): + if k not in echelon_active:continue + if s not in group['roles']: + if set(responses[s])&set(group['targets']):echelon_restore(k,s) + continue + echelon_seen[k].add(s);echelon_skip.update(group['targets']) + for t,a in group['response'].items(): + c=a.get(s,0) + if not c:continue + if mutation=='flip_echelon_sign'and k==0 and c<0:c=-c + source_move(s,W.gauge[s]['frame']);target_move(t,W.gauge[s]['frame']);y[t]=track(add(y[t],-direction*c,value(s)));echelon_reads+=1 + if s in W.gauge: + for k in sorted({rankowner[t]for t in responses[s]if t in rankowner}): + if k not in rank_active:continue + if s not in rankgroups[k]['roles']:rank_restore(k,s) + else:rank_seen[k].add(s) + if mutation=='omit_gauge_compensation'and s==new_gauge_selection[-1]['role']:return + if mutation=='omit_extra_compensation'and s==extra_selection[0]['role']:return + grouped=role_groups.get(s,[]) + for k in sorted({target_group[t]for t in responses[s]if t in target_group}) if s in W.gauge else []: + if k not in grouped:aggregate_restore(k,s) + skipped=set() + for k in grouped: + group=agg[k];pivot=group['pivot'];assert aggregation_active[k] + assert set(group['targets'])<=set(responses[s])and len({responses[s][t]for t in group['targets']})==1 + c=responses[s][pivot];source_move(s,read_frames[s,k]);target_move(pivot,read_frames[s,k]);y[pivot]=track(add(y[pivot],-direction*c,value(s))) + if mutation=='repeat_aggregation_read'and k==39: + t=next(t for t in group['targets']if t!=pivot);target_move(t,read_frames[s,k]);y[t]=track(add(y[t],-direction*c,value(s))) + skipped.update(group['targets']);aggregation_read[k].add(s);aggregation_pivot_reads+=1 + for t,c in responses[s].items(): + if t in skipped or t in echelon_skip:continue + rk=rankowner.get(t) + if s in W.gauge and rk in rank_active and t in rankgroups[rk]['dependent']: + rank_skipped+=1 + if mutation!='repeat_rank_read'or rk!=0:continue + if s in W.gauge:source_move(s,W.gauge[s]['frame']);target_move(t,W.gauge[s]['frame']) + else:assert target_frames[t]is None,'initial correction leaves target atD0' + y[t]=track(add(y[t],-direction*c,value(s))) + def gate(i,sign): + a,b,_=W.ops[i] + if sign==1: + source_move(a,W.opframe[i]);source_move(b,W.opframe[i]) + assign(a,add(value(a),sign,value(b))) + for s in range(W.R): + if s not in W.gauge and s not in borrow and s not in removed:read(s) + for n,s in W.source.items():assign(s,add(value(s),1,x[n])) + for r in gauge_selection: + if mutation=='omit_transformed_source_mix'and r is next(iter(fresh.values())):continue + if mutation=='omit_extra_mix'and r is extra_selection[0]:continue + if mutation!='omit_gauge_mix' or r is not new_gauge_selection[-1]:x[r['partner']]=track(add(x[r['partner']],1,x[r['source']])) + def forward(i): + if i not in omitted:gate(i,1);done.append(i) + for k in schedule['center_prefix_events']: + event=schedule['events'][k];i=event['op'] + if event['kind']=='early_mix': + r=early[i];a,b=r['partner'],r['source'] + if mutation!='omit_early_mix' or r is not selection[0]:x[a]=track(add(x[a],1,x[b])) + else:forward(i) + for r,s in zip(W.g['roots'],W.w['rootroles']): + if r['kind']=='center': + for t in r['targets']: + assert all(f is None for f in target_frames),'copied centers scatter before any nonzero target movement' + center_reads.append((s,t));y[t]=track(add(y[t],direction,value(s))) + for k,group in enumerate(echelon): + assert all(target_frames[t]is None for t in group['targets']) + if mutation!='omit_echelon_setup'or k!=0: + for t,p,c in group['moves']:y[t]=track(add(y[t],c,y[p])) + for k,group in enumerate(rankgroups): + assert all(target_frames[t]is None for t in group['targets']) + if mutation!='omit_rank_setup'or k!=0: + for t,cs in group['dependent'].items(): + for p,c in cs.items():y[t]=track(add(y[t],-c,y[p])) + for k,group in enumerate(agg): + assert all(target_frames[t]is None for t in group['targets']), 'aggregation setup after all D0 center scatters' + if mutation!='omit_aggregation_setup'or k!=39: + for t in group['targets']: + if t!=group['pivot']:y[t]=track(add(y[t],-1,y[group['pivot']])) + for e in terminal: + assert all(target_frames[t]is None for t in e['targets']),'terminal setup afterD0center scatter' + for t in e['targets']: + if t!=e['pivot']:y[t]=track(add(y[t],-1,y[e['pivot']])) + # Original dirty compensation happened at D0 before these source injections. + for r in pair_selection: + b,f=r['aliased_role'],r['mix_frame'] + for a,c in r['retained_dirty_coefficients'].items(): + source_move(a,f);source_move(b,f) + if mutation=='omit_sparse_anchor'and r is pair_selection[14]and a==next(iter(r['retained_dirty_coefficients'])):continue + if mutation=='wrong_sparse_sign'and r is pair_selection[14]and a==next(iter(r['retained_dirty_coefficients'])):c=-c + if mutation!='omit_pair_initialization'or r is not pair_selection[0]:assign(a,add(value(a),c,value(b))) + for j,i in enumerate(W.rest): + for s in at[j]: + if mutation!='late_phase1_gauge' or s not in new_phase_roles:read(s) + if mutation=='late_phase1_gauge'and j==168: + for s in sorted(new_phase_roles):read(s) + if i in bywrite: + e=bywrite[i];a,b,n=W.ops[i];source_move(b,W.opframe[i]);target_move(e['pivot'],W.opframe[i]);y[e['pivot']]=track(add(y[e['pivot']],direction,value(b))) + else:forward(i) + if i in afterwrite: + e=afterwrite[i] + for t in e['targets']: + target_move(t,e['root_frame']) + if t!=e['pivot']:y[t]=track(add(y[t],1,y[e['pivot']])) + for s in at[len(W.rest)]:read(s) + assert not any(aggregation_active),'all quotient inverses precede original side/K reads' + assert not rank_active,'rank quotient inverses precede side/K reads' + assert not echelon_active,'echelon inverses precede side/K reads' + for j,(r,s)in enumerate(zip(W.g['roots'],W.w['rootroles'])): + if r['kind']=='side' and j not in deletedroots: + for k in sorted({target_group[t]for t in r['targets']if t in target_group}):aggregate_restore(k,('root',j)) + source_move(s,W.w['root_frame'][j]) + for t in r['targets']:target_move(t,W.w['root_frame'][j]);y[t]=track(add(y[t],direction,value(s))) + for e in deliveries[j]: + a,b=e['carrier'],e['passive'] + if b not in by_source:x[a]=track(add(x[a],1,x[b])) + for k in sorted({target_group[t]for t in e['receivers']if t in target_group}):aggregate_restore(k,('K',j)) + for t in e['receivers']:target_move(t,e['deliver_frame']);y[t]=track(add(y[t],direction,x[a])) + assert not any(aggregation_active),'all target inverses completed beforecleanup' + for e in W.k['entries']: + if e['passive']not in by_source:x[e['carrier']]=track(add(x[e['carrier']],-1,x[e['passive']])) + if mutation=='undo_before_restore': + for e in W.k['entries']: + if e['passive']in by_source:x[e['carrier']]=track(add(x[e['carrier']],-1,x[e['passive']])) + for role in source_paths:source_move(role,W.w['full_frame']) + for role in pair_dirty_paths:source_move(role,W.w['full_frame']) + for i in reversed(done):gate(i,-1) + for r in reversed(pair_selection): + b=r['aliased_role'] + for a,c in reversed(list(r['retained_dirty_coefficients'].items())): + c=-c + if mutation=='wrong_pair_restore_sign'and r is pair_selection[0]:c=-c + if mutation!='omit_pair_restoration'or r is not pair_selection[0]:assign(a,add(value(a),c,value(b))) + if mutation!='undo_before_restore': + for e in W.k['entries']: + if e['passive']in by_source:x[e['carrier']]=track(add(x[e['carrier']],-1,x[e['passive']])) + for n,s in W.source.items():assign(s,add(value(s),-1,x[n])) + if binary:want=[Y0[t]^X0[t]for t in range(v)] + else: + want=Y0[:];cache={} + for root in W.g['roots']: + n=root['node'] + if n not in cache: + mask=C.sup[n];val=0 + while mask:low=mask&-mask;mask-=low;val=add(val,1,X0[low.bit_length()-1]) + cache[n]=val + for t in root['targets']:want[t]=add(want[t],direction,cache[n]) + for e in W.k['entries']: + val=add(X0[e['carrier']],1,X0[e['passive']]) + for t in e['receivers']:want[t]=add(want[t],direction,val) + # Finish every local target at its codimension-one cap, then reverse the exact + # annihilator stream. All copied-center scatters lie before these movements, + # hence atD0 forward and atD1 after the complementary movements reverse. + reflected=Counter() + for t,chain in enumerate(target_paths): + assert chain + d=W.h-1-C.dimf[chain[-1]];assert d>=0 + if d:target_hist[d]+=1 + previous=[C.cov[t]];dimension=1 + for f in reversed(chain): + assert all(W.module.dot(a,b)==0 for a in previous for b in C.B[f]) + basis=C.A[f];step=len(basis)-dimension;assert step>=0 + if step:reflected[step]+=1 + previous=basis;dimension=len(basis) + if W.h>dimension:reflected[W.h-dimension]+=1 + assert reflected==target_hist + assert len(center_reads)==sum(len(r['targets'])for r in W.g['roots']if r['kind']=='center') + assert sum(k*n for k,n in target_hist.items())==W.v*(W.h-1) + source_histogram=Counter();source_reflected=Counter() + for role,path in source_paths.items(): + assert C.dimf[path[0]]==1 and C.dimf[path[-1]]==W.h + for a,b in zip(path,path[1:]): + assert C.sub(a,b)and C.nondeg(a)and C.nondeg(b) + step=C.dimf[b]-C.dimf[a] + if step:source_histogram[step]+=1 + for a,b in zip(reversed(path),list(reversed(path))[1:]): + assert all(W.module.dot(x,y)==0 for x in C.A[a]for y in C.B[b]);step=len(C.A[b])-len(C.A[a]);assert step>=0 + if step:source_reflected[step]+=1 + assert source_histogram==source_reflected and sum(k*n for k,n in source_histogram.items())==len(source_paths)*(W.h-1) + paired_hist=Counter();paired_reflected=Counter() + for role,path in pair_dirty_paths.items(): + assert C.dimf[path[0]]==0 and C.dimf[path[-1]]==W.h + for a,b in zip(path,path[1:]): + assert C.sub(a,b)and C.nondeg(a)and C.nondeg(b) + d=C.dimf[b]-C.dimf[a] + if d:paired_hist[d]+=1 + for a,b in zip(reversed(path),list(reversed(path))[1:]): + assert all(W.module.dot(x,y)==0 for x in C.A[a]for y in C.B[b]);d=len(C.A[b])-len(C.A[a]) + if d:paired_reflected[d]+=1 + assert paired_hist==paired_reflected and sum(k*n for k,n in paired_hist.items())==len(pair_dirty_paths)*W.h + if major:return max(top,max(a+b for a,b in zip(y,want)),max(z[r]+Z0[r]for r in regs),max(a+b for a,b in zip(x,X0))) + assert y==want,('wrong targets',mode,[t for t in range(v)if y[t]!=want[t]][:10]) + assert x==X0,('source restoration',mode,[s for s in range(v)if x[s]!=X0[s]][:10]) + assert z==Z0,('dirty restoration',mode) + return dict(mode=mode,direction=direction,formal_columns=2*v+len(regs),sources=v,targets=v,dirty=len(regs),all_targets=True,all_source_and_dirty_restored=True,copied_center_target_reads=len(center_reads),all_forward_centers_at_D0=True,all_reflected_centers_at_D1=True,actual_target_histogram={str(k):n for k,n in sorted(target_hist.items())},actual_reflected_target_histogram={str(k):n for k,n in sorted(reflected.items())},aggregation_groups=len(agg),aggregation_pivot_reads=aggregation_pivot_reads,aggregation_restores=aggregation_restores,actual_extra_source_paths=source_paths,rank_groups=len(rankgroups),rank_targets=len(rankowner),rank_restores=rank_restores,rank_removed_reads=rank_skipped,actual_extra_source_histogram=dict(source_histogram),actual_extra_reflected_source_histogram=dict(source_reflected),echelon_restores=echelon_restores,echelon_reads=echelon_reads,paired_dirty_paths=pair_dirty_paths,paired_dirty_histogram=dict(paired_hist),paired_dirty_reflected_histogram=dict(paired_reflected)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar_check.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar_check.py new file mode 100644 index 0000000000..c94c9d90ab --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/scalar_check.py @@ -0,0 +1,127 @@ +"""Fresh F2 source proof, independent literal projection/inverse and controls. +No saved execution receipt is accepted. Uses the actual clean source context +and freshly emitted local physical records. Assisted with ChatGPT (source527). +Rebound to the gen5 word, then to the p = 10 word: 2v+R formal columns; the controls corrupt the actual +context (responses, read chronology, alias reads, gates, centres, partner +deliveries, injections and signs) instead of absent source527 selections. +Gen5 rebinding and controls by DreamingOfClouds with Anthropic Claude assistance. +p = 10 port: the event digest, counts and prefix bounds are pinned in word-pins.json; N and V from the word. +""" +from collections import Counter,defaultdict +from copy import copy +import hashlib,json,time +from word_pins import expect,shape + + + +def events(records,N,reverse=False): + center=None + for k in (range(len(records)-6,-1,-6) if reverse else range(0,len(records),6)): + op,a,b,c,f,z=records[k:k+6] + if op==1: + if b==N: + assert center is not None + b=center + assert 0<=a2*bound + progress('Checking the signed integer source decoder and dirty restoration') + integer=[] + for direction in(1,-1):integer.append(ns['replay']('Z',direction,bits));gc.collect() + controls={} + for name,mode,changes in mutated_namespaces(context): + bad=dict(context);bad.update(changes);exec(compile(source,'retained source527 exact scalar word','exec'),bad) + try:bad['replay'](mode,bits=bits) + except AssertionError as error:controls[name]=dict(rejected=True,reason=str(error)[:200]) + else:raise AssertionError('invalid p = 10 context mutation accepted: '+name) + assert len(controls)==11 + return dict(status='PASS_FRESH_P10_PRODUCER_SIGNED_DECODER_AND_PARITY_FUSED_F2_INVERSE_AND_CONTROLS',filtered_control=filtered_control,F2=exact,integer=integer,majorant=dict(residual_bound=bound,packing_bits=bits),forward=forward,inverse=inverse,controls=controls,source_sha256=hashlib.sha256(source.encode()).hexdigest(),seconds=time.monotonic()-started,scope='The retained source527 scalar program, run on the p = 10 context, proves the signed defining-integer decoder in both directions and rejects11 actual-context corruptions. The emitted parity-filtered word is independently checked on all '+str(N)+' formal F2columns and literalreverse, with its own cancellation-free signed-lift prefix bounds. Its integer endpoint is not asserted equal to the producer decoder; F2payload identity supplies the bit contract. Odd-prime address arithmetic is unchanged.') diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/verify.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/verify.py new file mode 100644 index 0000000000..d079394e3d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/verify.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python3 +"""Immutable p = 10 five-stage banks: regenerate every mandatory finite stage. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +p = 10 port (DreamingOfClouds, Anthropic Claude assistance): word-dependent values are checked against the +MANIFEST-pinned word-pins.json through word_pins.expect (always strict here; see discovery/repin.py). +""" +import sys +if not __debug__:raise SystemExit('Assertions required; refusing-O') +sys.dont_write_bytecode=True +from pathlib import Path +from datetime import datetime,timezone +from fractions import Fraction +import argparse,hashlib,importlib.util,json,time,traceback +ROOT=Path(__file__).resolve().parent +REQUIRED={'virtual','raw','bit','scalar','primes','banks','complex','math','finite'} + +def progress(message):print(datetime.now(timezone.utc).strftime('%H:%M:%S UTC')+' '+message,flush=True) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def serial(x): + if isinstance(x,Fraction):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return list(map(serial,x)) + return x + +def load(name): + s=importlib.util.spec_from_file_location('source527_'+name,ROOT/(name+'.py'));m=importlib.util.module_from_spec(s);sys.modules[s.name]=m;s.loader.exec_module(m);return m + +def integrity(): + p=ROOT/'MANIFEST.json';m=json.loads(p.read_text());actual={} + for q in ROOT.rglob('*'): + assert not q.is_symlink(),'Symlink in package' + if q.is_file()and q.name!='MANIFEST.json':actual[q.relative_to(ROOT).as_posix()]=sha(q) + # Nested source manifests are also ordinary pinned inputs. + for q in ROOT.rglob('MANIFEST.json'): + if q!=p:actual[q.relative_to(ROOT).as_posix()]=sha(q) + assert actual==m['files'],'Missing, changed or unpinned package/source file' + return sha(p),len(actual) + +def validate_required(results): + assert set(results)==REQUIRED,'Missing mandatory proof stage' + assert all(isinstance(results[k],dict)and results[k]for k in REQUIRED) + +def controls(): + out=[];good={k:{'present':True}for k in REQUIRED} + for k in sorted(REQUIRED): + bad=good.copy();bad.pop(k) + try:validate_required(bad) + except AssertionError:out.append('omitted '+k+' stage') + else:raise AssertionError('Missingstageaccepted') + return out + +def replay(output,results,timings,save): + """Every mandatory stage, in order. main() runs it under strict pins; discovery/repin.py reuses it to record.""" + def stage(name,call): + t=time.monotonic();value=call();results[name]=value;timings[name]=time.monotonic()-t;save(name+'.json',value);progress(name+' PASS '+format(timings[name],'.1f')+'s');return value + progress('Admitting the pinned p = 10 physical bit word') + stage('virtual',lambda:load('virtual_check').run(output,progress)) + context=load('prepare').prepare() + raw=stage('raw',lambda:load('raw_ledger').run(context)) + portable=load('portable_bit');bit=portable.run(prepared_context=context,raw=raw,output_dir=output,run_geometry=True,package_root=ROOT);raw=bit['raw'];results['raw']=raw;save('raw.json',raw);results['bit']=portable.summary(bit);timings['bit']=bit['seconds'];save('bit.json',results['bit']);progress('bit physical/global/geometry PASS') + scalar=stage('scalar',lambda:load('scalar_check').run(context,bit['records'],progress)) + primes=stage('primes',lambda:load('prime_check').run(context,bit['physical'],progress)) + bankresult=stage('banks',lambda:load('bank_check').run(context,bit['global_result'],bit['lower'])) + banks=bankresult['banks'];banked=bankresult['banked_result'] + complex_result=stage('complex',lambda:load('portable_complex').run(package_root=ROOT,progress=progress)) + assert complex_result['precision_guard']['retained_row_coefficient']==20161 + math=stage('math',lambda:load('math_check').run(raw,complex_result['five_stage_histogram'],banks,bit['global_result'])) + finite=stage('finite',lambda:load('finite_check').run(raw,bit['physical'],scalar,primes,math,banks,banked,bit['global_result'])) + assert math['mathematics']['finite_bridge']['rows']['coefficient']==complex_result['precision_guard']['retained_row_coefficient']==finite['row_reserve']['external_complex_coefficient'] + validate_required(results);assert len(scalar['controls'])==11 and len(primes['controls'])==6 + return math + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--output',type=Path,required=True);args=ap.parse_args() + import sympy + assert sys.version_info>=(3,11)and sympy.__version__=='1.14.0' + import word_pins + assert Path(word_pins.__file__).resolve()==ROOT/'word_pins.py' and word_pins.RECORD is None,'strict pins only' + digest,count=integrity();output=args.output.resolve();assert not output.is_relative_to(ROOT)and not output.exists(),'Output must be new and outside package';output.mkdir(parents=True) + results={};timings={};start=time.monotonic() + def save(name,value):(output/name).write_text(json.dumps(serial(value),sort_keys=True,indent=2)+'\n') + try: + math=replay(output,results,timings,save) + assert math['mathematics']['kappa']==word_pins.PINS['kappa'][1] and math['mathematics']['binding']==word_pins.PINS['binding'] + assert word_pins.RECORD is None + after,_=integrity();assert after==digest,'Package changed during replay' + certificate=dict(schema='p10-parity-fused-five-stage-banks/1',**math['mathematics'],scope='Conditionalfiniteconstruction; inheritedallsizecompiler,weightedselector,commonancestorchart,restoredrow,routing,prime,recovery,complexsymbolicandanalyticinterfacesremainassumptions.') + save('certificate.json',certificate) + report=dict(status='PASS_IMMUTABLE_PARITY_FUSED_P10_FIVE_STAGE_BANKED_CONSTRUCTION',manifest_sha256=digest,files=count,kappa=math['mathematics']['kappa'],kappa_scientific=math['mathematics']['kappa_scientific'],binding=math['mathematics']['binding'],bit_root=math['mathematics']['bit_root'],bit_coarse=math['mathematics']['bit_coarse'],complex_coarse=math['mathematics']['complex_coarse'],fresh_stages=sorted(REQUIRED),inputs_unchanged=True,timings=timings,seconds=time.monotonic()-start,negative_controls=controls()) + save('verification.json',report);print(json.dumps(report),flush=True) + except BaseException as exc: + save('failure.json',dict(status='FAIL',error=str(exc),completed_stages=sorted(results),timings=timings,traceback=traceback.format_exc()));raise +if __name__=='__main__':main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/virtual_check.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/virtual_check.py new file mode 100644 index 0000000000..485a407f6b --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/virtual_check.py @@ -0,0 +1,68 @@ +"""Retained admissions of the p = 10 bit word: PR168-v4 package checker and PR200 physical-word proof. + +1. eumemic's unmodified PR168-v4 check_paired_cube_bit.py on the virtual (node-frame, unaliased) word: + exact frames, mod-2 decoder with stars and side parts, geometry (source lines, root caps, operand + nesting, star spans), role and target chains, partner chronology, G-nondegeneracy, a literal F2 + dirty-scratch replay and the ledger recount, with its five mutation controls. +2. Chafik Boukhalfa's unmodified PR200 physical-word classes, run as PR200's bit/prove.py runs them: + exact changed operation frames and handoffs, the physical row (phase one = centre closure, actual + addition operands, gauge supports, partner chronology, nested physical role and target chains, + telescoping deficit), the physical word on every formal column over F2 and the defining integer + decoder, and its adverse controls (omitted compensation, missing partner delivery, stale recipient + read, zero operation frame). +Gen4 integration by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. +p = 10 port: honest pP file names, PR168's p argument, constants from word_pins (shape or pins). +""" +from pathlib import Path +import gzip,hashlib,importlib.util,json,shutil,time +from word_pins import P,expect,shape +HERE=Path(__file__).resolve().parent + +def load(name,path): + spec=importlib.util.spec_from_file_location(name,path);mod=importlib.util.module_from_spec(spec);spec.loader.exec_module(mod);return mod + +def run(output_dir,progress=lambda text:None): + begun=time.monotonic();S=shape();sfx='_p%d.json'%P;src=HERE/'bitword/selected/bit';d=Path(output_dir)/'virtual-bit';d.mkdir(parents=True) + assert sorted(x.name for x in src.iterdir())==sorted([n+sfx for n in('graph','kchron','profile')]+[n+sfx+'.gz' for n in('frames','word')]) + for name in ('graph','kchron','profile'):shutil.copyfile(src/(name+sfx),d/(name+sfx)) + for name in ('word','frames'):(d/(name+sfx)).write_bytes(gzip.decompress((src/(name+sfx+'.gz')).read_bytes())) + p=HERE/'bitword/references/pr168-v4/research/paired-cube-bit/check_paired_cube_bit.py' + mod=load('p10_pr168_v4_checker',p) + progress('Running the PR168-v4 package checker on the p = 10 virtual word') + result=mod.Checker(d,P).run() + assert result['m']==S['virtual_m'] and result['deficit']==S['virtual_deficit'] and result['roles']==expect('virtual_R',result['roles']) + expect('pr168_result',result) + controls={} + for m in ('broken_mix','outside_cap','below_level','dropped_star','non_nested'): + try:mod.Checker(d,P,mutate=m).run() + except mod.Fail as error:controls[m]=str(error) + else:raise AssertionError('PR168 mutation control accepted: '+m) + assert len(controls)==5 + progress('Running the PR200 physical-word proof on the p = 10 physical word') + word=load('p10_pr200_physical_word_admission',HERE/'bitword/bit/word.py').Candidate() + word.exact_frames();row=word.row() + reference=json.loads((src/('profile'+sfx)).read_text()) + assert row['h']==S['h'] and row['v']==S['v'] + assert row['reused_registers']==len(word.pairs)==expect('reuse_pairs',row['reused_registers']) and row['virtual_R']==reference['R']==expect('virtual_R',row['virtual_R']) + assert row['R']==expect('physical_R',row['R']) and row['W_per_vertex']==2*S['v']+row['R'] and row['deficit_per_vertex']==reference['deficit_per_vertex']==S['virtual_deficit'] and row['loss']==reference['loss']==S['ell'] + expect('changed_operation_frames',row['changed_operation_frames']);expect('entrances',row['selected_roles']);expect('entrance_ranks',dict(row['selected_rank_histogram'])) + formal=[word.formal(r) for r in (2,0)] + assert formal[0]['identity'] and all(f['defining_decoder'] and f['all_dirty_and_source_columns_restored'] and f['formal_variables']==2*S['v']+row['R'] for f in formal) + physical_controls=[] + for tamper in ('omit_compensation','missing_partner','stale'): + try:word.formal(2,tamper) + except ValueError:physical_controls.append(tamper) + else:raise AssertionError('PR200 adverse word control accepted: '+tamper) + i=word.changed_frames[0];old=word.opframe[i];word.opframe[i]=word.register([]) + try:word.exact_frames() + except ValueError:physical_controls.append('zero_operation_frame') + else:raise AssertionError('zero operation frame accepted') + word.opframe[i]=old + assert len(physical_controls)==4 + row={k:(dict(v) if isinstance(v,dict) else v) for k,v in row.items()} + return dict(status='PASS_PR168_V4_VIRTUAL_AND_PR200_PHYSICAL_ADMISSION_OF_P10_WORD',virtual=result,virtual_controls_rejected=controls, + physical_row=row,physical_formal=formal,physical_controls_rejected=physical_controls, + checker_sha256=hashlib.sha256(p.read_bytes()).hexdigest(), + pr200_classes_sha256={n:hashlib.sha256((HERE/'bitword/bit'/n).read_bytes()).hexdigest() for n in ('word.py','base_word.py')}, + seconds=time.monotonic()-begun, + scope='The pinned word is admitted by both retained checkers exactly as PR200 admitted its own word (its terminal-sink and prime steps have no counterpart here; primes are rechecked by prime_check).') diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word-pins.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word-pins.json new file mode 100644 index 0000000000..d3cd2400cb --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word-pins.json @@ -0,0 +1,211 @@ +{ + "bank_patterns": [ + [ + [ + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 20, + 20 + ], + 210 + ], + [ + [ + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + 2880 + ], + [ + [ + 20, + 20, + 20, + 20, + 20 + ], + 83436 + ] + ], + "banked_calls": 247090, + "banked_rank_mass": 1103010, + "banks_per_stage": 86526, + "binding": "bit", + "bit_root": [ + "Fraction", + "152963071429277/200000000000000000" + ], + "changed_operation_frames": 998, + "entrance_bases": 163, + "entrance_ranks": [ + "dict", + [ + [ + 16, + 1200 + ], + [ + 17, + 70 + ] + ] + ], + "entrances": 1270, + "extra_selector_calls": 172734017400, + "family_collisions": 840, + "finite_coefficient": 25301421993340001, + "five_stage_calls": 248360, + "five_stage_rank_mass": 1204960, + "forward_max_row_l1": 21855, + "inverse_max_row_l1": 914238, + "kappa": [ + "Fraction", + "152846172264049/200000000000000000" + ], + "literal_stock": 663030, + "literal_unit_additions": 357320, + "local_paid_rank_mass": 181050, + "max_chart_factors": 150, + "maximum_determinant_bits": 97, + "normalizer_factor_bound": 349, + "physical_R": 8230, + "pr168_result": [ + "dict", + [ + [ + "W", + 11040 + ], + [ + "children", + 151140 + ], + [ + "deficit", + 840 + ], + [ + "frames", + 12912 + ], + [ + "m", + 60 + ], + [ + "roles", + 9120 + ] + ] + ], + "producer_five_stage_calls": 248360, + "removed_even_adds": 581680, + "residual_families": [ + "dict", + [ + [ + 20, + 6960 + ], + [ + 3, + 70 + ], + [ + 4, + 1200 + ] + ] + ], + "reuse_pairs": 890, + "route_factor_counts": [ + "dict", + [ + [ + "add", + 163 + ], + [ + "scale", + 23 + ], + [ + "swap", + 36 + ] + ] + ], + "scalar_event_sha256": "d1599cc94b7800ba7b81030ab4100048dc307c42268604fd4c448bfb56191dec", + "surviving_additions": 355400, + "surviving_coefficients": [ + "dict", + [ + [ + 1, + 354440 + ], + [ + 3, + 960 + ] + ] + ], + "unique_bases": 12884, + "virtual_R": 9120, + "virtual_gauges": 2160, + "weighted_scalar_coefficients": [ + "dict", + [ + [ + 1, + 354440 + ], + [ + 3, + 960 + ] + ] + ], + "weighted_scalar_events": 355400 +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word_pins.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word_pins.py new file mode 100644 index 0000000000..0d5232e8ec --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/vendor/pr315/word_pins.py @@ -0,0 +1,64 @@ +"""Cube-size shape and pinned word-dependent constants of the p = 10 package. + +shape() derives every p-dependent constant of the five-stage layout from the cube size p (h = 2p ports per +coordinate block, v = 8*C(p,3) sources, m = 5h). The PR234 five-stage layout is the same at every h: idle ranks +(2h-2, h-1, 2h+2, 4) at 2v each, h copied centres of rank h-2 each read by 3v/h targets, and five-stage deficit +4v - 5h(h-2). + +Word-dependent observed values (register counts, histograms, digests, kappa, ...) are pinned in word-pins.json, +which MANIFEST.json pins like every other input. Every check calls expect(name, value), which asserts exact +equality with the pinned value (in the canonical form canon() below; dictionaries keep their key types), so each +check is exactly as strong as the literal it replaces. RECORD is None in every verification run; only +discovery/repin.py, in its own process, switches it to a dictionary to collect the values of a new word. +Prepared by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. +""" +from fractions import Fraction +from math import comb +from pathlib import Path +import json + +HERE = Path(__file__).resolve().parent +P = 10 +FILE = HERE / 'word-pins.json' +PINS = json.loads(FILE.read_text()) +RECORD = None + + +def shape(p=P): + h = 2 * p; v = 8 * comb(p, 3); m = 5 * h; ell = h * (h - 2) + assert v * 3 % h == 0 + return dict(p=p, h=h, v=v, m=m, ell=ell, idle=(2 * h - 2, h - 1, 2 * h + 2, 4), center_rank=h - 2, centers=h, + scatter_reads=3 * v // h, center_reads=3 * v, deficit=4 * v - 5 * ell, + virtual_m=3 * h, virtual_deficit=2 * v - 3 * ell, replicas=60, stages=5) + + +def canon(x): + """Injective JSON form: dicts become key-sorted [key, value] lists (key types kept), tuples become lists.""" + if isinstance(x, bool) or x is None or isinstance(x, (int, str)): + return x + if isinstance(x, Fraction): + return ['Fraction', str(x)] + if isinstance(x, dict): + items = [[canon(k), canon(v)] for k, v in x.items()] + return ['dict', sorted(items, key=lambda kv: json.dumps(kv[0], sort_keys=True))] + if isinstance(x, (list, tuple)): + return [canon(y) for y in x] + raise AssertionError(('value type not pinnable', type(x))) + + +def expect(name, value): + """Assert value equals the pinned value; returns value. (Records instead only inside discovery/repin.py.)""" + c = canon(value) + if RECORD is not None: + assert RECORD.setdefault(name, c) == c, ('one pin, two values', name) + return value + assert name in PINS, ('unpinned value', name) + assert PINS[name] == c, ('pinned value changed', name) + return value + + +def pinned(name): + """A pinned value already asserted by an earlier expect() (needed by module-level constants).""" + table = PINS if RECORD is None else RECORD + assert name in table, ('pin read before it was checked', name) + return table[name] diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify.py new file mode 100644 index 0000000000..6f8afb79f8 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +"""Fresh portable replay of the PR315 complex supplier's frame retiming. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. +""" +import sys +if not __debug__:raise SystemExit('Assertions required; refusing -O') +sys.dont_write_bytecode=True +import argparse,hashlib,json,os,subprocess,time +from pathlib import Path +ROOT=Path(__file__).resolve().parent +sha=lambda p:hashlib.sha256(Path(p).read_bytes()).hexdigest() +read=lambda p:json.loads(Path(p).read_text()) + +def integrity(): + actual={} + for p in ROOT.rglob('*'): + assert not p.is_symlink(),'symlink in package' + if p.is_file() and p!=ROOT/'MANIFEST.json':actual[p.relative_to(ROOT).as_posix()]=sha(p) + assert actual==read(ROOT/'MANIFEST.json')['files'],'Changed, missing or unpinned source' + assert sha(ROOT/'vendor/pr315/MANIFEST.json')==read(ROOT/'SOURCE.json')['source_manifest_sha256'] + return sha(ROOT/'MANIFEST.json') + +def structural_selection(data): + return [{k:v for k,v in row.items() if k not in ('log_gain','log_improvement')} for row in data] + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--output',required=True,type=Path);a=ap.parse_args() + assert sys.version_info>=(3,11);start=time.monotonic();initial=integrity();pins=read(ROOT/'SOURCE.json') + out=a.output.resolve();assert not out.exists() and not out.is_relative_to(ROOT),'Use a fresh external output' + out.mkdir(parents=True);(out/'logs').mkdir();env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1');stages=[] + def run(name,args): + print(name,flush=True);begun=time.monotonic() + with (out/'logs'/(name+'.log')).open('w') as f:subprocess.run([sys.executable,'-B']+list(map(str,args)),check=True,stdout=f,stderr=subprocess.STDOUT,env=env,cwd=out) + stages.append(dict(stage=name,seconds=time.monotonic()-begun)) + try: + run('split-and-single-retiming',[ROOT/'frame_retime.py','--output',out/'single','--split-groups','--passes','30']) + assert sha(out/'single/candidate.json')==pins['single_sha256'] + assert structural_selection(read(out/'single/selection.json'))==structural_selection(read(ROOT/'stages/single-selection.json')) + assert len(read(out/'single/selection.json'))==29 + run('component-retiming',[ROOT/'plateau_retime.py','--input',out/'single/candidate.json','--output',out/'plateau','--passes','30']) + assert sha(out/'plateau/candidate.json')==pins['plateau_sha256'] + assert structural_selection(read(out/'plateau/selection.json'))==structural_selection(read(ROOT/'stages/component-selection.json')) + assert len(read(out/'plateau/selection.json'))==69 + run('neutral-down-retiming',[ROOT/'plateau_retime.py','--input',out/'plateau/candidate.json','--output',out/'neutral-down','--passes','30','--neutral','down']) + assert sha(out/'neutral-down/candidate.json')==pins['neutral_down_sha256'] + assert structural_selection(read(out/'neutral-down/selection.json'))==structural_selection(read(ROOT/'stages/neutral-down-selection.json')) + assert len(read(out/'neutral-down/selection.json'))==50 + run('neutral-up-retiming',[ROOT/'plateau_retime.py','--input',out/'neutral-down/candidate.json','--output',out/'candidate','--passes','30','--neutral','up']) + assert sha(out/'candidate/candidate.json')==pins['candidate_sha256'] + assert structural_selection(read(out/'candidate/selection.json'))==structural_selection(read(ROOT/'stages/neutral-up-selection.json')) + assert len(read(out/'candidate/selection.json'))==672 + run('complete-supplier-admission',[ROOT/'verify_supplier.py','--input',out/'candidate/candidate.json','--expected-sha256',pins['candidate_sha256']]) + result=read(out/'candidate/SUPPLIER-CHECK.json') + assert result['status']=='PASS_RESEARCH_COMPLEX_SUPPLIER_FRAME_RETIMING' + assert result['roots']['with_fallback']['b']==pins['complex_coarse'] + assert result['roots']['without_fallback']['b']==pins['complex_coarse_without_fallback'] + assert result['ledger']['calls']==351655 and result['ledger']['rank_mass']==1571680 and result['ledger']['deficit']==3080 + assert result['unchanged_scalar_program'] and result['unchanged_scatter_ports_endpoints'] + assert result['gx_check']['status']=='PASS_COMPLEX_PROGRAM_GX_CHECK1_SCALAR_AND_GXCORE_MIRROR' + assert len(result['gx_check']['controls'])==2 and len(result['mutation_controls'])==14 + assert integrity()==initial,'Source mutated during replay' + report=dict(status='PASS_PORTABLE_COMPLEX_NEUTRAL_FRAME_RETIMING_SUPPLIER',candidate_sha256=pins['candidate_sha256'], + manifest_sha256=initial,inputs_unchanged=True,fresh_stages=stages,complex_coarse=pins['complex_coarse'], + supplier_receipt_sha256=sha(out/'candidate/SUPPLIER-CHECK.json'),kappa_claim=False,seconds=time.monotonic()-start, + scope=result['scope']) + (out/'VERIFICATION.json').write_text(json.dumps(report,sort_keys=True,indent=2)+'\n') + print('PASS complex coarse = '+pins['complex_coarse']+'; no kappa claim',flush=True) + except BaseException as error: + (out/'FAILURE.json').write_text(json.dumps(dict(status='FAIL',error=str(error),completed=stages),indent=2)+'\n');raise + +if __name__=='__main__':main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify_supplier.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify_supplier.py new file mode 100644 index 0000000000..d36e9e99e8 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/neutral/verify_supplier.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +"""Source-bound research supplier admission; never modifies the published supplier. +Uses byte-pinned PR315 primary inputs and checkers. Adaptations to pin predicates +are fully logged in portable-code/DERIVATION.json. AI-assisted by OpenAI Codex. +""" +import sys +if not __debug__:raise SystemExit('Assertions required') +sys.dont_write_bytecode=True +import argparse,collections,gzip,hashlib,importlib.util,json,pathlib,time +from fractions import Fraction as Q +from frame_retime import ROOT,SOURCE,scalar_flat +HERE=pathlib.Path(__file__).resolve().parent + +def load(path,name): + sp=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(sp);sp.loader.exec_module(m);return m + +def serial(x): + if isinstance(x,Q):return str(x) + if isinstance(x,dict):return {str(k):serial(v) for k,v in x.items()} + if isinstance(x,(tuple,list)):return [serial(v) for v in x] + return x + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--input',type=pathlib.Path,required=True);ap.add_argument('--expected-sha256',required=True) + args=ap.parse_args();begun=time.time();raw=args.input.read_bytes();sha=hashlib.sha256(raw).hexdigest();assert sha==args.expected_sha256 + c=json.loads(raw);baseline=json.loads(gzip.decompress(SOURCE.read_bytes())) + assert hashlib.sha256(gzip.decompress(SOURCE.read_bytes())).hexdigest()=='91c349b9680b023449d3bc4fb58f00a22c9d9f38b776ae3a3597259431de78eb' + for p in ('A','B'):assert scalar_flat(c[p])==scalar_flat(baseline[p]) + for key in ('ports','start','final','ret','scat','ext','h','v','R','cst','N'):assert c[key]==baseline[key] + pins=json.loads((ROOT/'inputs/complex/source-pins.json').read_text());verified={};upstream={} + for rel,pin in pins['files'].items(): + path=ROOT/rel;assert hashlib.sha256(path.read_bytes()).hexdigest()==pin['sha256'];verified[rel]=pin['sha256'];upstream[pin['upstream']]=path + deriv=json.loads((HERE/'portable-code/DERIVATION.json').read_text()) + for name,d in deriv.items(): + assert hashlib.sha256((ROOT/d['source']).read_bytes()).hexdigest()==d['source_sha256'] + assert hashlib.sha256((HERE/'portable-code'/(name+'.py')).read_bytes()).hexdigest()==d['derived_sha256'] + mods={name:load(HERE/'portable-code'/(name+'.py'),'research_'+name) for name in deriv} + H=collections.Counter() + for w in c['blocks'].values():H.update({int(r):n for r,n in w.items()}) + checks=mods['complex_labels'].replay_label_counts(c,dict(frames=len(c['frames']),gates={p:len(c[p]) for p in ('A','B')},histogram=dict(H))) + H5=collections.Counter({r:5*n for r,n in H.items()});h,v,R=c['h'],c['v'],c['R'];m=5*h;W=4*v+R + for r in (2*h-2,h-1,2*h+2,4):H5[r]+=2*v + ledger=dict(histogram={str(r):n for r,n in sorted(H5.items())},calls=sum(H5.values()),rank_mass=sum(r*n for r,n in H5.items()), + max_child=max(H5),deficit=m*W-sum(r*n for r,n in H5.items()),copy_calls=5*h,idle_calls=8*v) + assert ledger['rank_mass']==1571680 and ledger['deficit']==3080 and ledger['max_child']==46 + lines=upstream['Work/GCert/Chain/NetDef.lean'].read_text().splitlines();refs={} + for name in ['x01','y01','x12','y12','x23','y23','x34','y34','sfin','term']: + indices=[i for i,line in enumerate(lines) if name+' :' in line];assert indices;i=indices[-1] if name=='sfin' else indices[0] + refs[name]=dict(source='Work/GCert/Chain/NetDef.lean',anchor=name+' :',line=i+1, + declaration_line=' '.join(x.strip() for x in lines[i:i+(2 if name=='sfin' else 1)]), + url='https://github.com/jacobalansussman/wht-power-saving-lean/blob/'+mods['portable_complex'].PIN+'/Work/GCert/Chain/NetDef.lean#L'+str(i+1)) + manifest=dict(source_pin=mods['portable_complex'].PIN,parameters=dict(h=h,m=m,v=v,R=R,W_live=W,invocation_live=2*v+R), + ledger=ledger,checks=checks,chronology=mods['portable_complex'].CHRONOLOGY,source_frame_equalities=refs) + scalar=mods['complex_scalars'];splice=mods['complex_splice'];A=scalar.flat(c['A']);B=scalar.flat(c['B']);bill={};life={};programs={};controls=[] + for ori in ('forward','backward'): + bill[ori]=scalar.bill(scalar.inv_schedule(ori,A,B,c));life[ori]=scalar.lifecycle(scalar.inv_schedule(ori,A,B,c)) + original=scalar.bill(scalar.inv_schedule(ori,scalar.flat(baseline['A']),scalar.flat(baseline['B']),baseline)) + assert bill[ori]==original,'full derived dirty/main/cleanup scalar program changed' + events=list(splice.emit(c,ori));programs[ori]=splice.validate(events,c,ori,manifest,bill);controls.extend(splice.controls(events,c,ori,manifest,bill)) + assert (bill['forward']['totals']['real_component_primitive_steps'],bill['backward']['totals']['real_component_primitive_steps'])==(1735572,1789788) + global_contract=splice.global_contract(manifest);splice.validate_global(global_contract,manifest) + guard=mods['portable_complex'].finite_guard(manifest,bill,mods['complex_basis']) + print('PASS both reflected complete scalar splices, dirty word equality, paid ledgers and finite guard',flush=True) + cost=load(ROOT/'moment.py','research_moment');other=load(ROOT/'base_two_moment.py','research_base2');grid=Q(1,10**18) + roots={} + for fallback in (True,False): + root=cost.certify(dict(H5),m,W,fallback);b=Q(int(Q(root['lower'])*10**18),10**18) + interval=cost.moment(dict(H5),m,W,b,fallback);excluded=cost.moment(dict(H5),m,W,b+grid,fallback);assert interval[1]<1/`): `matching-arcs.json`, `physical-frames.json` (the operations whose frame differs + from the closure frame, in the canonical form of `source_aligned_local_v4.py`), `physical-pairs-{parity,mw}.json` + (reuse pairs [donor, recipient, deadline]) and `kernel-pairs-{parity,mw}.json` (two kernel pairs on the control's + parity layer, none elsewhere). `discovery/make_layer_p.py` is how they were found; `verify.py` only checks them. +- **The word builder** (`aligned_word_p.py`). It is PR #304's `aligned_word.py`, i.e. `source_aligned_local_v4.py` + of PR #202 (Avi Eisenberg, PR #193/#194) with its four discovery steps replaced by inputs, with three changes: + the cube size is a parameter (`Graph(p)`, modules at p, p − 1, p − 2); `--centre46` builds the centre-sharing graph + (`centre46.finish_centre46`: the star centre S(2i + e) is the pair module's 37th root instead of a separate sum, + which is what PR #315's 10-line `Graph.finish` patch does); and when `select()` chooses gauges that the script then + drops, the record's gauge ledger is corrected to the kept gauges (§5). Everything else (local configuration, merge + f8:00111100, `compile_closure`, `select`, phase-one prefix, forward closure with future-cap clipping and local-pair + checks, gauge filtering, target histogram, `paired_cube_physical.physical()`, the encoding of the seven output + files) is the script's. + +## 2. Chain of checks (each of the six words) + +1. **Module contracts**: `triple_module_from`, `pair_module_from` (or `load_pmod46`), `all_but_one_from` at p = 10. +2. **Arcs**: `compile_closure` (PR #162, DaysSky) accepts the frozen arcs (one donor per use, a donor carries one of + its own operands, acyclic generalized dependency graph, every value span inside its backward-intersection frame, + exact positive-rank ledger with mass h·R + loss) and keeps them unchanged; `select` chooses the gauges. +3. **Frames**: the script's forward closure, run with every frozen frame as the preferred frame, returns every frozen + frame unchanged; the frozen list is the script's canonical list of moved frames. +4. **Pairs**: every pair is an edge of the script's candidate graph, one pair per donor and per recipient, and the + list is a fixed point of the script's last-late-control reordering. `paircheck.py` then re-checks the pairs from + the written word alone (kinds, one-to-one, every gauge paired, early and late chronology, donor frame inside the + gauge, no pair erasable by PR #184's source-donor purification) and rejects five mutations, each for the condition + it breaks. +5. **Physical checks** (`scripts/paired_cube_physical.py`, PR #168 lineage): nested role chains, pair legality and + read chronology, the exact spliced recount, and a randomized numeric replay of the aliased signed word mod 2⁶¹ − 1 + with random dirty scratch; `verify.py` recomputes this profile in-process and requires it to equal the file. +6. **Admission** (PR #200's complete complex checker `complex/physical.py`, Chafik Boukhalfa): exact signed scalar + pairs, full backward and gauge intersections, the positive-rank ledger recounted against the record, descended + frames, nested chains, aliases and target read chronology, the exact adjoint with a formal coefficient bound, + every formal source, target and dirty column; the early-read and missing-read mutations are rejected. +7. **Flow and exact lift** (PR #184, icekylinx): `complex_frame_flow.py --witness --purify-source-donors + --recycle-kernels` with the frozen kernel pairs, then `exact_complex_flow_lift.py`. +8. **Contract** (PR #194's `contract_v4.py`, as PR #233 runs it). +9. **Program** (PR #256's `gcert_emit.py`, unchanged) and **reference checks** on the emitted program: `gx.check1` + (E0/E1 labels, E2 the scatter cut, E3/E4 gate shapes, E5 the exact scalar identity, E6 the price data + N = R·h + 2v(h − 1) + cst) and Sussman's `gxcore.py` mirror (its block histogram equals the program's). +10. **Ledger**: 3(x + y + s + c) + 2v·e₂ of the program's block histogram equals the flow's child histogram. +11. **Star scatter** (`normalize_scatter.py`): all six programs are emitted in star form (every retained-total unit + is +1), so nothing is re-signed; `gx.check1` and `gxcore` accept the committed program again, and both reject it + with one scalar sign flipped (E5). +12. **Price** at h = 20: H₅ = 5·H_inv + 2v(e₃₈ + e₁₉ + e₄₂ + e₄), m = 100, W = 4v + R; W·m − |H₅| = 4v − 5·cst = 2,040 + (cst = h(h − 2) = 360). (a) The moment Σ n_r (r/m)^{1−a} is below W at the claimed a by PR #225's exact upper + bound (PR #304's convention), and also with the fallback envelope added (32·m²·Σn rank-one calls at weight + 10⁻¹⁶); at a + 10⁻⁷ PR #225's bound fails and source527's exact lower bound of the normalized moment exceeds 1. + (b) The coarse saving b: the largest 10⁻¹⁸ grid point at which the normalized moment with the fallback is below 1, + certified by `scripts/source527/moment.py` (with its `bad` envelope) and by `base_two_moment.py` (the envelope as a + separate rank-one term), the next 10⁻¹⁸ point excluded by both; the same without the fallback is recorded; a ≤ b. +13. **Reproduction**: the six programs equal the committed `certificates/` byte for byte (uncompressed JSON), and + every number above equals `certificate/expected.json`. + +## 3. Anchors + +- **(a)** `aligned_word_p.py` at its default p = 11, given PR #168 v4's modules and the source-aligned word's own arcs, + frames and pairs, reproduces the seven output files of `source_aligned_local_v4.py` byte for byte. +- **(b)** PR #194's word through this package's chain (at p = 11) gives PR #256's certificate of that word (same + sha256 of the canonical JSON) and the block histogram of Sussman's published certificate of #193 in every class and + rank; the generic idle-rank formula gives PR #304's (42, 21, 46, 4) there. +- **(c)** The control modules are `module_cut.min_cut` of PR #168 v4's three module files in the rebuilt tree (the + fewest-additions single-point zero restriction), byte for byte. +- **(d)** PR #315's patch `references/centre46_graph.diff` applied to the rebuilt `scripts/paired_cube/graph.py` + builds, on the centre-sharing modules, the same graph as `centre46.finish_centre46` in every field but the status + string, and leaves the graph of the 36-root pair module unchanged. +- There is no external histogram for any p = 10 word: nothing else compiles this word at p = 10. The control passes + the same chain and is the like-for-like baseline; the exploratory runs that first produced these programs (with a + script version of the same recipe) gave the same programs. + +## 4. Results + +| word | R | registers | blocks | N | W | certified a | rejected | coarse b with fallback (/10¹⁸) | +|---|---|---|---|---|---|---|---|---| +| control, parity pairs | 7,121 | 9,041 | 49,631 | 179,260 | 10,961 | 7322/10⁷ | 7323/10⁷ | 732209244332069 | +| control, mw pairs | 7,125 | 9,045 | 49,282 | 179,340 | 10,965 | 7375/10⁷ | 7376/10⁷ | 737511222939316 | +| PR #304 recipe, parity pairs | 6,515 | 8,435 | 48,602 | 167,140 | 10,355 | 7689/10⁷ | 7690/10⁷ | 768912365785154 | +| PR #304 recipe, mw pairs | 6,515 | 8,435 | 48,299 | 167,140 | 10,355 | 7737/10⁷ | 7738/10⁷ | 773718577669358 | +| centre-sharing, parity pairs | 6,455 | 8,375 | 48,278 | 165,940 | 10,295 | 7747/10⁷ | 7748/10⁷ | 774746506241368 | +| centre-sharing, mw pairs | 6,455 | 8,375 | 47,979 | 165,940 | 10,295 | 7795/10⁷ | 7796/10⁷ | 779597612622781 | + +Every program has m = 100, deficit 2,040, cst = 360, scalar denominators 2 (x, slots) and 6 (y), and the star scatter +as emitted. The fallback lowers the coarse saving by about 3·10⁻¹² (`certificate/expected.json`). Gains on the +certified grid points: annealed over control +4.91% (mw, 362/7375) and +5.01% (parity); centre-sharing over control ++5.69% and +5.80%; PR #304's recipe at p = 10 over PR #304 at p = 11 (7635 and 7586/10⁷) +1.34% and +1.36%; the +centre-sharing word over PR #315's p = 11 centre-sharing program (7727/10⁷) +0.88%. The centre-sharing set has no +control of its own: against the PR #304-recipe set (7795 vs 7737, +0.75%) it changes both the graph (the centre +patch) and the pair module (`pmod46_pc1_p10.json` vs `pmod_p3_p10.json`, different parents), so that gain is not +the patch's alone. + +## 5. What is not claimed + +- **No Lean build in this package.** `verify.py` checks the programs with Sussman's Python reference checker and his + Python mirror of the Lean checks. Separately, both mw programs were compiled with his unchanged generator and + kernel-checked locally (`wht_main_block_B2Gcc95x`, 1 − 7795973/10¹⁰; `wht_main_block_B2Gcp37x`, + 1 − 7737183/10¹⁰; `tools/Compare.lean` passed; axioms propext, Classical.choice, Quot.sound; see README). The + official comparator was not run, and the Lean files are not part of this package. +- **The five-stage layout at h = 20.** The ledger H₅ = 5·H_inv + 2v(e_{2h−2} + e_{h−1} + e_{2h+2} + e₄), m = 5h, + W = 4v + R is applied at h = 20 as the generic formula. PR #304 applied it at h = 22 only (as did every Lean run of a + complex program), and at R values other than #193's; that it holds verbatim here is the generic B₂ statement of + Sussman's repository (`bankPrice h`), not something this package re-proves. +- **The fallback envelope** (10⁻¹⁶, 32·m² rank-one calls per paid child) is the five-stage packages' inherited + assumption, here evaluated at m = 100; it is not a new m = 5h admission. +- **What a κ package must change to adopt these programs.** The outer assembly uses only the two coarse savings, + and the two suppliers' widths already differ in PR #315 (bit m = 100, complex m = 110). But PR #315's package + (and PR #296's, from which its complex checks come) pins the p = 11 complex program in five places, which must be + generalized or re-pinned before a p = 10 program can be used: + - `code/complex_labels.py`, `code/complex_scalars.py` and `code/complex_splice.py` hard-code h = 22, v = 1,320 and + 22 centres; + - `portable_complex.py` asserts (110, 9036, 22, 14316) and pins R, N and the reference histograms; + - `math_check.complex_supplier()` asserts m = 110, W = 14,316, the histogram totals (351,820 calls, 1,571,680 + rank mass) and the literal b. + + The programs here are in the star form those checks read. This package does not make those changes. +- **Record correction.** On the control's cut modules `select()` chooses 8 gauges of ranks 14 and 13 that the + script drops; `aligned_word_p.py` removes their births from the record so that PR #200's checker can recount it. + The correction is checked, not trusted: the checker recounts the ledger from the word. The programs do not read + the corrected fields (`physical()` reads other record fields, none of the three corrected ones). +- **Discovery is numerical.** Floating-point scores chose the modules, frames and pairs; every choice is a frozen input + that the chain checks exactly. The annealing effort is asymmetric (about 1.5 h at p = 10 against the p = 11 + anneals of PR #168 and PR #304), so the p = 10 prices are not a bound on what p = 10 modules can reach. Cutting + PR #304's p = 11 modules straight to p = 10 gives only 7235/10⁷, so the gain over p = 11 comes from re-annealing at + p = 10, not from the cut. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/README.md new file mode 100644 index 0000000000..3c8a3fc030 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/README.md @@ -0,0 +1,171 @@ +# complex-p10 + +**The complex supplier at cube size p = 10 (no new κ).** PR #304 compiled the source-assisted complex word of PR +#184/#194 at p = 11 (h = 22, 1,320 ports) on re-annealed query modules, and PR #315 ships a centre-sharing version of +it. This package compiles the same word with the same frozen recipe one cube size down, at **p = 10 (h = 20, 960 +ports)**, on query modules cut from p = 11 module files and re-annealed at p = 10. Each word is one explicit gcert/1 +program that Jacob Sussman's reference checker `gx.check1` (exact scalar identity) and his Python mirror of the two +Lean checks (`gxcore.py`), both vendored unchanged, accept. Priced in his bridged five-stage layout at h = 20 +(m = 5h = 100, W = 4v + R; see "The layout at h = 20") with exact rational bounds: + +**centre-sharing modules (PR #233 pairs): a = 7795/10⁷ (7796/10⁷ rejected), against 7727/10⁷ for PR #315's p = 11 +centre-sharing program: +0.88%.** +**PR #304's recipe on annealed p = 10 modules (PR #233 pairs): a = 7737/10⁷ (7738/10⁷ rejected), against 7635/10⁷ +for PR #304 at p = 11: +1.34%.** + +Both claims also hold with the five-stage packages' 10⁻¹⁶ bad-class fallback envelope included; the fallback-inclusive +coarse savings that a five-stage package would consume are b = 779597612622781/10¹⁸ (centre-sharing) and +773718577669358/10¹⁸ (PR #304's recipe), each certified by two independent rational moment engines with the next +10⁻¹⁸ point rejected. + +**No new κ by itself.** On the open frontier (community stacks on PR #315's p = 10 bit word, best PR #320 at +κ 7.69199e-4; cited, not checked here) the bit side binds: it lies below PR #315's complex supplier (7727/10⁷) and +below both prices here. If a κ package adopts this supplier, the complex cap rises from 7.727e-4 to 7.796e-4 +(+0.89%), so that the bit side could pass 7.727e-4 without the complex supplier capping κ there. A κ package must first +generalize or re-pin the five places where PR #315's package pins its p = 11 complex program (listed in PROOF.md §5); +this package does not do that. + +| program (gcert/1, five-stage layout m = 100, W = 4v + R) | modules | pairs | R | registers | blocks | N | gx.check1 and gxcore | saving a | +|---|---|---|---|---|---|---|---|---| +| control, parity recipe | PR #168 v4 cut to p = 10 | PR #193 recipe | 7,121 | 9,041 | 49,631 | 179,260 | accepted | 7322/10⁷ | +| control, mw recipe | PR #168 v4 cut to p = 10 | PR #233 recipe | 7,125 | 9,045 | 49,282 | 179,340 | accepted | 7375/10⁷ | +| PR #304 recipe, parity | annealed at p = 10 | PR #193 recipe | 6,515 | 8,435 | 48,602 | 167,140 | accepted | 7689/10⁷ | +| **PR #304 recipe, mw** | **annealed at p = 10** | PR #233 recipe | **6,515** | 8,435 | 48,299 | 167,140 | accepted | **7737/10⁷** | +| centre-sharing, parity | annealed, centre pair module | PR #193 recipe | 6,455 | 8,375 | 48,278 | 165,940 | accepted | 7747/10⁷ | +| **centre-sharing, mw** | **annealed, centre pair module** | PR #233 recipe | **6,455** | 8,375 | 47,979 | 165,940 | accepted | **7795/10⁷** | + +Against the same-recipe control the annealed modules gain +4.91% (mw) and +5.01% (parity), the centre-sharing set ++5.69% and +5.80% on the certified grid points. Against the p = 11 programs: PR #304's recipe at p = 10 beats PR +#304 (7635 and 7586/10⁷) by +1.34% and +1.36%; the centre-sharing word beats PR #315's (7727/10⁷) by +0.88%, and +even PR #304's recipe at p = 10 passes it (+0.13%). [PROOF.md](PROOF.md) states the claim and the chain of checks. + +## The layout at h = 20 + +The price uses Sussman's bridged five-stage word B₂ with the h-dependent idle climbs written out: +H₅ = 5·H_inv + 2v·(e_{2h−2} + e_{h−1} + e_{2h+2} + e₄), m = 5h, W = 4v + R. At h = 22 these are PR #304's literals +(e₄₂, e₂₁, e₄₆, e₄); here they are **e₃₈, e₁₉, e₄₂, e₄**, m = 100, and the deficit is 4v − 5·cst = 3,840 − 5·360 = +2,040 for every program (20 scratch copies of 18 moves, cst = h(h − 2)). This is the generic formula applied at a new +h: PR #304's price, PR #315's complex supplier and Sussman's Lean build of #193 are all at h = 22. In his +repository the layout is stated for every h (`bankPrice h` +in `Work/BridgeGeom/B2.lean`, `bridge2_gcert` and `GX.wht_of_halves` parametric in the label dimension; `gxunit.unit` +builds the unit from `BANK['B2']` as functions of h). Both mw programs here were kernel-checked at h = 20 with his +unchanged generator (below). `verify.py` re-derives the h = 22 literals from the same formula on its PR #194 anchor. + +## Verify + + python -m pip install numpy==2.3.5 scipy==1.17.0 # for the pinned regeneration and the checkers + python3 -B research/complex-p10/verify.py # about 12 minutes; -O is refused + +The script checks every pin of `SOURCE.json`, rebuilds the 308 pinned files of PR #202 from the vendored PR #233 +package and regenerates the producer word and the source-aligned word at p = 11 (PR #194's pipeline). Four anchors +follow: `aligned_word_p.py` at its default p = 11 reproduces the seven output files of `source_aligned_local_v4.py` +byte for byte; PR #194's word through this package's chain is PR #256's certificate (same sha256) with Sussman's #193 +histogram; the control modules are re-derived from PR #168 v4's module files byte for byte (`module_cut.py`); and PR +#315's 10-line `Graph.finish` patch, applied to the rebuilt `graph.py`, builds the same graph as `centre46.py`. Then, +for each module set and pair recipe, it installs the modules and the frozen layer, builds the word with +`aligned_word_p.py --p 10`, re-checks the pairs with `paircheck.py` (five mutation controls), recomputes PR #168's +`physical()` profile and admits the layer with PR #200's complete complex checker, runs PR #184's flow and exact lift +and PR #194's contract, emits the gcert/1 program with PR #256's `gcert_emit.py` (unchanged), runs `gx.check1` and +the `gxcore` mirror on the emitted program, checks the ledger, writes the scatter as the star rule with +`normalize_scatter.py`, runs `gx.check1` and `gxcore` again, requires both to reject a flipped scalar sign (E5), +prices the five-stage word at h = 20 at the claim of `SOURCE.json` with and without the fallback envelope (next 10⁻⁷ +point rejected by an exact lower bound) and certifies the fallback-inclusive coarse saving on the 10⁻¹⁸ grid with +both engines, and compares the six committed programs byte for byte (uncompressed JSON) with `certificates/` and the +run with `certificate/expected.json`. `--temp-root` chooses scratch storage. + +All six programs come out of the emitter in star form (every retained-total unit is +1), so at p = 10 +`normalize_scatter.py` changes nothing; the step stays as a check. The committed files are the emitted programs in +canonical JSON (sorted keys). + +To check a certificate with Sussman's other tools (not run for this package): + + python3 -B tools/gx/refcheck.py /certificates/gcert1-p10-centre-mw-flow.json.gz # in his repository + python3 -B tools/gx/gxdry.py /certificates/gcert1-p10-centre-mw-flow.json.gz # mirror and price + +and to build it in Lean with his unchanged generator (about 10 minutes of kernel time per program at h = 20): + + GX_OUT= python3 -B tools/gx/regen_check.py /gcert1-p10-centre-mw-flow.json.gz CC95 B2Gcc95 --keep + cp -R /Work/GCert/Data/. Work/GCert/Data/ # then lake build each module in the printed build order + lake env lean --run tools/Compare.lean Work.GCert.Data.ChallengeB2Gcc95x Work.GCert.Data.SolutionB2Gcc95x OAI.PowerSaving.WHT.wht_main_block_B2Gcc95x + +A dry run of the Python half of that generator (`regen_check.py --keep` into a scratch directory; not part of +`verify.py`) accepts both mw programs at h = 20 (its `gxcore` mirror of both Lean checks; 6 data segments, 4 replay +segments, 2 scalar batches) and states the whole-block rates 1 − 7795973/10¹⁰ (centre-sharing) and +1 − 7737183/10¹⁰ (PR #304's recipe) for the theorems it emits. + +**Lean (run locally; not pinned in this package).** Both mw programs were compiled with Sussman's unchanged +generator (`tools/gx/regen_check.py`, wht-power-saving-lean at f010392, Lean v4.34.1, Mathlib d13f23b) and +kernel-checked, one module at a time (31 of 31 built modules each, 0 errors): + +| program | theorem | exponent | gcert sha256 (uncompressed) | +| --- | --- | --- | --- | +| centre-sharing mw | `OAI.PowerSaving.WHT.wht_main_block_B2Gcc95x` | 1 − 7795973/10¹⁰ | `370fae73…23ff` | +| PR #304's recipe mw | `OAI.PowerSaving.WHT.wht_main_block_B2Gcp37x` | 1 − 7737183/10¹⁰ | `433848305e…16e5` | + +The hashes equal the `certificate_sha256` values pinned in `certificate/expected.json`. `tools/Compare.lean` +passed for both, against challenge files that differ from his ChallengeB2Gp193x only in the module and theorem +names and the exponent. `#print axioms` gives `propext`, `Classical.choice` and `Quot.sound`. Nothing h-specific +broke at h = 20 (the generator emits 6 data and 4 replay segments). The official comparator and a clean build +from nothing were not run. This covers the Walsh–Hadamard power-saving theorem at these exponents, not any +integer-multiplication κ assembly. + +## Modules + +| set | triple module (p = 10) | pair module (n = 9) | all-but-one module (n = 8) | +|---|---|---|---| +| `pr168-v4-cut` (control) | PR #168 v4's, point 6 dropped (1,220 additions) | PR #168 v4's, point 4 dropped (256) | PR #168 v4's, point 1 dropped (24) | +| `anneal` (PR #304 recipe) | `tmod_t2_p10.json` (1,322) | `pmod_p3_p10.json` (269) | `qmod_sa1_p10.json` (24) | +| `centre` | `tmod_t2_p10.json` | `pmod46_pc1_p10.json` (291, 37 roots) | `qmod_sa1_p10.json` | + +Every module is a zero restriction of a p = 11 module file followed (except the control's) by simulated annealing at +p = 10 against a closed-form evaluator of the aligned word's compile ledger: the triple and all-but-one modules from +PR #304's `tmod_cmod_v2.json` and `qmod_cmod.json`; the pair module of the PR #304-recipe set from PR #168 v4's pair +module (the control's cut); the centre-sharing pair module from PR #304's `pmod_cmod_dropin.json`, annealed, given a +37th root (the sum of all its inputs) and annealed again with it. [discovery/README.md](discovery/README.md) has the +cut points, chains and energies. The annealing code is research code and is not included; the module files are inputs, +checked by the rebuilt tree's contract loaders (`load_pmod46` for the 37-root module) and priced by the chain. + +**The centre-sharing graph.** In PR #144's `Graph.finish` every star centre S(2i + e) is a separate sum of the +inputs of the pair module (i, e). The centre-sharing pair module returns that sum as its 37th root, and the graph uses +it as the centre: PR #315's 10-line patch (`references/centre46_graph.diff`, icekylinx's `graph.py`) does this inside +`Graph.finish`; `centre46.py` (`finish_centre46`, `load_pmod46`) does it without editing the tree. `verify.py` applies +the patch to the rebuilt `graph.py` and requires the two graphs to agree in every field except the status string, +and the patch to leave the graph of an ordinary 36-root pair module unchanged. + +## Two latent bugs, fixed for p ≠ 11 + +- **PR #233's `pairs_mw.py` hard-codes the gauge rank f = 18**, which is h − 4 only at h = 22. At h = 18 (p = 9) + every donor weight is then 0 and the maximum-weight pairing returns no pairs. `discovery/pairs_mw_p.py` reads + f = h − 4 (one line; identical at h = 22). The weights only choose pairs, which `verify.py` checks independently; on + this package's layers the literal happens to give the same pairs (discovery/README.md). +- **`source_aligned_local_v4.py` keeps the births of dropped gauges in its record.** The script keeps only the + selected gauges of rank h − 4 that are paired, but its record (`selected_roles`, `selected_rank_histogram`, + `remaining_internal_histogram`) still counts every gauge `select()` chose. On every p = 11 module set and on the + annealed p = 10 modules `select()` chooses only rank-(h − 4) gauges, so the record is exact; on the control's cut + modules it also chooses 8 gauges of ranks 14 and 13, and PR #200's complex checker (which recounts the record) + rejects the word. `aligned_word_p.py` reverses the births of dropped gauges in those three fields (and changes + nothing when none is dropped, which anchor (a) confirms byte for byte at p = 11). Only the verifiers read these fields; the + programs are unaffected. + +## Re-pinning after a module changes + + python3 -B research/complex-p10/discovery/make_layer_p.py --set anneal --tmod # ~90 s + python3 -B research/complex-p10/verify.py --write + python3 -B research/complex-p10/verify.py + +`--write` re-pins `modules/` and `layers/` (no other pin), sets every claim to the largest 10⁻⁷ grid point its exact +bounds certify, and rewrites `certificates/` and `certificate/expected.json`; the numbers in this file and in +PROOF.md are then updated by hand. + +## Files + +`verify.py`; `aligned_word_p.py` (PR #304's `aligned_word.py` with the cube size, the centre-sharing option and the +record correction); `centre46.py`; `module_cut.py` (zero restriction; re-derives the control modules); `paircheck.py` +and `normalize_scatter.py` (PR #304's, unchanged); `modules/` (seven module files); `layers/{pr168-v4-cut,anneal, +centre}/` (frozen carrier arcs, operation frames, reuse pairs of both recipes, kernel pairs); +`certificates/gcert1-p10-{pr168-v4-cut,anneal,centre}-{parity,mw}-flow.json.gz` (the six programs, star form, about +0.32 MB each); `certificate/expected.json`; `gcert_emit.py`, `gx/gx.py`, `scripts/moment.py` and `references/` +(`pr233-layer/`, `sussman/`) vendored byte for byte from PR #256 via PR #304; `gx/gxcore.py` (Sussman's, unchanged); +`scripts/source527/` (eumemic's two moment engines, unchanged); `references/centre46_graph.diff` (PR #315's); +`discovery/` (how the layers and modules were found; not run by `verify.py`); `SOURCE.json`, `PROOF.md`, `NOTICE`. +`.github/workflows/complex-p10.yml` runs the verifier on Python 3.12 and 3.14. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/SOURCE.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/SOURCE.json new file mode 100644 index 0000000000..c4a690ff22 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/SOURCE.json @@ -0,0 +1,167 @@ +{ + "description": "Pinned inputs of research/complex-p10 (sha256). Vendored byte for byte; nothing is fetched at run time. verify.py --write re-pins only the package's own inputs (modules/, layers/) and the claims; every other pin is fixed.", + "files": { + "gcert_emit.py": "10d2fc3f1f3d8cda5f0b07720f51b5a6fd40cfc1490d361939ff93e5470805d3", + "gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "layers/anneal/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/anneal/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/anneal/matching-arcs.json": "96c87aac70b6ef0671872d142ccba66448ffa8f5f42c35f32c0f655668251f02", + "layers/anneal/physical-frames.json": "7b24c9d5498bcdf96a72a061a95ff7b4ff2cda0bef5d7c7307afe72685959422", + "layers/anneal/physical-pairs-mw.json": "2af485c88a240c1c96d0c5b5a31851587eb99a8513e18becd49b3a7e74bcf3a8", + "layers/anneal/physical-pairs-parity.json": "0bff907fa41409fb1269323001a2ef313fcfaf03937597af7a63f6c4dc6854e4", + "layers/centre/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/centre/kernel-pairs-parity.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/centre/matching-arcs.json": "ea7300db2cdb324ddf680bee6d447e9a9994e0b77bf2cf7fbf25e7cd1f6cb16e", + "layers/centre/physical-frames.json": "1f9813eee92459b341fd437f4ec3a87ae9b440384a277450f483112481381b12", + "layers/centre/physical-pairs-mw.json": "6c910a4ed8fe325547d9da065edbe8176969048724c0f96ee43a075b2813bd53", + "layers/centre/physical-pairs-parity.json": "1ad1c36760848259270ab1710bb2ce0dea877195d3a763e0c9fb5c7624a751bc", + "layers/pr168-v4-cut/kernel-pairs-mw.json": "e47454fb1838c9372a403b5156bc195630ba6f0cfcaf71b92170f05f111a11cc", + "layers/pr168-v4-cut/kernel-pairs-parity.json": "d063546163d14e380747210cd0a060519d47061df1726aeb4707efc400c2a550", + "layers/pr168-v4-cut/matching-arcs.json": "22a28397c5c249438c36d087c14a16e99379891d45b2ad941af38944c971e166", + "layers/pr168-v4-cut/physical-frames.json": "8a1ae36d0d99d4dc9ee82a76422bcbd902dce360fcdd55a7a23fc17e4aa801c4", + "layers/pr168-v4-cut/physical-pairs-mw.json": "d12efcdd3091134c7506eed3e53c02dab1fa566d30bc3a0ad96559f767036dd3", + "layers/pr168-v4-cut/physical-pairs-parity.json": "5451e37e128850c6ae440ffda2010bd28d7fe8c127865387b662b4efd92cd744", + "modules/pmod46_pc1_p10.json": "7f0bfd151e7ec0b2a74bc6fd994acde477e23f1425f4da798202f510489b6a3c", + "modules/pmod_p3_p10.json": "5bb49c8befbbeb2f38a50c5b2ac836261074ef578a0a5697a8267b23551e96ab", + "modules/pmod_pr168_p10.json": "36053689bec46354916a6f412b891dd5b510edcb546ea6cf9bcbaddd34c1fe28", + "modules/qmod_pr168_p10.json": "c62504c96cb68658c4eade0f81cfb3a3733674519ebf7ddda1acbc18176e092b", + "modules/qmod_sa1_p10.json": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6", + "modules/tmod_pr168_p10.json": "a81da2ba642ccf448a542825b02d678d430c9078e22f8a80813d409ae3c5cb48", + "modules/tmod_t2_p10.json": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04", + "references/centre46_graph.diff": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280", + "references/pr233-layer/NOTICE": "5826b9f155b70d496d729cbaddeadb881abfb68da77f82dfc1746ddfc753313b", + "references/pr233-layer/SOURCE.json": "9ad0549ba2403e8d84d7c0c8e71e5ca952a0604ad626f403426164bd4bc2982c", + "references/pr233-layer/baseline-pr202.tar.gz": "5d08386f71c421d2b83b21020e3b74198e9d0c75884d7d81987307740d98883f", + "references/pr233-layer/certificate.json": "691cb0aaeb0d6b993e1e1e5116ae7a5c57af058a8c413249016347d1b40d3b90", + "references/pr233-layer/verify.py": "cd61a8c61462b4eee95c0858335a9a11bdf1ff8e8e63ebb1e488da29f061ca71", + "references/pr233-layer/witness/kernel-pairs.json": "e33b753fc4519170373207b0527b9cb53e0b552e2a27f48f72381a881c7a227f", + "references/pr233-layer/witness/physical-frames.json": "1a6c215cdc58216f7ec96fb898a471e25d094fd86de085f6c06e86fd8997bfad", + "references/pr233-layer/witness/physical-pairs.json": "e6409fffbf5f3b1ac6434acf2e426503de3a8a18537b8fee761fc4fc931fb896", + "references/sussman/pr193-blocks.json": "4049d066f71119fa72bbc37f7db753ce1e79ae5a69aef9cd2651d618bea5c855", + "scripts/moment.py": "0c7c68122cea18503e973ccf0d244adf8fa0edab95f104393528c6c57f24863a", + "scripts/source527/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "scripts/source527/moment.py": "9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7" + }, + "module_sets": { + "pr168-v4-cut": { + "pmod": "modules/pmod_pr168_p10.json", + "qmod": "modules/qmod_pr168_p10.json", + "tmod": "modules/tmod_pr168_p10.json" + }, + "anneal": { + "pmod": "modules/pmod_p3_p10.json", + "qmod": "modules/qmod_sa1_p10.json", + "tmod": "modules/tmod_t2_p10.json" + }, + "centre": { + "centre46": true, + "pmod": "modules/pmod46_pc1_p10.json", + "qmod": "modules/qmod_sa1_p10.json", + "tmod": "modules/tmod_t2_p10.json" + } + }, + "claims": { + "pr168-v4-cut-parity": "7322/10^7", + "pr168-v4-cut-mw": "7375/10^7", + "anneal-parity": "7689/10^7", + "anneal-mw": "7737/10^7", + "centre-parity": "7747/10^7", + "centre-mw": "7795/10^7" + }, + "official": { + "pr304-mw": [ + "PR #304: re-annealed modules at p = 11, PR #233 pairs: 7635/10^7", + "7635/10000000" + ], + "pr304-parity": [ + "PR #304: re-annealed modules at p = 11, PR #193 pairs: 7586/10^7", + "7586/10000000" + ], + "pr315-centre": [ + "PR #315: centre-sharing p = 11 program, PR #233 pairs: 7727/10^7", + "7727/10000000" + ], + "pr233": [ + "the PR #233 word in the five-stage layout: 7547/10^7 (PR #256, exact bounds)", + "7547/10000000" + ] + }, + "prerequisites": { + "frontier": { + "note": "open frontier (cited, not checked here): community stacks on PR #315's p = 10 bit word, best PR #320 at kappa 7.69199e-4; the complex supplier then binding is PR #315's centre-sharing p = 11 program, 7727/10^7" + }, + "pr202": { + "commit": "8d8d67bcf69c5ea67d3a29dbc64ba588156d6e8d", + "note": "the 308 files rebuilt by references/pr233-layer/verify.py: PR #184 flow/lift (icekylinx), PR #194 v4 scripts (ikeboy), PR #168 modules (eumemic), PR #200 checker (chafreaky)", + "repository": "CrocSwap/integer-mult-bounds" + }, + "pr225": { + "note": "scripts/moment.py: exact rational moment bounds (chafreaky; adapted from eumemic/exact-dft-bounds scripts/verify_moment.py, Apache-2.0)", + "path": "research/exact-dft-transfer/scripts/moment.py", + "pr": 225, + "repository": "CrocSwap/integer-mult-bounds" + }, + "pr233": { + "author": "chafreaky (Anthropic Claude and OpenAI Codex assistance); PR #202 baseline by ikeboy et al., see NOTICE", + "commit": "109a857", + "complex_saving": "3549537/5000000000", + "path": "research/source-assisted-v4-layer", + "pr": 233, + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "references/pr233-layer (baseline-pr202.tar.gz, SOURCE.json, verify.py, certificate.json, NOTICE, witness/), as vendored by PR #256" + }, + "pr256": { + "author": "chafreaky (Anthropic Claude and OpenAI Codex assistance)", + "commit": "db3f75cdc5f03f3131d48fb220f6bf1958404ff3", + "path": "research/gcert-program-233", + "pr": 256, + "pr194_certificate_sha256": "27398a0cfcbe34e5ee97360e69a2d163a417c8ae1b4fdf28ccf89a9eaf4e4cd4", + "pr233_certificate_sha256": "0c026244591a0b6737993aaac5fa8ac4a2bd27aa28e469f2567c698f57ed10a8", + "pr233_five_stage": "7547/10^7", + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "gcert_emit.py, gx/gx.py, scripts/moment.py, references/pr233-layer/, references/sussman/pr193-blocks.json (byte for byte; the certificate sha256 values are of the canonical uncompressed JSON, from its certificate/expected.json)" + }, + "pr304": { + "pr": 304, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "7ac169c58c96cebdb5cd490842331dff3610af62", + "path": "research/complex-module-anneal", + "author": "DreamingOfClouds (Anthropic Claude assistance)", + "claims": { + "cmod-mw": "7635/10^7", + "cmod-parity": "7586/10^7", + "pr168-v4-mw": "7522/10^7", + "pr168-v4-parity": "7469/10^7" + }, + "vendored": "aligned_word_p.py (= its aligned_word.py with --p and --centre46), paircheck.py, normalize_scatter.py, discovery/make_layer_p.py (= its discovery/make_layer.py with --p, --centre46, pairs_mw_p.py), discovery/extend_floor.py and discovery/pr233/ (byte for byte); verify.py follows its verify.py", + "note": "the p = 11 programs whose recipe this package applies at p = 10: the re-annealed modules tmod_cmod_v2.json, pmod_cmod_dropin.json and qmod_cmod.json are the parents of three of the four p = 10 modules" + }, + "pr315": { + "pr": 315, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "243899975d0fbe888d5deda399060885d609e0a1", + "path": "research/five-stage-p10-banks", + "author": "DreamingOfClouds (Anthropic Claude assistance)", + "complex_supplier": "inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz: the centre-sharing p = 11 program, 7727/10^7 (with the 10^-16 fallback 772714351296671/10^18)", + "vendored": "references/centre46_graph.diff (its inputs/complex/centre-mw/centre46_graph.diff, byte for byte: the 10-line Graph.finish patch whose effect centre46.py reproduces)" + }, + "source527": { + "repository": "CrocSwap/integer-mult-bounds", + "commit": "b07cafe23202d22d832961a04b07d48d9b245e10", + "path": "research/five-stage-source527-banks", + "author": "eumemic (OpenAI Codex assistance), PR #210 lineage; see scripts/source527/NOTICE", + "vendored": "scripts/source527/moment.py and scripts/source527/base_two_moment.py, byte for byte: the two rational moment engines with which the five-stage packages certify a coarse saving with the 10^-16 fallback envelope" + }, + "sussman": { + "commit": "f010392c", + "files": { + "tools/certificate/gcert1-p11-pr193.json.gz": "15251deb0c11e0504d7b297c9786818888a93f08b92b03c6c122784b70488633 (its block histogram and counts in references/sussman/pr193-blocks.json)", + "tools/gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95 (vendored unchanged as gx/gx.py)", + "tools/gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517 (vendored unchanged as gx/gxcore.py: his Python mirror of the two Lean checks, independent of gx.py)" + }, + "licence": "Apache-2.0, Copyright 2026 Jacob Sussman", + "repository": "jacobalansussman/wht-power-saving-lean" + } + } +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/aligned_word_p.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/aligned_word_p.py new file mode 100644 index 0000000000..98da711519 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/aligned_word_p.py @@ -0,0 +1,265 @@ +#!/usr/bin/env python3 +"""aligned_word_p.py: PR #194's source-aligned complex word for given query modules and a frozen physical layer, at any +cube size p. + +PR #304's aligned_word.py with three changes: (1) --p (default 11): Graph(p) and the module sizes p, p - 1, p - 2 +replace the literals 11, 10, 9; (2) --centre46: the pair module carries a 37th root (the sum of all its inputs) that +supplies the star centre (centre46.py, the effect of PR #315's Graph.finish patch); (3) when select() chooses gauges +that the script then drops (rank other than h - 4, or unpaired), the record's gauge ledger (selected_roles, +selected_rank_histogram, remaining_internal_histogram) is corrected to the kept gauges, so that PR #200's checker can +recount it; nothing is dropped at p = 11 or on the annealed p = 10 modules, so the output is then unchanged. At +p = 11 without --centre46 it is aligned_word.py. + +This is research/source-assisted-v4/source_aligned_local_v4.py of PR #202 (ikeboy, PR #193/#194; derived from +icekylinx's research/source-assisted/decision/source_aligned_local.py, GPT-6 Astra assistance, Apache-2.0) with +its four discovery steps replaced by inputs: + * the three query modules are --tmod/--pmod/--qmod (the script hard-codes PR #168 v4's three files); they are + loaded and contract-checked by the tree's own loaders (triple_module_from, pair_module_from, all_but_one_from); + * the carrier arcs are --arcs (the script maps PR #168's frozen matching through the PR #168 v4 word); the tree's + compile_closure() checks them (one donor per use, acyclic generalized dependencies, every value span inside its + frame, exact positive-rank ledger); + * the preferred frame of every query operation is its frame in --frames (the script inherits PR #168's physical + frames). The forward closure, the clipping to the exact future cap and the minimal-frame check of every local + pair are the script's, unchanged, and the closure must return every frozen frame unchanged; + * the reuse pairs are --pairs (as the script's own --pairs option). Each pair must be an edge of the script's + candidate graph (donor ungauged and not a root, its last frame inside the recipient's gauge frame, its last + operation before the recipient's first, deadline as the script assigns it) and the list must already be a + fixed point of the script's last-late-control reordering. +Everything else, in the script's order: local configuration (G all 's', A all 'fd'), Graph.finish, merge +f8:00111100, compile_closure, select, the rank-at-most-two local phase-one prefix with its role predecessors, gauge +filtering, the target data histogram, the exact physical checks of scripts/paired_cube_physical.py (nested chains, +pair legality, spliced recount, exact numeric replay with mutations rejected) and the files written: cache/ +{graph,frames,selection,record}.json, references/paired-cube/physical/{frames,pairs}.json and +certificates/paired-cube-sinks-input.json, byte for byte in the script's encoding. Given PR #168's modules and the +script's own arcs, frames and pairs it reproduces the script's output byte for byte (verify.py checks this). + +usage: aligned_word_p.py [--p P] [--centre46] --tree TREE --tmod F --pmod F --qmod F --arcs F --frames F --pairs F --out DIR +Run with the rebuilt PR #202 tree as working directory, as the upstream scripts are; -O is refused. +""" +from collections import Counter, defaultdict +from pathlib import Path +import argparse +import json +import sys +import time + +if sys.flags.optimize: + raise SystemExit('Assertions must remain enabled: run without -O') + + +def read(p): + return json.loads(Path(p).read_text()) + + +def write(p, d): + p.parent.mkdir(parents=True, exist_ok=True) + p.write_text(json.dumps(d, separators=(',', ':')) + '\n') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--tree', type=Path, required=True, help='the rebuilt PR #202 tree (its scripts/ are imported)') + ap.add_argument('--tmod', type=Path, required=True, help='disjoint-triple module (triple_module_from, p = 11)') + ap.add_argument('--pmod', type=Path, required=True, help='pair module (pair_module_from, n = 10)') + ap.add_argument('--qmod', type=Path, required=True, help='all-but-one module (all_but_one_from, n = 9)') + ap.add_argument('--arcs', type=Path, required=True, help='{"matching_arcs": [[donor node, use code], ...]}') + ap.add_argument('--frames', type=Path, required=True, help='{"frames": [[operation, frame rows], ...]}') + ap.add_argument('--pairs', type=Path, required=True, help='{"pairs": [[donor, recipient, deadline], ...]}') + ap.add_argument('--out', type=Path, required=True) + ap.add_argument('--p', type=int, default=11, help='cube size p (cp10 generalisation; 11 = the original script)') + ap.add_argument('--centre46', action='store_true', help='cp10: pair module with an extra full-sum root supplies the star centre (agent-cmod finish_centre46)') + a = ap.parse_args() + start = time.monotonic() + sys.path.insert(0, str(a.tree / 'scripts')) + from paired_cube.graph import Graph + from paired_cube.modules import triple_module_from, pair_module_from, all_but_one_from, merge_outputs + from paired_cube.closure import compile_closure + from paired_cube.gauges import select + from paired_cube.frames import basis, perp, contained + import paired_cube_physical as physical + s = a.tree / 'references/paired-cube/sources' + local = read(s / 'local_L1.json') + local['G'] = {k: 's' for k in local['G']} + local['A'] = {k: 'fd' for k in local['A']} + builder = Graph(a.p, local=local) + if a.centre46: + sys.path.insert(0, str(Path(__file__).resolve().parent)) + from centre46 import load_pmod46, finish_centre46 + g = finish_centre46(builder, triple_module_from(a.tmod, a.p), load_pmod46(a.pmod, a.p - 1), all_but_one_from(a.qmod, a.p - 2)) + else: + g = builder.finish(triple_module_from(a.tmod, a.p), pair_module_from(a.pmod, a.p - 1), all_but_one_from(a.qmod, a.p - 2)) + g = merge_outputs(g, builder, 'f8:00111100') + g['matching_frames'] = 'coordinate' + h, v = g['h'], g['v'] + newcut = v + g['counts']['local_channel_additions'] + newargs = [None] + [None if x is None else [t + 1 for t in x] for x in g['args']] + newroots = [dict(r, node=r['node'] + 1) for r in g['roots']] + # frozen carrier arcs (in place of the arcs mapped from PR #168's matching) + arcs = read(a.arcs)['matching_arcs'] + assert len({x for x, _ in arcs}) == len(arcs), 'one arc per donor' + p, w = compile_closure(g, arcs) + assert w['matching_arcs'] == arcs, 'compile_closure did not keep the frozen arcs' + p, word = select(g, p, w) + assert all(ca in (-1, 1) and cb in (-1, 1) for ca, cb in word['opcoeff']) + print(json.dumps(dict(stage='word', local=g['counts']['local_channel_additions'], arcs=len(arcs), R=p['R'], + selected=p['selected_rank_histogram'], seconds=time.monotonic() - start)), flush=True) + ops = word['ops'] + # frozen preferred frames (in place of the frames inherited from PR #168's physical layer) + frames_in = read(a.frames)['frames'] + desired = [perp(tuple(w['annihilators'][x]), h) for _, _, x in ops] + for i, F in frames_in: + desired[i] = tuple(F) + spans = [()] + [(q,) for q in g['inputs']] + for aa, bb in newargs[v + 1:]: + spans.append(basis(spans[aa] + spans[bb])) + root_frames = {} + for r, slot in zip(newroots, word['rootroles']): + root_frames[slot] = spans[r['node']] if r['kind'] == 'center' else perp(basis(g['inputs'][t] for t in r['targets']), h) + R = p['R'] + pset = set(word['phase1']) + # Both signs of a pair must occur before the center cut (source_aligned_local_v4.py, unchanged). + previous = [-1] * R + parents = [] + for i, (aa, bb, x) in enumerate(ops): + parents.append((previous[aa], previous[bb])) + previous[aa] = previous[bb] = i + if x <= newcut and len(spans[x]) <= 2: + pset.add(i) + todo = list(pset) + while todo: + i = todo.pop() + for j in parents[i]: + if j >= 0 and j not in pset: + pset.add(j) + todo.append(j) + word['phase1'] = sorted(pset) + p['phase1_operations'] = len(pset) + chron = sorted(pset) + [i for i in range(len(ops)) if i not in pset] + cap = [perp(root_frames[s], h) if s in root_frames else () for s in range(R)] + maxima = [None] * len(ops) + for i in reversed(chron): + aa, bb, x = ops[i] + A = basis(cap[aa] + cap[bb]) + maxima[i] = perp(A, h) + cap[aa] = cap[bb] = A + assert contained(spans[x], maxima[i]) + selected = [z for z in word['selected'] if z['rank'] == h - 4] + gauge = {z['role']: perp(tuple(z['annihilator']), h) for z in selected} + current = [() for _ in range(R)] + for x, slot in word['sources'].items(): + current[slot] = (g['inputs'][int(x) - 1],) + for slot, U in gauge.items(): + current[slot] = U + frames = [None] * len(ops) + minimal_pairs = query_ops = 0 + for i in chron: + aa, bb, x = ops[i] + if x <= newcut: + want = spans[x] + else: + want = desired[i] + query_ops += 1 + want = perp(basis(perp(want, h) + perp(maxima[i], h)), h) + U = basis(spans[x] + want + current[aa] + current[bb]) + assert contained(U, maxima[i]), ('Forward frame outside future cap', i) + frames[i] = current[aa] = current[bb] = U + if x <= newcut and len(spans[x]) == 2: + assert U == spans[x], ('Local pair failed its minimal physical frame', i) + minimal_pairs += 1 + for slot, U in root_frames.items(): + assert contained(current[slot], U) + bad = [i for i in range(len(ops)) if frames[i] != desired[i]] + assert not bad, ('the forward closure changes %d frozen frames, first at operation %d' % (len(bad), bad[0])) + role_ops = defaultdict(list) + for i, (aa, bb, _) in enumerate(ops): + role_ops[aa].append(i) + role_ops[bb].append(i) + pos = {i: k for k, i in enumerate(chron)} + for slot in role_ops: + role_ops[slot].sort(key=pos.__getitem__) + recipients = sorted(gauge) + recipient_set = set(recipients) + donors = {slot for slot in range(R) if slot not in recipient_set and slot not in root_frames and slot in role_ops} + for slot in recipients: + assert role_ops[slot][0] not in pset + # frozen reuse pairs (in place of the script's matching; the script's own --pairs option) + pairs = read(a.pairs)['pairs'] + assert len({d for d, _, _ in pairs}) == len({b for _, b, _ in pairs}) == len(pairs), 'one pair per donor and recipient' + for d, b, t in pairs: + assert d in donors and b in recipient_set, ('pair outside the candidate roles', d, b) + last, first = role_ops[d][-1], role_ops[b][0] + assert contained(frames[last], gauge[b]), ('donor last frame outside the recipient gauge', d, b) + assert pos[last] < pos[first], ('donor not dead before the recipient', d, b) + assert t == (None if last in pset else first), ('deadline differs from the script\'s rule', d, b, t) + # The inherited negative replay moves its last late recipient to the phase cut (unchanged); the frozen list + # must already be in that order. + last_write = {} + for i, (aa, bb, x) in enumerate(ops): + last_write[aa] = max(last_write.get(aa, -1), pos[i]) + controls = [q for q in pairs if q[2] is not None and last_write.get(q[0], -1) >= len(pset)] + if controls: + chosen = controls[-1] + assert pairs[-1] == chosen, 'frozen pairs are not in the script\'s control order' + kept = {b for _, b, _ in pairs} + chosen = word['selected'] + word['selected'] = [z for z in selected if z['role'] in kept] + # complex-p10: keep the record's gauge ledger equal to the gauges the word keeps. select() may choose gauges of + # rank other than h - 4 (or unpaired ones); the script drops them from the selection, but its record still counts + # their births, which PR #200's complex checker (verify_fused.py) recounts and rejects. Each dropped birth is + # reversed (H[r - d] -= 1, H[r] += 1 with r the rank of the role's first frame, as select() booked it). Nothing is + # dropped at p = 11 on PR #168 v4's or PR #304's modules, nor on this package's annealed modules: the record is then + # untouched (byte for byte). Only the verifiers read these three fields. + keep_roles = {z['role'] for z in word['selected']} + dropped = [z for z in chosen if z['role'] not in keep_roles] + if dropped: + first_x = {} + for aa, bb, x in ops: + first_x.setdefault(aa, x) + first_x.setdefault(bb, x) + H = list(p['remaining_internal_histogram']) + ranks = dict(p['selected_rank_histogram']) + for z in dropped: + r, d = h - len(w['annihilators'][first_x[z['role']]]), z['rank'] + H[r - d] -= 1 + H[r] += 1 + ranks[d] -= 1 + if not ranks[d]: + del ranks[d] + p['remaining_internal_histogram'], p['selected_rank_histogram'], p['selected_roles'] = H, ranks, len(word['selected']) + moved = [[i, list(U)] for i, U in enumerate(frames) if U != perp(tuple(w['annihilators'][ops[i][2]]), h)] + assert moved == frames_in, 'frozen frames are not in the script\'s canonical form' + deadline = {b: t for _, b, t in pairs} + Y = [() for _ in range(v)] + target = Counter() + for z in sorted(word['selected'], key=lambda z: len(pset) if deadline[z['role']] is None else pos[deadline[z['role']]]): + U = gauge[z['role']] + for t in z['targets']: + assert contained(Y[t], U) + target[len(U) - len(Y[t])] += 1 + Y[t] = U + for r, slot in zip(newroots, word['rootroles']): + if r['kind'] == 'side': + U = root_frames[slot] + for t in r['targets']: + assert contained(Y[t], U) + target[len(U) - len(Y[t])] += 1 + Y[t] = U + for t in range(v): + target[h - 1 - len(Y[t])] += 1 + p['target_data_histogram'] = dict(target) + print(json.dumps(dict(stage='physical', query_ops=query_ops, moved_frames=len(moved), minimal_pair_ops=minimal_pairs, + pairs=len(pairs), gauges=len(word['selected']), seconds=time.monotonic() - start, + dropped_gauges=dict(sorted(Counter(z['rank'] for z in dropped).items())))), flush=True) + out = a.out + for name, data in [('graph.json', g), ('frames.json', w), ('selection.json', word), ('record.json', p)]: + write(out / 'cache' / name, data) + write(out / 'references/paired-cube/physical/frames.json', {'frames': moved}) + write(out / 'references/paired-cube/physical/pairs.json', {'pairs': pairs}) + result = physical.physical(g, w, word, p, moved, pairs) + write(out / 'certificates/paired-cube-sinks-input.json', result) + print(json.dumps(dict(stage='checked', R=p['R'], physical_R=result['physical_R'], arcs=len(arcs), moved_frames=len(moved), + pairs=len(pairs), seconds=time.monotonic() - start)), flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/centre46.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/centre46.py new file mode 100644 index 0000000000..ede0d1b210 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/centre46.py @@ -0,0 +1,91 @@ +"""centre46.py: the centre-sharing variant of PR #144's Graph.finish used for PR #315's complex program (the research +copy, unchanged): the pair module supplies the star centre as an extra root (sum of all its inputs) instead of +Graph.sum over the A's. load_pmod46(path, n) checks the contract (C(n,2) roots + one full-sum root). +Prepared by DreamingOfClouds with Anthropic Claude assistance; Apache-2.0. Graph.finish is icekylinx's (PR #144).""" +import json +from pathlib import Path +from itertools import combinations + + +# ---- centre-sharing variant (agent-cmod): the pair module supplies the star centre as a 46th root ------------- +def load_pmod46(path, n=10): + """Pair module JSON with 45 contract roots plus a 46th root = sum of all 45 inputs (checked).""" + from itertools import combinations as _c + d = json.loads(Path(path).read_text()) + pairs = list(_c(range(n), 2)) + assert d['input_count'] == len(pairs) and len(d['roots']) == len(pairs) + 1 + support = [] + for x, a in enumerate(d['args']): + if x < len(pairs): + assert a is None; support.append(1 << x) + else: + assert a is not None and 0 <= a[0] < x and 0 <= a[1] < x and not support[a[0]] & support[a[1]] + support.append(support[a[0]] | support[a[1]]) + for (i, j), r in zip(pairs, d['roots']): + assert support[r] == sum(1 << k for k, (a, b) in enumerate(pairs) if i not in (a, b) and j not in (a, b)) + assert support[d['roots'][-1]] == (1 << len(pairs)) - 1 + return dict(kind='pair_disjoint_centre', n=n, input_count=len(pairs), input_labels=pairs, output_labels=pairs, + args=[None if a is None else list(a) for a in d['args']], roots=list(d['roots'])) + + +def finish_centre46(G, triple, pair46, allbut): + """Graph.finish (star centre) with centre[2i+e] = the pair module (i, e)'s 46th root instead of G.sum(...).""" + from itertools import product as _prod + from fractions import Fraction + G.local_channels() + base_nodes = len(G.a) + D = dict(zip(G.cubes, G.module(triple, [G.F[I] for I in G.cubes]))) + P, Q, CEN = {}, {}, {} + for i in range(G.p): + others = [a for a in range(G.p) if a != i] + pairs = list(combinations(others, 2)) + for bit in range(2): + inputs = [G.A[tuple(sorted((i, *K))), i, bit] for K in pairs] + outs = G.module(pair46, inputs) + for K, node in zip(pairs, outs[:len(pairs)]): + P[tuple(sorted((i, *K))), i, bit] = node + CEN[i, bit] = outs[len(pairs)] + for i, j in combinations(range(G.p), 2): + others = [a for a in range(G.p) if a not in (i, j)] + for mode in range(2): + inputs = [G.G[tuple(sorted((i, j, k))), i, j, mode] for k in others] + for k, node in zip(others, G.module(allbut, inputs)): + Q[tuple(sorted((i, j, k))), i, j, mode] = node + query_nodes = len(G.a) + def emit(I, bits_list, node, numerator=1, channel=''): + G.root.append(dict(node=node, targets=[G.source[I, b] for b in bits_list], + coefficients=[f'{numerator}/2'] * len(bits_list), kind='side', channel=channel)) + for I in G.cubes: + all_bits = list(_prod(range(2), repeat=3)) + emit(I, all_bits, D[I], channel='disjoint') + for a in range(2): + emit(I, [b for b in all_bits if b[0] == a], P[I, I[0], 1 - a], channel='face0') + for a, b in _prod(range(2), repeat=2): + emit(I, [(a, b, c) for c in range(2)], P[I, I[1], 1 - b], channel='face1') + for a, b in _prod(range(2), repeat=2): + emit(I, [(a, b, c) for c in range(2)], Q[I, I[0], I[1], a ^ b], 2 * a - 1, 'edge01') + for bits in all_bits: + emit(I, [bits], P[I, I[2], 1 - bits[2]], channel='face2') + for ii, jj in [(0, 2), (1, 2)]: + for bits in all_bits: + emit(I, [bits], Q[I, I[ii], I[jj], bits[ii] ^ bits[jj]], 2 * bits[ii] - 1, f'edge{ii}{jj}') + for i in range(G.p): + for e in range(2): + G.centers.append(CEN[i, e]) + for coordinate, node in enumerate(G.centers): + coefficients = ['1/3' if coordinate in t else '-1/6' for t in G.labels] + G.root.append(dict(node=node, targets=list(range(len(G.labels))), coefficients=coefficients, kind='center', + coordinate=coordinate)) + return dict(p=G.p, h=G.h, v=len(G.labels), labels=G.labels, inputs=[sum(1 << x for x in t) for t in G.labels], + args=G.a, signs=G.signs, roots=G.root, centers=G.centers, center_kind='star', + center_scatter='1/2 sum_(i in T) S_i - 1/6 sum_i S_i', + local_K='Two 4x4 Hadamard/2 blocks on opposite cube parities, using original X destructively', + source_data_histogram={2: len(G.labels), G.h - 4: len(G.labels), 1: len(G.labels)}, + target_data_histogram={G.h - 4: len(G.labels), 1: 3 * len(G.labels)}, + counts=dict(local_channel_additions=base_nodes - len(G.labels), query_additions=query_nodes - base_nodes, + center_additions=0, center_tree_incidences=0, + signed_additions=sum(x < 0 for x in G.signs), + side_root_uses=sum(r['kind'] == 'side' for r in G.root), center_roots=len(G.centers)), + status='agent-cmod centre-sharing variant') + + diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificate/expected.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificate/expected.json new file mode 100644 index 0000000000..825fcfb658 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificate/expected.json @@ -0,0 +1,1887 @@ +{ + "anchor_centre_patch": { + "center_additions": 0, + "centres_from_pair_module": 20, + "differing_fields": [ + "status" + ], + "fields_compared": 16, + "hunks": 2, + "ordinary_pair_module_unchanged": true, + "patch_sha256": "229eea46b56d19b262d1498f489f9bca84c347e33b16553079d38c4276700280" + }, + "anchor_control_modules": { + "pmod": { + "additions": 256, + "dropped_point": [ + 4 + ], + "source": "pmod_J0_full_6.0666810e-4.json" + }, + "qmod": { + "additions": 24, + "dropped_point": [ + 1 + ], + "source": "qmod_climb3u_best.json" + }, + "tmod": { + "additions": 1220, + "dropped_point": [ + 6 + ], + "source": "tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json" + } + }, + "anchor_pr194": { + "N": 262944, + "R": 9412, + "blocks_total": 70169, + "certificate_sha256": "27398a0cfcbe34e5ee97360e69a2d163a417c8ae1b4fdf28ccf89a9eaf4e4cd4", + "equals_pr256_certificate": true, + "equals_sussman_pr193_blocks": true, + "generic_idle_ranks_at_h22": [ + 42, + 21, + 46, + 4 + ] + }, + "anneal-mw": { + "N": 167140, + "R": 6515, + "admission": { + "formal": { + "absolute_coefficient_bound": 709038, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 9395, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 9395, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17306, + "10": 850, + "11": 69, + "12": 518, + "13": 936, + "14": 207, + "17": 515, + "2": 7618, + "3": 6173, + "4": 3392, + "5": 814, + "6": 1467, + "7": 531, + "8": 681, + "9": 482 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 48299, + "certificate_sha256": "433848305e705a22cb46cea4f5aa2c3052d3011788c3741d9b43890e375716e5", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1680, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4560, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 38600, + "five_stage": { + "W": 10355, + "a": "7737/10^7", + "child_histogram": { + "1": 105730, + "10": 4250, + "11": 345, + "12": 2590, + "13": 4680, + "14": 1035, + "16": 9600, + "17": 2575, + "18": 100, + "19": 1920, + "2": 42890, + "3": 30865, + "38": 1920, + "4": 18880, + "42": 1920, + "5": 4070, + "6": 7335, + "7": 2655, + "8": 3405, + "9": 2410 + }, + "coarse": { + "fallback_cost": "3031400/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "773718577669358/10^18", + "b_decimal": "0.000773718577669358", + "base_two_next_lower": "625000000000000000085149409435406508190816929/625000000000000000000000000000000000000000000", + "base_two_upper": "4999999999999999987935056725450314572333075169/5000000000000000000000000000000000000000000000", + "moment_interval": [ + "26959946667150639729612969642202350241619592653693978219665022479741/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639729612969642202350241619592653693978219665022479743/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "773718577669359/10^18", + "next_moment_lower_bound": "26959946667150639798340012746427290632331235724382565465230846419085/26959946667150639794667015087019630673637144422540572481103610249216" + }, + "without_fallback": { + "b": "773718580700758/10^18", + "b_decimal": "0.000773718580700758", + "base_two_next_lower": "200000000000000000374904376803/200000000000000000000000000000", + "base_two_upper": "999999999999999999325294174021/1000000000000000000000000000000", + "moment_interval": [ + "26959946667150639776476982002596796881909566046143080256644425340709/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639776476982002596796881909566046143080256644425340711/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "773718580700759/10^18", + "next_moment_lower_bound": "13479973333575319922602012553248440687693860718652573401771632583501/13479973333575319897333507543509815336818572211270286240551805124608" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "490474322875121787413405424/10^30", + "moment_upper_bound": "10354999509525677124878212586594576/10^30", + "next_grid_point": "7738/10^7", + "next_grid_point_normalized_moment_lower_bound": "26959952262859022125712907674860456229631250431300698439062071269845/26959946667150639794667015087019630673637144422540572481103610249216", + "next_grid_point_rejected": true, + "rank": 1033460, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 249175 x 10^-16", + "margin_lower_bound": "490394302267414695490793488/10^30", + "moment_upper_bound": "10354999509605697732585304509206512/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63438, + "10": 2550, + "11": 207, + "12": 1554, + "13": 2808, + "14": 621, + "16": 5760, + "17": 1545, + "18": 60, + "2": 27654, + "3": 18519, + "4": 10176, + "5": 2442, + "6": 4401, + "7": 1593, + "8": 2043, + "9": 1446 + }, + "deficit": 840, + "kernel_reuses": 0, + "loss": 360, + "new_R": 6515, + "new_W": 8435, + "original_physical_roles": 9395, + "source_control_erasures": 0 + }, + "frames": 12452, + "gates_A": 13400, + "gates_B": 22962, + "layer": { + "R": 11075, + "arcs": 6867, + "gauges_dropped_by_the_script": {}, + "kernel_pairs": 0, + "moved_frames": 9698, + "pairs": 1680, + "physical_R": 9395 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 40443, + "max_denominator": "2", + "nodes": 12410, + "physical_R": 6515, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 720, + "erasable": 0, + "first_violations": [], + "gauges": 1680, + "kinds": [], + "late": 960, + "pairs": 1680, + "status": "PASS", + "violations": 0 + }, + "registers": 8435, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "433848305e705a22cb46cea4f5aa2c3052d3011788c3741d9b43890e375716e5", + "raw_scatter": "star" + } + }, + "anneal-parity": { + "N": 167140, + "R": 6515, + "admission": { + "formal": { + "absolute_coefficient_bound": 320358, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 9395, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 9395, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17306, + "10": 861, + "11": 69, + "12": 517, + "13": 1424, + "14": 210, + "16": 5, + "17": 61, + "2": 7594, + "3": 6154, + "4": 3647, + "5": 814, + "6": 1477, + "7": 550, + "8": 725, + "9": 448 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 48602, + "certificate_sha256": "8bb4a8a300c173710b29f038ada20392b51deaad52e89ca832546fc583e5d83c", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1680, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4560, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 38652, + "five_stage": { + "W": 10355, + "a": "7689/10^7", + "child_histogram": { + "1": 105730, + "10": 4305, + "11": 345, + "12": 2585, + "13": 7120, + "14": 1050, + "16": 9625, + "17": 305, + "18": 100, + "19": 1920, + "2": 42770, + "3": 30770, + "38": 1920, + "4": 20155, + "42": 1920, + "5": 4070, + "6": 7385, + "7": 2750, + "8": 3625, + "9": 2240 + }, + "coarse": { + "fallback_cost": "3030832/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "768912365785154/10^18", + "b_decimal": "0.000768912365785154", + "base_two_next_lower": "250000000000000000024851759193814933171218639/250000000000000000000000000000000000000000000", + "base_two_upper": "624999999999999998458910050075285407639273123/625000000000000000000000000000000000000000000", + "moment_interval": [ + "26959946667150639728190690512208359694066969008845637191936128588611/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639728190690512208359694066969008845637191936128588613/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "768912365785155/10^18", + "next_moment_lower_bound": "13479973333575319898673511748411452104186524766820551938625186078283/13479973333575319897333507543509815336818572211270286240551805124608" + }, + "without_fallback": { + "b": "768912368815986/10^18", + "b_decimal": "0.000768912368815986", + "base_two_next_lower": "100000000000000000156369516259/100000000000000000000000000000", + "base_two_upper": "249999999999999999749636051487/250000000000000000000000000000", + "moment_interval": [ + "3369993333393829970958477536231902529477268274605670413028424260973/3369993333393829974333376885877453834204643052817571560137951281152", + "13479973333575319883833910144927610117909073098422681652113697043893/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "next_grid_point": "768912368815987/10^18", + "next_moment_lower_bound": "13479973333575319918412076637072282966221818639819681520707407874879/13479973333575319897333507543509815336818572211270286240551805124608" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "328537163318733990050178712/10^30", + "moment_upper_bound": "10354999671462836681266009949821288/10^30", + "next_grid_point": "7690/10^7", + "next_grid_point_normalized_moment_lower_bound": "26959952727402792095784538887969489516792418697714148891553949232901/26959946667150639794667015087019630673637144422540572481103610249216", + "next_grid_point_rejected": true, + "rank": 1033460, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 250690 x 10^-16", + "margin_lower_bound": "328456657960169646709021356/10^30", + "moment_upper_bound": "10354999671543342039830353290978644/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63438, + "10": 2583, + "11": 207, + "12": 1551, + "13": 4272, + "14": 630, + "16": 5775, + "17": 183, + "18": 60, + "2": 27582, + "3": 18462, + "4": 10941, + "5": 2442, + "6": 4431, + "7": 1650, + "8": 2175, + "9": 1344 + }, + "deficit": 840, + "kernel_reuses": 0, + "loss": 360, + "new_R": 6515, + "new_W": 8435, + "original_physical_roles": 9395, + "source_control_erasures": 0 + }, + "frames": 12452, + "gates_A": 13410, + "gates_B": 22304, + "layer": { + "R": 11075, + "arcs": 6867, + "gauges_dropped_by_the_script": {}, + "kernel_pairs": 0, + "moved_frames": 9698, + "pairs": 1680, + "physical_R": 9395 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 39704, + "max_denominator": "2", + "nodes": 12410, + "physical_R": 6515, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 689, + "erasable": 0, + "first_violations": [], + "gauges": 1680, + "kinds": [], + "late": 991, + "pairs": 1680, + "status": "PASS", + "violations": 0 + }, + "registers": 8435, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "8bb4a8a300c173710b29f038ada20392b51deaad52e89ca832546fc583e5d83c", + "raw_scatter": "star" + } + }, + "centre-mw": { + "N": 165940, + "R": 6455, + "admission": { + "formal": { + "absolute_coefficient_bound": 605946, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 9335, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 9335, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17326, + "10": 890, + "11": 169, + "12": 538, + "13": 936, + "14": 147, + "17": 535, + "2": 7518, + "3": 5953, + "4": 3612, + "5": 834, + "6": 1267, + "7": 431, + "8": 641, + "9": 442 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 47979, + "certificate_sha256": "370fae730670b375dd864b8a3fdfacfb166e5d59f215b78e524ba9a8a53923ff", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1680, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4560, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 38355, + "five_stage": { + "W": 10295, + "a": "7795/10^7", + "child_histogram": { + "1": 105830, + "10": 4450, + "11": 845, + "12": 2690, + "13": 4680, + "14": 735, + "16": 9600, + "17": 2675, + "18": 100, + "19": 1920, + "2": 42390, + "3": 29765, + "38": 1920, + "4": 19980, + "42": 1920, + "5": 4170, + "6": 6335, + "7": 2155, + "8": 3205, + "9": 2210 + }, + "coarse": { + "fallback_cost": "3034877/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "779597612622781/10^18", + "b_decimal": "0.000779597612622781", + "base_two_next_lower": "10000000000000000016450725420679944011260180987/10000000000000000000000000000000000000000000000", + "base_two_upper": "999999999999999999100302592961428378971651087/1000000000000000000000000000000000000000000000", + "moment_interval": [ + "13479973333575319885205610488331101189759035758464626041535874524867/13479973333575319897333507543509815336818572211270286240551805124608", + "3369993333393829971301402622082775297439758939616156510383968631217/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "next_grid_point": "779597612622782/10^18", + "next_moment_lower_bound": "26959946667150639839018083084781231180018139743257737494189435486487/26959946667150639794667015087019630673637144422540572481103610249216" + }, + "without_fallback": { + "b": "779597615657658/10^18", + "b_decimal": "0.000779597615657658", + "base_two_next_lower": "500000000000000000925697043409/500000000000000000000000000000", + "base_two_upper": "999999999999999999306624137723/1000000000000000000000000000000", + "moment_interval": [ + "26959946667150639775973638819723420108329438489052198653291711559493/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639775973638819723420108329438489052198653291711559495/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "779597615657659/10^18", + "next_moment_lower_bound": "3369993333393829980572562615939682811275518864187671344360025200353/3369993333393829974333376885877453834204643052817571560137951281152" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "2557369071408992293011517642/10^30", + "moment_upper_bound": "10294997442630928591007706988482358/10^30", + "next_grid_point": "7796/10^7", + "next_grid_point_normalized_moment_lower_bound": "26959946830732886645042898979930176106869924172040708605813363382431/26959946667150639794667015087019630673637144422540572481103610249216", + "next_grid_point_rejected": true, + "rank": 1027460, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 247575 x 10^-16", + "margin_lower_bound": "2557289562505151904838206739/10^30", + "moment_upper_bound": "10294997442710437494848095161793261/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63498, + "10": 2670, + "11": 507, + "12": 1614, + "13": 2808, + "14": 441, + "16": 5760, + "17": 1605, + "18": 60, + "2": 27354, + "3": 17859, + "4": 10836, + "5": 2502, + "6": 3801, + "7": 1293, + "8": 1923, + "9": 1326 + }, + "deficit": 840, + "kernel_reuses": 0, + "loss": 360, + "new_R": 6455, + "new_W": 8375, + "original_physical_roles": 9335, + "source_control_erasures": 0 + }, + "frames": 12392, + "gates_A": 13142, + "gates_B": 23021, + "layer": { + "R": 11015, + "arcs": 6947, + "gauges_dropped_by_the_script": {}, + "kernel_pairs": 0, + "moved_frames": 9938, + "pairs": 1680, + "physical_R": 9335 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 40358, + "max_denominator": "2", + "nodes": 12400, + "physical_R": 6455, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 740, + "erasable": 0, + "first_violations": [], + "gauges": 1680, + "kinds": [], + "late": 940, + "pairs": 1680, + "status": "PASS", + "violations": 0 + }, + "registers": 8375, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "5/2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "370fae730670b375dd864b8a3fdfacfb166e5d59f215b78e524ba9a8a53923ff", + "raw_scatter": "star" + } + }, + "centre-parity": { + "N": 165940, + "R": 6455, + "admission": { + "formal": { + "absolute_coefficient_bound": 574026, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 9335, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 9335, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17326, + "10": 905, + "11": 169, + "12": 539, + "13": 1427, + "14": 150, + "16": 2, + "17": 80, + "2": 7496, + "3": 5934, + "4": 3858, + "5": 834, + "6": 1271, + "7": 450, + "8": 691, + "9": 406 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 48278, + "certificate_sha256": "acdcf747f6652c17d34db7edc72d721a203e6e3e25c062d92b32aa01b7b33db4", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1680, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4560, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 38413, + "five_stage": { + "W": 10295, + "a": "7747/10^7", + "child_histogram": { + "1": 105830, + "10": 4525, + "11": 845, + "12": 2695, + "13": 7135, + "14": 750, + "16": 9610, + "17": 400, + "18": 100, + "19": 1920, + "2": 42280, + "3": 29670, + "38": 1920, + "4": 21210, + "42": 1920, + "5": 4170, + "6": 6355, + "7": 2250, + "8": 3455, + "9": 2030 + }, + "coarse": { + "fallback_cost": "3034150/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "774746506241368/10^18", + "b_decimal": "0.000774746506241368", + "base_two_next_lower": "5000000000000000004519048006812964759099651427/5000000000000000000000000000000000000000000000", + "base_two_upper": "4999999999999999991715583693099064804714482831/5000000000000000000000000000000000000000000000", + "moment_interval": [ + "26959946667150639749997530726513247780405510656428637464815799288123/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639749997530726513247780405510656428637464815799288125/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "774746506241369/10^18", + "next_moment_lower_bound": "26959946667150639819033673737026744218186326713816667572307694582117/26959946667150639794667015087019630673637144422540572481103610249216" + }, + "without_fallback": { + "b": "774746509275518/10^18", + "b_decimal": "0.000774746509275518", + "base_two_next_lower": "1000000000000000000853007471889/1000000000000000000000000000000", + "base_two_upper": "999999999999999998292314609159/1000000000000000000000000000000", + "moment_interval": [ + "26959946667150639748627908025661679701273930854035906642295020568323/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639748627908025661679701273930854035906642295020568325/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "774746509275519/10^18", + "next_moment_lower_bound": "13479973333575319908832025517924922729632571544542157466542340244173/13479973333575319897333507543509815336818572211270286240551805124608" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "1226087774707033731567185255/10^30", + "moment_upper_bound": "10294998773912225292966268432814745/10^30", + "next_grid_point": "7748/10^7", + "next_grid_point_normalized_moment_lower_bound": "6739987589986061560081236017210013600081416907429179531790197600509/6739986666787659948666753771754907668409286105635143120275902562304", + "next_grid_point_rejected": true, + "rank": 1027460, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 249070 x 10^-16", + "margin_lower_bound": "1226007787450903569005200144/10^30", + "moment_upper_bound": "10294998773992212549096430994799856/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63498, + "10": 2715, + "11": 507, + "12": 1617, + "13": 4281, + "14": 450, + "16": 5766, + "17": 240, + "18": 60, + "2": 27288, + "3": 17802, + "4": 11574, + "5": 2502, + "6": 3813, + "7": 1350, + "8": 2073, + "9": 1218 + }, + "deficit": 840, + "kernel_reuses": 0, + "loss": 360, + "new_R": 6455, + "new_W": 8375, + "original_physical_roles": 9335, + "source_control_erasures": 0 + }, + "frames": 12392, + "gates_A": 13155, + "gates_B": 22447, + "layer": { + "R": 11015, + "arcs": 6947, + "gauges_dropped_by_the_script": {}, + "kernel_pairs": 0, + "moved_frames": 9938, + "pairs": 1680, + "physical_R": 9335 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 39767, + "max_denominator": "2", + "nodes": 12400, + "physical_R": 6455, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 700, + "erasable": 0, + "first_violations": [], + "gauges": 1680, + "kinds": [], + "late": 980, + "pairs": 1680, + "status": "PASS", + "violations": 0 + }, + "registers": 8375, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "acdcf747f6652c17d34db7edc72d721a203e6e3e25c062d92b32aa01b7b33db4", + "raw_scatter": "star" + } + }, + "comparison": { + "anneal-mw": { + "control": "7375/10^7", + "gain_over_control": "362/7375", + "gain_over_control_percent": "4.908", + "result": "7737/10^7" + }, + "anneal-mw_vs_pr233": { + "gain": "190/7547", + "gain_percent": "2.518", + "official": "the PR #233 word in the five-stage layout: 7547/10^7 (PR #256, exact bounds)" + }, + "anneal-mw_vs_pr304-mw": { + "gain": "34/2545", + "gain_percent": "1.336", + "official": "PR #304: re-annealed modules at p = 11, PR #233 pairs: 7635/10^7" + }, + "anneal-mw_vs_pr304-parity": { + "gain": "151/7586", + "gain_percent": "1.991", + "official": "PR #304: re-annealed modules at p = 11, PR #193 pairs: 7586/10^7" + }, + "anneal-mw_vs_pr315-centre": { + "gain": "10/7727", + "gain_percent": "0.129", + "official": "PR #315: centre-sharing p = 11 program, PR #233 pairs: 7727/10^7" + }, + "anneal-parity": { + "control": "7322/10^7", + "gain_over_control": "367/7322", + "gain_over_control_percent": "5.012", + "result": "7689/10^7" + }, + "centre-mw": { + "control": "7375/10^7", + "gain_over_control": "84/1475", + "gain_over_control_percent": "5.695", + "result": "7795/10^7" + }, + "centre-mw_vs_pr233": { + "gain": "248/7547", + "gain_percent": "3.286", + "official": "the PR #233 word in the five-stage layout: 7547/10^7 (PR #256, exact bounds)" + }, + "centre-mw_vs_pr304-mw": { + "gain": "32/1527", + "gain_percent": "2.096", + "official": "PR #304: re-annealed modules at p = 11, PR #233 pairs: 7635/10^7" + }, + "centre-mw_vs_pr304-parity": { + "gain": "209/7586", + "gain_percent": "2.755", + "official": "PR #304: re-annealed modules at p = 11, PR #193 pairs: 7586/10^7" + }, + "centre-mw_vs_pr315-centre": { + "gain": "68/7727", + "gain_percent": "0.880", + "official": "PR #315: centre-sharing p = 11 program, PR #233 pairs: 7727/10^7" + }, + "centre-parity": { + "control": "7322/10^7", + "gain_over_control": "425/7322", + "gain_over_control_percent": "5.804", + "result": "7747/10^7" + } + }, + "modules": { + "anneal": { + "pmod": { + "additions": 269, + "outputs": 36, + "sha256": "5bb49c8befbbeb2f38a50c5b2ac836261074ef578a0a5697a8267b23551e96ab" + }, + "qmod": { + "additions": 24, + "outputs": 8, + "sha256": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6" + }, + "tmod": { + "additions": 1322, + "outputs": 120, + "sha256": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04" + } + }, + "centre": { + "pmod": { + "additions": 291, + "outputs": 37, + "sha256": "7f0bfd151e7ec0b2a74bc6fd994acde477e23f1425f4da798202f510489b6a3c" + }, + "qmod": { + "additions": 24, + "outputs": 8, + "sha256": "7f7f96efc14921c9dbd8a888a7f3a35b267f7c47d0a8e1e3926c3ff34011e8a6" + }, + "tmod": { + "additions": 1322, + "outputs": 120, + "sha256": "4d39faeedfb5a5283a7ad34a8a18af93072e4d155d61dec6c28d7751bc2e4e04" + } + }, + "pr168-v4-cut": { + "pmod": { + "additions": 256, + "outputs": 36, + "sha256": "36053689bec46354916a6f412b891dd5b510edcb546ea6cf9bcbaddd34c1fe28" + }, + "qmod": { + "additions": 24, + "outputs": 8, + "sha256": "c62504c96cb68658c4eade0f81cfb3a3733674519ebf7ddda1acbc18176e092b" + }, + "tmod": { + "additions": 1220, + "outputs": 120, + "sha256": "a81da2ba642ccf448a542825b02d678d430c9078e22f8a80813d409ae3c5cb48" + } + } + }, + "pr168-v4-cut-mw": { + "N": 179340, + "R": 7125, + "admission": { + "formal": { + "absolute_coefficient_bound": 254454, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 10005, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 10005, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17264, + "10": 974, + "11": 316, + "12": 641, + "13": 903, + "14": 238, + "15": 88, + "17": 735, + "2": 7032, + "3": 6960, + "4": 2912, + "5": 1329, + "6": 1407, + "7": 631, + "8": 662, + "9": 450 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 49282, + "certificate_sha256": "656a1f9bfd4a92a1cb14288645173739213c788b0e6eb8a727701b63042b6677", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1672, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4550, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 39194, + "five_stage": { + "W": 10965, + "a": "7375/10^7", + "child_histogram": { + "1": 105520, + "10": 4870, + "11": 1580, + "12": 3205, + "13": 4515, + "14": 1190, + "15": 440, + "16": 9600, + "17": 3675, + "18": 100, + "19": 1920, + "2": 39960, + "3": 34800, + "38": 1920, + "4": 16480, + "42": 1920, + "5": 6645, + "6": 7035, + "7": 3155, + "8": 3310, + "9": 2250 + }, + "coarse": { + "fallback_cost": "2946253/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "737511222939316/10^18", + "b_decimal": "0.000737511222939316", + "base_two_next_lower": "2500000000000000005031243420178547889419266817/2500000000000000000000000000000000000000000000", + "base_two_upper": "4999999999999999997435380251615771218222432857/5000000000000000000000000000000000000000000000", + "moment_interval": [ + "26959946667150639780838612759422647741316691642674115321808991554173/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639780838612759422647741316691642674115321808991554175/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "737511222939317/10^18", + "next_moment_lower_bound": "6739986666787659962230959199501774170882275329555867246990228766873/6739986666787659948666753771754907668409286105635143120275902562304" + }, + "without_fallback": { + "b": "737511225885569/10^18", + "b_decimal": "0.000737511225885569", + "base_two_next_lower": "125000000000000000127137824049/125000000000000000000000000000", + "base_two_upper": "31249999999999999952865039833/31250000000000000000000000000", + "moment_interval": [ + "26959946667150639754002822694678365500504136242961382413334863656249/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639754002822694678365500504136242961382413334863656251/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "737511225885570/10^18", + "next_moment_lower_bound": "13479973333575319911044023366470809422034770318934427010779480619893/13479973333575319897333507543509815336818572211270286240551805124608" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "310854462228326716163770342/10^30", + "moment_upper_bound": "10964999689145537771673283836229658/10^30", + "next_grid_point": "7376/10^7", + "next_grid_point_normalized_moment_lower_bound": "26959952711356915504840836400164072234625484492278193545917129451129/26959946667150639794667015087019630673637144422540572481103610249216", + "next_grid_point_rejected": true, + "rank": 1094460, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 254090 x 10^-16", + "margin_lower_bound": "310772876808713625703624248/10^30", + "moment_upper_bound": "10964999689227123191286374296375752/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63312, + "10": 2922, + "11": 948, + "12": 1923, + "13": 2709, + "14": 714, + "15": 264, + "16": 5760, + "17": 2205, + "18": 60, + "2": 25896, + "3": 20880, + "4": 8736, + "5": 3987, + "6": 4221, + "7": 1893, + "8": 1986, + "9": 1350 + }, + "deficit": 840, + "kernel_reuses": 0, + "loss": 360, + "new_R": 7125, + "new_W": 9045, + "original_physical_roles": 10005, + "source_control_erasures": 0 + }, + "frames": 12337, + "gates_A": 12358, + "gates_B": 25071, + "layer": { + "R": 11677, + "arcs": 5943, + "gauges_dropped_by_the_script": { + "13": 2, + "14": 6 + }, + "kernel_pairs": 0, + "moved_frames": 10918, + "pairs": 1672, + "physical_R": 10005 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 42036, + "max_denominator": "2", + "nodes": 12537, + "physical_R": 7125, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 765, + "erasable": 0, + "first_violations": [], + "gauges": 1672, + "kinds": [], + "late": 907, + "pairs": 1672, + "status": "PASS", + "violations": 0 + }, + "registers": 9045, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "656a1f9bfd4a92a1cb14288645173739213c788b0e6eb8a727701b63042b6677", + "raw_scatter": "star" + } + }, + "pr168-v4-cut-parity": { + "N": 179260, + "R": 7121, + "admission": { + "formal": { + "absolute_coefficient_bound": 102054, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 10005, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 10005, + "every_formal_column": true, + "source_columns": 960, + "target_columns": 960 + } + ], + "packed_digit_bits": 24 + }, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "status": "PASS exact fused physical candidate, all formal source/target/dirty columns" + }, + "blocks": { + "c": { + "18": 20 + }, + "s": { + "1": 17264, + "10": 1019, + "11": 286, + "12": 637, + "13": 1530, + "14": 245, + "15": 120, + "16": 9, + "17": 108, + "2": 6993, + "3": 6908, + "4": 3206, + "5": 1325, + "6": 1392, + "7": 681, + "8": 714, + "9": 454 + }, + "x": { + "1": 960, + "16": 960, + "2": 960 + }, + "y": { + "1": 2880, + "16": 960 + } + }, + "blocks_total": 49631, + "certificate_sha256": "192a58ffdbe7afd29449a401830e122f8a812063dcc293a3ab263d91c84b7926", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 960, + "checked_target_rows": 960, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 2880, + "16": 960 + }, + "read_counts": { + "center": 20, + "deferred": 1672, + "side": 2280 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 4550, + "1": 2880, + "16": 960 + } + }, + "controls": { + "flipped_scalar_sign": [ + "gx.check1: REJECTED (E5)", + "gxcore.mirror: REJECTED (E5)" + ] + }, + "cst": 360, + "distinct_frame_steps": 39254, + "five_stage": { + "W": 10961, + "a": "7322/10^7", + "child_histogram": { + "1": 105520, + "10": 5095, + "11": 1430, + "12": 3185, + "13": 7650, + "14": 1225, + "15": 600, + "16": 9645, + "17": 540, + "18": 100, + "19": 1920, + "2": 39765, + "3": 34540, + "38": 1920, + "4": 17950, + "42": 1920, + "5": 6625, + "6": 6960, + "7": 3405, + "8": 3570, + "9": 2270 + }, + "coarse": { + "fallback_cost": "2945103/10^18", + "scope": "10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages' inherited envelope, applied here at m = 5h = 100; not a new m = 5h admission", + "with_fallback": { + "b": "732209244332069/10^18", + "b_decimal": "0.000732209244332069", + "base_two_next_lower": "10000000000000000016782861649826976354825839209/10000000000000000000000000000000000000000000000", + "base_two_upper": "9999999999999999991336615442921856565918058609/10000000000000000000000000000000000000000000000", + "moment_interval": [ + "26959946667150639771310576525424373057946265114932137587267602294747/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639771310576525424373057946265114932137587267602294749/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "next_grid_point": "732209244332070/10^18", + "next_moment_lower_bound": "13479973333575319919956760293588101017377495118552362338065804231955/13479973333575319897333507543509815336818572211270286240551805124608" + }, + "without_fallback": { + "b": "732209247277172/10^18", + "b_decimal": "0.000732209247277172", + "base_two_next_lower": "40000000000000000091463037241/40000000000000000000000000000", + "base_two_upper": "999999999999999999741951310347/1000000000000000000000000000000", + "moment_interval": [ + "13479973333575319893855018088209985476723133206947373851068102339689/13479973333575319897333507543509815336818572211270286240551805124608", + "6739986666787659946927509044104992738361566603473686925534051169845/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "next_grid_point": "732209247277173/10^18", + "next_moment_lower_bound": "6739986666787659964078245059462534240309115001082527318130809322025/6739986666787659948666753771754907668409286105635143120275902562304" + } + }, + "deficit": 2040, + "h": 20, + "idle_ranks": [ + 38, + 19, + 42, + 4 + ], + "m": 100, + "margin_lower_bound": "257917446057038326875778909/10^30", + "moment_upper_bound": "10960999742082553942961673124221091/10^30", + "next_grid_point": "7323/10^7", + "next_grid_point_normalized_moment_lower_bound": "6739988223263864652866359560142033922788190124081074828028451937631/6739986666787659948666753771754907668409286105635143120275902562304", + "next_grid_point_rejected": true, + "rank": 1094060, + "with_fallback": { + "fallback_rank_one_calls": "32 m^2 x 255835 x 10^-16", + "margin_lower_bound": "257835302342638974293342512/10^30", + "moment_upper_bound": "10960999742164697657361025706657488/10^30" + } + }, + "flow": { + "child_histogram": { + "1": 63312, + "10": 3057, + "11": 858, + "12": 1911, + "13": 4590, + "14": 735, + "15": 360, + "16": 5787, + "17": 324, + "18": 60, + "2": 25779, + "3": 20724, + "4": 9618, + "5": 3975, + "6": 4176, + "7": 2043, + "8": 2142, + "9": 1362 + }, + "deficit": 840, + "kernel_reuses": 2, + "loss": 360, + "new_R": 7121, + "new_W": 9041, + "original_physical_roles": 10005, + "source_control_erasures": 0 + }, + "frames": 12337, + "gates_A": 12390, + "gates_B": 24043, + "layer": { + "R": 11677, + "arcs": 5943, + "gauges_dropped_by_the_script": { + "13": 2, + "14": 6 + }, + "kernel_pairs": 2, + "moved_frames": 10918, + "pairs": 1672, + "physical_R": 10005 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "inverse_elementary_gates": 40991, + "max_denominator": "2", + "nodes": 12537, + "physical_R": 7121, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "paircheck": { + "controls": { + "donor_frame_outside_gauge": "REJECTED (donor frame outside gauge)", + "duplicate_pair": "REJECTED (not one-to-one)", + "late_read_before_donor_death": "REJECTED (donor frame outside gauge, late chronology)", + "parity_erasable_donor": "REJECTED (erasable)", + "unpaired_gauge": "REJECTED (live external gauges)" + }, + "early": 705, + "erasable": 0, + "first_violations": [], + "gauges": 1672, + "kinds": [], + "late": 967, + "pairs": 1672, + "status": "PASS", + "violations": 0 + }, + "registers": 9041, + "scalar_denominators": { + "s": 2, + "x": 2, + "y": 6 + }, + "scalar_max_abs": { + "s": "2", + "x": "3/2", + "y": "2" + }, + "scatter": { + "changed_coefficients": 0, + "changed_gates": 0, + "flipped_coordinates": [], + "flipped_registers": [], + "gx_check1": "ACCEPTED (raw and committed program)", + "gxcore_mirror": "ACCEPTED (raw and committed program; label and scalar checks)", + "raw_certificate_sha256": "192a58ffdbe7afd29449a401830e122f8a812063dcc293a3ab263d91c84b7926", + "raw_scatter": "star" + } + }, + "prerequisites": { + "pr202": "8d8d67bcf69c5ea67d3a29dbc64ba588156d6e8d", + "pr233": { + "author": "chafreaky (Anthropic Claude and OpenAI Codex assistance); PR #202 baseline by ikeboy et al., see NOTICE", + "commit": "109a857", + "complex_saving": "3549537/5000000000", + "path": "research/source-assisted-v4-layer", + "pr": 233, + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "references/pr233-layer (baseline-pr202.tar.gz, SOURCE.json, verify.py, certificate.json, NOTICE, witness/), as vendored by PR #256" + }, + "pr256": { + "author": "chafreaky (Anthropic Claude and OpenAI Codex assistance)", + "commit": "db3f75cdc5f03f3131d48fb220f6bf1958404ff3", + "path": "research/gcert-program-233", + "pr": 256, + "pr194_certificate_sha256": "27398a0cfcbe34e5ee97360e69a2d163a417c8ae1b4fdf28ccf89a9eaf4e4cd4", + "pr233_certificate_sha256": "0c026244591a0b6737993aaac5fa8ac4a2bd27aa28e469f2567c698f57ed10a8", + "pr233_five_stage": "7547/10^7", + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "gcert_emit.py, gx/gx.py, scripts/moment.py, references/pr233-layer/, references/sussman/pr193-blocks.json (byte for byte; the certificate sha256 values are of the canonical uncompressed JSON, from its certificate/expected.json)" + }, + "pr304": { + "author": "DreamingOfClouds (Anthropic Claude assistance)", + "claims": { + "cmod-mw": "7635/10^7", + "cmod-parity": "7586/10^7", + "pr168-v4-mw": "7522/10^7", + "pr168-v4-parity": "7469/10^7" + }, + "commit": "7ac169c58c96cebdb5cd490842331dff3610af62", + "note": "the p = 11 programs whose recipe this package applies at p = 10: the re-annealed modules tmod_cmod_v2.json, pmod_cmod_dropin.json and qmod_cmod.json are the parents of three of the four p = 10 modules", + "path": "research/complex-module-anneal", + "pr": 304, + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "aligned_word_p.py (= its aligned_word.py with --p and --centre46), paircheck.py, normalize_scatter.py, discovery/make_layer_p.py (= its discovery/make_layer.py with --p, --centre46, pairs_mw_p.py), discovery/extend_floor.py and discovery/pr233/ (byte for byte); verify.py follows its verify.py" + }, + "pr315": { + "author": "DreamingOfClouds (Anthropic Claude assistance)", + "commit": "243899975d0fbe888d5deda399060885d609e0a1", + "complex_supplier": "inputs/complex/gcert1-p11-cmod-centre-mw-flow.json.gz: the centre-sharing p = 11 program, 7727/10^7 (with the 10^-16 fallback 772714351296671/10^18)", + "path": "research/five-stage-p10-banks", + "pr": 315, + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "references/centre46_graph.diff (its inputs/complex/centre-mw/centre46_graph.diff, byte for byte: the 10-line Graph.finish patch whose effect centre46.py reproduces)" + }, + "source527": { + "author": "eumemic (OpenAI Codex assistance), PR #210 lineage; see scripts/source527/NOTICE", + "commit": "b07cafe23202d22d832961a04b07d48d9b245e10", + "path": "research/five-stage-source527-banks", + "repository": "CrocSwap/integer-mult-bounds", + "vendored": "scripts/source527/moment.py and scripts/source527/base_two_moment.py, byte for byte: the two rational moment engines with which the five-stage packages certify a coarse saving with the 10^-16 fallback envelope" + }, + "sussman": { + "commit": "f010392c", + "files": { + "tools/certificate/gcert1-p11-pr193.json.gz": "15251deb0c11e0504d7b297c9786818888a93f08b92b03c6c122784b70488633 (its block histogram and counts in references/sussman/pr193-blocks.json)", + "tools/gx/gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95 (vendored unchanged as gx/gx.py)", + "tools/gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517 (vendored unchanged as gx/gxcore.py: his Python mirror of the two Lean checks, independent of gx.py)" + }, + "licence": "Apache-2.0, Copyright 2026 Jacob Sussman", + "repository": "jacobalansussman/wht-power-saving-lean" + } + }, + "status": "PASS: six flow words at p = 10 (h = 20) exported as gcert/1 programs accepted by gx.check1 and gxcore; five-stage saving (generic bridged layout at h = 20, with and without the 10^-16 fallback): centre-sharing 7795/10^7, annealed 7737/10^7 (PR233 pairs; parity 7747/10^7 and 7689/10^7), same-recipe control 7375/10^7 and 7322/10^7" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-mw-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-mw-flow.json.gz new file mode 100644 index 0000000000..7fa09bc275 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-mw-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-parity-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-parity-flow.json.gz new file mode 100644 index 0000000000..91d7d6fa7e Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-anneal-parity-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz new file mode 100644 index 0000000000..3e5ed6941c Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-mw-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-parity-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-parity-flow.json.gz new file mode 100644 index 0000000000..092b322662 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-centre-parity-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz new file mode 100644 index 0000000000..ab24e648c6 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-mw-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz new file mode 100644 index 0000000000..1072c87041 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/certificates/gcert1-p10-pr168-v4-cut-parity-flow.json.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/README.md new file mode 100644 index 0000000000..0a403e1e57 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/README.md @@ -0,0 +1,109 @@ +# Discovery (not run by verify.py) + +`verify.py` never searches. It reads the frozen layers in `../layers/` and the module files in `../modules/` and checks +them; this directory records how they were found and is the tool for re-pinning when a module changes. + +## Layers: `make_layer_p.py` + +`make_layer_p.py` is PR #304's `discovery/make_layer.py` with three changes and nothing else: the cube size is a +parameter (`--p`, default 10: `Graph(p)`, triple module at p, pair module at p − 1, all-but-one module at p − 2 instead +of the literals 11, 10, 9), the centre-sharing graph is an option (`--centre46`, see `../centre46.py`), and the +maximum-weight pairing is `pairs_mw_p.py` (below). The recipe (the same for the control and both results): + +1. the source-aligned graph of PR #194's pipeline with the given modules (the construction of `aligned_word_p.py`); +2. carrier arcs: the deterministic Hopcroft-Karp carrier matching of PR #200/#233's harness (`pr233/matching.py`, + ordering `reverse`) with the arcs of local donors dropped, then PR #162's greedy extension restricted to query + donors (`extend_floor.py`); +3. `compile_closure` + `select`, then PR #200's operation-frame descent on the aligned word (`pr233/physical_opt.py` + endpoint moves, `pr233/bundles.py`, `pr233/joint.py`; at most three cycles); +4. `source_aligned_local_v4.py`'s forward closure with the descended frames as the preferred frames; +5. reuse pairs on these frames, two recipes: `parity` (PR #193's minimum-weight full matching that avoids PR #184's + parity erasures) and `mw` (PR #200/#233's maximum-weight late compensated pairing, `pairs_mw_p.py`, last late pair + moved to the phase cut); +6. kernel pairs: PR #184's flow with its own kernel matching on the tree that `aligned_word_p.py` writes. Two are + found on the control's parity layer (`layers/pr168-v4-cut/kernel-pairs-parity.json`), none on the other five. + +The committed layers were written by this script (about 90 s per set at p = 10): + + python3 -B research/complex-p10/discovery/make_layer_p.py --set pr168-v4-cut + python3 -B research/complex-p10/discovery/make_layer_p.py --set anneal + python3 -B research/complex-p10/discovery/make_layer_p.py --set centre # --centre46 is read from SOURCE.json + +Their arcs, frames and both pair lists are identical to those of the exploratory runs that first produced the +programs (cp10 `word_p.py`, a script version of the same recipe), and `verify.py` regenerates from them the programs +of those runs (same gcert/1 content apart from the `derived_from` string). + +## The gauge-rank fix: `pairs_mw_p.py` + +PR #233's `pr233/pairs_mw.py` (vendored unchanged) weighs a donor whose last frame has dimension dd by + + weight = 3 φ(h − dd) + φ(3f) − 3 φ(f − dd) (f ≥ dd; otherwise excluded), φ indexed 0 .. 3h, φ(3h) = 0, + +with the gauge rank written as the literal `f = 18`. The selected gauges have rank h − 4, which is 18 only at h = 22 +(p = 11), where every PR #233 / PR #304 layer lives, so the literal was harmless there. At other cube sizes it is a +latent bug: at h = 18 (p = 9) φ(3f) = φ(3h) = 0 and the two other terms cancel, so every weight is 0 and the +pairing returns no pairs at all; at h = 20 (p = 10) the weights and the cut-off are those of a rank-18 gauge although +the gauges have rank 16. `pairs_mw_p.py` differs from `pairs_mw.py` in one line, `f = o.h - 4`, and is identical to it +at h = 22. The weights only choose the pairs; every pair is checked by `verify.py` (the script's candidate rule and +`paircheck.py`), so the bug could never have produced an illegal pair, only a different (or empty) pairing. +Measured effect: on the PR #144 library modules at p = 9 the mw word went from 6016/10⁷ (no pairs) to 6562/10⁷ with +the fix; at p = 10 the library word was unchanged (6329/10⁷ both ways). On this package's layers the literal happens to be harmless too: `make_layer_p.py` run with PR #233's unchanged +`pairs_mw.py` (f = 18) returns the identical mw pair lists on the `anneal` and `centre` layers (all 1,680 gauges +paired either way; arcs, frames and parity pairs identical as well). The fix is needed for correctness of the +recipe at other h (p = 9, and any h where the weights change the matching), not for these programs. + +## Modules + +The four p = 10 modules were made in two steps, neither of which is part of the proof (the files are inputs, checked +by the rebuilt tree's contract loaders and priced by the chain): + +1. **Zero restriction of a p = 11 module file** (`../module_cut.py`): the inputs touching one dropped point are set + to zero and the module is pruned. The seeds were chosen by scoring every single-point cut of PR #168 v4's and PR + #304's p = 11 files with a closed-form evaluator of the aligned word's compile ledger (agent-cmod's evaluator with + the p = 10 constants), or, for the control, by fewest additions. +2. **Simulated annealing at p = 10** (numba annealers of the triple, pair and all-but-one modules against that + closed-form ledger, adapted from the bit side's annealer; research code with workspace paths, not included). The + energies E below are that evaluator's; they ranked candidates, the chain priced them. + +| module file | parent (p = 11) | cut | anneal at p = 10 | additions | +|---|---|---|---|---| +| `tmod_t2_p10.json` | PR #304 `tmod_cmod_v2.json` | point 4 dropped (E 41003.3) | chain t1, 2 M iterations (E 38527.9), then t2, 2 M iterations (E 38212.6) | 1,322 | +| `pmod_p3_p10.json` | PR #168 v4 `pmod_J0_full_6.0666810e-4.json` | point 4 dropped, fewest additions (E 212891.7) | chain p3, 12 M iterations (E 104151.4) | 269 | +| `qmod_sa1_p10.json` | PR #304 `qmod_cmod.json` | point 0 dropped (E 77839.5) | chain q1, 8 M iterations (E 77695.0) | 24 | +| `pmod46_pc1_p10.json` | PR #304 `pmod_cmod_dropin.json` | point 5 dropped (E 113224.8) | chain p1, 12 M iterations (E 104311.7); `add_centre.py` appends the 37th root (a greedy disjoint cover of existing nodes summed pairwise, 7 parts); chain pc1, 12 M iterations with the centre root kept (E 102111.1 in centre mode) | 291 | +| `tmod_pr168_p10.json` (control) | PR #168 v4 `tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json` | point 6 dropped, fewest additions | none | 1,220 | +| `pmod_pr168_p10.json` (control) | PR #168 v4 `pmod_J0_full_6.0666810e-4.json` | point 4 dropped, fewest additions | none | 256 | +| `qmod_pr168_p10.json` (control) | PR #168 v4 `qmod_climb3u_best.json` | point 1 dropped, fewest additions | none | 24 | + +`verify.py` re-derives the three control files byte for byte with `module_cut.min_cut` from the rebuilt tree. The +three cut seeds of the annealed modules are `module_cut`'s cuts of PR #304's files at the points listed (checked once +against the seed files; the seed files themselves are not shipped). The pair module of the PR #304-recipe set +descends from PR #168 v4's pair module, the other three annealed modules from PR #304's; the effort is asymmetric +(about 1.5 h of annealing at p = 10 against PR #168's and PR #304's anneals at p = 11). + +## Re-pinning after a module changes + + python3 -B research/complex-p10/discovery/make_layer_p.py --set anneal --tmod # ~90 s + python3 -B research/complex-p10/verify.py --write # re-pins modules/ and layers/, sets the claims + python3 -B research/complex-p10/verify.py # must PASS; then update README.md and PROOF.md + +`make_layer_p.py` copies a module given outside `modules/` into it and records the set's files in `SOURCE.json` +(`module_sets`, with `centre46` for the centre-sharing set). Delete a superseded module file from `modules/` before +`--write`. + +## Vendored harness (`pr233/`) + +PR #233's discovery files (Chafik Boukhalfa with Anthropic Claude and OpenAI Codex assistance; Apache-2.0; PR #162 +extension DaysSky et al.), unchanged, as PR #304 vendors them: `matching.py`, `physical_opt.py`, `bundles.py`, +`joint.py`, `pairs_mw.py` and their `README.md`. sha256: + + 59d1cd30e67d3511cf799140eb248e785e77aaccff7c47a22a0feef8fb6f021e matching.py + cbfd06026a44df30944781262848c88ec987ca5e80381e35ae7ad715a9db1fce physical_opt.py + 71c81bc858e62e03e2a5230c16c4c199a027c24402cdc937bd4ded60f4ee3286 bundles.py + e4857418f6e16d6fbb1815d3c4148116e35a6b9940cb57acb2b563da5621b92c joint.py + aa927718ad27bebcfa2bddeb3704d4721433c2d4e6b6e218ceb9d28a07cd6c83 pairs_mw.py + 1bd628da0afbccfd9baafc2d51cd96a51a4e46c782b783a1c16bea04fd88d98c README.md + +`extend_floor.py` is PR #304's (`extend.py` of the harness with a donor floor, two lines). `add_centre.py` is the +greedy centre-root step of the centre-sharing pair module (DreamingOfClouds with Anthropic Claude assistance, +Apache-2.0). diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/add_centre.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/add_centre.py new file mode 100644 index 0000000000..d9ee63aa2f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/add_centre.py @@ -0,0 +1,30 @@ +"""Append a centre root (sum of all inputs) to a pair module by a greedy disjoint cover of existing nodes. +usage: add_centre.py SRC.json DST.json (made pmod46_p1 from pmod_p1, the seed of the centre-sharing anneal) +Prepared by DreamingOfClouds with Anthropic Claude assistance (Apache-2.0).""" +import json,sys +src,dst=sys.argv[1],sys.argv[2] +d=json.load(open(src)); n=d['input_count']; args=d['args'] +sup=[] +for x,a in enumerate(args): + sup.append(1<1: + nxt=[] + for i in range(0,len(cur)-1,2): + args.append([cur[i],cur[i+1]]);nxt.append(len(args)-1) + if len(cur)%2:nxt.append(cur[-1]) + cur=nxt +d['roots']=d['roots']+[cur[0]] +d['provenance']=dict(source=src,extra_root='greedy disjoint cover centre, %d parts'%len(parts)) +json.dump(d,open(dst,'w')) +print('parts',len(parts),'additions',len(args)-n,'roots',len(d['roots'])) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/extend_floor.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/extend_floor.py new file mode 100644 index 0000000000..b9f2bb7619 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/extend_floor.py @@ -0,0 +1,99 @@ +# agent-cmod copy of PR233 discovery extend.py (PR162 extension, DaysSky et al., Apache-2.0) with a donor floor. +"""PR162 generalized-carrier construction helper, DaysSky et al. Apache-2.0. +Extracted unchanged function only; no foreign producer invocation. +""" +from collections import defaultdict +from functools import lru_cache +from paired_cube.frames import basis,perp,contained +@lru_cache(maxsize=None) +def join(A,B): + if A==B or not B:return A + if not A:return B + return basis(A+B) +@lru_cache(maxsize=None) +def orthogonal(S,A):return all((s&a).bit_count()%2==0 for s in S for a in A) +def extended_arcs(g, frozen, min_donor=0): + """Greedy extension of the frozen arcs. gspan[x]: span of every value that reaches x through DAG or arc edges; + gann[x]: annihilator of the intersection of every root frame reachable from x. An arc x -> t is legal iff + gspan[x] is orthogonal to gann[t] and t does not reach x.""" + h = g['h']; inputs = g['inputs'] + args = [None] + [None if a is None else [x + 1 for x in a] for a in g['args']] + roots = [dict(r, node=r['node'] + 1) for r in g['roots']] + v, n = len(inputs), len(args) + spans = [()] * n + for i, u in enumerate(inputs): spans[i + 1] = (u,) + for x in range(v + 1, n): spans[x] = basis(spans[args[x][0]] + spans[args[x][1]]) + rann = [perp(spans[r['node']], h) if r.get('kind', 'side') == 'center' else basis(inputs[t] for t in r['targets']) + for r in roots] + active = set(range(1, v + 1)); todo = [r['node'] for r in roots] + while todo: + x = todo.pop() + if x in active: continue + active.add(x) + if args[x]: todo.extend(args[x]) + succ = [set() for _ in args]; pred = [set() for _ in args]; direct = [[] for _ in args] + uses = defaultdict(list) + for x in sorted(active): + if args[x]: + for j, y in enumerate(args[x]): succ[y].add(x); pred[x].add(y); uses[y].append(2 * x + j) + for j, r in enumerate(roots): direct[r['node']].extend(rann[j]); uses[r['node']].append((1 << 31) | j) + gann = [None] * n; gspan = list(spans) + for x in sorted(active, reverse=True): gann[x] = basis(direct[x] + [z for y in succ[x] for z in gann[y]]) + plain = list(gann) # DAG-only intersections, for the candidate screen + ancestors = {} + def above(x): + if x not in ancestors: + seen = set(); stack = [x] + while stack: + y = stack.pop() + if args[y]: + for z in args[y]: + if z not in seen: seen.add(z); stack.append(z) + ancestors[x] = seen + return ancestors[x] + arcs = {}; used = set() + def value(code): return roots[code & 0x7fffffff]['node'] if code >> 31 else args[code // 2][code & 1] + def add(x, code, check): + t = None if code >> 31 else code // 2 + At = rann[code & 0x7fffffff] if t is None else gann[t] + if check: + if not orthogonal(gspan[x], At): return False + if t is not None: + stack = [t]; seen = {t} + while stack: + y = stack.pop() + if y == x: return False + for z in succ[y]: + if z not in seen: seen.add(z); stack.append(z) + arcs[x] = code; used.add(code) + work = [(x, At)] + while work: + y, extra = work.pop(); new = join(gann[y], extra) + if new == gann[y]: continue + gann[y] = new + for z in pred[y]: work.append((z, new)) + if t is not None: + succ[x].add(t); pred[t].add(x); work = [(t, gspan[x])] + while work: + y, extra = work.pop(); new = join(gspan[y], extra) + if new == gspan[y]: continue + gspan[y] = new + for z in succ[y]: work.append((z, new)) + return True + for x, code in frozen: assert add(x, code, True), ('frozen arc rejected', x, code) + for x in sorted(active): + if x < min_donor: continue + if not args[x]: continue + for j, y in enumerate(args[x]): + other = args[x][1 - j] + for code in uses[y]: + if code == 2 * x + j or x in arcs or code in used: continue + if code >> 31: screen = rann[code & 0x7fffffff] + else: + t = code // 2 + if t < x and t in above(x): continue + screen = plain[t] + if not orthogonal(spans[other], screen): continue + if sum(1 for u in uses[value(code)] if u not in used) <= 1: continue # every value keeps a free use + add(x, code, True) + return sorted([x, code] for x, code in arcs.items()) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/make_layer_p.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/make_layer_p.py new file mode 100644 index 0000000000..747db04c56 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/make_layer_p.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python3 +"""make_layer_p.py: discovery of a frozen physical layer for three query modules at cube size p (NOT run by verify.py). + +PR #304's discovery/make_layer.py with the cube size as a parameter (Graph(p), triple module at p, pair module at +p - 1, all-but-one module at p - 2 instead of the literals 11, 10, 9), the centre-sharing graph as an option +(--centre46: the pair module's 37th root is the star centre, centre46.py), the maximum-weight pairing with the gauge +rank f = h - 4 (pairs_mw_p.py; PR #233's pairs_mw.py hard-codes f = 18, which is h - 4 only at h = 22) and +aligned_word_p.py for the kernel-pair step. Nothing else changed. + +verify.py never searches: it reads layers// and checks it. This script is how those files were found, kept for +provenance and for re-pinning after a module changes. Recipe (the same for the control and the results): + 1. the source-aligned graph of PR #194's pipeline with the given modules (aligned_word.py's construction); + 2. fresh carrier arcs: the deterministic Hopcroft-Karp carrier matching of PR #200/#233's discovery harness + (pr233/matching.py, ordering 'reverse'), arcs of local donors dropped (as the mapped arcs of PR #193/#194 drop + them), then PR #162's greedy extension restricted to query donors (extend_floor.py); + 3. compile_closure + select, then PR #200's operation-frame descent on that word (pr233/physical_opt.py single + endpoint moves, bundles.py equal-frame components, joint.py adjacent components; up to three cycles); + 4. source_aligned_local_v4.py's forward closure with the descended frames as preferred frames (clipped to the + future cap; local operations keep their literal spans); + 5. reuse pairs, two recipes on the same frames: 'parity' = source_aligned_local_v4.py --avoid-parity-erasure (PR + #193's minimum-weight full matching avoiding PR #184's parity erasures), 'mw' = PR #200/#233's maximum-weight + late compensated pairing (pairs_mw_p.py = pr233/pairs_mw.py with f = h - 4) with harness.descend's + last-late-pair order; + 6. kernel pairs: PR #184's complex_frame_flow.py --witness --purify-source-donors --recycle-kernels on the + aligned tree written by aligned_word_p.py (its own maximum matching), frozen as found. +Writes layers//{matching-arcs,physical-frames,physical-pairs-parity,physical-pairs-mw,kernel-pairs-parity, +kernel-pairs-mw}.json and, for a set of package modules, records the module files used in SOURCE.json's +module_sets (a module given outside modules/ is first copied there). Then run verify.py --write (re-pins +SOURCE.json, sets the claims, regenerates the certificates) and verify.py. + +usage: python3 -B discovery/make_layer_p.py --set anneal [--p 10] [--tmod F] [--pmod F] [--qmod F] [--centre46] +A module not given (and --centre46 when not given) defaults to the set's current entry in SOURCE.json. Needs +numpy/scipy as verify.py; about two minutes at p = 10. Floating-point scores choose the frames and pairs; nothing +here is a proof. +Adapted from PR #304 (DreamingOfClouds with Anthropic Claude assistance, Apache-2.0) by DreamingOfClouds with +Anthropic Claude assistance (Apache-2.0). +""" +import argparse +import bisect +import importlib.util +import json +import subprocess +import sys +import tempfile +import time +from collections import defaultdict +from pathlib import Path + +if sys.flags.optimize: + raise SystemExit('Assertions must remain enabled: run without -O') +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +PKG = HERE.parent +KINDS = ('tmod', 'pmod', 'qmod') +DESCRIPTIONS = dict( + arcs='Frozen carrier arcs of the source-aligned word (discovery/make_layer.py step 2): deterministic HK carrier ' + 'matching (PR200/233 harness, ordering reverse) on query donors plus PR162 extension; checked by compile_closure.', + frames='Frozen operation frames (source_aligned_local_v4.py canonical form: operations whose frame differs from the ' + 'closure frame), from PR200 descent on the aligned word and the script\'s forward closure.', + parity='Frozen reuse pairs [donor, recipient, deadline]: PR193 recipe (source_aligned_local_v4.py ' + '--avoid-parity-erasure minimum-weight full matching), in the script\'s control order.', + mw='Frozen reuse pairs [donor, recipient, deadline]: PR200/233 maximum-weight late compensated pairing ' + '(pairs_mw.py) with the last late pair moved to the phase cut.', + kernel='Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).') + + +def dump(path, data): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, separators=(',', ':')) + '\n') + + +def log(msg, t0=time.monotonic()): + print('[%6.1fs] %s' % (time.monotonic() - t0, msg), flush=True) + + +def rebuild_tree(dest): + spec = importlib.util.spec_from_file_location('pr233_layer_verify', PKG / 'references/pr233-layer/verify.py') + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + mod.rebuild(dest) + return dest + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--set', required=True, help='layer name: writes layers//') + ap.add_argument('--p', type=int, default=10, help='cube size (PR #304: 11)') + ap.add_argument('--centre46', action='store_true', default=None, + help='centre-sharing graph: the pair module supplies the star centre as an extra root (centre46.py)') + ap.add_argument('--tmod', type=Path); ap.add_argument('--pmod', type=Path); ap.add_argument('--qmod', type=Path) + ap.add_argument('--tree', type=Path, help='an already rebuilt PR #202 tree (default: rebuild into a temporary directory)') + ap.add_argument('--out', type=Path, help='output directory (default: layers/)') + a = ap.parse_args() + out = (a.out or PKG / 'layers' / a.set).resolve() + source = json.loads((PKG / 'SOURCE.json').read_text()) + current = source['module_sets'].get(a.set, {}) + centre = bool(current.get('centre46', False) if a.centre46 is None else a.centre46) + P = a.p + with tempfile.TemporaryDirectory(prefix='make-layer-') as d: + root = a.tree.resolve() if a.tree else rebuild_tree(Path(d).resolve()) + src = root / 'references/paired-cube/sources' + mods, record = {}, {} + for k in KINDS: + given = getattr(a, k) + if given is None: + rel = current[k] + mods[k] = root / rel[5:] if rel.startswith('tree:') else PKG / rel + record[k] = rel + continue + given = given.resolve() + if (PKG / 'modules') not in given.parents: + dest = PKG / 'modules' / given.name + assert not dest.exists() or dest.read_bytes() == given.read_bytes(), 'a different module file exists: %s' % dest + dest.write_bytes(given.read_bytes()) + log('copied %s into modules/' % given.name) + given = dest + mods[k] = given + record[k] = given.relative_to(PKG).as_posix() + sys.path.insert(0, str(root / 'scripts')) + sys.path.insert(0, str(HERE / 'pr233')) + sys.path.insert(0, str(HERE)) + from paired_cube.graph import Graph + from paired_cube.modules import triple_module_from, pair_module_from, all_but_one_from, merge_outputs + from paired_cube.closure import compile_closure + from paired_cube.gauges import select + from paired_cube.frames import basis, perp, contained + from matching import carrier_matching + from extend_floor import extended_arcs + import physical_opt + import bundles + import joint + from pairs_mw_p import pairs_maxweight # PR #233's pairs_mw.py with f = h - 4 + import numpy as np + from scipy.sparse import csr_matrix + from scipy.sparse.csgraph import min_weight_full_bipartite_matching + # 1. graph (aligned_word.py / source_aligned_local_v4.py construction) + local = json.loads((src / 'local_L1.json').read_text()) + local['G'] = {k: 's' for k in local['G']} + local['A'] = {k: 'fd' for k in local['A']} + builder = Graph(P, local=local) + if centre: + sys.path.insert(0, str(PKG)) + from centre46 import load_pmod46, finish_centre46 + g = finish_centre46(builder, triple_module_from(mods['tmod'], P), load_pmod46(mods['pmod'], P - 1), all_but_one_from(mods['qmod'], P - 2)) + else: + g = builder.finish(triple_module_from(mods['tmod'], P), pair_module_from(mods['pmod'], P - 1), all_but_one_from(mods['qmod'], P - 2)) + g = merge_outputs(g, builder, 'f8:00111100') + g['matching_frames'] = 'coordinate' + h, v = g['h'], g['v'] + newcut = v + g['counts']['local_channel_additions'] + # 2. fresh arcs + arcs, stats = carrier_matching(g, 'reverse') + arcs = [x for x in arcs if x[0] > newcut] + arcs = extended_arcs(g, arcs, min_donor=newcut + 1) + assert all(x[0] > newcut for x in arcs) + log('arcs: %d (HK matched %d of %d donors)' % (len(arcs), stats['matched'], stats['donors'])) + # 3. descent on the aligned word + base, w = compile_closure(g, arcs) + row, word = select(g, base, w) + o = physical_opt.Physical(g, w, word, row) + for k in range(3): + r1 = o.descend(6); r2 = bundles.descend(o, 3); r3 = joint.descend(o, 3, 'forward', k) + if not any(x['changed'] for x in r1) and not any(x['moved_components'] for x in r2) and not any(x['moved'] for x in r3): + break + dframes = o.frames + log('descent done') + # 4. forward closure (source_aligned_local_v4.py, preferred frames = descended frames) + p, w = compile_closure(g, arcs) + p, word = select(g, p, w) + ops = word['ops'] + assert len(ops) == len(dframes) + newargs = [None] + [None if x is None else [t + 1 for t in x] for x in g['args']] + newroots = [dict(r, node=r['node'] + 1) for r in g['roots']] + spans = [()] + [(q,) for q in g['inputs']] + for aa, bb in newargs[v + 1:]: + spans.append(basis(spans[aa] + spans[bb])) + root_frames = {} + for r, slot in zip(newroots, word['rootroles']): + root_frames[slot] = spans[r['node']] if r['kind'] == 'center' else perp(basis(g['inputs'][t] for t in r['targets']), h) + R = p['R'] + pset = set(word['phase1']) + previous = [-1] * R + parents = [] + for i, (aa, bb, x) in enumerate(ops): + parents.append((previous[aa], previous[bb])) + previous[aa] = previous[bb] = i + if x <= newcut and len(spans[x]) <= 2: + pset.add(i) + todo = list(pset) + while todo: + i = todo.pop() + for j in parents[i]: + if j >= 0 and j not in pset: + pset.add(j) + todo.append(j) + word['phase1'] = sorted(pset) + p['phase1_operations'] = len(pset) + chron = sorted(pset) + [i for i in range(len(ops)) if i not in pset] + cap = [perp(root_frames[s], h) if s in root_frames else () for s in range(R)] + maxima = [None] * len(ops) + for i in reversed(chron): + aa, bb, x = ops[i] + A = basis(cap[aa] + cap[bb]) + maxima[i] = perp(A, h) + cap[aa] = cap[bb] = A + selected = [z for z in word['selected'] if z['rank'] == h - 4] + gauge = {z['role']: perp(tuple(z['annihilator']), h) for z in selected} + current = [() for _ in range(R)] + for x, slot in word['sources'].items(): + current[slot] = (g['inputs'][int(x) - 1],) + for slot, U in gauge.items(): + current[slot] = U + frames = [None] * len(ops) + for i in chron: + aa, bb, x = ops[i] + want = spans[x] if x <= newcut else perp(basis(perp(tuple(dframes[i]), h) + perp(maxima[i], h)), h) + U = basis(spans[x] + want + current[aa] + current[bb]) + assert contained(U, maxima[i]), ('Forward frame outside future cap', i) + frames[i] = current[aa] = current[bb] = U + moved = [[i, list(U)] for i, U in enumerate(frames) if U != perp(tuple(w['annihilators'][ops[i][2]]), h)] + log('frames: %d of %d operations moved from their closure frames' % (len(moved), len(ops))) + # 5. pairs + role_ops = defaultdict(list) + for i, (aa, bb, _) in enumerate(ops): + role_ops[aa].append(i) + role_ops[bb].append(i) + pos = {i: k for k, i in enumerate(chron)} + for slot in role_ops: + role_ops[slot].sort(key=pos.__getitem__) + last_write = {} + for i, (aa, bb, x) in enumerate(ops): + last_write[aa] = max(last_write.get(aa, -1), pos[i]) + + def control_order(pairs): + controls = [q for q in pairs if q[2] is not None and last_write.get(q[0], -1) >= len(pset)] + if controls: + chosen = controls[-1] + pairs.remove(chosen) + pairs.append(chosen) + return pairs + recipients = sorted(gauge) + recipient_set = set(recipients) + donors = [slot for slot in range(R) if slot not in recipient_set and slot not in root_frames and slot in role_ops] + groups = defaultdict(list) + for j, slot in enumerate(recipients): + groups[gauge[slot]].append((pos[role_ops[slot][0]], j)) + group_data = [] + for U, ls in groups.items(): + ls.sort() + group_data.append((U, [x for x, _ in ls], [j for _, j in ls])) + cache, indices, indptr = {}, [], [0] + for slot in donors: + last = role_ops[slot][-1] + U = frames[last] + eligible = cache.get(U) + if eligible is None: + eligible = cache[U] = [(ps, js) for V, ps, js in group_data if contained(U, V)] + for ps, js in eligible: + indices.extend(js[bisect.bisect_right(ps, pos[last]):]) + indptr.append(len(indices)) + parity = [] + for cube in range(v // 8): + for bit in range(2): + parity.append(basis(tuple(g['inputs'][8 * cube + j] for j in range(8) if j.bit_count() % 2 == bit))) + erasable = {} + + def weight(slot, j): + key = (frames[role_ops[slot][-1]], gauge[recipients[j]]) + if key not in erasable: + U, V = key + erasable[key] = len(U) <= 3 and any(contained(U, S) and contained(S, V) for S in parity) + return 2.0 if erasable[key] else 1.0 + weights = np.array([weight(slot, indices[k]) for r, slot in enumerate(donors) for k in range(indptr[r], indptr[r + 1])]) + wmatrix = csr_matrix((weights, np.array(indices, dtype=np.int32), np.array(indptr, dtype=np.int32)), shape=(len(donors), len(recipients))) + rows, cols = min_weight_full_bipartite_matching(wmatrix.T.tocsr()) + matched = np.full(len(donors), -1) + matched[cols] = rows + pairs_parity = control_order([[slot, recipients[j], None if role_ops[slot][-1] in pset else role_ops[recipients[j]][0]] + for slot, j in zip(donors, matched) if j >= 0]) + o = physical_opt.Physical(g, w, dict(word, selected=selected), p) + for i, U in enumerate(frames): + o.frames[i] = tuple(U) + pairs_mw, mwstats = pairs_maxweight(o) + good = [k for k, (dd, b, t) in enumerate(pairs_mw) if t is not None and any(i not in o.phase and o.ops[i][0] == dd for i in o.role_ops[dd])] + if good: + pairs_mw.append(pairs_mw.pop(good[-1])) + log('pairs: parity %d, mw %d (of %d gauges)' % (len(pairs_parity), len(pairs_mw), len(recipients))) + dump(out / 'matching-arcs.json', dict(description=DESCRIPTIONS['arcs'], matching_arcs=arcs)) + dump(out / 'physical-frames.json', dict(description=DESCRIPTIONS['frames'], frames=moved)) + dump(out / 'physical-pairs-parity.json', dict(description=DESCRIPTIONS['parity'], pairs=pairs_parity)) + dump(out / 'physical-pairs-mw.json', dict(description=DESCRIPTIONS['mw'], pairs=pairs_mw)) + # 6. kernel pairs: aligned tree with aligned_word.py, flow with its own kernel matching + for recipe in ('parity', 'mw'): + tree = Path(d) / ('tree-' + recipe) + for cmd in ([PKG / 'aligned_word_p.py', '--p', P, *(['--centre46'] if centre else []), '--tree', root, + '--tmod', mods['tmod'], '--pmod', mods['pmod'], '--qmod', mods['qmod'], + '--arcs', out / 'matching-arcs.json', '--frames', out / 'physical-frames.json', + '--pairs', out / ('physical-pairs-%s.json' % recipe), '--out', tree], + [root / 'research/source-assisted/decision/complex_frame_flow.py', '--tree', tree, '--cache', tree / 'cache', + '--out', tree / 'flow.json', '--witness', '--purify-source-donors', '--recycle-kernels']): + r = subprocess.run([sys.executable, '-B', *map(str, cmd)], cwd=root, capture_output=True, text=True) + if r.returncode: + raise SystemExit('FAILED: %s\n%s%s' % (cmd[0], r.stdout[-3000:], r.stderr[-3000:])) + kernel = json.loads((tree / 'flow.witness.json').read_text())['kernel_pairs'] + flow = json.loads((tree / 'flow.json').read_text()) + dump(out / ('kernel-pairs-%s.json' % recipe), dict(description=DESCRIPTIONS['kernel'], kernel_pairs=kernel)) + log('%s: flow new_R %d, kernel reuses %d, numerical three-stage root %.7e' % (recipe, flow['new_R'], len(kernel), flow['numerical_local_root'])) + log('wrote %s' % out) + if centre: + record['centre46'] = True + if out == (PKG / 'layers' / a.set).resolve() and source['module_sets'].get(a.set) != record: + source['module_sets'][a.set] = dict(sorted(record.items())) + (PKG / 'SOURCE.json').write_text(json.dumps(source, indent=1) + '\n') + log('recorded the modules of %s in SOURCE.json: %s; now run verify.py --write, then verify.py' % (a.set, record)) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pairs_mw_p.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pairs_mw_p.py new file mode 100644 index 0000000000..0a96000bf5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pairs_mw_p.py @@ -0,0 +1,47 @@ +# pairs_mw_p.py: PR #233's discovery/pairs_mw.py (Chafik Boukhalfa with Anthropic Claude and OpenAI Codex +# assistance, Apache-2.0; vendored unchanged in pr233/pairs_mw.py) with ONE line changed: the gauge rank f in the +# donor weight is h - 4 (the rank of the selected gauges) instead of the literal 18, which equals h - 4 only at +# h = 22. At h = 18 the literal makes every weight 0 (no pairs); see README.md. Identical to pairs_mw.py at h = 22. +# Change by DreamingOfClouds with Anthropic Claude assistance (Apache-2.0). +"""Maximum-weight donor pairing for gauged recipients (weights depend on the donor only, so the +transversal-matroid greedy with augmenting paths is optimal). Explicit legality: donor ungauged non-root with ops, +last frame contained in the recipient gauge, donor dead before the recipient's first operation (or in phase one).""" +from collections import defaultdict +import sys +from paired_cube.frames import contained +def pairs_maxweight(o): + sys.setrecursionlimit(100000) + donors=[s for s in range(o.R) if s not in o.gauge and s not in o.roots and o.role_ops[s]] + recipients=sorted(o.gauge,key=lambda b:(o.position[o.role_ops[b][0]],b));rindex={b:i for i,b in enumerate(recipients)} + rtime=[o.position[o.role_ops[b][0]] for b in recipients] + byframe=defaultdict(list) + for s in donors:byframe[o.frames[o.role_ops[s][-1]]].append(s) + groups={} + adj=defaultdict(list) # donor -> recipient indices + for b in recipients: + F=o.gauge[b] + if F not in groups:groups[F]=[s for D,ss in byframe.items() if contained(D,F) for s in ss] + t=rtime[rindex[b]] + for s in groups[F]: + if o.position[o.role_ops[s][-1]]=dd else -1e9 + order=sorted(adj,key=lambda s:(-weight(s),o.position[o.role_ops[s][-1]],s)) + mr=[-1]*len(recipients);md={} + def dfs(s,seen): + for r in adj[s]: + if r in seen:continue + seen.add(r) + if mr[r]<0 or dfs(mr[r],seen):mr[r]=s;md[s]=r;return True + return False + for s in order: + if weight(s)<=0:break + dfs(s,set()) + result=[] + for r,s in enumerate(mr): + if s>=0: + b=recipients[r];first=o.role_ops[b][0] + result.append([s,b,None if o.role_ops[s][-1] in o.phase else first]) + stats=dict(donors=len(donors),recipients=len(recipients),edges=sum(map(len,adj.values())),matched=len(result),total_weight=sum(weight(s) for s,_,_ in result)) + return result,stats diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/README.md b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/README.md new file mode 100644 index 0000000000..339adb1c76 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/README.md @@ -0,0 +1,18 @@ +# Discovery (not run by verify.py) + +The physical layer of the certified package is PR #168's operation frames with PR #200's late compensated reuse +pairing (`physical_opt.py:pairs`, the maximum-weight pairing of `pairs_mw.py` (transversal-matroid greedy with augmenting paths, donor weight the gain heuristic of PR #200)). `flow_frames.py` runs `harness.descend` on the source-aligned cache of +PR #194's pipeline with all frame moves frozen (`DESCENT_LIGHT_ROUNDS=1 DESCENT_FREEZE_FRAC=1.0 --light +--seed-frames`), recomputes the pairs and prices the layer with PR #184's `complex_frame_flow.py`: + + SA_TREE= SA_PY= DESCENT_LIGHT_ROUNDS=1 DESCENT_FREEZE_FRAC=1.0 \ + python3 -B flow_frames.py --aligned --seed-frames --light --mw 1 --keep out/ + +Float flow roots: PR #168's pairing 7.00918e-4; PR #200's default pairing (donors ordered by the gain heuristic) +7.09765e-4; donors ordered by widest end frame with recipients in reverse chronology (`PAIR_ORDER=wide +PAIR_RECIPIENTS=reverse`) 7.09882e-4; the maximum-weight pairing (`--mw 1`, `pairs_mw.py`, every donor-weight variant +tried) 7.09907e-4, the certified layer; random donor orders 6.4e-4 to 6.6e-4. With frames also descended: full cycle +7.08613e-4, one light round 7.0950e-4, 98% of operations frozen 7.09767e-4; a screen over every single endpoint move +on top of PR #168's frames (`flow_moves.py`) finds no improving move, so the frames are left untouched. The matching +itself is PR #168's frozen carrier matching (`matching.py`, `extend.py` are needed only to import `harness`). +Prepared by Chafik Boukhalfa with Anthropic Claude and OpenAI Codex assistance; Apache-2.0. diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/bundles.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/bundles.py new file mode 100644 index 0000000000..2035223567 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/bundles.py @@ -0,0 +1,50 @@ +"""Connected equal-frame endpoint moves, motivated by PR164/168 bundle descent. + +Own explicit boundary implementation: all source spans, incoming and outgoing +role frames are recomputed before a move. No physical legality is inferred from +an optimization score; the independent physical verifier remains mandatory. +""" +from collections import defaultdict +from physical_opt import join,meet +from paired_cube.frames import contained + +def descend(o,rounds=4): + report=[] + for rnd in range(rounds): + n=len(o.ops);parent=list(range(n)) + def root(i): + while parent[i]!=i:parent[i]=parent[parent[i]];i=parent[i] + return i + def union(i,j): + a,b=root(i),root(j) + if a!=b:parent[max(a,b)]=min(a,b) + for i in range(n): + for j in o.prev[i]: + if j is not None and o.frames[i]==o.frames[j]:union(i,j) + groups=defaultdict(list) + for i in range(n):groups[root(i)].append(i) + groups=[l for l in groups.values() if len(l)>1];groups.sort(key=lambda l:min(l),reverse=not rnd%2) + moved=changed=0;gain=0.;big=0 + for ids in groups: + inside=set(ids);F=o.frames[ids[0]];assert all(o.frames[i]==F for i in ids) + L=();U=o.full;previous=[];after=[] + for i in ids: + a,b,x=o.ops[i];L=join(L,o.spans[x]) + for role,j in zip((a,b),o.prev[i]): + if j not in inside: + A=o.frames[j] if j is not None else o.start[role];previous.append(A);L=join(L,A) + for role,j in zip((a,b),o.next[i]): + if j not in inside: + A=o.frames[j] if j is not None else o.end[role];after.append(A);U=meet(U,A,o.h) + assert contained(L,F) and contained(F,U) + def score(A): + d=len(A);return sum(o.phi[d-len(P)] for P in previous)+sum(o.phi[len(N)-d] for N in after) + old=score(F);candidate=min((L,U),key=score);delta=old-score(candidate) + if delta>1e-7: + for i in ids:o.frames[i]=candidate + moved+=1;changed+=len(ids);gain+=delta;big=max(big,len(ids)) + rec=dict(round=rnd,components=len(groups),moved_components=moved,changed_operations=changed,numerical_excess_gain=gain,largest_moved_component=big);report.append(rec);print('bundles',rec,flush=True) + if not moved:break + for i in range(n): + P,N=o.neighbors(i);assert contained(o.spans[o.ops[i][2]],o.frames[i]);assert all(contained(F,o.frames[i]) for F in P);assert all(contained(o.frames[i],F) for F in N) + return report diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/joint.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/joint.py new file mode 100644 index 0000000000..a67d18034d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/joint.py @@ -0,0 +1,67 @@ +"""Joint collapse of adjacent operation-frame components. + +All incoming/outgoing chains and actual value supports bound each common +frame. Old internal rank increments are charged once per role edge. A move +must reduce the full boundary-plus-internal numerical objective. Floating +scores select a witness only; admission requires the independent exact audit. +""" +from collections import defaultdict +import random,time +from physical_opt import join,meet +from paired_cube.frames import contained + +def components(o): + n=len(o.ops);parent=list(range(n)) + def root(i): + while parent[i]!=i:parent[i]=parent[parent[i]];i=parent[i] + return i + for i in range(n): + for j in o.prev[i]: + if j is not None and o.frames[i]==o.frames[j]: + a,b=root(i),root(j) + if a!=b:parent[max(a,b)]=min(a,b) + groups=defaultdict(list) + for i in range(n):groups[root(i)].append(i) + adjacent=set() + for i in range(n): + for j in o.prev[i]: + if j is not None and root(i)!=root(j):adjacent.add(tuple(sorted((root(i),root(j))))) + return groups,sorted(adjacent) + +def descend(o,rounds=5,order='forward',seed=0): + result=[];rng=random.Random(seed) + for rnd in range(rounds): + t=time.monotonic();groups,adjacent=components(o) + if order=='random':rng.shuffle(adjacent) + elif (order=='reverse')^(rnd%2==1):adjacent.reverse() + tried=feasible=moved=changed=largest=0;gain=0. + for a,b in adjacent: + ids=groups[a]+groups[b];inside=set(ids);tried+=1 + # Each original component remains uniform even after overlapping moves. + assert all(o.frames[i]==o.frames[a] for i in groups[a]) + assert all(o.frames[i]==o.frames[b] for i in groups[b]) + L=();U=o.full;previous=[];after=[];old=0. + for i in ids: + x,y,node=o.ops[i];F=o.frames[i];L=join(L,o.spans[node]) + for role,j in zip((x,y),o.prev[i]): + P=o.frames[j] if j is not None else o.start[role] + assert contained(P,F);old+=o.phi[len(F)-len(P)] + if j not in inside:previous.append(P);L=join(L,P) + for role,j in zip((x,y),o.next[i]): + if j not in inside: + N=o.frames[j] if j is not None else o.end[role] + assert contained(F,N);after.append(N);U=meet(U,N,o.h);old+=o.phi[len(N)-len(F)] + if not contained(L,U):continue + feasible+=1 + def score(F): + d=len(F);return sum(o.phi[d-len(P)] for P in previous)+sum(o.phi[len(N)-d] for N in after) + best=min((L,U),key=lambda F:(score(F),len(F),F));delta=old-score(best) + if delta>1e-7: + for i in ids:o.frames[i]=best + moved+=1;changed+=len(ids);gain+=delta;largest=max(largest,len(ids)) + row=dict(round=rnd,groups=len(groups),tried=tried,feasible=feasible,moved=moved,changed=changed,largest=largest,numerical_excess_gain=gain,seconds=time.monotonic()-t) + print('joint',row,flush=True);result.append(row) + if not moved:break + for i in range(len(o.ops)): + P,N=o.neighbors(i);assert contained(o.spans[o.ops[i][2]],o.frames[i]);assert all(contained(F,o.frames[i]) for F in P);assert all(contained(o.frames[i],F) for F in N) + return result diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/matching.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/matching.py new file mode 100644 index 0000000000..e84e348556 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/matching.py @@ -0,0 +1,131 @@ +"""Own explicit legal-edge Hopcroft-Karp witness; from our r13 search.""" +from collections import deque +import sys +from paired_cube.frames import basis,perp,contained +def carrier_matching(g,ordering='node'): + """Exact legal edge list, then deterministic Hopcroft--Karp matching. + + Frame and chronological predicates are the retained compiler's predicates; + the resulting explicit arcs are checked anew by compile_graph. + """ + h=g['h'];v=g['v'];args=[None]+[None if a is None else [y+1 for y in a] for a in g['args']] + roots=[dict(r,node=r['node']+1) for r in g['roots']];n=len(args) + spans=[()]*n + for i,u in enumerate(g['inputs']):spans[i+1]=(u,) + for x in range(v+1,n):spans[x]=basis(spans[args[x][0]]+spans[args[x][1]]) + rann=[];rframe=[] + for r in roots: + if r['kind']=='center':U=spans[r['node']];A=perp(U,h) + else:A=basis(g['inputs'][t] for t in r['targets']);U=perp(A,h) + rann.append(A);rframe.append(U) + active=set(range(1,v+1));todo=[r['node'] for r in roots] + while todo: + x=todo.pop() + if x in active:continue + active.add(x);todo.extend(args[x] or []) + initial=spans + if g['matching_frames'] in ('maximal','coordinate'): + initial=[()]*n;ann=[None]*n;successors=[[] for _ in args];constraints=[[] for _ in args] + for x in sorted(active): + for y in args[x] or []:successors[y].append(x) + for j,r in enumerate(roots):constraints[r['node']].extend(rann[j]) + for x in sorted(active,reverse=True): + ann[x]=basis(constraints[x]+[z for y in successors[x] for z in ann[y]]) + initial[x]=perp(ann[x],h) + if g['matching_frames']=='coordinate': + cover=0 + for u in spans[x]:cover|=u + initial[x]=perp(ann[x]+tuple(1<>j&1),h) + assert contained(spans[x],initial[x]) + order=sorted(active,key=lambda x:(len(initial[x]),x));position={x:i for i,x in enumerate(order)} + uses=[[] for _ in args];uf=[];ut=[];uc=[] + for x in order: + for j,y in enumerate(args[x] or []):uses[y].append(len(uc));uf.append(initial[x]);ut.append(x);uc.append(2*x+j) + for j,r in enumerate(roots):uses[r['node']].append(len(uc));uf.append(rframe[j]);ut.append(n+j);uc.append((1<<31)|j) + donors=[x for x in order if args[x]] + if ordering=='reverse':donors.reverse() + elif ordering=='narrow':donors.sort(key=lambda x:(len(initial[x]),x)) + elif ordering=='wide':donors.sort(key=lambda x:(-len(initial[x]),x)) + elif ordering=='node':donors.sort() + elif ordering.startswith('random:'): + import random + rnd=random.Random(int(ordering.split(':',1)[1]));rnd.shuffle(donors) + adjacency=[] + for x in donors: + row=[u for y in args[x] for u in uses[y] if (ut[u]>=n or position[ut[u]]>position[x]) and contained(initial[x],uf[u])] + if ordering.startswith('late'): # prefer the latest use in the chronology (root uses last), then the largest growth + row.sort(key=lambda u:(-(position[ut[u]] if ut[u]=0] + stats=dict(donors=L,uses=len(uc),edges=sum(map(len,adjacency)),matched=len(arcs),augment_rounds=iterations) + if ordering.startswith('frozen:'): + import json as _j + given=_j.loads(open(ordering.split(':',1)[1]).read());pos_of={uc[u]:u for u in range(len(uc))} + growth=0;seen=0 + for x,code in given: + u=pos_of.get(code) + if u is None:continue + seen+=1;growth+=len(uf[u])-len(initial[x]) + stats.update(frozen_arcs=len(given),frozen_seen=seen,frozen_growth=growth,hk_growth=int(sum(len(uf[v2])-len(initial[donors[i]]) for i,v2 in enumerate(ml) if v2>=0))) + import os as _os + if _os.environ.get('MATCH_FEATURES'): + chosen={x:pos_of[c] for x,c in given if c in pos_of};hk={donors[i]:v2 for i,v2 in enumerate(ml) if v2>=0} + rec=[] + for i,x in enumerate(donors): + cands=[dict(u=u,growth=len(uf[u])-len(initial[x]),udim=len(uf[u]),root=int(ut[u]>=n),gap=(position[ut[u]]-position[x]) if ut[u]1 and parts[1]=='max' else 1 + noise=None + if len(parts)>2: + import random as _r;noise=_r.Random(int(parts[2])) + rows=[i for i,v2 in enumerate(ml) if v2>=0];rid={i:k for k,i in enumerate(rows)} + data=[];ri=[];ci=[] + for i in rows: + x=donors[i] + for u in adjacency[i]: + growth=len(uf[u])-len(initial[x]);ri.append(rid[i]);ci.append(u);data.append(1+sign*growth+(0 if sign>0 else 30)+(noise.random()*float(parts[3]) if noise else 0.0)) + M=csr_matrix((np.array(data,dtype=float),(np.array(ri),np.array(ci))),shape=(len(rows),len(uc))) + r_ind,c_ind=min_weight_full_bipartite_matching(M) + arcs=[[donors[rows[r]],uc[c]] for r,c in zip(r_ind,c_ind)] + stats.update(matched=len(arcs),total_growth=int(sum(len(uf[c])-len(initial[donors[rows[r]]]) for r,c in zip(r_ind,c_ind))),mincost=True) + hk_growth=int(sum(len(uf[v2])-len(initial[donors[i]]) for i,v2 in enumerate(ml) if v2>=0));stats['hk_growth']=hk_growth + return arcs,stats + diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/pairs_mw.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/pairs_mw.py new file mode 100644 index 0000000000..7e0db9777e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/pairs_mw.py @@ -0,0 +1,42 @@ +"""Maximum-weight donor pairing for gauged recipients (weights depend on the donor only, so the +transversal-matroid greedy with augmenting paths is optimal). Explicit legality: donor ungauged non-root with ops, +last frame contained in the recipient gauge, donor dead before the recipient's first operation (or in phase one).""" +from collections import defaultdict +import sys +from paired_cube.frames import contained +def pairs_maxweight(o): + sys.setrecursionlimit(100000) + donors=[s for s in range(o.R) if s not in o.gauge and s not in o.roots and o.role_ops[s]] + recipients=sorted(o.gauge,key=lambda b:(o.position[o.role_ops[b][0]],b));rindex={b:i for i,b in enumerate(recipients)} + rtime=[o.position[o.role_ops[b][0]] for b in recipients] + byframe=defaultdict(list) + for s in donors:byframe[o.frames[o.role_ops[s][-1]]].append(s) + groups={} + adj=defaultdict(list) # donor -> recipient indices + for b in recipients: + F=o.gauge[b] + if F not in groups:groups[F]=[s for D,ss in byframe.items() if contained(D,F) for s in ss] + t=rtime[rindex[b]] + for s in groups[F]: + if o.position[o.role_ops[s][-1]]=dd else -1e9 + order=sorted(adj,key=lambda s:(-weight(s),o.position[o.role_ops[s][-1]],s)) + mr=[-1]*len(recipients);md={} + def dfs(s,seen): + for r in adj[s]: + if r in seen:continue + seen.add(r) + if mr[r]<0 or dfs(mr[r],seen):mr[r]=s;md[s]=r;return True + return False + for s in order: + if weight(s)<=0:break + dfs(s,set()) + result=[] + for r,s in enumerate(mr): + if s>=0: + b=recipients[r];first=o.role_ops[b][0] + result.append([s,b,None if o.role_ops[s][-1] in o.phase else first]) + stats=dict(donors=len(donors),recipients=len(recipients),edges=sum(map(len,adj.values())),matched=len(result),total_weight=sum(weight(s) for s,_,_ in result)) + return result,stats diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/physical_opt.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/physical_opt.py new file mode 100644 index 0000000000..a2e8e7d053 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/discovery/pr233/physical_opt.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +"""New deterministic exact frame endpoints and legal late handoff discovery. + +Chafik Boukhalfa with OpenAI Codex assistance. Apache-2.0. +Builds on PR144 binary frame/word contract and PR157 physical reuse theorem. +Numerical excess weights only select witnesses; exact containment, histogram +and scalar checks must be independently replayed on the selected candidate. +""" +from collections import defaultdict,deque,Counter +from functools import lru_cache +import math +from paired_cube.frames import basis,perp,contained + +@lru_cache(maxsize=300000) +def join(A,B): + if contained(A,B):return B + if contained(B,A):return A + return basis(A+B) +@lru_cache(maxsize=300000) +def meet(A,B,h): + if contained(A,B):return A + if contained(B,A):return B + return perp(join(perp(A,h),perp(B,h)),h) + +class Physical: + def __init__(self,g,w,word,row): + self.g,self.w,self.word,self.row=g,w,word,row;self.h=g['h'];self.R=row['R'];self.v=g['v'];h=self.h + self.full=basis(1<1e-10 or abs(delta)<=1e-10 and len(best)=0: + b=recipients[j];first=self.role_ops[b][0] + result.append([d,b,None if self.role_ops[d][-1] in self.phase else first]) + return result,dict(donors=len(donors),recipients=L,edges=sum(map(len,adj)),matched=len(result),gauge_frames=len(groups),donor_frames=len(byframe)) + + def changed(self):return [[i,F] for i,F in enumerate(self.frames) if F!=self.original[i]] diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gcert_emit.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gcert_emit.py new file mode 100644 index 0000000000..fd5d56f651 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gcert_emit.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python3 +"""gcert_emit.py: lower a source-aligned complex flow to Jacob Sussman's certificate format gcert/1. + +Inputs (all produced by the integer-mult-bounds tool chain of PR #184 / #194 on an aligned tree): + --cache the aligned tree's cache (graph.json, selection.json) + --flow flow.json (complex_frame_flow.py --witness) + --witness flow.witness.json (same run) + --lift lift.certificate.json.gz (exact_complex_flow_lift.py: local invertible completions as elementary gates) +Output: a gcert/1 JSON(.gz) as read by wht-power-saving-lean/tools/gx/gx.py (check1) and gxgen.py. + +Registers: x_j = j (sources, start at the port line), y_t = v+t (targets, start at frame 0, end at port^perp), +slots 2v.. (one per physical flow coordinate: v source copies + births; kernel reuse continues a slot). +Every node of the flow DAG (phase, frame) becomes, at its frame: the source copies (x -> slot), the reads +(slot -> targets, or a retained total for the scatter), then the lift's elementary gates. A 'swap' relabels +positions, a 'scale' changes the unit of a slot (wanted = lam * stored, as gxconv.py), an 'add' is one 'out' +gate. After phase 2: the paired-cube K blocks (1 - J/2) on each parity class of a cube, the direct reads of the +mixed sources into their antipodal targets at the target cap frames, and the inverse K blocks at the full frame. +""" +import argparse, gzip, json, heapq, sys, time +from collections import Counter, defaultdict +from fractions import Fraction as F + + +def load(p): + p = str(p) + if p.endswith('.gz'): + return json.loads(gzip.decompress(open(p, 'rb').read())) + return json.load(open(p)) + + +def rref(rows): + piv = {} + for x in rows: + for k in sorted(piv, reverse=True): + if x >> k & 1: + x ^= piv[k] + if x: + k = x.bit_length() - 1 + for kk in list(piv): + if piv[kk] >> k & 1: + piv[kk] ^= x + piv[k] = x + return tuple(piv[k] for k in sorted(piv, reverse=True)) + + +def perp(rows, h): + """basis of the orthogonal complement (standard dot product mod 2) of span(rows)""" + B = rref(rows) + piv = [b.bit_length() - 1 for b in B] + free = [k for k in range(h) if k not in piv] + out = [] + for k in free: + u = 1 << k + for b in B: + if b >> k & 1: + u |= 1 << (b.bit_length() - 1) + out.append(u) + return rref(out) + + +def enc(x): + x = F(x) + return [x.numerator, x.denominator] + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--cache', required=True) + ap.add_argument('--flow', required=True) + ap.add_argument('--witness', required=True) + ap.add_argument('--lift', required=True) + ap.add_argument('--out', required=True) + ap.add_argument('--name', default='flow word') + a = ap.parse_args() + t0 = time.time() + g = load(a.cache + '/graph.json'); word = load(a.cache + '/selection.json') + prof = load(a.flow); wit = load(a.witness); lift = load(a.lift) + h, v = g['h'], g['v'] + ports = g['inputs'] + assert ports == wit['original_source_ports'] + nodes, edges, vectors = wit['nodes'], wit['edges'], wit['vectors'] + maps, order = lift['maps'], lift['topological_order'] + assert len(maps) == len(nodes) == len(order) + roots = g['roots'] + # ---- frames + frames = [(), tuple(1 << i for i in range(h - 1, -1, -1))] + fid = {frames[0]: 0, frames[1]: 1} + + def frame(rows): + key = rref(rows) + if key not in fid: + fid[key] = len(frames); frames.append(key) + return fid[key] + xstart = [frame((q,)) for q in ports] + caps = [frame(perp((q,), h)) for q in ports] + # ---- signed side rows of the deferred roles (as contract_v4.validate) + ops, coeff = word['ops'], word['opcoeff'] + Rw = max(max(x, y) for x, y, _ in ops) + 1 + selected = {s['role']: s for s in word['selected']} + side = [dict() for _ in range(Rw)] + for r, s in zip(roots, word['rootroles']): + if r['kind'] != 'center': + side[s] = {t: (1 if c == '1/2' else -1) for t, c in zip(r['targets'], r['coefficients'])} + + def add_scaled(dst, src, c): + for k, x in src.items(): + y = dst.get(k, 0) + c * x + if y: + dst[k] = y + else: + dst.pop(k, None) + for (x, y, _), (ca, cb) in zip(reversed(ops), reversed(coeff)): + add_scaled(side[y], side[x], cb) + if ca != 1: + side[x] = {j: ca * c for j, c in side[x].items()} + for s, z in selected.items(): + assert set(side[s]) == set(z['targets']) + + def responses(rd): + if rd['kind'] == 'side': + r = roots[rd['ref']] + return {t: F(1, 2) if c == '1/2' else F(-1, 2) for t, c in zip(r['targets'], r['coefficients'])} + assert rd['kind'] == 'deferred' + return {t: F(-c, 2) for t, c in side[rd['ref']].items()} + # ---- edge coordinates: (target node, input position) -> (source node, output position) + by_frame = {(n['frame'][0], tuple(n['frame'][1])): i for i, n in enumerate(nodes)} + out_off, in_off = Counter(), Counter() + coord_in = {} + for e in edges: + i = by_frame[(e['source'][0], tuple(e['source'][1]))]; j = by_frame[(e['target'][0], tuple(e['target'][1]))] + for k in range(len(e['basis'])): + coord_in[j, in_off[j] + k] = (i, out_off[i] + k) + out_off[i] += len(e['basis']); in_off[j] += len(e['basis']) + kernel_birth = {} + for i, aa, j, bb in wit['kernel_pairs']: + kernel_birth[j, bb] = (i, aa) + # ---- emission + A, B, ret = [], [], [] + nslot = 0 + lam = {} + + def new_slot(): + nonlocal nslot + s = 2 * v + nslot; nslot += 1; lam[s] = F(1) + return s + slot_out, kernel_slot = {}, {} + center_lam = {} + stats = Counter() + phase_of_node = {} + for i in order: + node, mp = nodes[i], maps[i] + ph, U = node['frame'] + f = frame(tuple(U)) + gates = A if ph == 1 else B + n, t, b, d, r = node['n'], node['t'], node['new_dirty'], node['d'], node['r'] + N = n + b + assert mp['size'] == N and not mp['source_erase'] and not mp['source_inject'], 'source controls not supported yet' + pos = [None] * N + nin = in_off[i] + g0_node = len(gates) + for p in range(n): + if p < nin: + pos[p] = slot_out[coord_in[i, p]] + else: # original source copy at its port line + row = vectors[node['inputs'][p]] + assert len(row) == 1 and row[0][1] == 1 and ph == 1 and f == xstart[row[0][0]] + s = new_slot(); pos[p] = s + gates.append(['out', f, row[0][0], [[s, 1, 1]], []]) + for q in range(b): + if (i, q) in kernel_birth: + s = kernel_slot[kernel_birth[i, q]]; lam[s] = F(1) + else: + s = new_slot() + pos[n + q] = s + # reads (in terms of the input positions, before the completion) + for rd, rc in zip(node['reads'], mp['read_coefficients']): + if rd['kind'] == 'center': + assert ph == 1 + k = roots[rd['ref']]['coordinate'] + val = rd['value'] + if val in node['outputs']: + assert len(rc) == 1 + center_lam[k] = (i, 'out', node['outputs'].index(val), F(rc[0][1], rc[0][2])) + else: + # the total is formed in place in one of its (retiring) input registers + assert t == 0 and not mp['inverse_gates'], ('center total neither leaves nor rests', i) + p0, n0, d0 = rc[0]; s0 = pos[p0]; c0 = F(n0, d0) * lam[s0] + for p, num, den in rc[1:]: + s = pos[p] + gates.append(['out', f, s, [[s0, *enc(F(num, den) * lam[s] / c0)]], []]) + center_lam[k] = (i, 'pos', p0, c0) + continue + assert ph == 2 + resp = responses(rd) + for p, num, den in rc: + s = pos[p] + c = F(num, den) * lam[s] + gates.append(['out', f, s, [[v + tt, *enc(c * w)] for tt, w in sorted(resp.items())], []]) + # completion gates: the lift stores the row operations taking Q to I; the registers need Q itself, + # i.e. the inverse operations in reverse order (exact_complex_flow_lift.inverse_program, 'forward'). + g0 = len(gates) + for kind, x, y, num, den in reversed(mp['inverse_gates']): + if kind == 'swap': + pos[x], pos[y] = pos[y], pos[x] + elif kind == 'scale': + assert x == y + lam[pos[x]] /= F(num, den) + else: + assert kind == 'add' and x != y + sx, sy = pos[x], pos[y] + c = -F(num, den) * lam[sy] / lam[sx] + gates.append(['out', f, sy, [[sx, *enc(c)]], []]) + # every coordinate that passes through the node is moved to its frame (the flow charges the edge): + # registers of inputs and births that no gate of this node names ride as extra registers + named = set() + for gg in gates[g0_node:]: + named.add(gg[2]); named.update(x_ for x_, _, _ in gg[3]) + if gg[0] == 'out': + named.update(gg[4]) + idle = [s_ for s_ in pos if s_ not in named] + if idle: + outs = [gg for gg in gates[g0_node:] if gg[0] == 'out'] + if outs: + outs[-1][4].extend(idle) + else: + stats['idle_nodes'] += 1 + gates.append(['out', f, idle[0], [], idle[1:]]) + for q in range(t): + slot_out[i, q] = pos[q] + for aa in range(node['retired'] - (d - r)): + kernel_slot[i, aa] = pos[t + (d - r) + aa] + # retained totals: the coordinate must survive the completion in one register + for k, z in list(center_lam.items()): + if isinstance(z, tuple) and z[0] == i: + ii, how, p, c = z + s = pos[p] + ret.append([k, s, f]); center_lam[k] = c * lam[s] if how == 'out' else c + R = nslot + assert R == prof['new_R'], (R, prof['new_R']) + ret.sort() + assert [z[0] for z in ret] == list(range(h)), 'one retained total per coordinate expected' + # ---- K blocks, direct reads, inverse K blocks + for cube in range(v // 8): + ids8 = list(range(8 * cube, 8 * cube + 8)) + for parity in range(2): + ids = [j for j in ids8 if j.bit_count() % 2 == parity] + S = frame(tuple(ports[j] for j in ids)) + assert len(frames[S]) == 3 + x1, rest = ids[0], ids[1:] + B.append(['in', S, x1, [[r_, 1, 1] for r_ in rest]]) + B.append(['out', S, x1, [[r_, -1, 2] for r_ in rest], []]) + B.append(['in', S, x1, [[r_, 1, 1] for r_ in rest]]) + for cube in range(v // 8): + ids8 = list(range(8 * cube, 8 * cube + 8)) + for j in ids8: + anti = [t for t in ids8 if (ports[t] ^ ports[j]).bit_count() == 6] + assert len(anti) == 1 + t = anti[0] + x1 = [jj for jj in ids8 if jj.bit_count() % 2 == j.bit_count() % 2][0] + B.append(['out', caps[t], j, [[v + t, -1 if j == x1 else 1, 1]], []]) + for cube in range(v // 8): + ids8 = list(range(8 * cube, 8 * cube + 8)) + for parity in range(2): + ids = [j for j in ids8 if j.bit_count() % 2 == parity] + x1, rest = ids[0], ids[1:] + B.append(['in', 1, x1, [[r_, -1, 1] for r_ in rest]]) + B.append(['out', 1, x1, [[r_, 1, 2] for r_ in rest], []]) + B.append(['in', 1, x1, [[r_, -1, 1] for r_ in rest]]) + # ---- scatter + sin, sout = F(1, 3), F(-1, 6) + if all(center_lam[k] == 1 for k in range(h)): + scat = dict(inside=[1, 3], outside=[-1, 6]) + else: + scat = dict(table=[[[k, *enc((sin if ports[t] >> k & 1 else sout) * center_lam[k])] for k in range(h)] for t in range(v)]) + nreg = 2 * v + R + start = [0] * nreg; final = [1] * nreg + for j in range(v): + start[j] = xstart[j]; final[v + j] = caps[j] + cst = sum(len(frames[f]) for _, _, f in ret) + # ---- blocks (the climb count of gx.check1) + dim = [len(f) for f in frames] + cur = list(start) + H = {'x': Counter(), 'y': Counter(), 's': Counter(), 'c': Counter()} + cls = lambda r_: 'x' if r_ < v else 'y' if r_ < 2 * v else 's' + + def climb(r_, f): + o = cur[r_] + if o != f: + assert dim[o] < dim[f], ('step not increasing', r_, o, f) + H[cls(r_)][dim[f] - dim[o]] += 1; cur[r_] = f + for ph, gates in (('A', A), ('B', B)): + if ph == 'B': + for k, s, f in ret: + assert cur[s] == f, ('retained slot moved before the cut', k, s) + H['c'][dim[f]] += 1 + for gg in gates: + regs = [gg[2]] + ([x for x, _, _ in gg[3]] + list(gg[4]) if gg[0] == 'out' else [x for x, _, _ in gg[3]] if gg[0] == 'in' else []) + for r_ in regs: + climb(r_, gg[1]) + for r_ in range(nreg): + climb(r_, final[r_]) + blocks = {k: {str(r_): n_ for r_, n_ in sorted(w.items())} for k, w in H.items()} + Nn = sum(r_ * n_ for w in H.values() for r_, n_ in w.items()) + assert Nn == R * h + 2 * v * (h - 1) + cst, (Nn, R * h + 2 * v * (h - 1) + cst) + c1 = dict(format='gcert/1', derived_from='%s (gcert_emit.py from complex_frame_flow.py witness + exact_complex_flow_lift.py completions)' % a.name, + p=g['p'], h=h, v=v, R=R, cst=cst, N=Nn, ports=ports, frames=[list(f) for f in frames], start=start, final=final, + ext=[], ret=ret, scat=scat, A=A, B=B, blocks=blocks) + data = json.dumps(c1, separators=(',', ':')).encode() + if a.out.endswith('.gz'): + open(a.out, 'wb').write(gzip.compress(data)) + else: + open(a.out, 'wb').write(data) + print(json.dumps(dict(R=R, N=Nn, cst=cst, idle_nodes=stats['idle_nodes'], gates_A=len(A), gates_B=len(B), frames=len(frames), blocks=blocks, + scatter='table' if 'table' in scat else 'star', seconds=round(time.time() - t0, 1)))) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gx.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gx.py new file mode 100644 index 0000000000..6d14c0a976 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gx.py @@ -0,0 +1,296 @@ +#!/usr/bin/python3 -I +"""gx.py. OWN code (imports nothing of port-producer, nothing outside). +(1) convert(c0): gcert/0 (port-producer's event list) -> gcert/1, the LEAN-FACING NORMAL FORM: + only the main phase (no read0 / undo / uninj: the invocation theorem derives the dirt gate and the undo + gate from the product), every gate an elementary fan-out or fan-in add, the 4x4 K block written as three + such adds plus a sign carried by one register, the star scatter as a table. +(2) check1(c1): the local decidable conditions of EXTENDED-CERT-SPEC.md on a gcert/1 file: + E0 sizes, E1 labels (nested subspaces by containment, equal frame at a gate), E2 scatter cut, + E3 shape (kinds of gates; X1; S1), E4 bracket rule S2, E5 scalar (x-content replay: hid and X3), + E6 price data (block histograms, N), E7 exterior gauges only (Q2). Raises AssertionError(": ..."). +""" +from fractions import Fraction as Fr +from collections import Counter +from math import lcm + + +def need(c, msg): + if not c: + raise AssertionError(msg) + + +def reduce(u, basis): + """basis: reduced echelon, pivot = leading bit, descending. Returns u modulo the span.""" + for b in basis: + if u >> (b.bit_length() - 1) & 1: + u ^= b + return u + + +def echelon_ok(f): + piv = [b.bit_length() - 1 for b in f] + if any(b == 0 for b in f) or piv != sorted(piv, reverse=True) or len(set(piv)) != len(piv): + return False + return all(not (b >> p & 1) for i, b in enumerate(f) for j, p in enumerate(piv) if i != j) + + +def inside(a, b): + return all(reduce(u, b) == 0 for u in a) + + +def par(x): + return bin(x).count("1") & 1 + + +KJ = [[[1, 2] if i == j else [-1, 2] for j in range(4)] for i in range(4)] + + +def convert(c0): + need(c0["format"] == "gcert/0", "input is not gcert/0") + v, h, R = c0["v"], c0["h"], c0["R"] + ev = c0["events"] + cen = [n for n, e in enumerate(ev) if e[0] == "centre"] + need(cen == list(range(cen[0], cen[0] + len(cen))), "centres are not contiguous: no single scatter cut") + A, B, ret = [], [], [] + neg = set() # x registers currently holding MINUS their value (between the two K blocks) + openq = {} + for n, e in enumerate(ev): + k = e[0] + out = A if n < cen[0] else B + if k in ("read0", "undo", "uninj"): + continue + if k == "inj": + need(e[2] not in neg, "inj reads a negated x register") + out.append(["out", e[3], e[2], [[e[1], 1, 1]], []]) + elif k == "op": + if e[3] == -1: + out.append(["neg", e[5], e[1]]) + else: + need(e[3] == 1, "op ca") + out.append(["out", e[5], e[2], [[e[1], e[4], 1]], []]) + elif k == "centre": + ret.append([e[2], e[1], e[3]]) + elif k == "gread": + hit = set(t for t, _, _ in e[3]) + out.append(["out", e[2], e[1], [[v + t, a, b] for t, a, b in e[3]], [v + t for t in e[4] if t not in hit]]) + elif k == "rread": + out.append(["out", e[2], e[1], [[v + t, a, b] for t, a, b in e[3]], []]) + elif k == "ysh": + out.append(["out", e[4], e[2], [[e[1], e[3], 1]], []]) + elif k == "yw": + out.append(["out", e[4], e[2], [[e[1], e[3][0], e[3][1]]], []]) + elif k == "kd": + out.append(["out", e[3], e[2], [[e[1], -1 if e[2] in neg else 1, 1]], []]) + elif k == "ktr": + q = tuple(e[1]) + need(e[2] == KJ, "ktr matrix is not 1 - J/2") + x1, rest = q[0], list(q[1:]) + if q not in openq: # first block: x := M x, register x1 keeps the sign + out.append(["in", e[3], x1, [[r, 1, 1] for r in rest]]) + out.append(["out", e[3], x1, [[r, -1, 2] for r in rest], []]) + out.append(["in", e[3], x1, [[r, 1, 1] for r in rest]]) + openq[q] = n + neg.add(x1) + else: # second block: the three adds undone in reverse order + out.append(["in", e[3], x1, [[r, -1, 1] for r in rest]]) + out.append(["out", e[3], x1, [[r, 1, 2] for r in rest], []]) + out.append(["in", e[3], x1, [[r, -1, 1] for r in rest]]) + del openq[q] + neg.discard(x1) + else: + raise AssertionError("unknown event kind %r" % k) + need(not openq and not neg, "a K block is not closed") + ext = sorted([z[3], z[1]] for z in c0["gauge"] if z[5]) + c1 = dict(format="gcert/1", derived_from=c0["name"] + " (gcert/0)", p=c0["p"], h=h, v=v, R=R, cst=c0["cst"], + N=c0["N"], ports=c0["ports"], frames=c0["frames"], start=c0["start"], final=c0["final"], + ext=ext, ret=sorted(ret), scat=dict(inside=c0["scat"]["inside"], outside=c0["scat"]["outside"]), + A=A, B=B, blocks=c0["blocks"]) + return c1 + + +def scat_row(c, t): + """the scatter of target t: [(k, coefficient)], from the table or from the star rule""" + sc = c["scat"] + if "table" in sc: + return [(k, Fr(a, b)) for k, a, b in sc["table"][t]] + sin, sout = Fr(*sc["inside"]), Fr(*sc["outside"]) + return [(k, sin if c["ports"][t] >> k & 1 else sout) for k in range(c["h"])] + + +def gate_regs(g): + if g[0] == "neg": + return [g[2]], [], [] + if g[0] == "out": + return [g[2]] + [t for t, _, _ in g[3]] + list(g[4]), [(t, g[2], Fr(a, b)) for t, a, b in g[3]], g[4] + if g[0] == "in": + return [g[2]] + [s for s, _, _ in g[3]], [(g[2], s, Fr(a, b)) for s, a, b in g[3]], [] + raise AssertionError("E0: unknown gate kind %r" % (g[0],)) + + +def check1(c, scalar=True, stats=None): + need(c.get("format") == "gcert/1", "E0: format") + h, v, R = c["h"], c["v"], c["R"] + nreg = 2 * v + R + ports, fr = c["ports"], [tuple(f) for f in c["frames"]] + need(len(ports) == v == len(set(ports)) and all(par(q) and 0 < q < 1 << h for q in ports), "E0: ports") + need(fr[0] == () and fr[1] == tuple(1 << i for i in range(h - 1, -1, -1)), "E0: frames 0 and 1") + need(all(echelon_ok(f) for f in fr) and len(set(fr)) == len(fr), "E0: frame table not reduced echelon / repeats") + dim = [len(f) for f in fr] + start, final = c["start"], c["final"] + need(len(start) == len(final) == nreg, "E0: start / final") + ext = {r: f for r, f in c["ext"]} + for t in range(v): + need(fr[start[t]] == (ports[t],) and final[t] == 1, "E1: x start / final") + f = fr[final[v + t]] + need(start[v + t] == 0 and len(f) == h - 1 and all(par(u & ports[t]) == 0 for u in f), "E1: y start / final") + for r in range(2 * v, nreg): + need(start[r] == ext.get(r, 0) and final[r] == 1, "E1: slot start / final") + cls = lambda r: "x" if r < v else "y" if r < 2 * v else "s" + cur = list(start) + H = {"x": Counter(), "y": Counter(), "s": Counter(), "c": Counter()} + steps = set() + + def climb(r, f, where): + o = cur[r] + if o != f: + if (o, f) not in steps: + need(dim[o] < dim[f] and inside(fr[o], fr[f]), "E1: step not nested (%s, register %d)" % (where, r)) + steps.add((o, f)) + H[cls(r)][dim[f] - dim[o]] += 1 + cur[r] = f + okind = {("x", "s"), ("s", "s"), ("s", "y"), ("x", "y"), ("x", "x"), ("y", "y")} + ysum, piv, ytg = Counter(), set(), set() + inc = 0 + for ph, gates in (("A", c["A"]), ("B", c["B"])): + if ph == "B": # ---- E2: the scatter cut + need(sorted(k for k, _, _ in c["ret"]) == list(range(len(c["ret"]))), "E2: retained totals numbered 0..") + if "table" in c["scat"]: + need(len(c["scat"]["table"]) == v and all(0 <= k < len(c["ret"]) for row in c["scat"]["table"] for k, _, _ in row), + "E2: scatter table") + else: + need(len(c["ret"]) == h, "E2: one retained total per coordinate (star rule)") + for k, s, f in c["ret"]: + need(cls(s) == "s" and cur[s] == f, "E2: retained slot %d is not at its frame" % s) + H["c"][dim[f]] += 1 + need(all(cur[v + t] == 0 for t in range(v)), "E2: a y role left frame 0 before the scatter") + for i, g in enumerate(gates): + regs, pairs, _ = gate_regs(g) + need(all(0 <= r < nreg for r in regs) and len(set(regs)) == len(regs), "E3: registers of gate %s%d" % (ph, i)) + inc += len(regs) + for r in regs: + climb(r, g[1], "%s%d" % (ph, i)) + for t, s, co in pairs: + kd = (cls(s), cls(t)) + need(kd in okind, "E3: gate kind %s -> %s (gate %s%d)" % (kd + (ph, i))) + need(ph == "B" or kd in {("x", "s"), ("s", "s")}, "E3: bank gate before the scatter (gate A%d)" % i) + if kd == ("y", "y"): + ysum[s, t] += co + piv.add(s) + ytg.add(t) + need(ph == "B" or all(cls(r) != "y" for r in regs), "E2: y role named in phase A") + for r in range(nreg): + climb(r, final[r], "final") + need(not (piv & ytg), "E4: a pivot is the target of a gate reading y") + need(all(x == 0 for x in ysum.values()), "E4: y-reads of a (pivot, target) pair do not cancel") + Hs = {k: {str(r): n for r, n in sorted(w.items())} for k, w in H.items()} + need(Hs == c["blocks"], "E6: block histograms") + N = sum(r * n for w in H.values() for r, n in w.items()) + tails = sum(dim[f] for f in ext.values()) + need(N == c["N"] and N + tails == R * h + 2 * v * (h - 1) + c["cst"], "E6: N") + if stats is not None: + stats.update(steps=len(steps), incidences=inc, blocks=sum(sum(w.values()) for w in H.values()), + step_work=sum(dim[a] * dim[b] for a, b in steps), ysh_pairs=len(ysum)) + if scalar: + scal(c, stats) + q2(c) + return True + + +def scal(c, stats=None): + """E5: exact replay of the x-content of every register through A, scatter, B.""" + h, v, R = c["h"], c["v"], c["R"] + nreg = 2 * v + R + reg = [({r: Fr(1)} if r < v else {}) for r in range(nreg)] + den = {"x": 1, "y": 1, "s": 1} + mx = {"x": Fr(0), "y": Fr(0), "s": Fr(0)} + cls = lambda r: "x" if r < v else "y" if r < 2 * v else "s" + + def axpy(t, src, co): + d = reg[t] + for k, u in src.items(): + w = d.get(k, 0) + co * u + if w: + d[k] = w + kk = cls(t) + if w.denominator != 1: + den[kk] = lcm(den[kk], w.denominator) + if abs(w) > mx[kk]: + mx[kk] = abs(w) + else: + d.pop(k, None) + + def run(gates): + for g in gates: + if g[0] == "neg": + reg[g[2]] = {k: -u for k, u in reg[g[2]].items()} + elif g[0] == "out": + src = dict(reg[g[2]]) + for t, a, b in g[3]: + axpy(t, src, Fr(a, b)) + else: + for s, a, b in g[3]: + axpy(g[2], reg[s], Fr(a, b)) + run(c["A"]) + tot = {k: dict(reg[s]) for k, s, _ in c["ret"]} + for t in range(v): + for k, co in scat_row(c, t): + axpy(v + t, tot[k], co) + run(c["B"]) + need(all(reg[t] == {t: 1} for t in range(v)), "E5: an x role is not restored (X3)") + need(all(reg[v + t] == {t: 1} for t in range(v)), "E5: a target does not receive exactly its source (hid)") + if stats is not None: + stats.update(den=dict(den), maxabs={k: str(x) for k, x in mx.items()}, + gates_A=len(c["A"]), gates_B=len(c["B"])) + + +def q2(c): + """E7 (only for files with exterior gauges, rule (2)): for every slot q that starts off the zero frame, the + column of q in the y rows of the product is zero (its dirt is removed in line, the derived dirt gate at + frame 0 does not touch it). Replay with the gauged slots as variables, x = 0.""" + h, v, R = c["h"], c["v"], c["R"] + ext = [r for r, _ in c["ext"]] + if not ext: + return True + reg = [dict() for _ in range(2 * v + R)] + for r in ext: + reg[r] = {r: Fr(1)} + + def axpy(t, src, co): + d = reg[t] + for k, u in src.items(): + w = d.get(k, 0) + co * u + if w: + d[k] = w + else: + d.pop(k, None) + + def run(gates): + for g in gates: + if g[0] == "neg": + reg[g[2]] = {k: -u for k, u in reg[g[2]].items()} + elif g[0] == "out": + src = dict(reg[g[2]]) + for t, a, b in g[3]: + axpy(t, src, Fr(a, b)) + else: + for s, a, b in g[3]: + axpy(g[2], reg[s], Fr(a, b)) + run(c["A"]) + tot = {k: dict(reg[s]) for k, s, _ in c["ret"]} + for t in range(v): + for k, co in scat_row(c, t): + if tot[k]: + axpy(v + t, tot[k], co) + run(c["B"]) + need(all(not reg[v + t] for t in range(v)), "E7: the dirt of an exterior-gauged slot reaches a y role (Q2)") + return True diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gxcore.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gxcore.py new file mode 100644 index 0000000000..3e3f0a3076 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/gx/gxcore.py @@ -0,0 +1,375 @@ +"""gxcore.py: gcert/1 JSON -> normal data D, PYTHON MIRROR of the two Lean checks +(label side: E0 frames, E1 pairs, E1/E2/E6 replay in segments; scalar side: E3 kinds, E4 bracket, E5 replay +in source batches, E7), derived data (distinct climbs, cut states, block histogram) and kernel sizes. +Own code; the reference is gx.py (check1), not imported. Python 3, standard library only.""" +import json, gzip +from collections import Counter +from math import gcd + + +class Reject(Exception): + pass + + +def need(c, msg): + if not c: + raise Reject(msg) + + +def load(path): + c = json.load(gzip.open(path, "rt") if path.endswith(".gz") else open(path)) + need(c.get("format") == "gcert/1", "E0: format is not gcert/1") + return c + + +def co(num, den): + need(den > 0, "E0: denominator") + return (num < 0, abs(num), den) + + +def normal(c): + """the Lean-facing data: gates as tuples, coefficients (neg, num, den), ret by total""" + def gate(g): + if g[0] == "out": + return ("out", g[1], g[2], [(t, co(a, b)) for t, a, b in g[3]], list(g[4])) + need(g[0] == "in", "E0: unknown gate kind %r" % (g[0],)) + return ("in", g[1], g[2], [(s, co(a, b)) for s, a, b in g[3]]) + ret = sorted(c["ret"]) + need([k for k, _, _ in ret] == list(range(len(ret))), "E2: retained totals numbered 0..") + sc = c["scat"] + scat = ("table", [[(k, co(a, b)) for k, a, b in row] for row in sc["table"]]) if "table" in sc else \ + ("star", co(*sc["inside"]), co(*sc["outside"])) + return dict(h=c["h"], v=c["v"], R=c["R"], N=c["N"], cst=c["cst"], ports=list(c["ports"]), + frames=[list(f) for f in c["frames"]], start=list(c["start"]), final=list(c["final"]), + ext=[tuple(e) for e in c.get("ext", [])], ret=[(s, f) for _, s, f in ret], scat=scat, + A=[gate(g) for g in c["A"]], B=[gate(g) for g in c["B"]], + blocks={k: {int(r): n for r, n in c["blocks"][k].items()} for k in "xysc"}) + + +def regs(g): + return [g[2]] + [t for t, _ in g[3]] + (g[4] if g[0] == "out" else []) + + +def adds(g): + """single adds (tgt, src, coef) in order""" + return [(t, g[2], k) for t, k in g[3]] if g[0] == "out" else [(g[2], s, k) for s, k in g[3]] + + +def reduce(u, basis): + for b in basis: + if u >> (b.bit_length() - 1) & 1: + u ^= b + return u + + +def echelon_ok(f): + piv = [b.bit_length() - 1 for b in f] + if any(b == 0 for b in f) or any(piv[i] <= piv[i + 1] for i in range(len(piv) - 1)): + return False + return all(not (b >> p & 1) for i, b in enumerate(f) for j, p in enumerate(piv) if i != j) + + +def par(x): + return bin(x).count("1") & 1 + + +def cls(D, r): + return "x" if r < D["v"] else "y" if r < 2 * D["v"] else "s" + + +# ---- label side ------------------------------------------------------------------------------------------ +def chk_frames(D): + """E0: ports; frame table reduced echelon, no repeats, zero first, full second""" + h, v, fr = D["h"], D["v"], D["frames"] + p = D["ports"] + need(len(p) == v == len(set(p)) and all(par(q) and 0 < q < 1 << h for q in p), "E0: ports") + need(len(fr) >= 2 and fr[0] == [] and fr[1] == [1 << i for i in range(h - 1, -1, -1)], "E0: frames 0 and 1") + need(all(echelon_ok(f) and all(b < 1 << h for b in f) for f in fr), "E0: frame table not reduced echelon") + need(len(set(map(tuple, fr))) == len(fr), "E0: frame table has repeats") + return [len(f) for f in fr] + + +def derive(D): + """distinct climbs in order of first use (NOT a check: plain replay of the frame ids)""" + cur, seen, pairs = list(D["start"]), set(), [] + + def go(r, f): + o = cur[r] + if o != f: + if (o, f) not in seen: + seen.add((o, f)) + pairs.append((o, f)) + cur[r] = f + for g in D["A"] + D["B"]: + for r in regs(g): + go(r, g[1]) + for r, f in enumerate(D["final"]): + go(r, f) + return pairs + + +def chk_pairs(D, dim, pairs): + """E1, level 2: every listed pair is a nested pair of the table; returns the mask-operation count""" + fr, n, work = D["frames"], len(D["frames"]), 0 + for a, b in pairs: + need(a < n and b < n and dim[a] < dim[b], "E1: pair (%d, %d) does not climb" % (a, b)) + need(all(reduce(u, fr[b]) == 0 for u in fr[a]), "E1: pair (%d, %d) is not nested" % (a, b)) + work += dim[a] * dim[b] + return work + + +def cut_points(D, gmax, wmax=210000): + """replay segments: each phase (A, B) is cut into k pieces of equal gate count, k = the least number with at + most `gmax` gates AND at most `wmax` work per piece on average (work = sum over gates of the dimension of the + gate's frame; measured at h = 22: about 1 ms of kernel time per unit, NOTES.md). + Cut points = gate counts in A ++ B (always 0, |A| and the end).""" + nA, nB = len(D["A"]), len(D["B"]) + cuts = [0] + for off, gs in ((0, D["A"]), (nA, D["B"])): + n = len(gs) + k = max(1, -(-n // gmax), -(-sum(len(D["frames"][g[1]]) for g in gs) // wmax)) + cuts += [off + (n * i) // k for i in range(1, k + 1)] + return sorted(set(cuts)) + + +def label_data(D, dim, cuts): + """for gx-labels (gcert-interface.md LABELS v1): ordered block ranks per replay segment, the final climbs as + gates without adds (same final frame, at most 32 registers, only registers that still climb), their ranks, + the largest number of registers named by one gate. Plain replay (the mirror has accepted the file).""" + cur, G = list(D["start"]), D["A"] + D["B"] + rs, most = [], 0 + for a, b in zip(cuts, cuts[1:]): + r = [] + for g in G[a:b]: + most = max(most, len(regs(g))) + for x in regs(g): + if cur[x] != g[1]: + r.append(dim[g[1]] - dim[cur[x]]) + cur[x] = g[1] + rs.append(r) + by = {} + for x, f in enumerate(D["final"]): + if cur[x] != f: + by.setdefault(f, []).append(x) + fins, rF = [], [] + for f in sorted(by): + for i in range(0, len(by[f]), 32): + xs = by[f][i:i + 32] + fins.append(("out", f, xs[0], [], xs[1:])) + rF += [dim[f] - dim[cur[x]] for x in xs] + return dict(rs=rs, fins=fins, rF=rF, most=max(most, 32 if fins else 0)) + + +def chk_replay(D, dim, pairs, cuts): + """E1 (labels), E2 (scatter cut), E6 (price), in the segments given by `cuts`. + Returns (states at the cuts, histogram by class, visits per segment).""" + h, v, R, fr = D["h"], D["v"], D["R"], D["frames"] + n = 2 * v + R + start, final, ext = D["start"], D["final"], dict(D["ext"]) + need(len(start) == len(final) == n, "E0: start / final") + for t in range(v): + need(fr[start[t]] == [D["ports"][t]] and final[t] == 1, "E1: x start / final") + f = fr[final[v + t]] + need(start[v + t] == 0 and len(f) == h - 1 and all(par(u & D["ports"][t]) == 0 for u in f), "E1: y start / final") + for r in range(2 * v, n): + need(start[r] == ext.get(r, 0) and final[r] == 1, "E1: slot start / final") + ok = set(pairs) + need(len(ok) == len(pairs), "E1: pair list has repeats") + cur = list(start) + H = {k: Counter() for k in "xysc"} + + def climb(r, f, where): + o = cur[r] + if o != f: + need((o, f) in ok, "E1: climb (%d, %d) is not a tested pair (%s, register %d)" % (o, f, where, r)) + H[cls(D, r)][dim[f] - dim[o]] += 1 + seg[dim[f] - dim[o]] += 1 + cur[r] = f + seg, segs = Counter(), [] + G, nA = D["A"] + D["B"], len(D["A"]) + states, visits = [], [] + need(cuts[0] == 0 and cuts[-1] == len(G) and cuts == sorted(cuts), "cut points") + for a, b in zip(cuts, cuts[1:]): + states.append(list(cur)) + vs = 0 + for i in range(a, b): + if i == nA: + scatter_cut(D, cur, dim, H, seg) + g = G[i] + rs = regs(g) + need(all(0 <= r < n for r in rs) and len(set(rs)) == len(rs), "E3: registers of gate %d" % i) + need(i >= nA or all(r < v or r >= 2 * v for r in rs), "E2: y role named in phase A (gate %d)" % i) + vs += len(rs) + for r in rs: + climb(r, g[1], "gate %d" % i) + visits.append(vs) + if b < len(G): + segs.append(seg) + seg = Counter() + if nA == len(G): + scatter_cut(D, cur, dim, H, seg) + states.append(list(cur)) + for r in range(n): + climb(r, final[r], "final") + segs.append(seg) + Hb = {k: dict(sorted(w.items())) for k, w in H.items()} + need(Hb == D["blocks"], "E6: block histogram differs from `blocks`") + N = sum(r * c for w in H.values() for r, c in w.items()) + need(N == D["N"] and N + sum(dim[f] for f in ext.values()) == R * h + 2 * v * (h - 1) + D["cst"], "E6: N") + need(sum(r * c for r, c in H["c"].items()) == D["cst"], "E6: cst") + return states, Hb, visits, [[w[r] for r in range(h + 1)] for w in segs] + + +def scatter_cut(D, cur, dim, H, seg): + v = D["v"] + if D["scat"][0] == "table": + need(len(D["scat"][1]) == v and all(k < len(D["ret"]) for row in D["scat"][1] for k, _ in row), "E2: scatter table") + else: + need(len(D["ret"]) == D["h"], "E2: one retained total per coordinate (star rule)") + for s, f in D["ret"]: + need(s >= 2 * v and cur[s] == f, "E2: retained slot %d is not at its frame" % s) + H["c"][dim[f]] += 1 + seg[dim[f]] += 1 + need(all(cur[v + t] == 0 for t in range(v)), "E2: a y role left frame 0 before the scatter") + + +# ---- scalar side ----------------------------------------------------------------------------------------- +SC = 6 # all scalar entries are kept as integers in units of 1/6 +KINDS = {("x", "s"), ("s", "s"), ("s", "y"), ("x", "y"), ("x", "x"), ("y", "y")} + + +def chk_shape(D): + """E3 kinds, E4 bracket""" + ysum, piv, ytg = Counter(), set(), set() + for ph in "AB": + for i, g in enumerate(D[ph]): + for t, s, (ng, a, b) in adds(g): + kd = (cls(D, s), cls(D, t)) + need(kd in KINDS and t != s, "E3: gate kind %s -> %s (gate %s%d)" % (kd + (ph, i))) + need(ph == "B" or kd in {("x", "s"), ("s", "s")}, "E3: bank gate before the scatter (gate A%d)" % i) + if kd == ("y", "y"): + need(SC % b == 0, "E4: denominator beyond sixths") + ysum[s, t] += (-a if ng else a) * (SC // b) + piv.add(s) + ytg.add(t) + need(not (piv & ytg), "E4: a pivot is the target of a gate reading y") + need(all(x == 0 for x in ysum.values()), "E4: y-reads of a (pivot, target) pair do not cancel") + return len(ysum) + + +def scat_row(D, t): + sc = D["scat"] + if sc[0] == "table": + return sc[1][t] + return [(k, sc[1] if D["ports"][t] >> k & 1 else sc[2]) for k in range(D["h"])] + + + +def replay(D, init, count=None): + """exact replay through A, scatter, B of sparse vectors with entries in sixths; `init` = register -> {key: 6}""" + v = D["v"] + reg = [dict(init.get(r, ())) for r in range(2 * v + D["R"])] + + def axpy(t, src, k): + ng, a, b = k + d = reg[t] + for key, u in src.items(): + w = u * a + need(w % b == 0, "E5: an entry needs a denominator beyond sixths (register %d)" % t) + w = w // b + w = d.get(key, 0) + (-w if ng else w) + if count is not None: + count[key] += 1 + if w: + d[key] = w + else: + d.pop(key, None) + + def run(gates): + for g in gates: + if g[0] == "out": + src = dict(reg[g[2]]) + for t, k in g[3]: + axpy(t, src, k) + else: + for s, k in g[3]: + axpy(g[2], reg[s], k) + run(D["A"]) + afterA = sum(len(d) for d in reg) + tot = [dict(reg[s]) for s, _ in D["ret"]] + for t in range(v): + for k, cf in scat_row(D, t): + if tot[k]: + axpy(v + t, tot[k], cf) + run(D["B"]) + return reg, afterA + + +def chk_scalar(D, batches=1): + """E5 (+ E7 when `ext` is non-empty). Returns stats: denominators and largest numerators per class in the + units of the spec (x halves, y sixths, slots integers), updates per source batch, entries after A.""" + v = D["v"] + count = Counter() + reg, afterA = replay(D, {t: {t: SC} for t in range(v)}, count) + need(all(reg[t] == {t: SC} for t in range(v)), "E5: an x role is not restored (X3)") + need(all(reg[v + t] == {t: SC} for t in range(v)), "E5: a target does not receive exactly its source (hid)") + if D["ext"]: + rg, _ = replay(D, {r: {r: SC} for r, _ in D["ext"]}) + need(all(not rg[v + t] for t in range(v)), "E7: the dirt of an exterior-gauged slot reaches a y role") + step = -(-v // batches) + per = [sum(count[k] for k in range(lo, min(lo + step, v))) for lo in range(0, v, step)] + return dict(updates=sum(count.values()), per_batch=per, afterA=afterA, + batches=[(lo, min(lo + step, v)) for lo in range(0, v, step)]) + + +def digits(D): + """largest |entry| met and denominators per class, by a second replay that watches every write (slow path + kept separate from the check): returns {class: (lcm of denominators, largest |numerator| in units 1/den)}""" + v = D["v"] + den = {"x": 1, "y": 1, "s": 1} + mx = {"x": 0, "y": 0, "s": 0} + reg = [({r: SC} if r < v else {}) for r in range(2 * v + D["R"])] + + def axpy(t, src, k): + ng, a, b = k + d, kk = reg[t], cls(D, t) + for key, u in src.items(): + w = d.get(key, 0) + (-(u * a // b) if ng else u * a // b) + if w: + d[key] = w + q = SC // gcd(w, SC) + if den[kk] % q: + den[kk] = den[kk] * q // gcd(den[kk], q) + if abs(w) > mx[kk]: + mx[kk] = abs(w) + else: + d.pop(key, None) + for g in D["A"]: + for t, s, k in adds(g): + axpy(t, reg[s], k) + tot = [dict(reg[s]) for s, _ in D["ret"]] + for t in range(v): + for k, cf in scat_row(D, t): + axpy(v + t, tot[k], cf) + for g in D["B"]: + for t, s, k in adds(g): + axpy(t, reg[s], k) + return {k: (den[k], mx[k] * den[k] // SC if (mx[k] * den[k]) % SC == 0 else "%d/6" % mx[k]) for k in "xys"} + + +def mirror(D, gmax=12000, batches=1, pairs=None, cuts=None): + """both checks; returns everything the generator and the dry run need""" + dim = chk_frames(D) + pairs = derive(D) if pairs is None else pairs + work = chk_pairs(D, dim, pairs) + cuts = cut_points(D, gmax) if cuts is None else cuts + states, H, visits, segH = chk_replay(D, dim, pairs, cuts) + ysh = chk_shape(D) + S = chk_scalar(D, batches) + hist = Counter() + for k in "xysc": + for r, n in H[k].items(): + hist[r] += n + return dict(dim=dim, pairs=pairs, pair_work=work, cuts=cuts, states=states, H=H, visits=visits, ysh=ysh, + scal=S, hist=dict(sorted(hist.items())), segH=segH, + lab=label_data(D, dim, cuts)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-mw.json new file mode 100644 index 0000000000..b41b6c69ce --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-parity.json new file mode 100644 index 0000000000..b41b6c69ce --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/kernel-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/matching-arcs.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/matching-arcs.json new file mode 100644 index 0000000000..7129ad0726 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/matching-arcs.json @@ -0,0 +1 @@ +{"description":"Frozen carrier arcs of the source-aligned word (discovery/make_layer.py step 2): deterministic HK carrier matching (PR200/233 harness, ordering reverse) on query donors plus PR162 extension; checked by compile_closure.","matching_arcs":[[5401,10970],[5402,10890],[5403,10891],[5405,10928],[5406,10860],[5407,10861],[5409,12354],[5410,12506],[5411,11515],[5412,11483],[5413,11482],[5414,12042],[5415,11832],[5416,13428],[5417,11833],[5418,11165],[5419,11164],[5420,10855],[5421,11008],[5422,12966],[5423,11535],[5424,11180],[5425,12114],[5426,12070],[5427,10998],[5430,10934],[5431,12342],[5432,12156],[5433,11437],[5434,11742],[5435,11481],[5436,13068],[5437,11007],[5438,11006],[5439,11544],[5442,13408],[5443,12960],[5444,12517],[5445,12916],[5447,12946],[5448,12246],[5450,12124],[5451,12900],[5452,12536],[5454,11434],[5455,11389],[5456,12481],[5457,13322],[5458,12009],[5459,11942],[5460,11830],[5461,13300],[5462,11594],[5464,12666],[5465,11290],[5466,11468],[5467,11516],[5469,12228],[5470,13212],[5471,11730],[5472,11646],[5473,12395],[5474,12186],[5475,11710],[5476,12768],[5477,11052],[5479,12394],[5480,11448],[5481,11503],[5483,11179],[5484,12515],[5485,12514],[5486,12104],[5487,12393],[5488,12872],[5489,12716],[5490,12626],[5491,12740],[5492,11534],[5493,12618],[5494,11688],[5495,12868],[5496,12549],[5497,12010],[5498,11924],[5499,11092],[5500,11093],[5501,11843],[5502,12312],[5503,11480],[5504,11416],[5505,10843],[5506,11545],[5509,13222],[5511,11408],[5512,11652],[5513,11653],[5514,12720],[5515,11532],[5516,12028],[5517,11936],[5518,12132],[5519,12081],[5520,11154],[5521,11155],[5522,11828],[5524,12749],[5525,11406],[5526,11240],[5527,12497],[5529,11850],[5530,11117],[5532,13282],[5534,11917],[5535,12639],[5536,12732],[5537,12998],[5538,12176],[5539,11244],[5540,12230],[5541,11252],[5542,12374],[5543,11114],[5544,11115],[5545,11139],[5546,11824],[5548,11929],[5549,11354],[5551,12429],[5552,11882],[5553,11104],[5554,12044],[5555,11886],[5556,12367],[5557,11491],[5558,12076],[5561,12984],[5562,10859],[5563,11461],[5564,11292],[5566,11874],[5568,13216],[5569,11598],[5571,12988],[5572,12422],[5574,11207],[5575,11206],[5576,11880],[5578,11776],[5581,12154],[5582,11398],[5583,11941],[5584,12350],[5585,13360],[5586,11378],[5587,12541],[5589,11610],[5590,11671],[5592,11268],[5594,12812],[5595,10856],[5596,13031],[5598,11894],[5599,12399],[5600,13004],[5601,12562],[5602,12706],[5603,12188],[5604,13170],[5605,11380],[5606,12472],[5607,11184],[5608,11616],[5610,11970],[5611,12974],[5612,12655],[5613,13102],[5614,11658],[5615,11640],[5616,11641],[5617,11245],[5618,12813],[5620,10957],[5621,12314],[5622,11734],[5623,11724],[5624,12075],[5625,12074],[5626,12088],[5627,13168],[5628,10838],[5629,12508],[5630,12107],[5631,12106],[5632,11186],[5633,12261],[5634,12702],[5636,10978],[5637,12224],[5638,11860],[5640,11980],[5641,11465],[5642,11881],[5644,12839],[5645,12693],[5646,12828],[5647,11995],[5648,12049],[5650,11722],[5651,11723],[5653,13444],[5654,11862],[5655,12026],[5656,12657],[5658,11651],[5661,12648],[5662,12936],[5663,11485],[5664,11484],[5665,12454],[5666,12417],[5667,12416],[5668,11194],[5669,11890],[5673,11931],[5674,11446],[5675,12153],[5676,11618],[5677,12232],[5679,11937],[5680,11600],[5682,13064],[5683,12598],[5684,11908],[5685,11751],[5686,13394],[5687,11958],[5688,12335],[5690,12755],[5691,11218],[5692,11312],[5693,13294],[5694,12480],[5695,11161],[5696,13104],[5697,13105],[5698,11259],[5700,13258],[5701,12181],[5702,12681],[5703,12680],[5704,12292],[5707,10959],[5709,13264],[5711,11846],[5712,11847],[5713,12283],[5716,12200],[5718,10870],[5719,11626],[5720,12800],[5721,12212],[5722,13256],[5723,13154],[5724,11948],[5726,13130],[5727,11748],[5728,12046],[5730,11632],[5731,11633],[5732,10930],[5733,11752],[5734,11872],[5735,11141],[5736,11962],[5739,10808],[5740,13058],[5741,11768],[5742,12832],[5743,11968],[5745,12012],[5746,12280],[5748,12891],[5749,12468],[5750,12345],[5751,12804],[5752,12802],[5753,12892],[5754,11147],[5755,11433],[5756,11925],[5757,10824],[5758,12484],[5759,11131],[5760,11315],[5761,11320],[5762,12016],[5763,12239],[5764,12238],[5765,12596],[5766,11034],[5767,13006],[5770,11452],[5771,12968],[5773,11105],[5774,10980],[5775,11124],[5776,12969],[5777,12464],[5780,13244],[5781,11953],[5783,13060],[5784,12475],[5787,10940],[5789,11276],[5790,11643],[5791,11802],[5792,12025],[5794,12272],[5798,12500],[5799,11094],[5800,11668],[5801,12479],[5802,11840],[5803,12590],[5804,13065],[5805,12122],[5806,10969],[5807,11352],[5808,11838],[5812,10993],[5813,11060],[5814,12125],[5817,12534],[5818,13204],[5820,12376],[5821,11861],[5822,12377],[5823,11720],[5824,11721],[5825,11630],[5826,11392],[5827,11477],[5828,12806],[5833,12030],[5834,12038],[5835,10858],[5836,12370],[5837,12972],[5839,13164],[5840,12306],[5841,12821],[5842,11372],[5843,12334],[5844,11177],[5845,11897],[5846,12538],[5847,12588],[5848,12708],[5849,13262],[5852,11866],[5853,12142],[5854,12870],[5855,12592],[5856,12262],[5858,12796],[5860,12580],[5861,11502],[5865,12661],[5866,13112],[5867,12658],[5869,11345],[5870,12450],[5871,11771],[5877,10848],[5878,11538],[5880,13270],[5881,13026],[5883,12836],[5884,12006],[5885,12494],[5886,11818],[5887,12614],[5888,11045],[5889,11822],[5890,12884],[5892,11823],[5893,12236],[5894,11508],[5895,13329],[5897,12560],[5899,11166],[5900,13014],[5901,12202],[5902,12722],[5903,12593],[5904,10968],[5905,12250],[5906,12640],[5907,11772],[5908,12854],[5911,12159],[5912,10857],[5913,12672],[5914,11979],[5915,13318],[5916,12043],[5919,12694],[5921,12311],[5923,11725],[5924,11404],[5925,11411],[5926,11986],[5927,12110],[5928,11663],[5929,12150],[5931,12724],[5932,12015],[5934,13148],[5936,11677],[5937,12788],[5938,11132],[5939,12118],[5940,11205],[5943,12366],[5946,13032],[5948,12516],[5949,10898],[5950,11602],[5951,12064],[5952,12065],[5954,12488],[5955,12182],[5956,12638],[5958,12080],[5961,12446],[5964,12556],[5965,11018],[5968,11947],[5971,12734],[5972,13067],[5973,13381],[5974,10964],[5975,11634],[5976,12226],[5977,12227],[5979,12304],[5980,12864],[5981,11974],[5982,11975],[5984,12913],[5985,11674],[5986,12790],[5987,12047],[5988,13257],[5989,11792],[5991,11927],[5994,12296],[5995,12094],[5996,12572],[5997,11340],[5998,10965],[5999,12093],[6000,12092],[6003,12469],[6004,12690],[6006,11096],[6007,11956],[6008,12894],[6009,12033],[6010,11938],[6012,12273],[6013,11447],[6015,13152],[6016,12008],[6017,12170],[6018,12956],[6021,13062],[6022,11888],[6023,12876],[6024,12880],[6025,12297],[6028,12457],[6030,10992],[6031,12218],[6032,12234],[6034,12860],[6035,12677],[6036,12676],[6037,11778],[6038,11075],[6039,11479],[6040,12546],[6041,12547],[6046,12727],[6048,12920],[6050,11765],[6052,13348],[6053,11062],[6058,13280],[6059,12121],[6061,11821],[6062,12284],[6063,13416],[6065,12282],[6066,11639],[6067,13284],[6068,10830],[6070,12668],[6071,12728],[6072,13110],[6076,12187],[6079,12522],[6081,13415],[6082,10935],[6083,11134],[6084,12530],[6085,12341],[6086,12605],[6087,12604],[6088,12264],[6089,12052],[6090,12344],[6094,12256],[6096,11782],[6097,12201],[6098,12405],[6099,13370],[6100,12271],[6101,12382],[6102,12526],[6104,12674],[6105,12408],[6106,13127],[6107,11474],[6108,12688],[6109,12982],[6110,12303],[6111,12780],[6112,12257],[6113,11459],[6114,12190],[6119,11318],[6120,13142],[6121,13397],[6122,12964],[6124,10892],[6125,13388],[6128,13304],[6129,11791],[6130,12117],[6132,12612],[6134,11188],[6135,12155],[6136,11286],[6137,13442],[6138,13140],[6140,13122],[6142,12786],[6144,11364],[6145,12564],[6146,12620],[6147,13098],[6148,12410],[6149,12752],[6152,12336],[6154,11130],[6155,11004],[6156,12622],[6157,11399],[6159,13235],[6163,11702],[6164,12756],[6165,12449],[6166,13338],[6172,13292],[6173,12904],[6174,12808],[6177,12850],[6179,13024],[6182,11542],[6183,11892],[6186,11061],[6187,10953],[6189,12576],[6191,11736],[6192,11333],[6193,12730],[6194,13106],[6195,13099],[6196,10923],[6205,12660],[6206,12053],[6208,12404],[6209,13336],[6210,13202],[6214,11558],[6215,11566],[6216,12994],[6217,12995],[6220,13309],[6221,12840],[6222,12148],[6223,12954],[6225,13074],[6227,12456],[6230,12750],[6231,12762],[6232,12760],[6235,13012],[6236,12512],[6237,13036],[6239,13190],[6240,11238],[6241,11660],[6243,12837],[6244,13352],[6247,10882],[6248,11796],[6249,12996],[6250,12912],[6252,12841],[6257,11586],[6258,10904],[6260,12949],[6261,11794],[6263,12558],[6267,11476],[6271,12810],[6272,13053],[6273,11922],[6274,10994],[6276,13307],[6278,11834],[6281,11199],[6282,12129],[6283,13103],[6285,11928],[6288,13327],[6290,12279],[6292,13172],[6300,12237],[6302,12109],[6303,12947],[6304,11400],[6305,11871],[6314,13080],[6315,12554],[6317,12696],[6319,12782],[6320,11913],[6321,13193],[6322,12637],[6325,11985],[6327,11810],[6328,11732],[6329,13108],[6333,10816],[6338,11135],[6340,13093],[6341,12697],[6342,13320],[6345,13358],[6346,12838],[6347,13023],[6348,13432],[6350,13185],[6351,13368],[6352,13230],[6353,12403],[6354,12807],[6356,10897],[6357,10907],[6358,13180],[6360,11590],[6362,11735],[6363,12890],[6369,12089],[6370,12058],[6371,11803],[6372,12478],[6373,12848],[6374,12700],[6375,12758],[6377,13090],[6379,12463],[6381,11136],[6386,13412],[6387,11565],[6388,13240],[6391,11918],[6392,12115],[6394,12072],[6399,11766],[6402,12826],[6406,12274],[6407,13250],[6410,11592],[6412,12440],[6413,12923],[6414,11518],[6415,11341],[6416,12959],[6417,11837],[6418,10937],[6419,10936],[6422,13373],[6427,12970],[6428,13086],[6430,12664],[6432,12934],[6433,13400],[6434,11412],[6436,12987],[6438,13138],[6441,12744],[6442,12976],[6447,13150],[6449,12778],[6456,11489],[6457,12958],[6459,13390],[6461,11507],[6463,13226],[6464,13378],[6469,13010],[6470,12887],[6472,11623],[6476,12099],[6480,13159],[6484,11460],[6488,13182],[6493,12908],[6495,13316],[6496,13091],[6497,12624],[6499,13243],[6502,13116],[6508,11267],[6511,11841],[6515,12462],[6517,11664],[6518,11571],[6520,12630],[6524,12423],[6526,13196],[6527,13187],[6531,12896],[6536,11556],[6537,12474],[6541,12532],[6546,12130],[6547,13272],[6549,13100],[6552,12160],[6557,12906],[6560,12183],[6564,12103],[6565,11747],[6575,12932],[6589,12616],[6593,13200],[6595,13306],[6597,12918],[6598,13084],[6600,13057],[6604,12397],[6610,12903],[6619,11572],[6621,13184],[6634,12471],[6637,13143],[6663,12138],[6684,11271],[6687,13259],[6692,13278],[6712,13232],[6723,28535],[6724,13821],[6725,13687],[6726,13608],[6727,28546],[6728,13612],[6729,13594],[6730,13474],[6731,13878],[6732,28538],[6733,13572],[6734,13463],[6735,13558],[6736,13816],[6738,13869],[6739,13802],[6740,13803],[6742,13508],[6743,13935],[6744,13934],[6745,13714],[6746,13716],[6748,13610],[6749,13872],[6750,13590],[6751,13605],[6752,13786],[6753,13668],[6754,28536],[6755,13597],[6758,13722],[6759,13680],[6760,13665],[6761,13727],[6762,13828],[6763,13702],[6764,13564],[6765,13686],[6766,13524],[6767,13834],[6768,13455],[6769,13582],[6770,13972],[6771,13846],[6772,13630],[6773,13782],[6775,13764],[6776,13515],[6778,13552],[6779,13563],[6780,13599],[6781,13578],[6782,13906],[6783,13808],[6784,13809],[6785,13652],[6786,13622],[6787,13973],[6788,13640],[6789,13730],[6790,13726],[6792,13978],[6793,28534],[6794,13794],[6796,13694],[6797,13690],[6798,13862],[6799,13908],[6800,13865],[6801,13495],[6802,13626],[6804,13892],[6807,13600],[6808,28537],[6810,13546],[6811,13619],[6812,13500],[6813,13505],[6814,13514],[6815,13812],[6816,13674],[6817,13884],[6818,13836],[6819,13660],[6821,13551],[6822,13750],[6823,13740],[6824,13712],[6826,13743],[6827,13646],[6828,13460],[6829,13732],[6830,13915],[6831,13916],[6832,13822],[6834,13484],[6836,13638],[6837,13919],[6838,13482],[6839,13706],[6841,13787],[6842,13529],[6843,13898],[6844,13758],[6845,13951],[6847,13976],[6849,13856],[6850,13874],[6851,13870],[6852,13632],[6853,13723],[6854,28529],[6855,13926],[6856,13554],[6857,13961],[6858,13960],[6859,13542],[6861,13708],[6862,13940],[6863,13760],[6865,13780],[6866,13932],[6868,13868],[6869,13835],[6872,13741],[6874,13596],[6875,13710],[6876,13826],[6878,13962],[6879,13879],[6880,13525],[6881,28528],[6883,13871],[6885,28539],[6886,13796],[6887,13880],[6888,13618],[6890,13928],[6892,13662],[6893,28531],[6894,13851],[6896,13774],[6897,13547],[6898,13770],[6901,28527],[6902,13814],[6904,13762],[6906,13952],[6907,13798],[6910,13688],[6911,13953],[6912,13765],[6914,13861],[6916,13881],[6919,13807],[6920,13931],[6922,13617],[6923,28552],[6926,13616],[6931,13513],[6934,13950],[6936,13845],[6939,13549],[6940,28542],[6941,13620],[6946,13956],[6949,13692],[6952,13744],[6954,13818],[6959,13635],[6960,13831],[6964,13907],[6965,13946],[6966,13965],[6967,13942],[6970,13711],[6971,28544],[6973,13866],[6977,28530],[6979,13591],[6980,13766],[6982,13735],[6992,28577],[6993,14359],[6994,14225],[6995,14146],[6996,28588],[6997,14150],[6998,14132],[6999,14012],[7000,14416],[7001,28580],[7002,14110],[7003,14001],[7004,14096],[7005,14354],[7007,14407],[7008,14340],[7009,14341],[7011,14046],[7012,14473],[7013,14472],[7014,14252],[7015,14254],[7017,14148],[7018,14410],[7019,14128],[7020,14143],[7021,14324],[7022,14206],[7023,28578],[7024,14135],[7027,14260],[7028,14218],[7029,14203],[7030,14265],[7031,14366],[7032,14240],[7033,14102],[7034,14224],[7035,14062],[7036,14372],[7037,13993],[7038,14120],[7039,14510],[7040,14384],[7041,14168],[7042,14320],[7044,14302],[7045,14053],[7047,14090],[7048,14101],[7049,14137],[7050,14116],[7051,14444],[7052,14346],[7053,14347],[7054,14190],[7055,14160],[7056,14511],[7057,14178],[7058,14268],[7059,14264],[7061,14516],[7062,28576],[7063,14332],[7065,14232],[7066,14228],[7067,14400],[7068,14446],[7069,14403],[7070,14033],[7071,14164],[7073,14430],[7076,14138],[7077,28579],[7079,14084],[7080,14157],[7081,14038],[7082,14043],[7083,14052],[7084,14350],[7085,14212],[7086,14422],[7087,14374],[7088,14198],[7090,14089],[7091,14288],[7092,14278],[7093,14250],[7095,14281],[7096,14184],[7097,13998],[7098,14270],[7099,14453],[7100,14454],[7101,14360],[7103,14022],[7105,14176],[7106,14457],[7107,14020],[7108,14244],[7110,14325],[7111,14067],[7112,14436],[7113,14296],[7114,14489],[7116,14514],[7118,14394],[7119,14412],[7120,14408],[7121,14170],[7122,14261],[7123,28571],[7124,14464],[7125,14092],[7126,14499],[7127,14498],[7128,14080],[7130,14246],[7131,14478],[7132,14298],[7134,14318],[7135,14470],[7137,14406],[7138,14373],[7141,14279],[7143,14134],[7144,14248],[7145,14364],[7147,14500],[7148,14417],[7149,14063],[7150,28570],[7152,14409],[7154,28581],[7155,14334],[7156,14418],[7157,14156],[7159,14466],[7161,14200],[7162,28573],[7163,14389],[7165,14312],[7166,14085],[7167,14308],[7170,28569],[7171,14352],[7173,14300],[7175,14490],[7176,14336],[7179,14226],[7180,14491],[7181,14303],[7183,14399],[7185,14419],[7188,14345],[7189,14469],[7191,14155],[7192,28594],[7195,14154],[7200,14051],[7203,14488],[7205,14383],[7208,14087],[7209,28584],[7210,14158],[7215,14494],[7218,14230],[7221,14282],[7223,14356],[7228,14173],[7229,14369],[7233,14445],[7234,14484],[7235,14503],[7236,14480],[7239,14249],[7240,28586],[7242,14404],[7246,28572],[7248,14129],[7249,14304],[7251,14273],[7261,28619],[7262,14897],[7263,14763],[7264,14684],[7265,28630],[7266,14688],[7267,14670],[7268,14550],[7269,14954],[7270,28622],[7271,14648],[7272,14539],[7273,14634],[7274,14892],[7276,14945],[7277,14878],[7278,14879],[7280,14584],[7281,15011],[7282,15010],[7283,14790],[7284,14792],[7286,14686],[7287,14948],[7288,14666],[7289,14681],[7290,14862],[7291,14744],[7292,28620],[7293,14673],[7296,14798],[7297,14756],[7298,14741],[7299,14803],[7300,14904],[7301,14778],[7302,14640],[7303,14762],[7304,14600],[7305,14910],[7306,14531],[7307,14658],[7308,15048],[7309,14922],[7310,14706],[7311,14858],[7313,14840],[7314,14591],[7316,14628],[7317,14639],[7318,14675],[7319,14654],[7320,14982],[7321,14884],[7322,14885],[7323,14728],[7324,14698],[7325,15049],[7326,14716],[7327,14806],[7328,14802],[7330,15054],[7331,28618],[7332,14870],[7334,14770],[7335,14766],[7336,14938],[7337,14984],[7338,14941],[7339,14571],[7340,14702],[7342,14968],[7345,14676],[7346,28621],[7348,14622],[7349,14695],[7350,14576],[7351,14581],[7352,14590],[7353,14888],[7354,14750],[7355,14960],[7356,14912],[7357,14736],[7359,14627],[7360,14826],[7361,14816],[7362,14788],[7364,14819],[7365,14722],[7366,14536],[7367,14808],[7368,14991],[7369,14992],[7370,14898],[7372,14560],[7374,14714],[7375,14995],[7376,14558],[7377,14782],[7379,14863],[7380,14605],[7381,14974],[7382,14834],[7383,15027],[7385,15052],[7387,14932],[7388,14950],[7389,14946],[7390,14708],[7391,14799],[7392,28613],[7393,15002],[7394,14630],[7395,15037],[7396,15036],[7397,14618],[7399,14784],[7400,15016],[7401,14836],[7403,14856],[7404,15008],[7406,14944],[7407,14911],[7410,14817],[7412,14672],[7413,14786],[7414,14902],[7416,15038],[7417,14955],[7418,14601],[7419,28612],[7421,14947],[7423,28623],[7424,14872],[7425,14956],[7426,14694],[7428,15004],[7430,14738],[7431,28615],[7432,14927],[7434,14850],[7435,14623],[7436,14846],[7439,28611],[7440,14890],[7442,14838],[7444,15028],[7445,14874],[7448,14764],[7449,15029],[7450,14841],[7452,14937],[7454,14957],[7457,14883],[7458,15007],[7460,14693],[7461,28636],[7464,14692],[7469,14589],[7472,15026],[7474,14921],[7477,14625],[7478,28626],[7479,14696],[7484,15032],[7487,14768],[7490,14820],[7492,14894],[7497,14711],[7498,14907],[7502,14983],[7503,15022],[7504,15041],[7505,15018],[7508,14787],[7509,28628],[7511,14942],[7515,28614],[7517,14667],[7518,14842],[7520,14811],[7530,28661],[7531,15435],[7532,15301],[7533,15222],[7534,28672],[7535,15226],[7536,15208],[7537,15088],[7538,15492],[7539,28664],[7540,15186],[7541,15077],[7542,15172],[7543,15430],[7545,15483],[7546,15416],[7547,15417],[7549,15122],[7550,15549],[7551,15548],[7552,15328],[7553,15330],[7555,15224],[7556,15486],[7557,15204],[7558,15219],[7559,15400],[7560,15282],[7561,28662],[7562,15211],[7565,15336],[7566,15294],[7567,15279],[7568,15341],[7569,15442],[7570,15316],[7571,15178],[7572,15300],[7573,15138],[7574,15448],[7575,15069],[7576,15196],[7577,15586],[7578,15460],[7579,15244],[7580,15396],[7582,15378],[7583,15129],[7585,15166],[7586,15177],[7587,15213],[7588,15192],[7589,15520],[7590,15422],[7591,15423],[7592,15266],[7593,15236],[7594,15587],[7595,15254],[7596,15344],[7597,15340],[7599,15592],[7600,28660],[7601,15408],[7603,15308],[7604,15304],[7605,15476],[7606,15522],[7607,15479],[7608,15109],[7609,15240],[7611,15506],[7614,15214],[7615,28663],[7617,15160],[7618,15233],[7619,15114],[7620,15119],[7621,15128],[7622,15426],[7623,15288],[7624,15498],[7625,15450],[7626,15274],[7628,15165],[7629,15364],[7630,15354],[7631,15326],[7633,15357],[7634,15260],[7635,15074],[7636,15346],[7637,15529],[7638,15530],[7639,15436],[7641,15098],[7643,15252],[7644,15533],[7645,15096],[7646,15320],[7648,15401],[7649,15143],[7650,15512],[7651,15372],[7652,15565],[7654,15590],[7656,15470],[7657,15488],[7658,15484],[7659,15246],[7660,15337],[7661,28655],[7662,15540],[7663,15168],[7664,15575],[7665,15574],[7666,15156],[7668,15322],[7669,15554],[7670,15374],[7672,15394],[7673,15546],[7675,15482],[7676,15449],[7679,15355],[7681,15210],[7682,15324],[7683,15440],[7685,15576],[7686,15493],[7687,15139],[7688,28654],[7690,15485],[7692,28665],[7693,15410],[7694,15494],[7695,15232],[7697,15542],[7699,15276],[7700,28657],[7701,15465],[7703,15388],[7704,15161],[7705,15384],[7708,28653],[7709,15428],[7711,15376],[7713,15566],[7714,15412],[7717,15302],[7718,15567],[7719,15379],[7721,15475],[7723,15495],[7726,15421],[7727,15545],[7729,15231],[7730,28678],[7733,15230],[7738,15127],[7741,15564],[7743,15459],[7746,15163],[7747,28668],[7748,15234],[7753,15570],[7756,15306],[7759,15358],[7761,15432],[7766,15249],[7767,15445],[7771,15521],[7772,15560],[7773,15579],[7774,15556],[7777,15325],[7778,28670],[7780,15480],[7784,28656],[7786,15205],[7787,15380],[7789,15349],[7799,28703],[7800,15973],[7801,15839],[7802,15760],[7803,28714],[7804,15764],[7805,15746],[7806,15626],[7807,16030],[7808,28706],[7809,15724],[7810,15615],[7811,15710],[7812,15968],[7814,16021],[7815,15954],[7816,15955],[7818,15660],[7819,16087],[7820,16086],[7821,15866],[7822,15868],[7824,15762],[7825,16024],[7826,15742],[7827,15757],[7828,15938],[7829,15820],[7830,28704],[7831,15749],[7834,15874],[7835,15832],[7836,15817],[7837,15879],[7838,15980],[7839,15854],[7840,15716],[7841,15838],[7842,15676],[7843,15986],[7844,15607],[7845,15734],[7846,16124],[7847,15998],[7848,15782],[7849,15934],[7851,15916],[7852,15667],[7854,15704],[7855,15715],[7856,15751],[7857,15730],[7858,16058],[7859,15960],[7860,15961],[7861,15804],[7862,15774],[7863,16125],[7864,15792],[7865,15882],[7866,15878],[7868,16130],[7869,28702],[7870,15946],[7872,15846],[7873,15842],[7874,16014],[7875,16060],[7876,16017],[7877,15647],[7878,15778],[7880,16044],[7883,15752],[7884,28705],[7886,15698],[7887,15771],[7888,15652],[7889,15657],[7890,15666],[7891,15964],[7892,15826],[7893,16036],[7894,15988],[7895,15812],[7897,15703],[7898,15902],[7899,15892],[7900,15864],[7902,15895],[7903,15798],[7904,15612],[7905,15884],[7906,16067],[7907,16068],[7908,15974],[7910,15636],[7912,15790],[7913,16071],[7914,15634],[7915,15858],[7917,15939],[7918,15681],[7919,16050],[7920,15910],[7921,16103],[7923,16128],[7925,16008],[7926,16026],[7927,16022],[7928,15784],[7929,15875],[7930,28697],[7931,16078],[7932,15706],[7933,16113],[7934,16112],[7935,15694],[7937,15860],[7938,16092],[7939,15912],[7941,15932],[7942,16084],[7944,16020],[7945,15987],[7948,15893],[7950,15748],[7951,15862],[7952,15978],[7954,16114],[7955,16031],[7956,15677],[7957,28696],[7959,16023],[7961,28707],[7962,15948],[7963,16032],[7964,15770],[7966,16080],[7968,15814],[7969,28699],[7970,16003],[7972,15926],[7973,15699],[7974,15922],[7977,28695],[7978,15966],[7980,15914],[7982,16104],[7983,15950],[7986,15840],[7987,16105],[7988,15917],[7990,16013],[7992,16033],[7995,15959],[7996,16083],[7998,15769],[7999,28720],[8002,15768],[8007,15665],[8010,16102],[8012,15997],[8015,15701],[8016,28710],[8017,15772],[8022,16108],[8025,15844],[8028,15896],[8030,15970],[8035,15787],[8036,15983],[8040,16059],[8041,16098],[8042,16117],[8043,16094],[8046,15863],[8047,28712],[8049,16018],[8053,28698],[8055,15743],[8056,15918],[8058,15887],[8068,28745],[8069,16511],[8070,16377],[8071,16298],[8072,28756],[8073,16302],[8074,16284],[8075,16164],[8076,16568],[8077,28748],[8078,16262],[8079,16153],[8080,16248],[8081,16506],[8083,16559],[8084,16492],[8085,16493],[8087,16198],[8088,16625],[8089,16624],[8090,16404],[8091,16406],[8093,16300],[8094,16562],[8095,16280],[8096,16295],[8097,16476],[8098,16358],[8099,28746],[8100,16287],[8103,16412],[8104,16370],[8105,16355],[8106,16417],[8107,16518],[8108,16392],[8109,16254],[8110,16376],[8111,16214],[8112,16524],[8113,16145],[8114,16272],[8115,16662],[8116,16536],[8117,16320],[8118,16472],[8120,16454],[8121,16205],[8123,16242],[8124,16253],[8125,16289],[8126,16268],[8127,16596],[8128,16498],[8129,16499],[8130,16342],[8131,16312],[8132,16663],[8133,16330],[8134,16420],[8135,16416],[8137,16668],[8138,28744],[8139,16484],[8141,16384],[8142,16380],[8143,16552],[8144,16598],[8145,16555],[8146,16185],[8147,16316],[8149,16582],[8152,16290],[8153,28747],[8155,16236],[8156,16309],[8157,16190],[8158,16195],[8159,16204],[8160,16502],[8161,16364],[8162,16574],[8163,16526],[8164,16350],[8166,16241],[8167,16440],[8168,16430],[8169,16402],[8171,16433],[8172,16336],[8173,16150],[8174,16422],[8175,16605],[8176,16606],[8177,16512],[8179,16174],[8181,16328],[8182,16609],[8183,16172],[8184,16396],[8186,16477],[8187,16219],[8188,16588],[8189,16448],[8190,16641],[8192,16666],[8194,16546],[8195,16564],[8196,16560],[8197,16322],[8198,16413],[8199,28739],[8200,16616],[8201,16244],[8202,16651],[8203,16650],[8204,16232],[8206,16398],[8207,16630],[8208,16450],[8210,16470],[8211,16622],[8213,16558],[8214,16525],[8217,16431],[8219,16286],[8220,16400],[8221,16516],[8223,16652],[8224,16569],[8225,16215],[8226,28738],[8228,16561],[8230,28749],[8231,16486],[8232,16570],[8233,16308],[8235,16618],[8237,16352],[8238,28741],[8239,16541],[8241,16464],[8242,16237],[8243,16460],[8246,28737],[8247,16504],[8249,16452],[8251,16642],[8252,16488],[8255,16378],[8256,16643],[8257,16455],[8259,16551],[8261,16571],[8264,16497],[8265,16621],[8267,16307],[8268,28762],[8271,16306],[8276,16203],[8279,16640],[8281,16535],[8284,16239],[8285,28752],[8286,16310],[8291,16646],[8294,16382],[8297,16434],[8299,16508],[8304,16325],[8305,16521],[8309,16597],[8310,16636],[8311,16655],[8312,16632],[8315,16401],[8316,28754],[8318,16556],[8322,28740],[8324,16281],[8325,16456],[8327,16425],[8337,28787],[8338,17049],[8339,16915],[8340,16836],[8341,28798],[8342,16840],[8343,16822],[8344,16702],[8345,17106],[8346,28790],[8347,16800],[8348,16691],[8349,16786],[8350,17044],[8352,17097],[8353,17030],[8354,17031],[8356,16736],[8357,17163],[8358,17162],[8359,16942],[8360,16944],[8362,16838],[8363,17100],[8364,16818],[8365,16833],[8366,17014],[8367,16896],[8368,28788],[8369,16825],[8372,16950],[8373,16908],[8374,16893],[8375,16955],[8376,17056],[8377,16930],[8378,16792],[8379,16914],[8380,16752],[8381,17062],[8382,16683],[8383,16810],[8384,17200],[8385,17074],[8386,16858],[8387,17010],[8389,16992],[8390,16743],[8392,16780],[8393,16791],[8394,16827],[8395,16806],[8396,17134],[8397,17036],[8398,17037],[8399,16880],[8400,16850],[8401,17201],[8402,16868],[8403,16958],[8404,16954],[8406,17206],[8407,28786],[8408,17022],[8410,16922],[8411,16918],[8412,17090],[8413,17136],[8414,17093],[8415,16723],[8416,16854],[8418,17120],[8421,16828],[8422,28789],[8424,16774],[8425,16847],[8426,16728],[8427,16733],[8428,16742],[8429,17040],[8430,16902],[8431,17112],[8432,17064],[8433,16888],[8435,16779],[8436,16978],[8437,16968],[8438,16940],[8440,16971],[8441,16874],[8442,16688],[8443,16960],[8444,17143],[8445,17144],[8446,17050],[8448,16712],[8450,16866],[8451,17147],[8452,16710],[8453,16934],[8455,17015],[8456,16757],[8457,17126],[8458,16986],[8459,17179],[8461,17204],[8463,17084],[8464,17102],[8465,17098],[8466,16860],[8467,16951],[8468,28781],[8469,17154],[8470,16782],[8471,17189],[8472,17188],[8473,16770],[8475,16936],[8476,17168],[8477,16988],[8479,17008],[8480,17160],[8482,17096],[8483,17063],[8486,16969],[8488,16824],[8489,16938],[8490,17054],[8492,17190],[8493,17107],[8494,16753],[8495,28780],[8497,17099],[8499,28791],[8500,17024],[8501,17108],[8502,16846],[8504,17156],[8506,16890],[8507,28783],[8508,17079],[8510,17002],[8511,16775],[8512,16998],[8515,28779],[8516,17042],[8518,16990],[8520,17180],[8521,17026],[8524,16916],[8525,17181],[8526,16993],[8528,17089],[8530,17109],[8533,17035],[8534,17159],[8536,16845],[8537,28804],[8540,16844],[8545,16741],[8548,17178],[8550,17073],[8553,16777],[8554,28794],[8555,16848],[8560,17184],[8563,16920],[8566,16972],[8568,17046],[8573,16863],[8574,17059],[8578,17135],[8579,17174],[8580,17193],[8581,17170],[8584,16939],[8585,28796],[8587,17094],[8591,28782],[8593,16819],[8594,16994],[8596,16963],[8606,28829],[8607,17587],[8608,17453],[8609,17374],[8610,28840],[8611,17378],[8612,17360],[8613,17240],[8614,17644],[8615,28832],[8616,17338],[8617,17229],[8618,17324],[8619,17582],[8621,17635],[8622,17568],[8623,17569],[8625,17274],[8626,17701],[8627,17700],[8628,17480],[8629,17482],[8631,17376],[8632,17638],[8633,17356],[8634,17371],[8635,17552],[8636,17434],[8637,28830],[8638,17363],[8641,17488],[8642,17446],[8643,17431],[8644,17493],[8645,17594],[8646,17468],[8647,17330],[8648,17452],[8649,17290],[8650,17600],[8651,17221],[8652,17348],[8653,17738],[8654,17612],[8655,17396],[8656,17548],[8658,17530],[8659,17281],[8661,17318],[8662,17329],[8663,17365],[8664,17344],[8665,17672],[8666,17574],[8667,17575],[8668,17418],[8669,17388],[8670,17739],[8671,17406],[8672,17496],[8673,17492],[8675,17744],[8676,28828],[8677,17560],[8679,17460],[8680,17456],[8681,17628],[8682,17674],[8683,17631],[8684,17261],[8685,17392],[8687,17658],[8690,17366],[8691,28831],[8693,17312],[8694,17385],[8695,17266],[8696,17271],[8697,17280],[8698,17578],[8699,17440],[8700,17650],[8701,17602],[8702,17426],[8704,17317],[8705,17516],[8706,17506],[8707,17478],[8709,17509],[8710,17412],[8711,17226],[8712,17498],[8713,17681],[8714,17682],[8715,17588],[8717,17250],[8719,17404],[8720,17685],[8721,17248],[8722,17472],[8724,17553],[8725,17295],[8726,17664],[8727,17524],[8728,17717],[8730,17742],[8732,17622],[8733,17640],[8734,17636],[8735,17398],[8736,17489],[8737,28823],[8738,17692],[8739,17320],[8740,17727],[8741,17726],[8742,17308],[8744,17474],[8745,17706],[8746,17526],[8748,17546],[8749,17698],[8751,17634],[8752,17601],[8755,17507],[8757,17362],[8758,17476],[8759,17592],[8761,17728],[8762,17645],[8763,17291],[8764,28822],[8766,17637],[8768,28833],[8769,17562],[8770,17646],[8771,17384],[8773,17694],[8775,17428],[8776,28825],[8777,17617],[8779,17540],[8780,17313],[8781,17536],[8784,28821],[8785,17580],[8787,17528],[8789,17718],[8790,17564],[8793,17454],[8794,17719],[8795,17531],[8797,17627],[8799,17647],[8802,17573],[8803,17697],[8805,17383],[8806,28846],[8809,17382],[8814,17279],[8817,17716],[8819,17611],[8822,17315],[8823,28836],[8824,17386],[8829,17722],[8832,17458],[8835,17510],[8837,17584],[8842,17401],[8843,17597],[8847,17673],[8848,17712],[8849,17731],[8850,17708],[8853,17477],[8854,28838],[8856,17632],[8860,28824],[8862,17357],[8863,17532],[8865,17501],[8875,28871],[8876,18125],[8877,17991],[8878,17912],[8879,28882],[8880,17916],[8881,17898],[8882,17778],[8883,18182],[8884,28874],[8885,17876],[8886,17767],[8887,17862],[8888,18120],[8890,18173],[8891,18106],[8892,18107],[8894,17812],[8895,18239],[8896,18238],[8897,18018],[8898,18020],[8900,17914],[8901,18176],[8902,17894],[8903,17909],[8904,18090],[8905,17972],[8906,28872],[8907,17901],[8910,18026],[8911,17984],[8912,17969],[8913,18031],[8914,18132],[8915,18006],[8916,17868],[8917,17990],[8918,17828],[8919,18138],[8920,17759],[8921,17886],[8922,18276],[8923,18150],[8924,17934],[8925,18086],[8927,18068],[8928,17819],[8930,17856],[8931,17867],[8932,17903],[8933,17882],[8934,18210],[8935,18112],[8936,18113],[8937,17956],[8938,17926],[8939,18277],[8940,17944],[8941,18034],[8942,18030],[8944,18282],[8945,28870],[8946,18098],[8948,17998],[8949,17994],[8950,18166],[8951,18212],[8952,18169],[8953,17799],[8954,17930],[8956,18196],[8959,17904],[8960,28873],[8962,17850],[8963,17923],[8964,17804],[8965,17809],[8966,17818],[8967,18116],[8968,17978],[8969,18188],[8970,18140],[8971,17964],[8973,17855],[8974,18054],[8975,18044],[8976,18016],[8978,18047],[8979,17950],[8980,17764],[8981,18036],[8982,18219],[8983,18220],[8984,18126],[8986,17788],[8988,17942],[8989,18223],[8990,17786],[8991,18010],[8993,18091],[8994,17833],[8995,18202],[8996,18062],[8997,18255],[8999,18280],[9001,18160],[9002,18178],[9003,18174],[9004,17936],[9005,18027],[9006,28865],[9007,18230],[9008,17858],[9009,18265],[9010,18264],[9011,17846],[9013,18012],[9014,18244],[9015,18064],[9017,18084],[9018,18236],[9020,18172],[9021,18139],[9024,18045],[9026,17900],[9027,18014],[9028,18130],[9030,18266],[9031,18183],[9032,17829],[9033,28864],[9035,18175],[9037,28875],[9038,18100],[9039,18184],[9040,17922],[9042,18232],[9044,17966],[9045,28867],[9046,18155],[9048,18078],[9049,17851],[9050,18074],[9053,28863],[9054,18118],[9056,18066],[9058,18256],[9059,18102],[9062,17992],[9063,18257],[9064,18069],[9066,18165],[9068,18185],[9071,18111],[9072,18235],[9074,17921],[9075,28888],[9078,17920],[9083,17817],[9086,18254],[9088,18149],[9091,17853],[9092,28878],[9093,17924],[9098,18260],[9101,17996],[9104,18048],[9106,18122],[9111,17939],[9112,18135],[9116,18211],[9117,18250],[9118,18269],[9119,18246],[9122,18015],[9123,28880],[9125,18170],[9129,28866],[9131,17895],[9132,18070],[9134,18039],[9144,28913],[9145,18663],[9146,18529],[9147,18450],[9148,28924],[9149,18454],[9150,18436],[9151,18316],[9152,18720],[9153,28916],[9154,18414],[9155,18305],[9156,18400],[9157,18658],[9159,18711],[9160,18644],[9161,18645],[9163,18350],[9164,18777],[9165,18776],[9166,18556],[9167,18558],[9169,18452],[9170,18714],[9171,18432],[9172,18447],[9173,18628],[9174,18510],[9175,28914],[9176,18439],[9179,18564],[9180,18522],[9181,18507],[9182,18569],[9183,18670],[9184,18544],[9185,18406],[9186,18528],[9187,18366],[9188,18676],[9189,18297],[9190,18424],[9191,18814],[9192,18688],[9193,18472],[9194,18624],[9196,18606],[9197,18357],[9199,18394],[9200,18405],[9201,18441],[9202,18420],[9203,18748],[9204,18650],[9205,18651],[9206,18494],[9207,18464],[9208,18815],[9209,18482],[9210,18572],[9211,18568],[9213,18820],[9214,28912],[9215,18636],[9217,18536],[9218,18532],[9219,18704],[9220,18750],[9221,18707],[9222,18337],[9223,18468],[9225,18734],[9228,18442],[9229,28915],[9231,18388],[9232,18461],[9233,18342],[9234,18347],[9235,18356],[9236,18654],[9237,18516],[9238,18726],[9239,18678],[9240,18502],[9242,18393],[9243,18592],[9244,18582],[9245,18554],[9247,18585],[9248,18488],[9249,18302],[9250,18574],[9251,18757],[9252,18758],[9253,18664],[9255,18326],[9257,18480],[9258,18761],[9259,18324],[9260,18548],[9262,18629],[9263,18371],[9264,18740],[9265,18600],[9266,18793],[9268,18818],[9270,18698],[9271,18716],[9272,18712],[9273,18474],[9274,18565],[9275,28907],[9276,18768],[9277,18396],[9278,18803],[9279,18802],[9280,18384],[9282,18550],[9283,18782],[9284,18602],[9286,18622],[9287,18774],[9289,18710],[9290,18677],[9293,18583],[9295,18438],[9296,18552],[9297,18668],[9299,18804],[9300,18721],[9301,18367],[9302,28906],[9304,18713],[9306,28917],[9307,18638],[9308,18722],[9309,18460],[9311,18770],[9313,18504],[9314,28909],[9315,18693],[9317,18616],[9318,18389],[9319,18612],[9322,28905],[9323,18656],[9325,18604],[9327,18794],[9328,18640],[9331,18530],[9332,18795],[9333,18607],[9335,18703],[9337,18723],[9340,18649],[9341,18773],[9343,18459],[9344,28930],[9347,18458],[9352,18355],[9355,18792],[9357,18687],[9360,18391],[9361,28920],[9362,18462],[9367,18798],[9370,18534],[9373,18586],[9375,18660],[9380,18477],[9381,18673],[9385,18749],[9386,18788],[9387,18807],[9388,18784],[9391,18553],[9392,28922],[9394,18708],[9398,28908],[9400,18433],[9401,18608],[9403,18577],[9413,28955],[9414,19201],[9415,19067],[9416,18988],[9417,28966],[9418,18992],[9419,18974],[9420,18854],[9421,19258],[9422,28958],[9423,18952],[9424,18843],[9425,18938],[9426,19196],[9428,19249],[9429,19182],[9430,19183],[9432,18888],[9433,19315],[9434,19314],[9435,19094],[9436,19096],[9438,18990],[9439,19252],[9440,18970],[9441,18985],[9442,19166],[9443,19048],[9444,28956],[9445,18977],[9448,19102],[9449,19060],[9450,19045],[9451,19107],[9452,19208],[9453,19082],[9454,18944],[9455,19066],[9456,18904],[9457,19214],[9458,18835],[9459,18962],[9460,19352],[9461,19226],[9462,19010],[9463,19162],[9465,19144],[9466,18895],[9468,18932],[9469,18943],[9470,18979],[9471,18958],[9472,19286],[9473,19188],[9474,19189],[9475,19032],[9476,19002],[9477,19353],[9478,19020],[9479,19110],[9480,19106],[9482,19358],[9483,28954],[9484,19174],[9486,19074],[9487,19070],[9488,19242],[9489,19288],[9490,19245],[9491,18875],[9492,19006],[9494,19272],[9497,18980],[9498,28957],[9500,18926],[9501,18999],[9502,18880],[9503,18885],[9504,18894],[9505,19192],[9506,19054],[9507,19264],[9508,19216],[9509,19040],[9511,18931],[9512,19130],[9513,19120],[9514,19092],[9516,19123],[9517,19026],[9518,18840],[9519,19112],[9520,19295],[9521,19296],[9522,19202],[9524,18864],[9526,19018],[9527,19299],[9528,18862],[9529,19086],[9531,19167],[9532,18909],[9533,19278],[9534,19138],[9535,19331],[9537,19356],[9539,19236],[9540,19254],[9541,19250],[9542,19012],[9543,19103],[9544,28949],[9545,19306],[9546,18934],[9547,19341],[9548,19340],[9549,18922],[9551,19088],[9552,19320],[9553,19140],[9555,19160],[9556,19312],[9558,19248],[9559,19215],[9562,19121],[9564,18976],[9565,19090],[9566,19206],[9568,19342],[9569,19259],[9570,18905],[9571,28948],[9573,19251],[9575,28959],[9576,19176],[9577,19260],[9578,18998],[9580,19308],[9582,19042],[9583,28951],[9584,19231],[9586,19154],[9587,18927],[9588,19150],[9591,28947],[9592,19194],[9594,19142],[9596,19332],[9597,19178],[9600,19068],[9601,19333],[9602,19145],[9604,19241],[9606,19261],[9609,19187],[9610,19311],[9612,18997],[9613,28972],[9616,18996],[9621,18893],[9624,19330],[9626,19225],[9629,18929],[9630,28962],[9631,19000],[9636,19336],[9639,19072],[9642,19124],[9644,19198],[9649,19015],[9650,19211],[9654,19287],[9655,19326],[9656,19345],[9657,19322],[9660,19091],[9661,28964],[9663,19246],[9667,28950],[9669,18971],[9670,19146],[9672,19115],[9682,28997],[9683,19739],[9684,19605],[9685,19526],[9686,29008],[9687,19530],[9688,19512],[9689,19392],[9690,19796],[9691,29000],[9692,19490],[9693,19381],[9694,19476],[9695,19734],[9697,19787],[9698,19720],[9699,19721],[9701,19426],[9702,19853],[9703,19852],[9704,19632],[9705,19634],[9707,19528],[9708,19790],[9709,19508],[9710,19523],[9711,19704],[9712,19586],[9713,28998],[9714,19515],[9717,19640],[9718,19598],[9719,19583],[9720,19645],[9721,19746],[9722,19620],[9723,19482],[9724,19604],[9725,19442],[9726,19752],[9727,19373],[9728,19500],[9729,19890],[9730,19764],[9731,19548],[9732,19700],[9734,19682],[9735,19433],[9737,19470],[9738,19481],[9739,19517],[9740,19496],[9741,19824],[9742,19726],[9743,19727],[9744,19570],[9745,19540],[9746,19891],[9747,19558],[9748,19648],[9749,19644],[9751,19896],[9752,28996],[9753,19712],[9755,19612],[9756,19608],[9757,19780],[9758,19826],[9759,19783],[9760,19413],[9761,19544],[9763,19810],[9766,19518],[9767,28999],[9769,19464],[9770,19537],[9771,19418],[9772,19423],[9773,19432],[9774,19730],[9775,19592],[9776,19802],[9777,19754],[9778,19578],[9780,19469],[9781,19668],[9782,19658],[9783,19630],[9785,19661],[9786,19564],[9787,19378],[9788,19650],[9789,19833],[9790,19834],[9791,19740],[9793,19402],[9795,19556],[9796,19837],[9797,19400],[9798,19624],[9800,19705],[9801,19447],[9802,19816],[9803,19676],[9804,19869],[9806,19894],[9808,19774],[9809,19792],[9810,19788],[9811,19550],[9812,19641],[9813,28991],[9814,19844],[9815,19472],[9816,19879],[9817,19878],[9818,19460],[9820,19626],[9821,19858],[9822,19678],[9824,19698],[9825,19850],[9827,19786],[9828,19753],[9831,19659],[9833,19514],[9834,19628],[9835,19744],[9837,19880],[9838,19797],[9839,19443],[9840,28990],[9842,19789],[9844,29001],[9845,19714],[9846,19798],[9847,19536],[9849,19846],[9851,19580],[9852,28993],[9853,19769],[9855,19692],[9856,19465],[9857,19688],[9860,28989],[9861,19732],[9863,19680],[9865,19870],[9866,19716],[9869,19606],[9870,19871],[9871,19683],[9873,19779],[9875,19799],[9878,19725],[9879,19849],[9881,19535],[9882,29014],[9885,19534],[9890,19431],[9893,19868],[9895,19763],[9898,19467],[9899,29004],[9900,19538],[9905,19874],[9908,19610],[9911,19662],[9913,19736],[9918,19553],[9919,19749],[9923,19825],[9924,19864],[9925,19883],[9926,19860],[9929,19629],[9930,29006],[9932,19784],[9936,28992],[9938,19509],[9939,19684],[9941,19653],[9951,29039],[9952,20277],[9953,20143],[9954,20064],[9955,29050],[9956,20068],[9957,20050],[9958,19930],[9959,20334],[9960,29042],[9961,20028],[9962,19919],[9963,20014],[9964,20272],[9966,20325],[9967,20258],[9968,20259],[9970,19964],[9971,20391],[9972,20390],[9973,20170],[9974,20172],[9976,20066],[9977,20328],[9978,20046],[9979,20061],[9980,20242],[9981,20124],[9982,29040],[9983,20053],[9986,20178],[9987,20136],[9988,20121],[9989,20183],[9990,20284],[9991,20158],[9992,20020],[9993,20142],[9994,19980],[9995,20290],[9996,19911],[9997,20038],[9998,20428],[9999,20302],[10000,20086],[10001,20238],[10003,20220],[10004,19971],[10006,20008],[10007,20019],[10008,20055],[10009,20034],[10010,20362],[10011,20264],[10012,20265],[10013,20108],[10014,20078],[10015,20429],[10016,20096],[10017,20186],[10018,20182],[10020,20434],[10021,29038],[10022,20250],[10024,20150],[10025,20146],[10026,20318],[10027,20364],[10028,20321],[10029,19951],[10030,20082],[10032,20348],[10035,20056],[10036,29041],[10038,20002],[10039,20075],[10040,19956],[10041,19961],[10042,19970],[10043,20268],[10044,20130],[10045,20340],[10046,20292],[10047,20116],[10049,20007],[10050,20206],[10051,20196],[10052,20168],[10054,20199],[10055,20102],[10056,19916],[10057,20188],[10058,20371],[10059,20372],[10060,20278],[10062,19940],[10064,20094],[10065,20375],[10066,19938],[10067,20162],[10069,20243],[10070,19985],[10071,20354],[10072,20214],[10073,20407],[10075,20432],[10077,20312],[10078,20330],[10079,20326],[10080,20088],[10081,20179],[10082,29033],[10083,20382],[10084,20010],[10085,20417],[10086,20416],[10087,19998],[10089,20164],[10090,20396],[10091,20216],[10093,20236],[10094,20388],[10096,20324],[10097,20291],[10100,20197],[10102,20052],[10103,20166],[10104,20282],[10106,20418],[10107,20335],[10108,19981],[10109,29032],[10111,20327],[10113,29043],[10114,20252],[10115,20336],[10116,20074],[10118,20384],[10120,20118],[10121,29035],[10122,20307],[10124,20230],[10125,20003],[10126,20226],[10129,29031],[10130,20270],[10132,20218],[10134,20408],[10135,20254],[10138,20144],[10139,20409],[10140,20221],[10142,20317],[10144,20337],[10147,20263],[10148,20387],[10150,20073],[10151,29056],[10154,20072],[10159,19969],[10162,20406],[10164,20301],[10167,20005],[10168,29046],[10169,20076],[10174,20412],[10177,20148],[10180,20200],[10182,20274],[10187,20091],[10188,20287],[10192,20363],[10193,20402],[10194,20421],[10195,20398],[10198,20167],[10199,29048],[10201,20322],[10205,29034],[10207,20047],[10208,20222],[10210,20191],[10220,29081],[10221,20815],[10222,20681],[10223,20602],[10224,29092],[10225,20606],[10226,20588],[10227,20468],[10228,20872],[10229,29084],[10230,20566],[10231,20457],[10232,20552],[10233,20810],[10235,20863],[10236,20796],[10237,20797],[10239,20502],[10240,20929],[10241,20928],[10242,20708],[10243,20710],[10245,20604],[10246,20866],[10247,20584],[10248,20599],[10249,20780],[10250,20662],[10251,29082],[10252,20591],[10255,20716],[10256,20674],[10257,20659],[10258,20721],[10259,20822],[10260,20696],[10261,20558],[10262,20680],[10263,20518],[10264,20828],[10265,20449],[10266,20576],[10267,20966],[10268,20840],[10269,20624],[10270,20776],[10272,20758],[10273,20509],[10275,20546],[10276,20557],[10277,20593],[10278,20572],[10279,20900],[10280,20802],[10281,20803],[10282,20646],[10283,20616],[10284,20967],[10285,20634],[10286,20724],[10287,20720],[10289,20972],[10290,29080],[10291,20788],[10293,20688],[10294,20684],[10295,20856],[10296,20902],[10297,20859],[10298,20489],[10299,20620],[10301,20886],[10304,20594],[10305,29083],[10307,20540],[10308,20613],[10309,20494],[10310,20499],[10311,20508],[10312,20806],[10313,20668],[10314,20878],[10315,20830],[10316,20654],[10318,20545],[10319,20744],[10320,20734],[10321,20706],[10323,20737],[10324,20640],[10325,20454],[10326,20726],[10327,20909],[10328,20910],[10329,20816],[10331,20478],[10333,20632],[10334,20913],[10335,20476],[10336,20700],[10338,20781],[10339,20523],[10340,20892],[10341,20752],[10342,20945],[10344,20970],[10346,20850],[10347,20868],[10348,20864],[10349,20626],[10350,20717],[10351,29075],[10352,20920],[10353,20548],[10354,20955],[10355,20954],[10356,20536],[10358,20702],[10359,20934],[10360,20754],[10362,20774],[10363,20926],[10365,20862],[10366,20829],[10369,20735],[10371,20590],[10372,20704],[10373,20820],[10375,20956],[10376,20873],[10377,20519],[10378,29074],[10380,20865],[10382,29085],[10383,20790],[10384,20874],[10385,20612],[10387,20922],[10389,20656],[10390,29077],[10391,20845],[10393,20768],[10394,20541],[10395,20764],[10398,29073],[10399,20808],[10401,20756],[10403,20946],[10404,20792],[10407,20682],[10408,20947],[10409,20759],[10411,20855],[10413,20875],[10416,20801],[10417,20925],[10419,20611],[10420,29098],[10423,20610],[10428,20507],[10431,20944],[10433,20839],[10436,20543],[10437,29088],[10438,20614],[10443,20950],[10446,20686],[10449,20738],[10451,20812],[10456,20629],[10457,20825],[10461,20901],[10462,20940],[10463,20959],[10464,20936],[10467,20705],[10468,29090],[10470,20860],[10474,29076],[10476,20585],[10477,20760],[10479,20729],[10489,29123],[10490,21353],[10491,21219],[10492,21140],[10493,29134],[10494,21144],[10495,21126],[10496,21006],[10497,21410],[10498,29126],[10499,21104],[10500,20995],[10501,21090],[10502,21348],[10504,21401],[10505,21334],[10506,21335],[10508,21040],[10509,21467],[10510,21466],[10511,21246],[10512,21248],[10514,21142],[10515,21404],[10516,21122],[10517,21137],[10518,21318],[10519,21200],[10520,29124],[10521,21129],[10524,21254],[10525,21212],[10526,21197],[10527,21259],[10528,21360],[10529,21234],[10530,21096],[10531,21218],[10532,21056],[10533,21366],[10534,20987],[10535,21114],[10536,21504],[10537,21378],[10538,21162],[10539,21314],[10541,21296],[10542,21047],[10544,21084],[10545,21095],[10546,21131],[10547,21110],[10548,21438],[10549,21340],[10550,21341],[10551,21184],[10552,21154],[10553,21505],[10554,21172],[10555,21262],[10556,21258],[10558,21510],[10559,29122],[10560,21326],[10562,21226],[10563,21222],[10564,21394],[10565,21440],[10566,21397],[10567,21027],[10568,21158],[10570,21424],[10573,21132],[10574,29125],[10576,21078],[10577,21151],[10578,21032],[10579,21037],[10580,21046],[10581,21344],[10582,21206],[10583,21416],[10584,21368],[10585,21192],[10587,21083],[10588,21282],[10589,21272],[10590,21244],[10592,21275],[10593,21178],[10594,20992],[10595,21264],[10596,21447],[10597,21448],[10598,21354],[10600,21016],[10602,21170],[10603,21451],[10604,21014],[10605,21238],[10607,21319],[10608,21061],[10609,21430],[10610,21290],[10611,21483],[10613,21508],[10615,21388],[10616,21406],[10617,21402],[10618,21164],[10619,21255],[10620,29117],[10621,21458],[10622,21086],[10623,21493],[10624,21492],[10625,21074],[10627,21240],[10628,21472],[10629,21292],[10631,21312],[10632,21464],[10634,21400],[10635,21367],[10638,21273],[10640,21128],[10641,21242],[10642,21358],[10644,21494],[10645,21411],[10646,21057],[10647,29116],[10649,21403],[10651,29127],[10652,21328],[10653,21412],[10654,21150],[10656,21460],[10658,21194],[10659,29119],[10660,21383],[10662,21306],[10663,21079],[10664,21302],[10667,29115],[10668,21346],[10670,21294],[10672,21484],[10673,21330],[10676,21220],[10677,21485],[10678,21297],[10680,21393],[10682,21413],[10685,21339],[10686,21463],[10688,21149],[10689,29140],[10692,21148],[10697,21045],[10700,21482],[10702,21377],[10705,21081],[10706,29130],[10707,21152],[10712,21488],[10715,21224],[10718,21276],[10720,21350],[10725,21167],[10726,21363],[10730,21439],[10731,21478],[10732,21497],[10733,21474],[10736,21243],[10737,29132],[10739,21398],[10743,29118],[10745,21123],[10746,21298],[10748,21267],[10758,29165],[10759,21891],[10760,21757],[10761,21678],[10762,29176],[10763,21682],[10764,21664],[10765,21544],[10766,21948],[10767,29168],[10768,21642],[10769,21533],[10770,21628],[10771,21886],[10773,21939],[10774,21872],[10775,21873],[10777,21578],[10778,22005],[10779,22004],[10780,21784],[10781,21786],[10783,21680],[10784,21942],[10785,21660],[10786,21675],[10787,21856],[10788,21738],[10789,29166],[10790,21667],[10793,21792],[10794,21750],[10795,21735],[10796,21797],[10797,21898],[10798,21772],[10799,21634],[10800,21756],[10801,21594],[10802,21904],[10803,21525],[10804,21652],[10805,22042],[10806,21916],[10807,21700],[10808,21852],[10810,21834],[10811,21585],[10813,21622],[10814,21633],[10815,21669],[10816,21648],[10817,21976],[10818,21878],[10819,21879],[10820,21722],[10821,21692],[10822,22043],[10823,21710],[10824,21800],[10825,21796],[10827,22048],[10828,29164],[10829,21864],[10831,21764],[10832,21760],[10833,21932],[10834,21978],[10835,21935],[10836,21565],[10837,21696],[10839,21962],[10842,21670],[10843,29167],[10845,21616],[10846,21689],[10847,21570],[10848,21575],[10849,21584],[10850,21882],[10851,21744],[10852,21954],[10853,21906],[10854,21730],[10856,21621],[10857,21820],[10858,21810],[10859,21782],[10861,21813],[10862,21716],[10863,21530],[10864,21802],[10865,21985],[10866,21986],[10867,21892],[10869,21554],[10871,21708],[10872,21989],[10873,21552],[10874,21776],[10876,21857],[10877,21599],[10878,21968],[10879,21828],[10880,22021],[10882,22046],[10884,21926],[10885,21944],[10886,21940],[10887,21702],[10888,21793],[10889,29159],[10890,21996],[10891,21624],[10892,22031],[10893,22030],[10894,21612],[10896,21778],[10897,22010],[10898,21830],[10900,21850],[10901,22002],[10903,21938],[10904,21905],[10907,21811],[10909,21666],[10910,21780],[10911,21896],[10913,22032],[10914,21949],[10915,21595],[10916,29158],[10918,21941],[10920,29169],[10921,21866],[10922,21950],[10923,21688],[10925,21998],[10927,21732],[10928,29161],[10929,21921],[10931,21844],[10932,21617],[10933,21840],[10936,29157],[10937,21884],[10939,21832],[10941,22022],[10942,21868],[10945,21758],[10946,22023],[10947,21835],[10949,21931],[10951,21951],[10954,21877],[10955,22001],[10957,21687],[10958,29182],[10961,21686],[10966,21583],[10969,22020],[10971,21915],[10974,21619],[10975,29172],[10976,21690],[10981,22026],[10984,21762],[10987,21814],[10989,21888],[10994,21705],[10995,21901],[10999,21977],[11000,22016],[11001,22035],[11002,22012],[11005,21781],[11006,29174],[11008,21936],[11012,29160],[11014,21661],[11015,21836],[11017,21805],[11027,29207],[11028,22429],[11029,22295],[11030,22216],[11031,29218],[11032,22220],[11033,22202],[11034,22082],[11035,22486],[11036,29210],[11037,22180],[11038,22071],[11039,22166],[11040,22424],[11042,22477],[11043,22410],[11044,22411],[11046,22116],[11047,22543],[11048,22542],[11049,22322],[11050,22324],[11052,22218],[11053,22480],[11054,22198],[11055,22213],[11056,22394],[11057,22276],[11058,29208],[11059,22205],[11062,22330],[11063,22288],[11064,22273],[11065,22335],[11066,22436],[11067,22310],[11068,22172],[11069,22294],[11070,22132],[11071,22442],[11072,22063],[11073,22190],[11074,22580],[11075,22454],[11076,22238],[11077,22390],[11079,22372],[11080,22123],[11082,22160],[11083,22171],[11084,22207],[11085,22186],[11086,22514],[11087,22416],[11088,22417],[11089,22260],[11090,22230],[11091,22581],[11092,22248],[11093,22338],[11094,22334],[11096,22586],[11097,29206],[11098,22402],[11100,22302],[11101,22298],[11102,22470],[11103,22516],[11104,22473],[11105,22103],[11106,22234],[11108,22500],[11111,22208],[11112,29209],[11114,22154],[11115,22227],[11116,22108],[11117,22113],[11118,22122],[11119,22420],[11120,22282],[11121,22492],[11122,22444],[11123,22268],[11125,22159],[11126,22358],[11127,22348],[11128,22320],[11130,22351],[11131,22254],[11132,22068],[11133,22340],[11134,22523],[11135,22524],[11136,22430],[11138,22092],[11140,22246],[11141,22527],[11142,22090],[11143,22314],[11145,22395],[11146,22137],[11147,22506],[11148,22366],[11149,22559],[11151,22584],[11153,22464],[11154,22482],[11155,22478],[11156,22240],[11157,22331],[11158,29201],[11159,22534],[11160,22162],[11161,22569],[11162,22568],[11163,22150],[11165,22316],[11166,22548],[11167,22368],[11169,22388],[11170,22540],[11172,22476],[11173,22443],[11176,22349],[11178,22204],[11179,22318],[11180,22434],[11182,22570],[11183,22487],[11184,22133],[11185,29200],[11187,22479],[11189,29211],[11190,22404],[11191,22488],[11192,22226],[11194,22536],[11196,22270],[11197,29203],[11198,22459],[11200,22382],[11201,22155],[11202,22378],[11205,29199],[11206,22422],[11208,22370],[11210,22560],[11211,22406],[11214,22296],[11215,22561],[11216,22373],[11218,22469],[11220,22489],[11223,22415],[11224,22539],[11226,22225],[11227,29224],[11230,22224],[11235,22121],[11238,22558],[11240,22453],[11243,22157],[11244,29214],[11245,22228],[11250,22564],[11253,22300],[11256,22352],[11258,22426],[11263,22243],[11264,22439],[11268,22515],[11269,22554],[11270,22573],[11271,22550],[11274,22319],[11275,29216],[11277,22474],[11281,29202],[11283,22199],[11284,22374],[11286,22343],[11296,29249],[11297,22967],[11298,22833],[11299,22754],[11300,29260],[11301,22758],[11302,22740],[11303,22620],[11304,23024],[11305,29252],[11306,22718],[11307,22609],[11308,22704],[11309,22962],[11311,23015],[11312,22948],[11313,22949],[11315,22654],[11316,23081],[11317,23080],[11318,22860],[11319,22862],[11321,22756],[11322,23018],[11323,22736],[11324,22751],[11325,22932],[11326,22814],[11327,29250],[11328,22743],[11331,22868],[11332,22826],[11333,22811],[11334,22873],[11335,22974],[11336,22848],[11337,22710],[11338,22832],[11339,22670],[11340,22980],[11341,22601],[11342,22728],[11343,23118],[11344,22992],[11345,22776],[11346,22928],[11348,22910],[11349,22661],[11351,22698],[11352,22709],[11353,22745],[11354,22724],[11355,23052],[11356,22954],[11357,22955],[11358,22798],[11359,22768],[11360,23119],[11361,22786],[11362,22876],[11363,22872],[11365,23124],[11366,29248],[11367,22940],[11369,22840],[11370,22836],[11371,23008],[11372,23054],[11373,23011],[11374,22641],[11375,22772],[11377,23038],[11380,22746],[11381,29251],[11383,22692],[11384,22765],[11385,22646],[11386,22651],[11387,22660],[11388,22958],[11389,22820],[11390,23030],[11391,22982],[11392,22806],[11394,22697],[11395,22896],[11396,22886],[11397,22858],[11399,22889],[11400,22792],[11401,22606],[11402,22878],[11403,23061],[11404,23062],[11405,22968],[11407,22630],[11409,22784],[11410,23065],[11411,22628],[11412,22852],[11414,22933],[11415,22675],[11416,23044],[11417,22904],[11418,23097],[11420,23122],[11422,23002],[11423,23020],[11424,23016],[11425,22778],[11426,22869],[11427,29243],[11428,23072],[11429,22700],[11430,23107],[11431,23106],[11432,22688],[11434,22854],[11435,23086],[11436,22906],[11438,22926],[11439,23078],[11441,23014],[11442,22981],[11445,22887],[11447,22742],[11448,22856],[11449,22972],[11451,23108],[11452,23025],[11453,22671],[11454,29242],[11456,23017],[11458,29253],[11459,22942],[11460,23026],[11461,22764],[11463,23074],[11465,22808],[11466,29245],[11467,22997],[11469,22920],[11470,22693],[11471,22916],[11474,29241],[11475,22960],[11477,22908],[11479,23098],[11480,22944],[11483,22834],[11484,23099],[11485,22911],[11487,23007],[11489,23027],[11492,22953],[11493,23077],[11495,22763],[11496,29266],[11499,22762],[11504,22659],[11507,23096],[11509,22991],[11512,22695],[11513,29256],[11514,22766],[11519,23102],[11522,22838],[11525,22890],[11527,22964],[11532,22781],[11533,22977],[11537,23053],[11538,23092],[11539,23111],[11540,23088],[11543,22857],[11544,29258],[11546,23012],[11550,29244],[11552,22737],[11553,22912],[11555,22881],[11565,29291],[11566,23505],[11567,23371],[11568,23292],[11569,29302],[11570,23296],[11571,23278],[11572,23158],[11573,23562],[11574,29294],[11575,23256],[11576,23147],[11577,23242],[11578,23500],[11580,23553],[11581,23486],[11582,23487],[11584,23192],[11585,23619],[11586,23618],[11587,23398],[11588,23400],[11590,23294],[11591,23556],[11592,23274],[11593,23289],[11594,23470],[11595,23352],[11596,29292],[11597,23281],[11600,23406],[11601,23364],[11602,23349],[11603,23411],[11604,23512],[11605,23386],[11606,23248],[11607,23370],[11608,23208],[11609,23518],[11610,23139],[11611,23266],[11612,23656],[11613,23530],[11614,23314],[11615,23466],[11617,23448],[11618,23199],[11620,23236],[11621,23247],[11622,23283],[11623,23262],[11624,23590],[11625,23492],[11626,23493],[11627,23336],[11628,23306],[11629,23657],[11630,23324],[11631,23414],[11632,23410],[11634,23662],[11635,29290],[11636,23478],[11638,23378],[11639,23374],[11640,23546],[11641,23592],[11642,23549],[11643,23179],[11644,23310],[11646,23576],[11649,23284],[11650,29293],[11652,23230],[11653,23303],[11654,23184],[11655,23189],[11656,23198],[11657,23496],[11658,23358],[11659,23568],[11660,23520],[11661,23344],[11663,23235],[11664,23434],[11665,23424],[11666,23396],[11668,23427],[11669,23330],[11670,23144],[11671,23416],[11672,23599],[11673,23600],[11674,23506],[11676,23168],[11678,23322],[11679,23603],[11680,23166],[11681,23390],[11683,23471],[11684,23213],[11685,23582],[11686,23442],[11687,23635],[11689,23660],[11691,23540],[11692,23558],[11693,23554],[11694,23316],[11695,23407],[11696,29285],[11697,23610],[11698,23238],[11699,23645],[11700,23644],[11701,23226],[11703,23392],[11704,23624],[11705,23444],[11707,23464],[11708,23616],[11710,23552],[11711,23519],[11714,23425],[11716,23280],[11717,23394],[11718,23510],[11720,23646],[11721,23563],[11722,23209],[11723,29284],[11725,23555],[11727,29295],[11728,23480],[11729,23564],[11730,23302],[11732,23612],[11734,23346],[11735,29287],[11736,23535],[11738,23458],[11739,23231],[11740,23454],[11743,29283],[11744,23498],[11746,23446],[11748,23636],[11749,23482],[11752,23372],[11753,23637],[11754,23449],[11756,23545],[11758,23565],[11761,23491],[11762,23615],[11764,23301],[11765,29308],[11768,23300],[11773,23197],[11776,23634],[11778,23529],[11781,23233],[11782,29298],[11783,23304],[11788,23640],[11791,23376],[11794,23428],[11796,23502],[11801,23319],[11802,23515],[11806,23591],[11807,23630],[11808,23649],[11809,23626],[11812,23395],[11813,29300],[11815,23550],[11819,29286],[11821,23275],[11822,23450],[11824,23419],[11834,29333],[11835,24043],[11836,23909],[11837,23830],[11838,29344],[11839,23834],[11840,23816],[11841,23696],[11842,24100],[11843,29336],[11844,23794],[11845,23685],[11846,23780],[11847,24038],[11849,24091],[11850,24024],[11851,24025],[11853,23730],[11854,24157],[11855,24156],[11856,23936],[11857,23938],[11859,23832],[11860,24094],[11861,23812],[11862,23827],[11863,24008],[11864,23890],[11865,29334],[11866,23819],[11869,23944],[11870,23902],[11871,23887],[11872,23949],[11873,24050],[11874,23924],[11875,23786],[11876,23908],[11877,23746],[11878,24056],[11879,23677],[11880,23804],[11881,24194],[11882,24068],[11883,23852],[11884,24004],[11886,23986],[11887,23737],[11889,23774],[11890,23785],[11891,23821],[11892,23800],[11893,24128],[11894,24030],[11895,24031],[11896,23874],[11897,23844],[11898,24195],[11899,23862],[11900,23952],[11901,23948],[11903,24200],[11904,29332],[11905,24016],[11907,23916],[11908,23912],[11909,24084],[11910,24130],[11911,24087],[11912,23717],[11913,23848],[11915,24114],[11918,23822],[11919,29335],[11921,23768],[11922,23841],[11923,23722],[11924,23727],[11925,23736],[11926,24034],[11927,23896],[11928,24106],[11929,24058],[11930,23882],[11932,23773],[11933,23972],[11934,23962],[11935,23934],[11937,23965],[11938,23868],[11939,23682],[11940,23954],[11941,24137],[11942,24138],[11943,24044],[11945,23706],[11947,23860],[11948,24141],[11949,23704],[11950,23928],[11952,24009],[11953,23751],[11954,24120],[11955,23980],[11956,24173],[11958,24198],[11960,24078],[11961,24096],[11962,24092],[11963,23854],[11964,23945],[11965,29327],[11966,24148],[11967,23776],[11968,24183],[11969,24182],[11970,23764],[11972,23930],[11973,24162],[11974,23982],[11976,24002],[11977,24154],[11979,24090],[11980,24057],[11983,23963],[11985,23818],[11986,23932],[11987,24048],[11989,24184],[11990,24101],[11991,23747],[11992,29326],[11994,24093],[11996,29337],[11997,24018],[11998,24102],[11999,23840],[12001,24150],[12003,23884],[12004,29329],[12005,24073],[12007,23996],[12008,23769],[12009,23992],[12012,29325],[12013,24036],[12015,23984],[12017,24174],[12018,24020],[12021,23910],[12022,24175],[12023,23987],[12025,24083],[12027,24103],[12030,24029],[12031,24153],[12033,23839],[12034,29350],[12037,23838],[12042,23735],[12045,24172],[12047,24067],[12050,23771],[12051,29340],[12052,23842],[12057,24178],[12060,23914],[12063,23966],[12065,24040],[12070,23857],[12071,24053],[12075,24129],[12076,24168],[12077,24187],[12078,24164],[12081,23933],[12082,29342],[12084,24088],[12088,29328],[12090,23813],[12091,23988],[12093,23957],[12103,24209],[12104,24248],[12105,24238],[12106,24244],[12107,24240],[12108,24214],[12110,24229],[12111,24236],[12112,24250],[12113,24237],[12115,24222],[12116,24245],[12117,24228],[12120,24246],[12125,24247],[12127,24257],[12128,24296],[12129,24286],[12130,24292],[12131,24288],[12132,24262],[12134,24277],[12135,24284],[12136,24298],[12137,24285],[12139,24270],[12140,24293],[12141,24276],[12144,24294],[12149,24295],[12151,24305],[12152,24344],[12153,24334],[12154,24340],[12155,24336],[12156,24310],[12158,24325],[12159,24332],[12160,24346],[12161,24333],[12163,24318],[12164,24341],[12165,24324],[12168,24342],[12173,24343],[12175,24353],[12176,24392],[12177,24382],[12178,24388],[12179,24384],[12180,24358],[12182,24373],[12183,24380],[12184,24394],[12185,24381],[12187,24366],[12188,24389],[12189,24372],[12192,24390],[12197,24391],[12199,24401],[12200,24440],[12201,24430],[12202,24436],[12203,24432],[12204,24406],[12206,24421],[12207,24428],[12208,24442],[12209,24429],[12211,24414],[12212,24437],[12213,24420],[12216,24438],[12221,24439],[12223,24449],[12224,24488],[12225,24478],[12226,24484],[12227,24480],[12228,24454],[12230,24469],[12231,24476],[12232,24490],[12233,24477],[12235,24462],[12236,24485],[12237,24468],[12240,24486],[12245,24487],[12247,24497],[12248,24536],[12249,24526],[12250,24532],[12251,24528],[12252,24502],[12254,24517],[12255,24524],[12256,24538],[12257,24525],[12259,24510],[12260,24533],[12261,24516],[12264,24534],[12269,24535],[12271,24545],[12272,24584],[12273,24574],[12274,24580],[12275,24576],[12276,24550],[12278,24565],[12279,24572],[12280,24586],[12281,24573],[12283,24558],[12284,24581],[12285,24564],[12288,24582],[12293,24583],[12295,24593],[12296,24632],[12297,24622],[12298,24628],[12299,24624],[12300,24598],[12302,24613],[12303,24620],[12304,24634],[12305,24621],[12307,24606],[12308,24629],[12309,24612],[12312,24630],[12317,24631],[12319,24641],[12320,24680],[12321,24670],[12322,24676],[12323,24672],[12324,24646],[12326,24661],[12327,24668],[12328,24682],[12329,24669],[12331,24654],[12332,24677],[12333,24660],[12336,24678],[12341,24679],[12343,24689],[12344,24728],[12345,24718],[12346,24724],[12347,24720],[12348,24694],[12350,24709],[12351,24716],[12352,24730],[12353,24717],[12355,24702],[12356,24725],[12357,24708],[12360,24726],[12365,24727],[12367,24737],[12368,24776],[12369,24766],[12370,24772],[12371,24768],[12372,24742],[12374,24757],[12375,24764],[12376,24778],[12377,24765],[12379,24750],[12380,24773],[12381,24756],[12384,24774],[12389,24775],[12391,24785],[12392,24824],[12393,24814],[12394,24820],[12395,24816],[12396,24790],[12398,24805],[12399,24812],[12400,24826],[12401,24813],[12403,24798],[12404,24821],[12405,24804],[12408,24822],[12413,24823],[12415,24833],[12416,24872],[12417,24862],[12418,24868],[12419,24864],[12420,24838],[12422,24853],[12423,24860],[12424,24874],[12425,24861],[12427,24846],[12428,24869],[12429,24852],[12432,24870],[12437,24871],[12439,24881],[12440,24920],[12441,24910],[12442,24916],[12443,24912],[12444,24886],[12446,24901],[12447,24908],[12448,24922],[12449,24909],[12451,24894],[12452,24917],[12453,24900],[12456,24918],[12461,24919],[12463,24929],[12464,24968],[12465,24958],[12466,24964],[12467,24960],[12468,24934],[12470,24949],[12471,24956],[12472,24970],[12473,24957],[12475,24942],[12476,24965],[12477,24948],[12480,24966],[12485,24967],[12487,24977],[12488,25016],[12489,25006],[12490,25012],[12491,25008],[12492,24982],[12494,24997],[12495,25004],[12496,25018],[12497,25005],[12499,24990],[12500,25013],[12501,24996],[12504,25014],[12509,25015],[12511,25025],[12512,25064],[12513,25054],[12514,25060],[12515,25056],[12516,25030],[12518,25045],[12519,25052],[12520,25066],[12521,25053],[12523,25038],[12524,25061],[12525,25044],[12528,25062],[12533,25063],[12535,25073],[12536,25112],[12537,25102],[12538,25108],[12539,25104],[12540,25078],[12542,25093],[12543,25100],[12544,25114],[12545,25101],[12547,25086],[12548,25109],[12549,25092],[12552,25110],[12557,25111],[12559,25121],[12560,25160],[12561,25150],[12562,25156],[12563,25152],[12564,25126],[12566,25141],[12567,25148],[12568,25162],[12569,25149],[12571,25134],[12572,25157],[12573,25140],[12576,25158],[12581,25159],[12583,25169],[12584,25208],[12585,25198],[12586,25204],[12587,25200],[12588,25174],[12590,25189],[12591,25196],[12592,25210],[12593,25197],[12595,25182],[12596,25205],[12597,25188],[12600,25206],[12605,25207],[12607,25217],[12608,25256],[12609,25246],[12610,25252],[12611,25248],[12612,25222],[12614,25237],[12615,25244],[12616,25258],[12617,25245],[12619,25230],[12620,25253],[12621,25236],[12624,25254],[12629,25255],[12631,25265],[12632,25304],[12633,25294],[12634,25300],[12635,25296],[12636,25270],[12638,25285],[12639,25292],[12640,25306],[12641,25293],[12643,25278],[12644,25301],[12645,25284],[12648,25302],[12653,25303],[12655,25313],[12656,25352],[12657,25342],[12658,25348],[12659,25344],[12660,25318],[12662,25333],[12663,25340],[12664,25354],[12665,25341],[12667,25326],[12668,25349],[12669,25332],[12672,25350],[12677,25351],[12679,25361],[12680,25400],[12681,25390],[12682,25396],[12683,25392],[12684,25366],[12686,25381],[12687,25388],[12688,25402],[12689,25389],[12691,25374],[12692,25397],[12693,25380],[12696,25398],[12701,25399],[12703,25409],[12704,25448],[12705,25438],[12706,25444],[12707,25440],[12708,25414],[12710,25429],[12711,25436],[12712,25450],[12713,25437],[12715,25422],[12716,25445],[12717,25428],[12720,25446],[12725,25447],[12727,25457],[12728,25496],[12729,25486],[12730,25492],[12731,25488],[12732,25462],[12734,25477],[12735,25484],[12736,25498],[12737,25485],[12739,25470],[12740,25493],[12741,25476],[12744,25494],[12749,25495],[12751,25505],[12752,25544],[12753,25534],[12754,25540],[12755,25536],[12756,25510],[12758,25525],[12759,25532],[12760,25546],[12761,25533],[12763,25518],[12764,25541],[12765,25524],[12768,25542],[12773,25543],[12775,25553],[12776,25592],[12777,25582],[12778,25588],[12779,25584],[12780,25558],[12782,25573],[12783,25580],[12784,25594],[12785,25581],[12787,25566],[12788,25589],[12789,25572],[12792,25590],[12797,25591],[12799,25601],[12800,25640],[12801,25630],[12802,25636],[12803,25632],[12804,25606],[12806,25621],[12807,25628],[12808,25642],[12809,25629],[12811,25614],[12812,25637],[12813,25620],[12816,25638],[12821,25639],[12823,25649],[12824,25688],[12825,25678],[12826,25684],[12827,25680],[12828,25654],[12830,25669],[12831,25676],[12832,25690],[12833,25677],[12835,25662],[12836,25685],[12837,25668],[12840,25686],[12845,25687],[12847,25697],[12848,25736],[12849,25726],[12850,25732],[12851,25728],[12852,25702],[12854,25717],[12855,25724],[12856,25738],[12857,25725],[12859,25710],[12860,25733],[12861,25716],[12864,25734],[12869,25735],[12871,25745],[12872,25784],[12873,25774],[12874,25780],[12875,25776],[12876,25750],[12878,25765],[12879,25772],[12880,25786],[12881,25773],[12883,25758],[12884,25781],[12885,25764],[12888,25782],[12893,25783],[12895,25793],[12896,25832],[12897,25822],[12898,25828],[12899,25824],[12900,25798],[12902,25813],[12903,25820],[12904,25834],[12905,25821],[12907,25806],[12908,25829],[12909,25812],[12912,25830],[12917,25831],[12919,25841],[12920,25880],[12921,25870],[12922,25876],[12923,25872],[12924,25846],[12926,25861],[12927,25868],[12928,25882],[12929,25869],[12931,25854],[12932,25877],[12933,25860],[12936,25878],[12941,25879],[12943,25889],[12944,25928],[12945,25918],[12946,25924],[12947,25920],[12948,25894],[12950,25909],[12951,25916],[12952,25930],[12953,25917],[12955,25902],[12956,25925],[12957,25908],[12960,25926],[12965,25927],[12967,25937],[12968,25976],[12969,25966],[12970,25972],[12971,25968],[12972,25942],[12974,25957],[12975,25964],[12976,25978],[12977,25965],[12979,25950],[12980,25973],[12981,25956],[12984,25974],[12989,25975],[12991,25985],[12992,26024],[12993,26014],[12994,26020],[12995,26016],[12996,25990],[12998,26005],[12999,26012],[13000,26026],[13001,26013],[13003,25998],[13004,26021],[13005,26004],[13008,26022],[13013,26023],[13015,26033],[13016,26072],[13017,26062],[13018,26068],[13019,26064],[13020,26038],[13022,26053],[13023,26060],[13024,26074],[13025,26061],[13027,26046],[13028,26069],[13029,26052],[13032,26070],[13037,26071],[13039,26081],[13040,26120],[13041,26110],[13042,26116],[13043,26112],[13044,26086],[13046,26101],[13047,26108],[13048,26122],[13049,26109],[13051,26094],[13052,26117],[13053,26100],[13056,26118],[13061,26119],[13063,26129],[13064,26168],[13065,26158],[13066,26164],[13067,26160],[13068,26134],[13070,26149],[13071,26156],[13072,26170],[13073,26157],[13075,26142],[13076,26165],[13077,26148],[13080,26166],[13085,26167],[13087,26177],[13088,26216],[13089,26206],[13090,26212],[13091,26208],[13092,26182],[13094,26197],[13095,26204],[13096,26218],[13097,26205],[13099,26190],[13100,26213],[13101,26196],[13104,26214],[13109,26215],[13111,26225],[13112,26264],[13113,26254],[13114,26260],[13115,26256],[13116,26230],[13118,26245],[13119,26252],[13120,26266],[13121,26253],[13123,26238],[13124,26261],[13125,26244],[13128,26262],[13133,26263],[13135,26273],[13136,26312],[13137,26302],[13138,26308],[13139,26304],[13140,26278],[13142,26293],[13143,26300],[13144,26314],[13145,26301],[13147,26286],[13148,26309],[13149,26292],[13152,26310],[13157,26311],[13159,26321],[13160,26360],[13161,26350],[13162,26356],[13163,26352],[13164,26326],[13166,26341],[13167,26348],[13168,26362],[13169,26349],[13171,26334],[13172,26357],[13173,26340],[13176,26358],[13181,26359],[13183,26369],[13184,26408],[13185,26398],[13186,26404],[13187,26400],[13188,26374],[13190,26389],[13191,26396],[13192,26410],[13193,26397],[13195,26382],[13196,26405],[13197,26388],[13200,26406],[13205,26407],[13207,26417],[13208,26456],[13209,26446],[13210,26452],[13211,26448],[13212,26422],[13214,26437],[13215,26444],[13216,26458],[13217,26445],[13219,26430],[13220,26453],[13221,26436],[13224,26454],[13229,26455],[13231,26465],[13232,26504],[13233,26494],[13234,26500],[13235,26496],[13236,26470],[13238,26485],[13239,26492],[13240,26506],[13241,26493],[13243,26478],[13244,26501],[13245,26484],[13248,26502],[13253,26503],[13255,26513],[13256,26552],[13257,26542],[13258,26548],[13259,26544],[13260,26518],[13262,26533],[13263,26540],[13264,26554],[13265,26541],[13267,26526],[13268,26549],[13269,26532],[13272,26550],[13277,26551],[13279,26561],[13280,26600],[13281,26590],[13282,26596],[13283,26592],[13284,26566],[13286,26581],[13287,26588],[13288,26602],[13289,26589],[13291,26574],[13292,26597],[13293,26580],[13296,26598],[13301,26599],[13303,26609],[13304,26648],[13305,26638],[13306,26644],[13307,26640],[13308,26614],[13310,26629],[13311,26636],[13312,26650],[13313,26637],[13315,26622],[13316,26645],[13317,26628],[13320,26646],[13325,26647],[13327,26657],[13328,26696],[13329,26686],[13330,26692],[13331,26688],[13332,26662],[13334,26677],[13335,26684],[13336,26698],[13337,26685],[13339,26670],[13340,26693],[13341,26676],[13344,26694],[13349,26695],[13351,26705],[13352,26744],[13353,26734],[13354,26740],[13355,26736],[13356,26710],[13358,26725],[13359,26732],[13360,26746],[13361,26733],[13363,26718],[13364,26741],[13365,26724],[13368,26742],[13373,26743],[13375,26753],[13376,26792],[13377,26782],[13378,26788],[13379,26784],[13380,26758],[13382,26773],[13383,26780],[13384,26794],[13385,26781],[13387,26766],[13388,26789],[13389,26772],[13392,26790],[13397,26791],[13399,26801],[13400,26840],[13401,26830],[13402,26836],[13403,26832],[13404,26806],[13406,26821],[13407,26828],[13408,26842],[13409,26829],[13411,26814],[13412,26837],[13413,26820],[13416,26838],[13421,26839],[13423,26849],[13424,26888],[13425,26878],[13426,26884],[13427,26880],[13428,26854],[13430,26869],[13431,26876],[13432,26890],[13433,26877],[13435,26862],[13436,26885],[13437,26868],[13440,26886],[13445,26887],[13447,26897],[13448,26936],[13449,26926],[13450,26932],[13451,26928],[13452,26902],[13454,26917],[13455,26924],[13456,26938],[13457,26925],[13459,26910],[13460,26933],[13461,26916],[13464,26934],[13469,26935],[13471,26945],[13472,26984],[13473,26974],[13474,26980],[13475,26976],[13476,26950],[13478,26965],[13479,26972],[13480,26986],[13481,26973],[13483,26958],[13484,26981],[13485,26964],[13488,26982],[13493,26983],[13495,26993],[13496,27032],[13497,27022],[13498,27028],[13499,27024],[13500,26998],[13502,27013],[13503,27020],[13504,27034],[13505,27021],[13507,27006],[13508,27029],[13509,27012],[13512,27030],[13517,27031],[13519,27041],[13520,27080],[13521,27070],[13522,27076],[13523,27072],[13524,27046],[13526,27061],[13527,27068],[13528,27082],[13529,27069],[13531,27054],[13532,27077],[13533,27060],[13536,27078],[13541,27079],[13543,27089],[13544,27128],[13545,27118],[13546,27124],[13547,27120],[13548,27094],[13550,27109],[13551,27116],[13552,27130],[13553,27117],[13555,27102],[13556,27125],[13557,27108],[13560,27126],[13565,27127],[13567,27137],[13568,27176],[13569,27166],[13570,27172],[13571,27168],[13572,27142],[13574,27157],[13575,27164],[13576,27178],[13577,27165],[13579,27150],[13580,27173],[13581,27156],[13584,27174],[13589,27175],[13591,27185],[13592,27224],[13593,27214],[13594,27220],[13595,27216],[13596,27190],[13598,27205],[13599,27212],[13600,27226],[13601,27213],[13603,27198],[13604,27221],[13605,27204],[13608,27222],[13613,27223],[13615,27233],[13616,27272],[13617,27262],[13618,27268],[13619,27264],[13620,27238],[13622,27253],[13623,27260],[13624,27274],[13625,27261],[13627,27246],[13628,27269],[13629,27252],[13632,27270],[13637,27271],[13639,27281],[13640,27320],[13641,27310],[13642,27316],[13643,27312],[13644,27286],[13646,27301],[13647,27308],[13648,27322],[13649,27309],[13651,27294],[13652,27317],[13653,27300],[13656,27318],[13661,27319],[13663,27329],[13664,27368],[13665,27358],[13666,27364],[13667,27360],[13668,27334],[13670,27349],[13671,27356],[13672,27370],[13673,27357],[13675,27342],[13676,27365],[13677,27348],[13680,27366],[13685,27367],[13687,27377],[13688,27416],[13689,27406],[13690,27412],[13691,27408],[13692,27382],[13694,27397],[13695,27404],[13696,27418],[13697,27405],[13699,27390],[13700,27413],[13701,27396],[13704,27414],[13709,27415],[13711,27425],[13712,27464],[13713,27454],[13714,27460],[13715,27456],[13716,27430],[13718,27445],[13719,27452],[13720,27466],[13721,27453],[13723,27438],[13724,27461],[13725,27444],[13728,27462],[13733,27463],[13735,27473],[13736,27512],[13737,27502],[13738,27508],[13739,27504],[13740,27478],[13742,27493],[13743,27500],[13744,27514],[13745,27501],[13747,27486],[13748,27509],[13749,27492],[13752,27510],[13757,27511],[13759,27521],[13760,27560],[13761,27550],[13762,27556],[13763,27552],[13764,27526],[13766,27541],[13767,27548],[13768,27562],[13769,27549],[13771,27534],[13772,27557],[13773,27540],[13776,27558],[13781,27559],[13783,27569],[13784,27608],[13785,27598],[13786,27604],[13787,27600],[13788,27574],[13790,27589],[13791,27596],[13792,27610],[13793,27597],[13795,27582],[13796,27605],[13797,27588],[13800,27606],[13805,27607],[13807,27617],[13808,27656],[13809,27646],[13810,27652],[13811,27648],[13812,27622],[13814,27637],[13815,27644],[13816,27658],[13817,27645],[13819,27630],[13820,27653],[13821,27636],[13824,27654],[13829,27655],[13831,27665],[13832,27704],[13833,27694],[13834,27700],[13835,27696],[13836,27670],[13838,27685],[13839,27692],[13840,27706],[13841,27693],[13843,27678],[13844,27701],[13845,27684],[13848,27702],[13853,27703],[13855,27713],[13856,27752],[13857,27742],[13858,27748],[13859,27744],[13860,27718],[13862,27733],[13863,27740],[13864,27754],[13865,27741],[13867,27726],[13868,27749],[13869,27732],[13872,27750],[13877,27751],[13879,27761],[13880,27800],[13881,27790],[13882,27796],[13883,27792],[13884,27766],[13886,27781],[13887,27788],[13888,27802],[13889,27789],[13891,27774],[13892,27797],[13893,27780],[13896,27798],[13901,27799],[13903,27809],[13904,27848],[13905,27838],[13906,27844],[13907,27840],[13908,27814],[13910,27829],[13911,27836],[13912,27850],[13913,27837],[13915,27822],[13916,27845],[13917,27828],[13920,27846],[13925,27847],[13927,27857],[13928,27896],[13929,27886],[13930,27892],[13931,27888],[13932,27862],[13934,27877],[13935,27884],[13936,27898],[13937,27885],[13939,27870],[13940,27893],[13941,27876],[13944,27894],[13949,27895],[13951,27905],[13952,27944],[13953,27934],[13954,27940],[13955,27936],[13956,27910],[13958,27925],[13959,27932],[13960,27946],[13961,27933],[13963,27918],[13964,27941],[13965,27924],[13968,27942],[13973,27943],[13975,27953],[13976,27992],[13977,27982],[13978,27988],[13979,27984],[13980,27958],[13982,27973],[13983,27980],[13984,27994],[13985,27981],[13987,27966],[13988,27989],[13989,27972],[13992,27990],[13997,27991],[13999,28001],[14000,28040],[14001,28030],[14002,28036],[14003,28032],[14004,28006],[14006,28021],[14007,28028],[14008,28042],[14009,28029],[14011,28014],[14012,28037],[14013,28020],[14016,28038],[14021,28039],[14023,28049],[14024,28088],[14025,28078],[14026,28084],[14027,28080],[14028,28054],[14030,28069],[14031,28076],[14032,28090],[14033,28077],[14035,28062],[14036,28085],[14037,28068],[14040,28086],[14045,28087],[14047,28097],[14048,28136],[14049,28126],[14050,28132],[14051,28128],[14052,28102],[14054,28117],[14055,28124],[14056,28138],[14057,28125],[14059,28110],[14060,28133],[14061,28116],[14064,28134],[14069,28135],[14071,28145],[14072,28184],[14073,28174],[14074,28180],[14075,28176],[14076,28150],[14078,28165],[14079,28172],[14080,28186],[14081,28173],[14083,28158],[14084,28181],[14085,28164],[14088,28182],[14093,28183],[14095,28193],[14096,28232],[14097,28222],[14098,28228],[14099,28224],[14100,28198],[14102,28213],[14103,28220],[14104,28234],[14105,28221],[14107,28206],[14108,28229],[14109,28212],[14112,28230],[14117,28231],[14119,28241],[14120,28280],[14121,28270],[14122,28276],[14123,28272],[14124,28246],[14126,28261],[14127,28268],[14128,28282],[14129,28269],[14131,28254],[14132,28277],[14133,28260],[14136,28278],[14141,28279],[14143,28289],[14144,28328],[14145,28318],[14146,28324],[14147,28320],[14148,28294],[14150,28309],[14151,28316],[14152,28330],[14153,28317],[14155,28302],[14156,28325],[14157,28308],[14160,28326],[14165,28327],[14167,28337],[14168,28376],[14169,28366],[14170,28372],[14171,28368],[14172,28342],[14174,28357],[14175,28364],[14176,28378],[14177,28365],[14179,28350],[14180,28373],[14181,28356],[14184,28374],[14189,28375],[14191,28385],[14192,28424],[14193,28414],[14194,28420],[14195,28416],[14196,28390],[14198,28405],[14199,28412],[14200,28426],[14201,28413],[14203,28398],[14204,28421],[14205,28404],[14208,28422],[14213,28423],[14215,28433],[14216,28472],[14217,28462],[14218,28468],[14219,28464],[14220,28438],[14222,28453],[14223,28460],[14224,28474],[14225,28461],[14227,28446],[14228,28469],[14229,28452],[14232,28470],[14237,28471],[14239,28481],[14240,28520],[14241,28510],[14242,28516],[14243,28512],[14244,28486],[14246,28501],[14247,28508],[14248,28522],[14249,28509],[14251,28494],[14252,28517],[14253,28500],[14256,28518],[14261,28519],[14263,13772],[14266,13446],[14267,13530],[14270,13911],[14273,13540],[14274,13535],[14275,13451],[14284,14310],[14287,13984],[14288,14068],[14291,14449],[14294,14078],[14295,14073],[14296,13989],[14305,14848],[14308,14522],[14309,14606],[14312,14987],[14315,14616],[14316,14611],[14317,14527],[14326,15386],[14329,15060],[14330,15144],[14333,15525],[14336,15154],[14337,15149],[14338,15065],[14347,15924],[14350,15598],[14351,15682],[14354,16063],[14357,15692],[14358,15687],[14359,15603],[14368,16462],[14371,16136],[14372,16220],[14375,16601],[14378,16230],[14379,16225],[14380,16141],[14389,17000],[14392,16674],[14393,16758],[14396,17139],[14399,16768],[14400,16763],[14401,16679],[14410,17538],[14413,17212],[14414,17296],[14417,17677],[14420,17306],[14421,17301],[14422,17217],[14431,18076],[14434,17750],[14435,17834],[14438,18215],[14441,17844],[14442,17839],[14443,17755],[14452,18614],[14455,18288],[14456,18372],[14459,18753],[14462,18382],[14463,18377],[14464,18293],[14473,19152],[14476,18826],[14477,18910],[14480,19291],[14483,18920],[14484,18915],[14485,18831],[14494,19690],[14497,19364],[14498,19448],[14501,19829],[14504,19458],[14505,19453],[14506,19369],[14515,20228],[14518,19902],[14519,19986],[14522,20367],[14525,19996],[14526,19991],[14527,19907],[14536,20766],[14539,20440],[14540,20524],[14543,20905],[14546,20534],[14547,20529],[14548,20445],[14557,21304],[14560,20978],[14561,21062],[14564,21443],[14567,21072],[14568,21067],[14569,20983],[14578,21842],[14581,21516],[14582,21600],[14585,21981],[14588,21610],[14589,21605],[14590,21521],[14599,22380],[14602,22054],[14603,22138],[14606,22519],[14609,22148],[14610,22143],[14611,22059],[14620,22918],[14623,22592],[14624,22676],[14627,23057],[14630,22686],[14631,22681],[14632,22597],[14641,23456],[14644,23130],[14645,23214],[14648,23595],[14651,23224],[14652,23219],[14653,23135],[14662,23994],[14665,23668],[14666,23752],[14669,24133],[14672,23762],[14673,23757],[14674,23673],[14683,29377],[14685,29381],[14687,29392],[14689,29396],[14691,29369],[14693,29373],[14695,29384],[14697,29388],[14699,29409],[14701,29413],[14703,29424],[14705,29428],[14707,29401],[14709,29405],[14711,29416],[14713,29420],[14715,29441],[14717,29445],[14719,29456],[14721,29460],[14723,29433],[14725,29437],[14727,29448],[14729,29452],[14731,29473],[14733,29477],[14735,29488],[14737,29492],[14739,29465],[14741,29469],[14743,29480],[14745,29484],[14747,29505],[14749,29509],[14751,29520],[14753,29524],[14755,29497],[14757,29501],[14759,29512],[14761,29516],[14763,29537],[14765,29541],[14767,29552],[14769,29556],[14771,29529],[14773,29533],[14775,29544],[14777,29548],[14779,29569],[14781,29573],[14783,29584],[14785,29588],[14787,29561],[14789,29565],[14791,29576],[14793,29580],[14795,29601],[14797,29605],[14799,29616],[14801,29620],[14803,29593],[14805,29597],[14807,29608],[14809,29612],[14811,29633],[14813,29637],[14815,29648],[14817,29652],[14819,29625],[14821,29629],[14823,29640],[14825,29644],[14827,29665],[14829,29669],[14831,29680],[14833,29684],[14835,29657],[14837,29661],[14839,29672],[14841,29676],[14843,29697],[14845,29701],[14847,29712],[14849,29716],[14851,29689],[14853,29693],[14855,29704],[14857,29708],[14859,29729],[14861,29733],[14863,29744],[14865,29748],[14867,29721],[14869,29725],[14871,29736],[14873,29740],[14875,29761],[14877,29765],[14879,29776],[14881,29780],[14883,29753],[14885,29757],[14887,29768],[14889,29772],[14891,29793],[14893,29797],[14895,29808],[14897,29812],[14899,29785],[14901,29789],[14903,29800],[14905,29804],[14907,29825],[14909,29829],[14911,29840],[14913,29844],[14915,29817],[14917,29821],[14919,29832],[14921,29836],[14923,29857],[14925,29861],[14927,29872],[14929,29876],[14931,29849],[14933,29853],[14935,29864],[14937,29868],[14939,29889],[14941,29893],[14943,29904],[14945,29908],[14947,29881],[14949,29885],[14951,29896],[14953,29900],[14955,29921],[14957,29925],[14959,29936],[14961,29940],[14963,29913],[14965,29917],[14967,29928],[14969,29932],[14971,29953],[14973,29957],[14975,29968],[14977,29972],[14979,29945],[14981,29949],[14983,29960],[14985,29964],[14987,29985],[14989,29989],[14991,30000],[14993,30004],[14995,29977],[14997,29981],[14999,29992],[15001,29996],[15003,30017],[15005,30021],[15007,30032],[15009,30036],[15011,30009],[15013,30013],[15015,30024],[15017,30028],[15019,30049],[15021,30053],[15023,30064],[15025,30068],[15027,30041],[15029,30045],[15031,30056],[15033,30060],[15035,30081],[15037,30085],[15039,30096],[15041,30100],[15043,30073],[15045,30077],[15047,30088],[15049,30092],[15051,30113],[15053,30117],[15055,30128],[15057,30132],[15059,30105],[15061,30109],[15063,30120],[15065,30124],[15067,30145],[15069,30149],[15071,30160],[15073,30164],[15075,30137],[15077,30141],[15079,30152],[15081,30156],[15083,30177],[15085,30181],[15087,30192],[15089,30196],[15091,30169],[15093,30173],[15095,30184],[15097,30188],[15099,30209],[15101,30213],[15103,30224],[15105,30228],[15107,30201],[15109,30205],[15111,30216],[15113,30220],[15115,30241],[15117,30245],[15119,30256],[15121,30260],[15123,30233],[15125,30237],[15127,30248],[15129,30252],[15131,30273],[15133,30277],[15135,30288],[15137,30292],[15139,30265],[15141,30269],[15143,30280],[15145,30284],[15147,30305],[15149,30309],[15151,30320],[15153,30324],[15155,30297],[15157,30301],[15159,30312],[15161,30316],[15163,30337],[15165,30341],[15167,30352],[15169,30356],[15171,30329],[15173,30333],[15175,30344],[15177,30348],[15179,30369],[15181,30373],[15183,30384],[15185,30388],[15187,30361],[15189,30365],[15191,30376],[15193,30380],[15195,30401],[15197,30405],[15199,30416],[15201,30420],[15203,30393],[15205,30397],[15207,30408],[15209,30412],[15211,30433],[15213,30437],[15215,30448],[15217,30452],[15219,30425],[15221,30429],[15223,30440],[15225,30444],[15227,30465],[15229,30469],[15231,30480],[15233,30484],[15235,30457],[15237,30461],[15239,30472],[15241,30476],[15243,30497],[15245,30501],[15247,30512],[15249,30516],[15251,30489],[15253,30493],[15255,30504],[15257,30508],[15259,30529],[15261,30533],[15263,30544],[15265,30548],[15267,30521],[15269,30525],[15271,30536],[15273,30540],[15275,30561],[15277,30565],[15279,30576],[15281,30580],[15283,30553],[15285,30557],[15287,30568],[15289,30572],[15291,30593],[15293,30597],[15295,30608],[15297,30612],[15299,30585],[15301,30589],[15303,30600],[15305,30604],[15307,30625],[15309,30629],[15311,30640],[15313,30644],[15315,30617],[15317,30621],[15319,30632],[15321,30636],[15323,30657],[15325,30661],[15327,30672],[15329,30676],[15331,30649],[15333,30653],[15335,30664],[15337,30668],[15339,30689],[15341,30693],[15343,30704],[15345,30708],[15347,30681],[15349,30685],[15351,30696],[15353,30700],[15355,30721],[15357,30725],[15359,30736],[15361,30740],[15363,30713],[15365,30717],[15367,30728],[15369,30732],[15371,30753],[15373,30757],[15375,30768],[15377,30772],[15379,30745],[15381,30749],[15383,30760],[15385,30764],[15387,30785],[15389,30789],[15391,30800],[15393,30804],[15395,30777],[15397,30781],[15399,30792],[15401,30796],[15403,30817],[15405,30821],[15407,30832],[15409,30836],[15411,30809],[15413,30813],[15415,30824],[15417,30828],[15419,30849],[15421,30853],[15423,30864],[15425,30868],[15427,30841],[15429,30845],[15431,30856],[15433,30860],[15435,30881],[15437,30885],[15439,30896],[15441,30900],[15443,30873],[15445,30877],[15447,30888],[15449,30892],[15451,30913],[15453,30917],[15455,30928],[15457,30932],[15459,30905],[15461,30909],[15463,30920],[15465,30924],[15467,30945],[15469,30949],[15471,30960],[15473,30964],[15475,30937],[15477,30941],[15479,30952],[15481,30956],[15483,30977],[15485,30981],[15487,30992],[15489,30996],[15491,30969],[15493,30973],[15495,30984],[15497,30988],[15499,31009],[15501,31013],[15503,31024],[15505,31028],[15507,31001],[15509,31005],[15511,31016],[15513,31020],[15515,31041],[15517,31045],[15519,31056],[15521,31060],[15523,31033],[15525,31037],[15527,31048],[15529,31052],[15531,31073],[15533,31077],[15535,31088],[15537,31092],[15539,31065],[15541,31069],[15543,31080],[15545,31084],[15547,31105],[15549,31109],[15551,31120],[15553,31124],[15555,31097],[15557,31101],[15559,31112],[15561,31116],[15563,31137],[15565,31141],[15567,31152],[15569,31156],[15571,31129],[15573,31133],[15575,31144],[15577,31148],[15579,31169],[15581,31173],[15583,31184],[15585,31188],[15587,31161],[15589,31165],[15591,31176],[15593,31180],[15595,31201],[15597,31205],[15599,31216],[15601,31220],[15603,31193],[15605,31197],[15607,31208],[15609,31212],[15611,31233],[15613,31237],[15615,31248],[15617,31252],[15619,31225],[15621,31229],[15623,31240],[15625,31244],[15627,31265],[15629,31269],[15631,31280],[15633,31284],[15635,31257],[15637,31261],[15639,31272],[15641,31276],[15643,31297],[15645,31301],[15647,31312],[15649,31316],[15651,31289],[15653,31293],[15655,31304],[15657,31308],[15659,31329],[15661,31333],[15663,31344],[15665,31348],[15667,31321],[15669,31325],[15671,31336],[15673,31340],[15675,31361],[15677,31365],[15679,31376],[15681,31380],[15683,31353],[15685,31357],[15687,31368],[15689,31372],[15691,31393],[15693,31397],[15695,31408],[15697,31412],[15699,31385],[15701,31389],[15703,31400],[15705,31404],[15707,31425],[15709,31429],[15711,31440],[15713,31444],[15715,31417],[15717,31421],[15719,31432],[15721,31436],[15723,31457],[15725,31461],[15727,31472],[15729,31476],[15731,31449],[15733,31453],[15735,31464],[15737,31468],[15739,31489],[15741,31493],[15743,31504],[15745,31508],[15747,31481],[15749,31485],[15751,31496],[15753,31500],[15755,31521],[15757,31525],[15759,31536],[15761,31540],[15763,31513],[15765,31517],[15767,31528],[15769,31532],[15771,31553],[15773,31557],[15775,31568],[15777,31572],[15779,31545],[15781,31549],[15783,31560],[15785,31564],[15787,31585],[15789,31589],[15791,31600],[15793,31604],[15795,31577],[15797,31581],[15799,31592],[15801,31596],[15803,31617],[15805,31621],[15807,31632],[15809,31636],[15811,31609],[15813,31613],[15815,31624],[15817,31628],[15819,31649],[15821,31653],[15823,31664],[15825,31668],[15827,31641],[15829,31645],[15831,31656],[15833,31660],[15835,31681],[15837,31685],[15839,31696],[15841,31700],[15843,31673],[15845,31677],[15847,31688],[15849,31692],[15851,31713],[15853,31717],[15855,31728],[15857,31732],[15859,31705],[15861,31709],[15863,31720],[15865,31724],[15867,31745],[15869,31749],[15871,31760],[15873,31764],[15875,31737],[15877,31741],[15879,31752],[15881,31756],[15883,31777],[15885,31781],[15887,31792],[15889,31796],[15891,31769],[15893,31773],[15895,31784],[15897,31788],[15899,31809],[15901,31813],[15903,31824],[15905,31828],[15907,31801],[15909,31805],[15911,31816],[15913,31820],[15915,31841],[15917,31845],[15919,31856],[15921,31860],[15923,31833],[15925,31837],[15927,31848],[15929,31852],[15931,31873],[15933,31877],[15935,31888],[15937,31892],[15939,31865],[15941,31869],[15943,31880],[15945,31884],[15947,31905],[15949,31909],[15951,31920],[15953,31924],[15955,31897],[15957,31901],[15959,31912],[15961,31916],[15963,31937],[15965,31941],[15967,31952],[15969,31956],[15971,31929],[15973,31933],[15975,31944],[15977,31948],[15979,31969],[15981,31973],[15983,31984],[15985,31988],[15987,31961],[15989,31965],[15991,31976],[15993,31980],[15995,32001],[15997,32005],[15999,32016],[16001,32020],[16003,31993],[16005,31997],[16007,32008],[16009,32012],[16011,32033],[16013,32037],[16015,32048],[16017,32052],[16019,32025],[16021,32029],[16023,32040],[16025,32044],[16027,32065],[16029,32069],[16031,32080],[16033,32084],[16035,32057],[16037,32061],[16039,32072],[16041,32076],[16043,32097],[16045,32101],[16047,32112],[16049,32116],[16051,32089],[16053,32093],[16055,32104],[16057,32108],[16059,32129],[16061,32133],[16063,32144],[16065,32148],[16067,32121],[16069,32125],[16071,32136],[16073,32140],[16075,32161],[16077,32165],[16079,32176],[16081,32180],[16083,32153],[16085,32157],[16087,32168],[16089,32172],[16091,32193],[16093,32197],[16095,32208],[16097,32212],[16099,32185],[16101,32189],[16103,32200],[16105,32204],[16107,32225],[16109,32229],[16111,32240],[16113,32244],[16115,32217],[16117,32221],[16119,32232],[16121,32236],[16123,32257],[16125,32261],[16127,32272],[16129,32276],[16131,32249],[16133,32253],[16135,32264],[16137,32268],[16139,32289],[16141,32293],[16143,32304],[16145,32308],[16147,32281],[16149,32285],[16151,32296],[16153,32300],[16155,32321],[16157,32325],[16159,32336],[16161,32340],[16163,32313],[16165,32317],[16167,32328],[16169,32332],[16171,32353],[16173,32357],[16175,32368],[16177,32372],[16179,32345],[16181,32349],[16183,32360],[16185,32364],[16187,32385],[16189,32389],[16191,32400],[16193,32404],[16195,32377],[16197,32381],[16199,32392],[16201,32396],[16203,32417],[16205,32421],[16207,32432],[16209,32436],[16211,32409],[16213,32413],[16215,32424],[16217,32428],[16219,32449],[16221,32453],[16223,32464],[16225,32468],[16227,32441],[16229,32445],[16231,32456],[16233,32460],[16235,32481],[16237,32485],[16239,32496],[16241,32500],[16243,32473],[16245,32477],[16247,32488],[16249,32492],[16251,32513],[16253,32517],[16255,32528],[16257,32532],[16259,32505],[16261,32509],[16263,32520],[16265,32524],[16267,32545],[16269,32549],[16271,32560],[16273,32564],[16275,32537],[16277,32541],[16279,32552],[16281,32556],[16283,32577],[16285,32581],[16287,32592],[16289,32596],[16291,32569],[16293,32573],[16295,32584],[16297,32588],[16299,32609],[16301,32613],[16303,32624],[16305,32628],[16307,32601],[16309,32605],[16311,32616],[16313,32620],[16315,32641],[16317,32645],[16319,32656],[16321,32660],[16323,32633],[16325,32637],[16327,32648],[16329,32652],[16331,32673],[16333,32677],[16335,32688],[16337,32692],[16339,32665],[16341,32669],[16343,32680],[16345,32684],[16347,32705],[16349,32709],[16351,32720],[16353,32724],[16355,32697],[16357,32701],[16359,32712],[16361,32716],[16363,32737],[16365,32741],[16367,32752],[16369,32756],[16371,32729],[16373,32733],[16375,32744],[16377,32748],[16379,32769],[16381,32773],[16383,32784],[16385,32788],[16387,32761],[16389,32765],[16391,32776],[16393,32780],[16395,32801],[16397,32805],[16399,32816],[16401,32820],[16403,32793],[16405,32797],[16407,32808],[16409,32812],[16411,32833],[16413,32837],[16415,32848],[16417,32852],[16419,32825],[16421,32829],[16423,32840],[16425,32844],[16427,32865],[16429,32869],[16431,32880],[16433,32884],[16435,32857],[16437,32861],[16439,32872],[16441,32876],[16443,32897],[16445,32901],[16447,32912],[16449,32916],[16451,32889],[16453,32893],[16455,32904],[16457,32908],[16459,32929],[16461,32933],[16463,32944],[16465,32948],[16467,32921],[16469,32925],[16471,32936],[16473,32940],[16475,32961],[16477,32965],[16479,32976],[16481,32980],[16483,32953],[16485,32957],[16487,32968],[16489,32972],[16491,32993],[16493,32997],[16495,33008],[16497,33012],[16499,32985],[16501,32989],[16503,33000],[16505,33004],[16507,33025],[16509,33029],[16511,33040],[16513,33044],[16515,33017],[16517,33021],[16519,33032],[16521,33036],[16523,33057],[16525,33061],[16527,33072],[16529,33076],[16531,33049],[16533,33053],[16535,33064],[16537,33068],[16539,33089],[16541,33093],[16543,33104],[16545,33108],[16547,33081],[16549,33085],[16551,33096],[16553,33100],[16555,33121],[16557,33125],[16559,33136],[16561,33140],[16563,33113],[16565,33117],[16567,33128],[16569,33132],[16571,33153],[16573,33157],[16575,33168],[16577,33172],[16579,33145],[16581,33149],[16583,33160],[16585,33164],[16587,33185],[16589,33189],[16591,33200],[16593,33204],[16595,33177],[16597,33181],[16599,33192],[16601,33196]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-frames.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-frames.json new file mode 100644 index 0000000000..11648dd681 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-frames.json @@ -0,0 +1 @@ +{"description":"Frozen operation frames (source_aligned_local_v4.py canonical form: operations whose frame differs from the closure frame), from PR200 descent on the aligned word and the script's forward closure.","frames":[[4800,[21,15]],[4801,[22,15]],[4802,[21,12,3]],[4803,[21,12,3]],[4804,[21,12,3]],[4805,[21,12,3]],[4806,[21,12,3]],[4807,[37,15]],[4808,[38,15]],[4809,[37,12,3]],[4810,[37,12,3]],[4811,[37,12,3]],[4812,[37,12,3]],[4813,[37,12,3]],[4814,[69,15]],[4815,[70,15]],[4816,[69,12,3]],[4817,[69,12,3]],[4818,[69,12,3]],[4819,[69,12,3]],[4820,[69,12,3]],[4821,[133,15]],[4822,[134,15]],[4823,[133,12,3]],[4824,[133,12,3]],[4825,[133,12,3]],[4826,[133,12,3]],[4827,[133,12,3]],[4828,[261,15]],[4829,[262,15]],[4830,[261,12,3]],[4831,[261,12,3]],[4832,[261,12,3]],[4833,[261,12,3]],[4834,[261,12,3]],[4835,[517,15]],[4836,[518,15]],[4837,[517,12,3]],[4838,[517,12,3]],[4839,[517,12,3]],[4840,[517,12,3]],[4841,[517,12,3]],[4842,[1029,15]],[4843,[1030,15]],[4844,[1029,12,3]],[4845,[1029,12,3]],[4846,[1029,12,3]],[4847,[1029,12,3]],[4848,[1029,12,3]],[4849,[2053,15]],[4850,[2054,15]],[4851,[2053,12,3]],[4852,[2053,12,3]],[4853,[2053,12,3]],[4854,[2053,12,3]],[4855,[2053,12,3]],[4856,[4101,15]],[4857,[4102,15]],[4858,[4101,12,3]],[4859,[4101,12,3]],[4860,[4101,12,3]],[4861,[4101,12,3]],[4862,[4101,12,3]],[4863,[8197,15]],[4864,[8198,15]],[4865,[8197,12,3]],[4866,[8197,12,3]],[4867,[8197,12,3]],[4868,[8197,12,3]],[4869,[8197,12,3]],[4870,[16389,15]],[4871,[16390,15]],[4872,[16389,12,3]],[4873,[16389,12,3]],[4874,[16389,12,3]],[4875,[16389,12,3]],[4876,[16389,12,3]],[4877,[32773,15]],[4878,[32774,15]],[4879,[32773,12,3]],[4880,[32773,12,3]],[4881,[32773,12,3]],[4882,[32773,12,3]],[4883,[32773,12,3]],[4884,[65541,15]],[4885,[65542,15]],[4886,[65541,12,3]],[4887,[65541,12,3]],[4888,[65541,12,3]],[4889,[65541,12,3]],[4890,[65541,12,3]],[4891,[131077,15]],[4892,[131078,15]],[4893,[131077,12,3]],[4894,[131077,12,3]],[4895,[131077,12,3]],[4896,[131077,12,3]],[4897,[131077,12,3]],[4898,[262149,15]],[4899,[262150,15]],[4900,[262149,12,3]],[4901,[262149,12,3]],[4902,[262149,12,3]],[4903,[262149,12,3]],[4904,[262149,12,3]],[4905,[524293,15]],[4906,[524294,15]],[4907,[524293,12,3]],[4908,[524293,12,3]],[4909,[524293,12,3]],[4910,[524293,12,3]],[4911,[524293,12,3]],[4912,[81,51]],[4913,[82,51]],[4914,[81,48,3]],[4915,[81,48,3]],[4916,[81,48,3]],[4917,[81,48,3]],[4918,[145,51]],[4919,[146,51]],[4920,[145,48,3]],[4921,[145,48,3]],[4922,[145,48,3]],[4923,[145,48,3]],[4924,[273,51]],[4925,[274,51]],[4926,[273,48,3]],[4927,[273,48,3]],[4928,[273,48,3]],[4929,[273,48,3]],[4930,[529,51]],[4931,[530,51]],[4932,[529,48,3]],[4933,[529,48,3]],[4934,[529,48,3]],[4935,[529,48,3]],[4936,[1041,51]],[4937,[1042,51]],[4938,[1041,48,3]],[4939,[1041,48,3]],[4940,[1041,48,3]],[4941,[1041,48,3]],[4942,[2065,51]],[4943,[2066,51]],[4944,[2065,48,3]],[4945,[2065,48,3]],[4946,[2065,48,3]],[4947,[2065,48,3]],[4948,[4113,51]],[4949,[4114,51]],[4950,[4113,48,3]],[4951,[4113,48,3]],[4952,[4113,48,3]],[4953,[4113,48,3]],[4954,[8209,51]],[4955,[8210,51]],[4956,[8209,48,3]],[4957,[8209,48,3]],[4958,[8209,48,3]],[4959,[8209,48,3]],[4960,[16401,51]],[4961,[16402,51]],[4962,[16401,48,3]],[4963,[16401,48,3]],[4964,[16401,48,3]],[4965,[16401,48,3]],[4966,[32785,51]],[4967,[32786,51]],[4968,[32785,48,3]],[4969,[32785,48,3]],[4970,[32785,48,3]],[4971,[32785,48,3]],[4972,[65553,51]],[4973,[65554,51]],[4974,[65553,48,3]],[4975,[65553,48,3]],[4976,[65553,48,3]],[4977,[65553,48,3]],[4978,[131089,51]],[4979,[131090,51]],[4980,[131089,48,3]],[4981,[131089,48,3]],[4982,[131089,48,3]],[4983,[131089,48,3]],[4984,[262161,51]],[4985,[262162,51]],[4986,[262161,48,3]],[4987,[262161,48,3]],[4988,[262161,48,3]],[4989,[262161,48,3]],[4990,[524305,51]],[4991,[524306,51]],[4992,[524305,48,3]],[4993,[524305,48,3]],[4994,[524305,48,3]],[4995,[524305,48,3]],[4996,[321,195]],[4997,[322,195]],[4998,[321,192,3]],[4999,[321,192,3]],[5000,[321,192,3]],[5001,[321,192,3]],[5002,[577,195]],[5003,[578,195]],[5004,[577,192,3]],[5005,[577,192,3]],[5006,[577,192,3]],[5007,[577,192,3]],[5008,[1089,195]],[5009,[1090,195]],[5010,[1089,192,3]],[5011,[1089,192,3]],[5012,[1089,192,3]],[5013,[1089,192,3]],[5014,[2113,195]],[5015,[2114,195]],[5016,[2113,192,3]],[5017,[2113,192,3]],[5018,[2113,192,3]],[5019,[2113,192,3]],[5020,[4161,195]],[5021,[4162,195]],[5022,[4161,192,3]],[5023,[4161,192,3]],[5024,[4161,192,3]],[5025,[4161,192,3]],[5026,[8257,195]],[5027,[8258,195]],[5028,[8257,192,3]],[5029,[8257,192,3]],[5030,[8257,192,3]],[5031,[8257,192,3]],[5032,[16449,195]],[5033,[16450,195]],[5034,[16449,192,3]],[5035,[16449,192,3]],[5036,[16449,192,3]],[5037,[16449,192,3]],[5038,[32833,195]],[5039,[32834,195]],[5040,[32833,192,3]],[5041,[32833,192,3]],[5042,[32833,192,3]],[5043,[32833,192,3]],[5044,[65601,195]],[5045,[65602,195]],[5046,[65601,192,3]],[5047,[65601,192,3]],[5048,[65601,192,3]],[5049,[65601,192,3]],[5050,[131137,195]],[5051,[131138,195]],[5052,[131137,192,3]],[5053,[131137,192,3]],[5054,[131137,192,3]],[5055,[131137,192,3]],[5056,[262209,195]],[5057,[262210,195]],[5058,[262209,192,3]],[5059,[262209,192,3]],[5060,[262209,192,3]],[5061,[262209,192,3]],[5062,[524353,195]],[5063,[524354,195]],[5064,[524353,192,3]],[5065,[524353,192,3]],[5066,[524353,192,3]],[5067,[524353,192,3]],[5068,[1281,771]],[5069,[1282,771]],[5070,[1281,768,3]],[5071,[1281,768,3]],[5072,[1281,768,3]],[5073,[1281,768,3]],[5074,[2305,771]],[5075,[2306,771]],[5076,[2305,768,3]],[5077,[2305,768,3]],[5078,[2305,768,3]],[5079,[2305,768,3]],[5080,[4353,771]],[5081,[4354,771]],[5082,[4353,768,3]],[5083,[4353,768,3]],[5084,[4353,768,3]],[5085,[4353,768,3]],[5086,[8449,771]],[5087,[8450,771]],[5088,[8449,768,3]],[5089,[8449,768,3]],[5090,[8449,768,3]],[5091,[8449,768,3]],[5092,[16641,771]],[5093,[16642,771]],[5094,[16641,768,3]],[5095,[16641,768,3]],[5096,[16641,768,3]],[5097,[16641,768,3]],[5098,[33025,771]],[5099,[33026,771]],[5100,[33025,768,3]],[5101,[33025,768,3]],[5102,[33025,768,3]],[5103,[33025,768,3]],[5104,[65793,771]],[5105,[65794,771]],[5106,[65793,768,3]],[5107,[65793,768,3]],[5108,[65793,768,3]],[5109,[65793,768,3]],[5110,[131329,771]],[5111,[131330,771]],[5112,[131329,768,3]],[5113,[131329,768,3]],[5114,[131329,768,3]],[5115,[131329,768,3]],[5116,[262401,771]],[5117,[262402,771]],[5118,[262401,768,3]],[5119,[262401,768,3]],[5120,[262401,768,3]],[5121,[262401,768,3]],[5122,[524545,771]],[5123,[524546,771]],[5124,[524545,768,3]],[5125,[524545,768,3]],[5126,[524545,768,3]],[5127,[524545,768,3]],[5128,[5121,3075]],[5129,[5122,3075]],[5130,[5121,3072,3]],[5131,[5121,3072,3]],[5132,[5121,3072,3]],[5133,[5121,3072,3]],[5134,[9217,3075]],[5135,[9218,3075]],[5136,[9217,3072,3]],[5137,[9217,3072,3]],[5138,[9217,3072,3]],[5139,[9217,3072,3]],[5140,[17409,3075]],[5141,[17410,3075]],[5142,[17409,3072,3]],[5143,[17409,3072,3]],[5144,[17409,3072,3]],[5145,[17409,3072,3]],[5146,[33793,3075]],[5147,[33794,3075]],[5148,[33793,3072,3]],[5149,[33793,3072,3]],[5150,[33793,3072,3]],[5151,[33793,3072,3]],[5152,[66561,3075]],[5153,[66562,3075]],[5154,[66561,3072,3]],[5155,[66561,3072,3]],[5156,[66561,3072,3]],[5157,[66561,3072,3]],[5158,[132097,3075]],[5159,[132098,3075]],[5160,[132097,3072,3]],[5161,[132097,3072,3]],[5162,[132097,3072,3]],[5163,[132097,3072,3]],[5164,[263169,3075]],[5165,[263170,3075]],[5166,[263169,3072,3]],[5167,[263169,3072,3]],[5168,[263169,3072,3]],[5169,[263169,3072,3]],[5170,[525313,3075]],[5171,[525314,3075]],[5172,[525313,3072,3]],[5173,[525313,3072,3]],[5174,[525313,3072,3]],[5175,[525313,3072,3]],[5176,[20481,12291]],[5177,[20482,12291]],[5178,[20481,12288,3]],[5179,[20481,12288,3]],[5180,[20481,12288,3]],[5181,[20481,12288,3]],[5182,[36865,12291]],[5183,[36866,12291]],[5184,[36865,12288,3]],[5185,[36865,12288,3]],[5186,[36865,12288,3]],[5187,[36865,12288,3]],[5188,[69633,12291]],[5189,[69634,12291]],[5190,[69633,12288,3]],[5191,[69633,12288,3]],[5192,[69633,12288,3]],[5193,[69633,12288,3]],[5194,[135169,12291]],[5195,[135170,12291]],[5196,[135169,12288,3]],[5197,[135169,12288,3]],[5198,[135169,12288,3]],[5199,[135169,12288,3]],[5200,[266241,12291]],[5201,[266242,12291]],[5202,[266241,12288,3]],[5203,[266241,12288,3]],[5204,[266241,12288,3]],[5205,[266241,12288,3]],[5206,[528385,12291]],[5207,[528386,12291]],[5208,[528385,12288,3]],[5209,[528385,12288,3]],[5210,[528385,12288,3]],[5211,[528385,12288,3]],[5212,[81921,49155]],[5213,[81922,49155]],[5214,[81921,49152,3]],[5215,[81921,49152,3]],[5216,[81921,49152,3]],[5217,[81921,49152,3]],[5218,[147457,49155]],[5219,[147458,49155]],[5220,[147457,49152,3]],[5221,[147457,49152,3]],[5222,[147457,49152,3]],[5223,[147457,49152,3]],[5224,[278529,49155]],[5225,[278530,49155]],[5226,[278529,49152,3]],[5227,[278529,49152,3]],[5228,[278529,49152,3]],[5229,[278529,49152,3]],[5230,[540673,49155]],[5231,[540674,49155]],[5232,[540673,49152,3]],[5233,[540673,49152,3]],[5234,[540673,49152,3]],[5235,[540673,49152,3]],[5236,[327681,196611]],[5237,[327682,196611]],[5238,[327681,196608,3]],[5239,[327681,196608,3]],[5240,[327681,196608,3]],[5241,[327681,196608,3]],[5242,[589825,196611]],[5243,[589826,196611]],[5244,[589825,196608,3]],[5245,[589825,196608,3]],[5246,[589825,196608,3]],[5247,[589825,196608,3]],[5248,[84,60]],[5249,[88,60]],[5250,[84,48,12]],[5251,[84,48,12]],[5252,[84,48,12]],[5253,[84,48,12]],[5254,[148,60]],[5255,[152,60]],[5256,[148,48,12]],[5257,[148,48,12]],[5258,[148,48,12]],[5259,[148,48,12]],[5260,[276,60]],[5261,[280,60]],[5262,[276,48,12]],[5263,[276,48,12]],[5264,[276,48,12]],[5265,[276,48,12]],[5266,[532,60]],[5267,[536,60]],[5268,[532,48,12]],[5269,[532,48,12]],[5270,[532,48,12]],[5271,[532,48,12]],[5272,[1044,60]],[5273,[1048,60]],[5274,[1044,48,12]],[5275,[1044,48,12]],[5276,[1044,48,12]],[5277,[1044,48,12]],[5278,[2068,60]],[5279,[2072,60]],[5280,[2068,48,12]],[5281,[2068,48,12]],[5282,[2068,48,12]],[5283,[2068,48,12]],[5284,[4116,60]],[5285,[4120,60]],[5286,[4116,48,12]],[5287,[4116,48,12]],[5288,[4116,48,12]],[5289,[4116,48,12]],[5290,[8212,60]],[5291,[8216,60]],[5292,[8212,48,12]],[5293,[8212,48,12]],[5294,[8212,48,12]],[5295,[8212,48,12]],[5296,[16404,60]],[5297,[16408,60]],[5298,[16404,48,12]],[5299,[16404,48,12]],[5300,[16404,48,12]],[5301,[16404,48,12]],[5302,[32788,60]],[5303,[32792,60]],[5304,[32788,48,12]],[5305,[32788,48,12]],[5306,[32788,48,12]],[5307,[32788,48,12]],[5308,[65556,60]],[5309,[65560,60]],[5310,[65556,48,12]],[5311,[65556,48,12]],[5312,[65556,48,12]],[5313,[65556,48,12]],[5314,[131092,60]],[5315,[131096,60]],[5316,[131092,48,12]],[5317,[131092,48,12]],[5318,[131092,48,12]],[5319,[131092,48,12]],[5320,[262164,60]],[5321,[262168,60]],[5322,[262164,48,12]],[5323,[262164,48,12]],[5324,[262164,48,12]],[5325,[262164,48,12]],[5326,[524308,60]],[5327,[524312,60]],[5328,[524308,48,12]],[5329,[524308,48,12]],[5330,[524308,48,12]],[5331,[524308,48,12]],[5332,[324,204]],[5333,[328,204]],[5334,[324,192,12]],[5335,[324,192,12]],[5336,[324,192,12]],[5337,[324,192,12]],[5338,[580,204]],[5339,[584,204]],[5340,[580,192,12]],[5341,[580,192,12]],[5342,[580,192,12]],[5343,[580,192,12]],[5344,[1092,204]],[5345,[1096,204]],[5346,[1092,192,12]],[5347,[1092,192,12]],[5348,[1092,192,12]],[5349,[1092,192,12]],[5350,[2116,204]],[5351,[2120,204]],[5352,[2116,192,12]],[5353,[2116,192,12]],[5354,[2116,192,12]],[5355,[2116,192,12]],[5356,[4164,204]],[5357,[4168,204]],[5358,[4164,192,12]],[5359,[4164,192,12]],[5360,[4164,192,12]],[5361,[4164,192,12]],[5362,[8260,204]],[5363,[8264,204]],[5364,[8260,192,12]],[5365,[8260,192,12]],[5366,[8260,192,12]],[5367,[8260,192,12]],[5368,[16452,204]],[5369,[16456,204]],[5370,[16452,192,12]],[5371,[16452,192,12]],[5372,[16452,192,12]],[5373,[16452,192,12]],[5374,[32836,204]],[5375,[32840,204]],[5376,[32836,192,12]],[5377,[32836,192,12]],[5378,[32836,192,12]],[5379,[32836,192,12]],[5380,[65604,204]],[5381,[65608,204]],[5382,[65604,192,12]],[5383,[65604,192,12]],[5384,[65604,192,12]],[5385,[65604,192,12]],[5386,[131140,204]],[5387,[131144,204]],[5388,[131140,192,12]],[5389,[131140,192,12]],[5390,[131140,192,12]],[5391,[131140,192,12]],[5392,[262212,204]],[5393,[262216,204]],[5394,[262212,192,12]],[5395,[262212,192,12]],[5396,[262212,192,12]],[5397,[262212,192,12]],[5398,[524356,204]],[5399,[524360,204]],[5400,[524356,192,12]],[5401,[524356,192,12]],[5402,[524356,192,12]],[5403,[524356,192,12]],[5404,[1284,780]],[5405,[1288,780]],[5406,[1284,768,12]],[5407,[1284,768,12]],[5408,[1284,768,12]],[5409,[1284,768,12]],[5410,[2308,780]],[5411,[2312,780]],[5412,[2308,768,12]],[5413,[2308,768,12]],[5414,[2308,768,12]],[5415,[2308,768,12]],[5416,[4356,780]],[5417,[4360,780]],[5418,[4356,768,12]],[5419,[4356,768,12]],[5420,[4356,768,12]],[5421,[4356,768,12]],[5422,[8452,780]],[5423,[8456,780]],[5424,[8452,768,12]],[5425,[8452,768,12]],[5426,[8452,768,12]],[5427,[8452,768,12]],[5428,[16644,780]],[5429,[16648,780]],[5430,[16644,768,12]],[5431,[16644,768,12]],[5432,[16644,768,12]],[5433,[16644,768,12]],[5434,[33028,780]],[5435,[33032,780]],[5436,[33028,768,12]],[5437,[33028,768,12]],[5438,[33028,768,12]],[5439,[33028,768,12]],[5440,[65796,780]],[5441,[65800,780]],[5442,[65796,768,12]],[5443,[65796,768,12]],[5444,[65796,768,12]],[5445,[65796,768,12]],[5446,[131332,780]],[5447,[131336,780]],[5448,[131332,768,12]],[5449,[131332,768,12]],[5450,[131332,768,12]],[5451,[131332,768,12]],[5452,[262404,780]],[5453,[262408,780]],[5454,[262404,768,12]],[5455,[262404,768,12]],[5456,[262404,768,12]],[5457,[262404,768,12]],[5458,[524548,780]],[5459,[524552,780]],[5460,[524548,768,12]],[5461,[524548,768,12]],[5462,[524548,768,12]],[5463,[524548,768,12]],[5464,[5124,3084]],[5465,[5128,3084]],[5466,[5124,3072,12]],[5467,[5124,3072,12]],[5468,[5124,3072,12]],[5469,[5124,3072,12]],[5470,[9220,3084]],[5471,[9224,3084]],[5472,[9220,3072,12]],[5473,[9220,3072,12]],[5474,[9220,3072,12]],[5475,[9220,3072,12]],[5476,[17412,3084]],[5477,[17416,3084]],[5478,[17412,3072,12]],[5479,[17412,3072,12]],[5480,[17412,3072,12]],[5481,[17412,3072,12]],[5482,[33796,3084]],[5483,[33800,3084]],[5484,[33796,3072,12]],[5485,[33796,3072,12]],[5486,[33796,3072,12]],[5487,[33796,3072,12]],[5488,[66564,3084]],[5489,[66568,3084]],[5490,[66564,3072,12]],[5491,[66564,3072,12]],[5492,[66564,3072,12]],[5493,[66564,3072,12]],[5494,[132100,3084]],[5495,[132104,3084]],[5496,[132100,3072,12]],[5497,[132100,3072,12]],[5498,[132100,3072,12]],[5499,[132100,3072,12]],[5500,[263172,3084]],[5501,[263176,3084]],[5502,[263172,3072,12]],[5503,[263172,3072,12]],[5504,[263172,3072,12]],[5505,[263172,3072,12]],[5506,[525316,3084]],[5507,[525320,3084]],[5508,[525316,3072,12]],[5509,[525316,3072,12]],[5510,[525316,3072,12]],[5511,[525316,3072,12]],[5512,[20484,12300]],[5513,[20488,12300]],[5514,[20484,12288,12]],[5515,[20484,12288,12]],[5516,[20484,12288,12]],[5517,[20484,12288,12]],[5518,[36868,12300]],[5519,[36872,12300]],[5520,[36868,12288,12]],[5521,[36868,12288,12]],[5522,[36868,12288,12]],[5523,[36868,12288,12]],[5524,[69636,12300]],[5525,[69640,12300]],[5526,[69636,12288,12]],[5527,[69636,12288,12]],[5528,[69636,12288,12]],[5529,[69636,12288,12]],[5530,[135172,12300]],[5531,[135176,12300]],[5532,[135172,12288,12]],[5533,[135172,12288,12]],[5534,[135172,12288,12]],[5535,[135172,12288,12]],[5536,[266244,12300]],[5537,[266248,12300]],[5538,[266244,12288,12]],[5539,[266244,12288,12]],[5540,[266244,12288,12]],[5541,[266244,12288,12]],[5542,[528388,12300]],[5543,[528392,12300]],[5544,[528388,12288,12]],[5545,[528388,12288,12]],[5546,[528388,12288,12]],[5547,[528388,12288,12]],[5548,[81924,49164]],[5549,[81928,49164]],[5550,[81924,49152,12]],[5551,[81924,49152,12]],[5552,[81924,49152,12]],[5553,[81924,49152,12]],[5554,[147460,49164]],[5555,[147464,49164]],[5556,[147460,49152,12]],[5557,[147460,49152,12]],[5558,[147460,49152,12]],[5559,[147460,49152,12]],[5560,[278532,49164]],[5561,[278536,49164]],[5562,[278532,49152,12]],[5563,[278532,49152,12]],[5564,[278532,49152,12]],[5565,[278532,49152,12]],[5566,[540676,49164]],[5567,[540680,49164]],[5568,[540676,49152,12]],[5569,[540676,49152,12]],[5570,[540676,49152,12]],[5571,[540676,49152,12]],[5572,[327684,196620]],[5573,[327688,196620]],[5574,[327684,196608,12]],[5575,[327684,196608,12]],[5576,[327684,196608,12]],[5577,[327684,196608,12]],[5578,[589828,196620]],[5579,[589832,196620]],[5580,[589828,196608,12]],[5581,[589828,196608,12]],[5582,[589828,196608,12]],[5583,[589828,196608,12]],[5584,[336,240]],[5585,[352,240]],[5586,[336,192,48]],[5587,[336,192,48]],[5588,[336,192,48]],[5589,[336,192,48]],[5590,[592,240]],[5591,[608,240]],[5592,[592,192,48]],[5593,[592,192,48]],[5594,[592,192,48]],[5595,[592,192,48]],[5596,[1104,240]],[5597,[1120,240]],[5598,[1104,192,48]],[5599,[1104,192,48]],[5600,[1104,192,48]],[5601,[1104,192,48]],[5602,[2128,240]],[5603,[2144,240]],[5604,[2128,192,48]],[5605,[2128,192,48]],[5606,[2128,192,48]],[5607,[2128,192,48]],[5608,[4176,240]],[5609,[4192,240]],[5610,[4176,192,48]],[5611,[4176,192,48]],[5612,[4176,192,48]],[5613,[4176,192,48]],[5614,[8272,240]],[5615,[8288,240]],[5616,[8272,192,48]],[5617,[8272,192,48]],[5618,[8272,192,48]],[5619,[8272,192,48]],[5620,[16464,240]],[5621,[16480,240]],[5622,[16464,192,48]],[5623,[16464,192,48]],[5624,[16464,192,48]],[5625,[16464,192,48]],[5626,[32848,240]],[5627,[32864,240]],[5628,[32848,192,48]],[5629,[32848,192,48]],[5630,[32848,192,48]],[5631,[32848,192,48]],[5632,[65616,240]],[5633,[65632,240]],[5634,[65616,192,48]],[5635,[65616,192,48]],[5636,[65616,192,48]],[5637,[65616,192,48]],[5638,[131152,240]],[5639,[131168,240]],[5640,[131152,192,48]],[5641,[131152,192,48]],[5642,[131152,192,48]],[5643,[131152,192,48]],[5644,[262224,240]],[5645,[262240,240]],[5646,[262224,192,48]],[5647,[262224,192,48]],[5648,[262224,192,48]],[5649,[262224,192,48]],[5650,[524368,240]],[5651,[524384,240]],[5652,[524368,192,48]],[5653,[524368,192,48]],[5654,[524368,192,48]],[5655,[524368,192,48]],[5656,[1296,816]],[5657,[1312,816]],[5658,[1296,768,48]],[5659,[1296,768,48]],[5660,[1296,768,48]],[5661,[1296,768,48]],[5662,[2320,816]],[5663,[2336,816]],[5664,[2320,768,48]],[5665,[2320,768,48]],[5666,[2320,768,48]],[5667,[2320,768,48]],[5668,[4368,816]],[5669,[4384,816]],[5670,[4368,768,48]],[5671,[4368,768,48]],[5672,[4368,768,48]],[5673,[4368,768,48]],[5674,[8464,816]],[5675,[8480,816]],[5676,[8464,768,48]],[5677,[8464,768,48]],[5678,[8464,768,48]],[5679,[8464,768,48]],[5680,[16656,816]],[5681,[16672,816]],[5682,[16656,768,48]],[5683,[16656,768,48]],[5684,[16656,768,48]],[5685,[16656,768,48]],[5686,[33040,816]],[5687,[33056,816]],[5688,[33040,768,48]],[5689,[33040,768,48]],[5690,[33040,768,48]],[5691,[33040,768,48]],[5692,[65808,816]],[5693,[65824,816]],[5694,[65808,768,48]],[5695,[65808,768,48]],[5696,[65808,768,48]],[5697,[65808,768,48]],[5698,[131344,816]],[5699,[131360,816]],[5700,[131344,768,48]],[5701,[131344,768,48]],[5702,[131344,768,48]],[5703,[131344,768,48]],[5704,[262416,816]],[5705,[262432,816]],[5706,[262416,768,48]],[5707,[262416,768,48]],[5708,[262416,768,48]],[5709,[262416,768,48]],[5710,[524560,816]],[5711,[524576,816]],[5712,[524560,768,48]],[5713,[524560,768,48]],[5714,[524560,768,48]],[5715,[524560,768,48]],[5716,[5136,3120]],[5717,[5152,3120]],[5718,[5136,3072,48]],[5719,[5136,3072,48]],[5720,[5136,3072,48]],[5721,[5136,3072,48]],[5722,[9232,3120]],[5723,[9248,3120]],[5724,[9232,3072,48]],[5725,[9232,3072,48]],[5726,[9232,3072,48]],[5727,[9232,3072,48]],[5728,[17424,3120]],[5729,[17440,3120]],[5730,[17424,3072,48]],[5731,[17424,3072,48]],[5732,[17424,3072,48]],[5733,[17424,3072,48]],[5734,[33808,3120]],[5735,[33824,3120]],[5736,[33808,3072,48]],[5737,[33808,3072,48]],[5738,[33808,3072,48]],[5739,[33808,3072,48]],[5740,[66576,3120]],[5741,[66592,3120]],[5742,[66576,3072,48]],[5743,[66576,3072,48]],[5744,[66576,3072,48]],[5745,[66576,3072,48]],[5746,[132112,3120]],[5747,[132128,3120]],[5748,[132112,3072,48]],[5749,[132112,3072,48]],[5750,[132112,3072,48]],[5751,[132112,3072,48]],[5752,[263184,3120]],[5753,[263200,3120]],[5754,[263184,3072,48]],[5755,[263184,3072,48]],[5756,[263184,3072,48]],[5757,[263184,3072,48]],[5758,[525328,3120]],[5759,[525344,3120]],[5760,[525328,3072,48]],[5761,[525328,3072,48]],[5762,[525328,3072,48]],[5763,[525328,3072,48]],[5764,[20496,12336]],[5765,[20512,12336]],[5766,[20496,12288,48]],[5767,[20496,12288,48]],[5768,[20496,12288,48]],[5769,[20496,12288,48]],[5770,[36880,12336]],[5771,[36896,12336]],[5772,[36880,12288,48]],[5773,[36880,12288,48]],[5774,[36880,12288,48]],[5775,[36880,12288,48]],[5776,[69648,12336]],[5777,[69664,12336]],[5778,[69648,12288,48]],[5779,[69648,12288,48]],[5780,[69648,12288,48]],[5781,[69648,12288,48]],[5782,[135184,12336]],[5783,[135200,12336]],[5784,[135184,12288,48]],[5785,[135184,12288,48]],[5786,[135184,12288,48]],[5787,[135184,12288,48]],[5788,[266256,12336]],[5789,[266272,12336]],[5790,[266256,12288,48]],[5791,[266256,12288,48]],[5792,[266256,12288,48]],[5793,[266256,12288,48]],[5794,[528400,12336]],[5795,[528416,12336]],[5796,[528400,12288,48]],[5797,[528400,12288,48]],[5798,[528400,12288,48]],[5799,[528400,12288,48]],[5800,[81936,49200]],[5801,[81952,49200]],[5802,[81936,49152,48]],[5803,[81936,49152,48]],[5804,[81936,49152,48]],[5805,[81936,49152,48]],[5806,[147472,49200]],[5807,[147488,49200]],[5808,[147472,49152,48]],[5809,[147472,49152,48]],[5810,[147472,49152,48]],[5811,[147472,49152,48]],[5812,[278544,49200]],[5813,[278560,49200]],[5814,[278544,49152,48]],[5815,[278544,49152,48]],[5816,[278544,49152,48]],[5817,[278544,49152,48]],[5818,[540688,49200]],[5819,[540704,49200]],[5820,[540688,49152,48]],[5821,[540688,49152,48]],[5822,[540688,49152,48]],[5823,[540688,49152,48]],[5824,[327696,196656]],[5825,[327712,196656]],[5826,[327696,196608,48]],[5827,[327696,196608,48]],[5828,[327696,196608,48]],[5829,[327696,196608,48]],[5830,[589840,196656]],[5831,[589856,196656]],[5832,[589840,196608,48]],[5833,[589840,196608,48]],[5834,[589840,196608,48]],[5835,[589840,196608,48]],[5836,[1344,960]],[5837,[1408,960]],[5838,[1344,768,192]],[5839,[1344,768,192]],[5840,[1344,768,192]],[5841,[1344,768,192]],[5842,[2368,960]],[5843,[2432,960]],[5844,[2368,768,192]],[5845,[2368,768,192]],[5846,[2368,768,192]],[5847,[2368,768,192]],[5848,[4416,960]],[5849,[4480,960]],[5850,[4416,768,192]],[5851,[4416,768,192]],[5852,[4416,768,192]],[5853,[4416,768,192]],[5854,[8512,960]],[5855,[8576,960]],[5856,[8512,768,192]],[5857,[8512,768,192]],[5858,[8512,768,192]],[5859,[8512,768,192]],[5860,[16704,960]],[5861,[16768,960]],[5862,[16704,768,192]],[5863,[16704,768,192]],[5864,[16704,768,192]],[5865,[16704,768,192]],[5866,[33088,960]],[5867,[33152,960]],[5868,[33088,768,192]],[5869,[33088,768,192]],[5870,[33088,768,192]],[5871,[33088,768,192]],[5872,[65856,960]],[5873,[65920,960]],[5874,[65856,768,192]],[5875,[65856,768,192]],[5876,[65856,768,192]],[5877,[65856,768,192]],[5878,[131392,960]],[5879,[131456,960]],[5880,[131392,768,192]],[5881,[131392,768,192]],[5882,[131392,768,192]],[5883,[131392,768,192]],[5884,[262464,960]],[5885,[262528,960]],[5886,[262464,768,192]],[5887,[262464,768,192]],[5888,[262464,768,192]],[5889,[262464,768,192]],[5890,[524608,960]],[5891,[524672,960]],[5892,[524608,768,192]],[5893,[524608,768,192]],[5894,[524608,768,192]],[5895,[524608,768,192]],[5896,[5184,3264]],[5897,[5248,3264]],[5898,[5184,3072,192]],[5899,[5184,3072,192]],[5900,[5184,3072,192]],[5901,[5184,3072,192]],[5902,[9280,3264]],[5903,[9344,3264]],[5904,[9280,3072,192]],[5905,[9280,3072,192]],[5906,[9280,3072,192]],[5907,[9280,3072,192]],[5908,[17472,3264]],[5909,[17536,3264]],[5910,[17472,3072,192]],[5911,[17472,3072,192]],[5912,[17472,3072,192]],[5913,[17472,3072,192]],[5914,[33856,3264]],[5915,[33920,3264]],[5916,[33856,3072,192]],[5917,[33856,3072,192]],[5918,[33856,3072,192]],[5919,[33856,3072,192]],[5920,[66624,3264]],[5921,[66688,3264]],[5922,[66624,3072,192]],[5923,[66624,3072,192]],[5924,[66624,3072,192]],[5925,[66624,3072,192]],[5926,[132160,3264]],[5927,[132224,3264]],[5928,[132160,3072,192]],[5929,[132160,3072,192]],[5930,[132160,3072,192]],[5931,[132160,3072,192]],[5932,[263232,3264]],[5933,[263296,3264]],[5934,[263232,3072,192]],[5935,[263232,3072,192]],[5936,[263232,3072,192]],[5937,[263232,3072,192]],[5938,[525376,3264]],[5939,[525440,3264]],[5940,[525376,3072,192]],[5941,[525376,3072,192]],[5942,[525376,3072,192]],[5943,[525376,3072,192]],[5944,[20544,12480]],[5945,[20608,12480]],[5946,[20544,12288,192]],[5947,[20544,12288,192]],[5948,[20544,12288,192]],[5949,[20544,12288,192]],[5950,[36928,12480]],[5951,[36992,12480]],[5952,[36928,12288,192]],[5953,[36928,12288,192]],[5954,[36928,12288,192]],[5955,[36928,12288,192]],[5956,[69696,12480]],[5957,[69760,12480]],[5958,[69696,12288,192]],[5959,[69696,12288,192]],[5960,[69696,12288,192]],[5961,[69696,12288,192]],[5962,[135232,12480]],[5963,[135296,12480]],[5964,[135232,12288,192]],[5965,[135232,12288,192]],[5966,[135232,12288,192]],[5967,[135232,12288,192]],[5968,[266304,12480]],[5969,[266368,12480]],[5970,[266304,12288,192]],[5971,[266304,12288,192]],[5972,[266304,12288,192]],[5973,[266304,12288,192]],[5974,[528448,12480]],[5975,[528512,12480]],[5976,[528448,12288,192]],[5977,[528448,12288,192]],[5978,[528448,12288,192]],[5979,[528448,12288,192]],[5980,[81984,49344]],[5981,[82048,49344]],[5982,[81984,49152,192]],[5983,[81984,49152,192]],[5984,[81984,49152,192]],[5985,[81984,49152,192]],[5986,[147520,49344]],[5987,[147584,49344]],[5988,[147520,49152,192]],[5989,[147520,49152,192]],[5990,[147520,49152,192]],[5991,[147520,49152,192]],[5992,[278592,49344]],[5993,[278656,49344]],[5994,[278592,49152,192]],[5995,[278592,49152,192]],[5996,[278592,49152,192]],[5997,[278592,49152,192]],[5998,[540736,49344]],[5999,[540800,49344]],[6000,[540736,49152,192]],[6001,[540736,49152,192]],[6002,[540736,49152,192]],[6003,[540736,49152,192]],[6004,[327744,196800]],[6005,[327808,196800]],[6006,[327744,196608,192]],[6007,[327744,196608,192]],[6008,[327744,196608,192]],[6009,[327744,196608,192]],[6010,[589888,196800]],[6011,[589952,196800]],[6012,[589888,196608,192]],[6013,[589888,196608,192]],[6014,[589888,196608,192]],[6015,[589888,196608,192]],[6016,[5376,3840]],[6017,[5632,3840]],[6018,[5376,3072,768]],[6019,[5376,3072,768]],[6020,[5376,3072,768]],[6021,[5376,3072,768]],[6022,[9472,3840]],[6023,[9728,3840]],[6024,[9472,3072,768]],[6025,[9472,3072,768]],[6026,[9472,3072,768]],[6027,[9472,3072,768]],[6028,[17664,3840]],[6029,[17920,3840]],[6030,[17664,3072,768]],[6031,[17664,3072,768]],[6032,[17664,3072,768]],[6033,[17664,3072,768]],[6034,[34048,3840]],[6035,[34304,3840]],[6036,[34048,3072,768]],[6037,[34048,3072,768]],[6038,[34048,3072,768]],[6039,[34048,3072,768]],[6040,[66816,3840]],[6041,[67072,3840]],[6042,[66816,3072,768]],[6043,[66816,3072,768]],[6044,[66816,3072,768]],[6045,[66816,3072,768]],[6046,[132352,3840]],[6047,[132608,3840]],[6048,[132352,3072,768]],[6049,[132352,3072,768]],[6050,[132352,3072,768]],[6051,[132352,3072,768]],[6052,[263424,3840]],[6053,[263680,3840]],[6054,[263424,3072,768]],[6055,[263424,3072,768]],[6056,[263424,3072,768]],[6057,[263424,3072,768]],[6058,[525568,3840]],[6059,[525824,3840]],[6060,[525568,3072,768]],[6061,[525568,3072,768]],[6062,[525568,3072,768]],[6063,[525568,3072,768]],[6064,[20736,13056]],[6065,[20992,13056]],[6066,[20736,12288,768]],[6067,[20736,12288,768]],[6068,[20736,12288,768]],[6069,[20736,12288,768]],[6070,[37120,13056]],[6071,[37376,13056]],[6072,[37120,12288,768]],[6073,[37120,12288,768]],[6074,[37120,12288,768]],[6075,[37120,12288,768]],[6076,[69888,13056]],[6077,[70144,13056]],[6078,[69888,12288,768]],[6079,[69888,12288,768]],[6080,[69888,12288,768]],[6081,[69888,12288,768]],[6082,[135424,13056]],[6083,[135680,13056]],[6084,[135424,12288,768]],[6085,[135424,12288,768]],[6086,[135424,12288,768]],[6087,[135424,12288,768]],[6088,[266496,13056]],[6089,[266752,13056]],[6090,[266496,12288,768]],[6091,[266496,12288,768]],[6092,[266496,12288,768]],[6093,[266496,12288,768]],[6094,[528640,13056]],[6095,[528896,13056]],[6096,[528640,12288,768]],[6097,[528640,12288,768]],[6098,[528640,12288,768]],[6099,[528640,12288,768]],[6100,[82176,49920]],[6101,[82432,49920]],[6102,[82176,49152,768]],[6103,[82176,49152,768]],[6104,[82176,49152,768]],[6105,[82176,49152,768]],[6106,[147712,49920]],[6107,[147968,49920]],[6108,[147712,49152,768]],[6109,[147712,49152,768]],[6110,[147712,49152,768]],[6111,[147712,49152,768]],[6112,[278784,49920]],[6113,[279040,49920]],[6114,[278784,49152,768]],[6115,[278784,49152,768]],[6116,[278784,49152,768]],[6117,[278784,49152,768]],[6118,[540928,49920]],[6119,[541184,49920]],[6120,[540928,49152,768]],[6121,[540928,49152,768]],[6122,[540928,49152,768]],[6123,[540928,49152,768]],[6124,[327936,197376]],[6125,[328192,197376]],[6126,[327936,196608,768]],[6127,[327936,196608,768]],[6128,[327936,196608,768]],[6129,[327936,196608,768]],[6130,[590080,197376]],[6131,[590336,197376]],[6132,[590080,196608,768]],[6133,[590080,196608,768]],[6134,[590080,196608,768]],[6135,[590080,196608,768]],[6136,[21504,15360]],[6137,[22528,15360]],[6138,[21504,12288,3072]],[6139,[21504,12288,3072]],[6140,[21504,12288,3072]],[6141,[21504,12288,3072]],[6142,[21504,12288,3072]],[6143,[37888,15360]],[6144,[38912,15360]],[6145,[37888,12288,3072]],[6146,[37888,12288,3072]],[6147,[37888,12288,3072]],[6148,[37888,12288,3072]],[6149,[37888,12288,3072]],[6150,[70656,15360]],[6151,[71680,15360]],[6152,[70656,12288,3072]],[6153,[70656,12288,3072]],[6154,[70656,12288,3072]],[6155,[70656,12288,3072]],[6156,[70656,12288,3072]],[6157,[136192,15360]],[6158,[137216,15360]],[6159,[136192,12288,3072]],[6160,[136192,12288,3072]],[6161,[136192,12288,3072]],[6162,[136192,12288,3072]],[6163,[136192,12288,3072]],[6164,[267264,15360]],[6165,[268288,15360]],[6166,[267264,12288,3072]],[6167,[267264,12288,3072]],[6168,[267264,12288,3072]],[6169,[267264,12288,3072]],[6170,[267264,12288,3072]],[6171,[529408,15360]],[6172,[530432,15360]],[6173,[529408,12288,3072]],[6174,[529408,12288,3072]],[6175,[529408,12288,3072]],[6176,[529408,12288,3072]],[6177,[529408,12288,3072]],[6178,[82944,52224]],[6179,[83968,52224]],[6180,[82944,49152,3072]],[6181,[82944,49152,3072]],[6182,[82944,49152,3072]],[6183,[82944,49152,3072]],[6184,[148480,52224]],[6185,[149504,52224]],[6186,[148480,49152,3072]],[6187,[148480,49152,3072]],[6188,[148480,49152,3072]],[6189,[148480,49152,3072]],[6190,[279552,52224]],[6191,[280576,52224]],[6192,[279552,49152,3072]],[6193,[279552,49152,3072]],[6194,[279552,49152,3072]],[6195,[279552,49152,3072]],[6196,[541696,52224]],[6197,[542720,52224]],[6198,[541696,49152,3072]],[6199,[541696,49152,3072]],[6200,[541696,49152,3072]],[6201,[541696,49152,3072]],[6202,[328704,199680]],[6203,[329728,199680]],[6204,[328704,196608,3072]],[6205,[328704,196608,3072]],[6206,[328704,196608,3072]],[6207,[328704,196608,3072]],[6208,[590848,199680]],[6209,[591872,199680]],[6210,[590848,196608,3072]],[6211,[590848,196608,3072]],[6212,[590848,196608,3072]],[6213,[590848,196608,3072]],[6214,[86016,61440]],[6215,[90112,61440]],[6216,[86016,49152,12288]],[6217,[86016,49152,12288]],[6218,[86016,49152,12288]],[6219,[86016,49152,12288]],[6220,[151552,61440]],[6221,[155648,61440]],[6222,[151552,49152,12288]],[6223,[151552,49152,12288]],[6224,[151552,49152,12288]],[6225,[151552,49152,12288]],[6226,[282624,61440]],[6227,[286720,61440]],[6228,[282624,49152,12288]],[6229,[282624,49152,12288]],[6230,[282624,49152,12288]],[6231,[282624,49152,12288]],[6232,[544768,61440]],[6233,[548864,61440]],[6234,[544768,49152,12288]],[6235,[544768,49152,12288]],[6236,[544768,49152,12288]],[6237,[544768,49152,12288]],[6238,[331776,208896]],[6239,[335872,208896]],[6240,[331776,196608,12288]],[6241,[331776,196608,12288]],[6242,[331776,196608,12288]],[6243,[331776,196608,12288]],[6244,[593920,208896]],[6245,[598016,208896]],[6246,[593920,196608,12288]],[6247,[593920,196608,12288]],[6248,[593920,196608,12288]],[6249,[593920,196608,12288]],[6250,[344064,245760]],[6251,[360448,245760]],[6252,[344064,196608,49152]],[6253,[344064,196608,49152]],[6254,[344064,196608,49152]],[6255,[344064,196608,49152]],[6256,[606208,245760]],[6257,[622592,245760]],[6258,[606208,196608,49152]],[6259,[606208,196608,49152]],[6260,[606208,196608,49152]],[6261,[606208,196608,49152]],[6262,[21,15]],[6263,[37,15]],[6264,[37,21,15]],[6265,[37,21,15]],[6266,[22,15]],[6267,[38,15]],[6268,[38,22,15]],[6269,[38,22,15]],[6270,[38,21]],[6271,[42,25]],[6272,[38,21,12]],[6273,[38,21,12]],[6274,[37,22]],[6275,[41,26]],[6276,[37,22,12]],[6277,[37,22,12]],[6278,[41,21]],[6279,[42,22]],[6280,[41,21,3]],[6281,[41,21,3]],[6282,[37,25]],[6283,[38,26]],[6284,[37,25,3]],[6285,[37,25,3]],[6286,[41,21]],[6287,[37,25]],[6288,[37,21,12]],[6289,[37,21,12]],[6290,[37,21,12]],[6291,[37,21,12]],[6292,[42,22]],[6293,[38,26]],[6294,[38,22,12]],[6295,[38,22,12]],[6296,[38,22,12]],[6297,[38,22,12]],[6298,[38,21]],[6299,[37,22]],[6300,[37,21,3]],[6301,[37,21,3]],[6302,[37,21,3]],[6303,[37,21,3]],[6304,[42,25]],[6305,[41,26]],[6306,[41,25,3]],[6307,[41,25,3]],[6308,[41,25,3]],[6309,[41,25,3]],[6310,[69,15]],[6311,[133,15]],[6312,[133,69,15]],[6313,[133,69,15]],[6314,[70,15]],[6315,[134,15]],[6316,[134,70,15]],[6317,[134,70,15]],[6318,[134,69]],[6319,[138,73]],[6320,[134,69,12]],[6321,[134,69,12]],[6322,[133,70]],[6323,[137,74]],[6324,[133,70,12]],[6325,[133,70,12]],[6326,[137,69]],[6327,[138,70]],[6328,[137,69,3]],[6329,[137,69,3]],[6330,[133,73]],[6331,[134,74]],[6332,[133,73,3]],[6333,[133,73,3]],[6334,[137,69]],[6335,[133,73]],[6336,[133,69,12]],[6337,[133,69,12]],[6338,[133,69,12]],[6339,[138,70]],[6340,[134,74]],[6341,[134,70,12]],[6342,[134,70,12]],[6343,[134,70,12]],[6344,[134,69]],[6345,[133,70]],[6346,[133,69,3]],[6347,[133,69,3]],[6348,[133,69,3]],[6349,[138,73]],[6350,[137,74]],[6351,[137,73,3]],[6352,[137,73,3]],[6353,[137,73,3]],[6354,[261,15]],[6355,[517,15]],[6356,[517,261,15]],[6357,[517,261,15]],[6358,[262,15]],[6359,[518,15]],[6360,[518,262,15]],[6361,[518,262,15]],[6362,[518,261]],[6363,[522,265]],[6364,[518,261,12]],[6365,[518,261,12]],[6366,[517,262]],[6367,[521,266]],[6368,[517,262,12]],[6369,[517,262,12]],[6370,[521,261]],[6371,[522,262]],[6372,[521,261,3]],[6373,[521,261,3]],[6374,[517,265]],[6375,[518,266]],[6376,[517,265,3]],[6377,[517,265,3]],[6378,[521,261]],[6379,[517,265]],[6380,[517,261,12]],[6381,[517,261,12]],[6382,[517,261,12]],[6383,[522,262]],[6384,[518,266]],[6385,[518,262,12]],[6386,[518,262,12]],[6387,[518,262,12]],[6388,[518,261]],[6389,[517,262]],[6390,[517,261,3]],[6391,[517,261,3]],[6392,[517,261,3]],[6393,[522,265]],[6394,[521,266]],[6395,[521,265,3]],[6396,[521,265,3]],[6397,[521,265,3]],[6398,[1029,15]],[6399,[2053,15]],[6400,[2053,1029,15]],[6401,[2053,1029,15]],[6402,[1030,15]],[6403,[2054,15]],[6404,[2054,1030,15]],[6405,[2054,1030,15]],[6406,[2054,1029]],[6407,[2058,1033]],[6408,[2054,1029,12]],[6409,[2054,1029,12]],[6410,[2053,1030]],[6411,[2057,1034]],[6412,[2053,1030,12]],[6413,[2053,1030,12]],[6414,[2057,1029]],[6415,[2058,1030]],[6416,[2057,1029,3]],[6417,[2057,1029,3]],[6418,[2053,1033]],[6419,[2054,1034]],[6420,[2053,1033,3]],[6421,[2053,1033,3]],[6422,[2057,1029]],[6423,[2053,1033]],[6424,[2053,1029,12]],[6425,[2053,1029,12]],[6426,[2053,1029,12]],[6427,[2058,1030]],[6428,[2054,1034]],[6429,[2054,1030,12]],[6430,[2054,1030,12]],[6431,[2054,1030,12]],[6432,[2054,1029]],[6433,[2053,1030]],[6434,[2053,1029,3]],[6435,[2053,1029,3]],[6436,[2053,1029,3]],[6437,[2058,1033]],[6438,[2057,1034]],[6439,[2057,1033,3]],[6440,[2057,1033,3]],[6441,[2057,1033,3]],[6442,[4101,15]],[6443,[8197,15]],[6444,[8197,4101,15]],[6445,[8197,4101,15]],[6446,[4102,15]],[6447,[8198,15]],[6448,[8198,4102,15]],[6449,[8198,4102,15]],[6450,[8198,4101]],[6451,[8202,4105]],[6452,[8198,4101,12]],[6453,[8198,4101,12]],[6454,[8197,4102]],[6455,[8201,4106]],[6456,[8197,4102,12]],[6457,[8197,4102,12]],[6458,[8201,4101]],[6459,[8202,4102]],[6460,[8201,4101,3]],[6461,[8201,4101,3]],[6462,[8197,4105]],[6463,[8198,4106]],[6464,[8197,4105,3]],[6465,[8197,4105,3]],[6466,[8201,4101]],[6467,[8197,4105]],[6468,[8197,4101,12]],[6469,[8197,4101,12]],[6470,[8197,4101,12]],[6471,[8202,4102]],[6472,[8198,4106]],[6473,[8198,4102,12]],[6474,[8198,4102,12]],[6475,[8198,4102,12]],[6476,[8198,4101]],[6477,[8197,4102]],[6478,[8197,4101,3]],[6479,[8197,4101,3]],[6480,[8197,4101,3]],[6481,[8202,4105]],[6482,[8201,4106]],[6483,[8201,4105,3]],[6484,[8201,4105,3]],[6485,[8201,4105,3]],[6486,[16389,15]],[6487,[32773,15]],[6488,[32773,16389,15]],[6489,[32773,16389,15]],[6490,[16390,15]],[6491,[32774,15]],[6492,[32774,16390,15]],[6493,[32774,16390,15]],[6494,[32774,16389]],[6495,[32778,16393]],[6496,[32774,16389,12]],[6497,[32774,16389,12]],[6498,[32773,16390]],[6499,[32777,16394]],[6500,[32773,16390,12]],[6501,[32773,16390,12]],[6502,[32777,16389]],[6503,[32778,16390]],[6504,[32777,16389,3]],[6505,[32777,16389,3]],[6506,[32773,16393]],[6507,[32774,16394]],[6508,[32773,16393,3]],[6509,[32773,16393,3]],[6510,[32777,16389]],[6511,[32773,16393]],[6512,[32773,16389,12]],[6513,[32773,16389,12]],[6514,[32773,16389,12]],[6515,[32778,16390]],[6516,[32774,16394]],[6517,[32774,16390,12]],[6518,[32774,16390,12]],[6519,[32774,16390,12]],[6520,[32774,16389]],[6521,[32773,16390]],[6522,[32773,16389,3]],[6523,[32773,16389,3]],[6524,[32773,16389,3]],[6525,[32778,16393]],[6526,[32777,16394]],[6527,[32777,16393,3]],[6528,[32777,16393,3]],[6529,[32777,16393,3]],[6530,[65541,15]],[6531,[131077,15]],[6532,[131077,65541,15]],[6533,[131077,65541,15]],[6534,[65542,15]],[6535,[131078,15]],[6536,[131078,65542,15]],[6537,[131078,65542,15]],[6538,[131078,65541]],[6539,[131082,65545]],[6540,[131078,65541,12]],[6541,[131078,65541,12]],[6542,[131077,65542]],[6543,[131081,65546]],[6544,[131077,65542,12]],[6545,[131077,65542,12]],[6546,[131081,65541]],[6547,[131082,65542]],[6548,[131081,65541,3]],[6549,[131081,65541,3]],[6550,[131077,65545]],[6551,[131078,65546]],[6552,[131077,65545,3]],[6553,[131077,65545,3]],[6554,[131081,65541]],[6555,[131077,65545]],[6556,[131077,65541,12]],[6557,[131077,65541,12]],[6558,[131077,65541,12]],[6559,[131082,65542]],[6560,[131078,65546]],[6561,[131078,65542,12]],[6562,[131078,65542,12]],[6563,[131078,65542,12]],[6564,[131078,65541]],[6565,[131077,65542]],[6566,[131077,65541,3]],[6567,[131077,65541,3]],[6568,[131077,65541,3]],[6569,[131082,65545]],[6570,[131081,65546]],[6571,[131081,65545,3]],[6572,[131081,65545,3]],[6573,[131081,65545,3]],[6574,[262149,15]],[6575,[524293,15]],[6576,[524293,262149,15]],[6577,[524293,262149,15]],[6578,[262150,15]],[6579,[524294,15]],[6580,[524294,262150,15]],[6581,[524294,262150,15]],[6582,[524294,262149]],[6583,[524298,262153]],[6584,[524294,262149,12]],[6585,[524294,262149,12]],[6586,[524293,262150]],[6587,[524297,262154]],[6588,[524293,262150,12]],[6589,[524293,262150,12]],[6590,[524297,262149]],[6591,[524298,262150]],[6592,[524297,262149,3]],[6593,[524297,262149,3]],[6594,[524293,262153]],[6595,[524294,262154]],[6596,[524293,262153,3]],[6597,[524293,262153,3]],[6598,[524297,262149]],[6599,[524293,262153]],[6600,[524293,262149,12]],[6601,[524293,262149,12]],[6602,[524293,262149,12]],[6603,[524298,262150]],[6604,[524294,262154]],[6605,[524294,262150,12]],[6606,[524294,262150,12]],[6607,[524294,262150,12]],[6608,[524294,262149]],[6609,[524293,262150]],[6610,[524293,262149,3]],[6611,[524293,262149,3]],[6612,[524293,262149,3]],[6613,[524298,262153]],[6614,[524297,262154]],[6615,[524297,262153,3]],[6616,[524297,262153,3]],[6617,[524297,262153,3]],[6618,[81,51]],[6619,[145,51]],[6620,[145,81,51]],[6621,[145,81,51]],[6622,[82,51]],[6623,[146,51]],[6624,[146,82,51]],[6625,[146,82,51]],[6626,[146,81]],[6627,[162,97]],[6628,[146,81,48]],[6629,[146,81,48]],[6630,[145,82]],[6631,[161,98]],[6632,[145,82,48]],[6633,[145,82,48]],[6634,[161,81]],[6635,[162,82]],[6636,[161,81,3]],[6637,[161,81,3]],[6638,[145,97]],[6639,[146,98]],[6640,[145,97,3]],[6641,[145,97,3]],[6642,[161,81]],[6643,[145,97]],[6644,[145,81,48]],[6645,[145,81,48]],[6646,[145,81,48]],[6647,[162,82]],[6648,[146,98]],[6649,[146,82,48]],[6650,[146,82,48]],[6651,[146,82,48]],[6652,[146,81]],[6653,[145,82]],[6654,[145,81,3]],[6655,[145,81,3]],[6656,[145,81,3]],[6657,[162,97]],[6658,[161,98]],[6659,[161,97,3]],[6660,[161,97,3]],[6661,[161,97,3]],[6662,[273,51]],[6663,[529,51]],[6664,[529,273,51]],[6665,[529,273,51]],[6666,[274,51]],[6667,[530,51]],[6668,[530,274,51]],[6669,[530,274,51]],[6670,[530,273]],[6671,[546,289]],[6672,[530,273,48]],[6673,[530,273,48]],[6674,[529,274]],[6675,[545,290]],[6676,[529,274,48]],[6677,[529,274,48]],[6678,[545,273]],[6679,[546,274]],[6680,[545,273,3]],[6681,[545,273,3]],[6682,[529,289]],[6683,[530,290]],[6684,[529,289,3]],[6685,[529,289,3]],[6686,[545,273]],[6687,[529,289]],[6688,[529,273,48]],[6689,[529,273,48]],[6690,[529,273,48]],[6691,[546,274]],[6692,[530,290]],[6693,[530,274,48]],[6694,[530,274,48]],[6695,[530,274,48]],[6696,[530,273]],[6697,[529,274]],[6698,[529,273,3]],[6699,[529,273,3]],[6700,[529,273,3]],[6701,[546,289]],[6702,[545,290]],[6703,[545,289,3]],[6704,[545,289,3]],[6705,[545,289,3]],[6706,[1041,51]],[6707,[2065,51]],[6708,[2065,1041,51]],[6709,[2065,1041,51]],[6710,[1042,51]],[6711,[2066,51]],[6712,[2066,1042,51]],[6713,[2066,1042,51]],[6714,[2066,1041]],[6715,[2082,1057]],[6716,[2066,1041,48]],[6717,[2066,1041,48]],[6718,[2065,1042]],[6719,[2081,1058]],[6720,[2065,1042,48]],[6721,[2065,1042,48]],[6722,[2081,1041]],[6723,[2082,1042]],[6724,[2081,1041,3]],[6725,[2081,1041,3]],[6726,[2065,1057]],[6727,[2066,1058]],[6728,[2065,1057,3]],[6729,[2065,1057,3]],[6730,[2081,1041]],[6731,[2065,1057]],[6732,[2065,1041,48]],[6733,[2065,1041,48]],[6734,[2065,1041,48]],[6735,[2082,1042]],[6736,[2066,1058]],[6737,[2066,1042,48]],[6738,[2066,1042,48]],[6739,[2066,1042,48]],[6740,[2066,1041]],[6741,[2065,1042]],[6742,[2065,1041,3]],[6743,[2065,1041,3]],[6744,[2065,1041,3]],[6745,[2082,1057]],[6746,[2081,1058]],[6747,[2081,1057,3]],[6748,[2081,1057,3]],[6749,[2081,1057,3]],[6750,[4113,51]],[6751,[8209,51]],[6752,[8209,4113,51]],[6753,[8209,4113,51]],[6754,[4114,51]],[6755,[8210,51]],[6756,[8210,4114,51]],[6757,[8210,4114,51]],[6758,[8210,4113]],[6759,[8226,4129]],[6760,[8210,4113,48]],[6761,[8210,4113,48]],[6762,[8209,4114]],[6763,[8225,4130]],[6764,[8209,4114,48]],[6765,[8209,4114,48]],[6766,[8225,4113]],[6767,[8226,4114]],[6768,[8225,4113,3]],[6769,[8225,4113,3]],[6770,[8209,4129]],[6771,[8210,4130]],[6772,[8209,4129,3]],[6773,[8209,4129,3]],[6774,[8225,4113]],[6775,[8209,4129]],[6776,[8209,4113,48]],[6777,[8209,4113,48]],[6778,[8209,4113,48]],[6779,[8226,4114]],[6780,[8210,4130]],[6781,[8210,4114,48]],[6782,[8210,4114,48]],[6783,[8210,4114,48]],[6784,[8210,4113]],[6785,[8209,4114]],[6786,[8209,4113,3]],[6787,[8209,4113,3]],[6788,[8209,4113,3]],[6789,[8226,4129]],[6790,[8225,4130]],[6791,[8225,4129,3]],[6792,[8225,4129,3]],[6793,[8225,4129,3]],[6794,[16401,51]],[6795,[32785,51]],[6796,[32785,16401,51]],[6797,[32785,16401,51]],[6798,[16402,51]],[6799,[32786,51]],[6800,[32786,16402,51]],[6801,[32786,16402,51]],[6802,[32786,16401]],[6803,[32802,16417]],[6804,[32786,16401,48]],[6805,[32786,16401,48]],[6806,[32785,16402]],[6807,[32801,16418]],[6808,[32785,16402,48]],[6809,[32785,16402,48]],[6810,[32801,16401]],[6811,[32802,16402]],[6812,[32801,16401,3]],[6813,[32801,16401,3]],[6814,[32785,16417]],[6815,[32786,16418]],[6816,[32785,16417,3]],[6817,[32785,16417,3]],[6818,[32801,16401]],[6819,[32785,16417]],[6820,[32785,16401,48]],[6821,[32785,16401,48]],[6822,[32785,16401,48]],[6823,[32802,16402]],[6824,[32786,16418]],[6825,[32786,16402,48]],[6826,[32786,16402,48]],[6827,[32786,16402,48]],[6828,[32786,16401]],[6829,[32785,16402]],[6830,[32785,16401,3]],[6831,[32785,16401,3]],[6832,[32785,16401,3]],[6833,[32802,16417]],[6834,[32801,16418]],[6835,[32801,16417,3]],[6836,[32801,16417,3]],[6837,[32801,16417,3]],[6838,[65553,51]],[6839,[131089,51]],[6840,[131089,65553,51]],[6841,[131089,65553,51]],[6842,[65554,51]],[6843,[131090,51]],[6844,[131090,65554,51]],[6845,[131090,65554,51]],[6846,[131090,65553]],[6847,[131106,65569]],[6848,[131090,65553,48]],[6849,[131090,65553,48]],[6850,[131089,65554]],[6851,[131105,65570]],[6852,[131089,65554,48]],[6853,[131089,65554,48]],[6854,[131105,65553]],[6855,[131106,65554]],[6856,[131105,65553,3]],[6857,[131105,65553,3]],[6858,[131089,65569]],[6859,[131090,65570]],[6860,[131089,65569,3]],[6861,[131089,65569,3]],[6862,[131105,65553]],[6863,[131089,65569]],[6864,[131089,65553,48]],[6865,[131089,65553,48]],[6866,[131089,65553,48]],[6867,[131106,65554]],[6868,[131090,65570]],[6869,[131090,65554,48]],[6870,[131090,65554,48]],[6871,[131090,65554,48]],[6872,[131090,65553]],[6873,[131089,65554]],[6874,[131089,65553,3]],[6875,[131089,65553,3]],[6876,[131089,65553,3]],[6877,[131106,65569]],[6878,[131105,65570]],[6879,[131105,65569,3]],[6880,[131105,65569,3]],[6881,[131105,65569,3]],[6882,[262161,51]],[6883,[524305,51]],[6884,[524305,262161,51]],[6885,[524305,262161,51]],[6886,[262162,51]],[6887,[524306,51]],[6888,[524306,262162,51]],[6889,[524306,262162,51]],[6890,[524306,262161]],[6891,[524322,262177]],[6892,[524306,262161,48]],[6893,[524306,262161,48]],[6894,[524305,262162]],[6895,[524321,262178]],[6896,[524305,262162,48]],[6897,[524305,262162,48]],[6898,[524321,262161]],[6899,[524322,262162]],[6900,[524321,262161,3]],[6901,[524321,262161,3]],[6902,[524305,262177]],[6903,[524306,262178]],[6904,[524305,262177,3]],[6905,[524305,262177,3]],[6906,[524321,262161]],[6907,[524305,262177]],[6908,[524305,262161,48]],[6909,[524305,262161,48]],[6910,[524305,262161,48]],[6911,[524322,262162]],[6912,[524306,262178]],[6913,[524306,262162,48]],[6914,[524306,262162,48]],[6915,[524306,262162,48]],[6916,[524306,262161]],[6917,[524305,262162]],[6918,[524305,262161,3]],[6919,[524305,262161,3]],[6920,[524305,262161,3]],[6921,[524322,262177]],[6922,[524321,262178]],[6923,[524321,262177,3]],[6924,[524321,262177,3]],[6925,[524321,262177,3]],[6926,[321,195]],[6927,[577,195]],[6928,[577,321,195]],[6929,[577,321,195]],[6930,[322,195]],[6931,[578,195]],[6932,[578,322,195]],[6933,[578,322,195]],[6934,[578,321]],[6935,[642,385]],[6936,[578,321,192]],[6937,[578,321,192]],[6938,[577,322]],[6939,[641,386]],[6940,[577,322,192]],[6941,[577,322,192]],[6942,[641,321]],[6943,[642,322]],[6944,[641,321,3]],[6945,[641,321,3]],[6946,[577,385]],[6947,[578,386]],[6948,[577,385,3]],[6949,[577,385,3]],[6950,[641,321]],[6951,[577,385]],[6952,[577,321,192]],[6953,[577,321,192]],[6954,[577,321,192]],[6955,[642,322]],[6956,[578,386]],[6957,[578,322,192]],[6958,[578,322,192]],[6959,[578,322,192]],[6960,[578,321]],[6961,[577,322]],[6962,[577,321,3]],[6963,[577,321,3]],[6964,[577,321,3]],[6965,[642,385]],[6966,[641,386]],[6967,[641,385,3]],[6968,[641,385,3]],[6969,[641,385,3]],[6970,[1089,195]],[6971,[2113,195]],[6972,[2113,1089,195]],[6973,[2113,1089,195]],[6974,[1090,195]],[6975,[2114,195]],[6976,[2114,1090,195]],[6977,[2114,1090,195]],[6978,[2114,1089]],[6979,[2178,1153]],[6980,[2114,1089,192]],[6981,[2114,1089,192]],[6982,[2113,1090]],[6983,[2177,1154]],[6984,[2113,1090,192]],[6985,[2113,1090,192]],[6986,[2177,1089]],[6987,[2178,1090]],[6988,[2177,1089,3]],[6989,[2177,1089,3]],[6990,[2113,1153]],[6991,[2114,1154]],[6992,[2113,1153,3]],[6993,[2113,1153,3]],[6994,[2177,1089]],[6995,[2113,1153]],[6996,[2113,1089,192]],[6997,[2113,1089,192]],[6998,[2113,1089,192]],[6999,[2178,1090]],[7000,[2114,1154]],[7001,[2114,1090,192]],[7002,[2114,1090,192]],[7003,[2114,1090,192]],[7004,[2114,1089]],[7005,[2113,1090]],[7006,[2113,1089,3]],[7007,[2113,1089,3]],[7008,[2113,1089,3]],[7009,[2178,1153]],[7010,[2177,1154]],[7011,[2177,1153,3]],[7012,[2177,1153,3]],[7013,[2177,1153,3]],[7014,[4161,195]],[7015,[8257,195]],[7016,[8257,4161,195]],[7017,[8257,4161,195]],[7018,[4162,195]],[7019,[8258,195]],[7020,[8258,4162,195]],[7021,[8258,4162,195]],[7022,[8258,4161]],[7023,[8322,4225]],[7024,[8258,4161,192]],[7025,[8258,4161,192]],[7026,[8257,4162]],[7027,[8321,4226]],[7028,[8257,4162,192]],[7029,[8257,4162,192]],[7030,[8321,4161]],[7031,[8322,4162]],[7032,[8321,4161,3]],[7033,[8321,4161,3]],[7034,[8257,4225]],[7035,[8258,4226]],[7036,[8257,4225,3]],[7037,[8257,4225,3]],[7038,[8321,4161]],[7039,[8257,4225]],[7040,[8257,4161,192]],[7041,[8257,4161,192]],[7042,[8257,4161,192]],[7043,[8322,4162]],[7044,[8258,4226]],[7045,[8258,4162,192]],[7046,[8258,4162,192]],[7047,[8258,4162,192]],[7048,[8258,4161]],[7049,[8257,4162]],[7050,[8257,4161,3]],[7051,[8257,4161,3]],[7052,[8257,4161,3]],[7053,[8322,4225]],[7054,[8321,4226]],[7055,[8321,4225,3]],[7056,[8321,4225,3]],[7057,[8321,4225,3]],[7058,[16449,195]],[7059,[32833,195]],[7060,[32833,16449,195]],[7061,[32833,16449,195]],[7062,[16450,195]],[7063,[32834,195]],[7064,[32834,16450,195]],[7065,[32834,16450,195]],[7066,[32834,16449]],[7067,[32898,16513]],[7068,[32834,16449,192]],[7069,[32834,16449,192]],[7070,[32833,16450]],[7071,[32897,16514]],[7072,[32833,16450,192]],[7073,[32833,16450,192]],[7074,[32897,16449]],[7075,[32898,16450]],[7076,[32897,16449,3]],[7077,[32897,16449,3]],[7078,[32833,16513]],[7079,[32834,16514]],[7080,[32833,16513,3]],[7081,[32833,16513,3]],[7082,[32897,16449]],[7083,[32833,16513]],[7084,[32833,16449,192]],[7085,[32833,16449,192]],[7086,[32833,16449,192]],[7087,[32898,16450]],[7088,[32834,16514]],[7089,[32834,16450,192]],[7090,[32834,16450,192]],[7091,[32834,16450,192]],[7092,[32834,16449]],[7093,[32833,16450]],[7094,[32833,16449,3]],[7095,[32833,16449,3]],[7096,[32833,16449,3]],[7097,[32898,16513]],[7098,[32897,16514]],[7099,[32897,16513,3]],[7100,[32897,16513,3]],[7101,[32897,16513,3]],[7102,[65601,195]],[7103,[131137,195]],[7104,[131137,65601,195]],[7105,[131137,65601,195]],[7106,[65602,195]],[7107,[131138,195]],[7108,[131138,65602,195]],[7109,[131138,65602,195]],[7110,[131138,65601]],[7111,[131202,65665]],[7112,[131138,65601,192]],[7113,[131138,65601,192]],[7114,[131137,65602]],[7115,[131201,65666]],[7116,[131137,65602,192]],[7117,[131137,65602,192]],[7118,[131201,65601]],[7119,[131202,65602]],[7120,[131201,65601,3]],[7121,[131201,65601,3]],[7122,[131137,65665]],[7123,[131138,65666]],[7124,[131137,65665,3]],[7125,[131137,65665,3]],[7126,[131201,65601]],[7127,[131137,65665]],[7128,[131137,65601,192]],[7129,[131137,65601,192]],[7130,[131137,65601,192]],[7131,[131202,65602]],[7132,[131138,65666]],[7133,[131138,65602,192]],[7134,[131138,65602,192]],[7135,[131138,65602,192]],[7136,[131138,65601]],[7137,[131137,65602]],[7138,[131137,65601,3]],[7139,[131137,65601,3]],[7140,[131137,65601,3]],[7141,[131202,65665]],[7142,[131201,65666]],[7143,[131201,65665,3]],[7144,[131201,65665,3]],[7145,[131201,65665,3]],[7146,[262209,195]],[7147,[524353,195]],[7148,[524353,262209,195]],[7149,[524353,262209,195]],[7150,[262210,195]],[7151,[524354,195]],[7152,[524354,262210,195]],[7153,[524354,262210,195]],[7154,[524354,262209]],[7155,[524418,262273]],[7156,[524354,262209,192]],[7157,[524354,262209,192]],[7158,[524353,262210]],[7159,[524417,262274]],[7160,[524353,262210,192]],[7161,[524353,262210,192]],[7162,[524417,262209]],[7163,[524418,262210]],[7164,[524417,262209,3]],[7165,[524417,262209,3]],[7166,[524353,262273]],[7167,[524354,262274]],[7168,[524353,262273,3]],[7169,[524353,262273,3]],[7170,[524417,262209]],[7171,[524353,262273]],[7172,[524353,262209,192]],[7173,[524353,262209,192]],[7174,[524353,262209,192]],[7175,[524418,262210]],[7176,[524354,262274]],[7177,[524354,262210,192]],[7178,[524354,262210,192]],[7179,[524354,262210,192]],[7180,[524354,262209]],[7181,[524353,262210]],[7182,[524353,262209,3]],[7183,[524353,262209,3]],[7184,[524353,262209,3]],[7185,[524418,262273]],[7186,[524417,262274]],[7187,[524417,262273,3]],[7188,[524417,262273,3]],[7189,[524417,262273,3]],[7190,[1281,771]],[7191,[2305,771]],[7192,[2305,1281,771]],[7193,[2305,1281,771]],[7194,[1282,771]],[7195,[2306,771]],[7196,[2306,1282,771]],[7197,[2306,1282,771]],[7198,[2306,1281]],[7199,[2562,1537]],[7200,[2306,1281,768]],[7201,[2306,1281,768]],[7202,[2305,1282]],[7203,[2561,1538]],[7204,[2305,1282,768]],[7205,[2305,1282,768]],[7206,[2561,1281]],[7207,[2562,1282]],[7208,[2561,1281,3]],[7209,[2561,1281,3]],[7210,[2305,1537]],[7211,[2306,1538]],[7212,[2305,1537,3]],[7213,[2305,1537,3]],[7214,[2561,1281]],[7215,[2305,1537]],[7216,[2305,1281,768]],[7217,[2305,1281,768]],[7218,[2305,1281,768]],[7219,[2562,1282]],[7220,[2306,1538]],[7221,[2306,1282,768]],[7222,[2306,1282,768]],[7223,[2306,1282,768]],[7224,[2306,1281]],[7225,[2305,1282]],[7226,[2305,1281,3]],[7227,[2305,1281,3]],[7228,[2305,1281,3]],[7229,[2562,1537]],[7230,[2561,1538]],[7231,[2561,1537,3]],[7232,[2561,1537,3]],[7233,[2561,1537,3]],[7234,[4353,771]],[7235,[8449,771]],[7236,[8449,4353,771]],[7237,[8449,4353,771]],[7238,[4354,771]],[7239,[8450,771]],[7240,[8450,4354,771]],[7241,[8450,4354,771]],[7242,[8450,4353]],[7243,[8706,4609]],[7244,[8450,4353,768]],[7245,[8450,4353,768]],[7246,[8449,4354]],[7247,[8705,4610]],[7248,[8449,4354,768]],[7249,[8449,4354,768]],[7250,[8705,4353]],[7251,[8706,4354]],[7252,[8705,4353,3]],[7253,[8705,4353,3]],[7254,[8449,4609]],[7255,[8450,4610]],[7256,[8449,4609,3]],[7257,[8449,4609,3]],[7258,[8705,4353]],[7259,[8449,4609]],[7260,[8449,4353,768]],[7261,[8449,4353,768]],[7262,[8449,4353,768]],[7263,[8706,4354]],[7264,[8450,4610]],[7265,[8450,4354,768]],[7266,[8450,4354,768]],[7267,[8450,4354,768]],[7268,[8450,4353]],[7269,[8449,4354]],[7270,[8449,4353,3]],[7271,[8449,4353,3]],[7272,[8449,4353,3]],[7273,[8706,4609]],[7274,[8705,4610]],[7275,[8705,4609,3]],[7276,[8705,4609,3]],[7277,[8705,4609,3]],[7278,[16641,771]],[7279,[33025,771]],[7280,[33025,16641,771]],[7281,[33025,16641,771]],[7282,[16642,771]],[7283,[33026,771]],[7284,[33026,16642,771]],[7285,[33026,16642,771]],[7286,[33026,16641]],[7287,[33282,16897]],[7288,[33026,16641,768]],[7289,[33026,16641,768]],[7290,[33025,16642]],[7291,[33281,16898]],[7292,[33025,16642,768]],[7293,[33025,16642,768]],[7294,[33281,16641]],[7295,[33282,16642]],[7296,[33281,16641,3]],[7297,[33281,16641,3]],[7298,[33025,16897]],[7299,[33026,16898]],[7300,[33025,16897,3]],[7301,[33025,16897,3]],[7302,[33281,16641]],[7303,[33025,16897]],[7304,[33025,16641,768]],[7305,[33025,16641,768]],[7306,[33025,16641,768]],[7307,[33282,16642]],[7308,[33026,16898]],[7309,[33026,16642,768]],[7310,[33026,16642,768]],[7311,[33026,16642,768]],[7312,[33026,16641]],[7313,[33025,16642]],[7314,[33025,16641,3]],[7315,[33025,16641,3]],[7316,[33025,16641,3]],[7317,[33282,16897]],[7318,[33281,16898]],[7319,[33281,16897,3]],[7320,[33281,16897,3]],[7321,[33281,16897,3]],[7322,[65793,771]],[7323,[131329,771]],[7324,[131329,65793,771]],[7325,[131329,65793,771]],[7326,[65794,771]],[7327,[131330,771]],[7328,[131330,65794,771]],[7329,[131330,65794,771]],[7330,[131330,65793]],[7331,[131586,66049]],[7332,[131330,65793,768]],[7333,[131330,65793,768]],[7334,[131329,65794]],[7335,[131585,66050]],[7336,[131329,65794,768]],[7337,[131329,65794,768]],[7338,[131585,65793]],[7339,[131586,65794]],[7340,[131585,65793,3]],[7341,[131585,65793,3]],[7342,[131329,66049]],[7343,[131330,66050]],[7344,[131329,66049,3]],[7345,[131329,66049,3]],[7346,[131585,65793]],[7347,[131329,66049]],[7348,[131329,65793,768]],[7349,[131329,65793,768]],[7350,[131329,65793,768]],[7351,[131586,65794]],[7352,[131330,66050]],[7353,[131330,65794,768]],[7354,[131330,65794,768]],[7355,[131330,65794,768]],[7356,[131330,65793]],[7357,[131329,65794]],[7358,[131329,65793,3]],[7359,[131329,65793,3]],[7360,[131329,65793,3]],[7361,[131586,66049]],[7362,[131585,66050]],[7363,[131585,66049,3]],[7364,[131585,66049,3]],[7365,[131585,66049,3]],[7366,[262401,771]],[7367,[524545,771]],[7368,[524545,262401,771]],[7369,[524545,262401,771]],[7370,[262402,771]],[7371,[524546,771]],[7372,[524546,262402,771]],[7373,[524546,262402,771]],[7374,[524546,262401]],[7375,[524802,262657]],[7376,[524546,262401,768]],[7377,[524546,262401,768]],[7378,[524545,262402]],[7379,[524801,262658]],[7380,[524545,262402,768]],[7381,[524545,262402,768]],[7382,[524801,262401]],[7383,[524802,262402]],[7384,[524801,262401,3]],[7385,[524801,262401,3]],[7386,[524545,262657]],[7387,[524546,262658]],[7388,[524545,262657,3]],[7389,[524545,262657,3]],[7390,[524801,262401]],[7391,[524545,262657]],[7392,[524545,262401,768]],[7393,[524545,262401,768]],[7394,[524545,262401,768]],[7395,[524802,262402]],[7396,[524546,262658]],[7397,[524546,262402,768]],[7398,[524546,262402,768]],[7399,[524546,262402,768]],[7400,[524546,262401]],[7401,[524545,262402]],[7402,[524545,262401,3]],[7403,[524545,262401,3]],[7404,[524545,262401,3]],[7405,[524802,262657]],[7406,[524801,262658]],[7407,[524801,262657,3]],[7408,[524801,262657,3]],[7409,[524801,262657,3]],[7410,[5121,3075]],[7411,[9217,3075]],[7412,[9217,5121,3075]],[7413,[9217,5121,3075]],[7414,[5122,3075]],[7415,[9218,3075]],[7416,[9218,5122,3075]],[7417,[9218,5122,3075]],[7418,[9218,5121]],[7419,[10242,6145]],[7420,[9218,5121,3072]],[7421,[9218,5121,3072]],[7422,[9217,5122]],[7423,[10241,6146]],[7424,[9217,5122,3072]],[7425,[9217,5122,3072]],[7426,[10241,5121]],[7427,[10242,5122]],[7428,[10241,5121,3]],[7429,[10241,5121,3]],[7430,[9217,6145]],[7431,[9218,6146]],[7432,[9217,6145,3]],[7433,[9217,6145,3]],[7434,[10241,5121]],[7435,[9217,6145]],[7436,[9217,5121,3072]],[7437,[9217,5121,3072]],[7438,[9217,5121,3072]],[7439,[10242,5122]],[7440,[9218,6146]],[7441,[9218,5122,3072]],[7442,[9218,5122,3072]],[7443,[9218,5122,3072]],[7444,[9218,5121]],[7445,[9217,5122]],[7446,[9217,5121,3]],[7447,[9217,5121,3]],[7448,[9217,5121,3]],[7449,[10242,6145]],[7450,[10241,6146]],[7451,[10241,6145,3]],[7452,[10241,6145,3]],[7453,[10241,6145,3]],[7454,[17409,3075]],[7455,[33793,3075]],[7456,[33793,17409,3075]],[7457,[33793,17409,3075]],[7458,[17410,3075]],[7459,[33794,3075]],[7460,[33794,17410,3075]],[7461,[33794,17410,3075]],[7462,[33794,17409]],[7463,[34818,18433]],[7464,[33794,17409,3072]],[7465,[33794,17409,3072]],[7466,[33793,17410]],[7467,[34817,18434]],[7468,[33793,17410,3072]],[7469,[33793,17410,3072]],[7470,[34817,17409]],[7471,[34818,17410]],[7472,[34817,17409,3]],[7473,[34817,17409,3]],[7474,[33793,18433]],[7475,[33794,18434]],[7476,[33793,18433,3]],[7477,[33793,18433,3]],[7478,[34817,17409]],[7479,[33793,18433]],[7480,[33793,17409,3072]],[7481,[33793,17409,3072]],[7482,[33793,17409,3072]],[7483,[34818,17410]],[7484,[33794,18434]],[7485,[33794,17410,3072]],[7486,[33794,17410,3072]],[7487,[33794,17410,3072]],[7488,[33794,17409]],[7489,[33793,17410]],[7490,[33793,17409,3]],[7491,[33793,17409,3]],[7492,[33793,17409,3]],[7493,[34818,18433]],[7494,[34817,18434]],[7495,[34817,18433,3]],[7496,[34817,18433,3]],[7497,[34817,18433,3]],[7498,[66561,3075]],[7499,[132097,3075]],[7500,[132097,66561,3075]],[7501,[132097,66561,3075]],[7502,[66562,3075]],[7503,[132098,3075]],[7504,[132098,66562,3075]],[7505,[132098,66562,3075]],[7506,[132098,66561]],[7507,[133122,67585]],[7508,[132098,66561,3072]],[7509,[132098,66561,3072]],[7510,[132097,66562]],[7511,[133121,67586]],[7512,[132097,66562,3072]],[7513,[132097,66562,3072]],[7514,[133121,66561]],[7515,[133122,66562]],[7516,[133121,66561,3]],[7517,[133121,66561,3]],[7518,[132097,67585]],[7519,[132098,67586]],[7520,[132097,67585,3]],[7521,[132097,67585,3]],[7522,[133121,66561]],[7523,[132097,67585]],[7524,[132097,66561,3072]],[7525,[132097,66561,3072]],[7526,[132097,66561,3072]],[7527,[133122,66562]],[7528,[132098,67586]],[7529,[132098,66562,3072]],[7530,[132098,66562,3072]],[7531,[132098,66562,3072]],[7532,[132098,66561]],[7533,[132097,66562]],[7534,[132097,66561,3]],[7535,[132097,66561,3]],[7536,[132097,66561,3]],[7537,[133122,67585]],[7538,[133121,67586]],[7539,[133121,67585,3]],[7540,[133121,67585,3]],[7541,[133121,67585,3]],[7542,[263169,3075]],[7543,[525313,3075]],[7544,[525313,263169,3075]],[7545,[525313,263169,3075]],[7546,[263170,3075]],[7547,[525314,3075]],[7548,[525314,263170,3075]],[7549,[525314,263170,3075]],[7550,[525314,263169]],[7551,[526338,264193]],[7552,[525314,263169,3072]],[7553,[525314,263169,3072]],[7554,[525313,263170]],[7555,[526337,264194]],[7556,[525313,263170,3072]],[7557,[525313,263170,3072]],[7558,[526337,263169]],[7559,[526338,263170]],[7560,[526337,263169,3]],[7561,[526337,263169,3]],[7562,[525313,264193]],[7563,[525314,264194]],[7564,[525313,264193,3]],[7565,[525313,264193,3]],[7566,[526337,263169]],[7567,[525313,264193]],[7568,[525313,263169,3072]],[7569,[525313,263169,3072]],[7570,[525313,263169,3072]],[7571,[526338,263170]],[7572,[525314,264194]],[7573,[525314,263170,3072]],[7574,[525314,263170,3072]],[7575,[525314,263170,3072]],[7576,[525314,263169]],[7577,[525313,263170]],[7578,[525313,263169,3]],[7579,[525313,263169,3]],[7580,[525313,263169,3]],[7581,[526338,264193]],[7582,[526337,264194]],[7583,[526337,264193,3]],[7584,[526337,264193,3]],[7585,[526337,264193,3]],[7586,[20481,12291]],[7587,[36865,12291]],[7588,[36865,20481,12291]],[7589,[36865,20481,12291]],[7590,[20482,12291]],[7591,[36866,12291]],[7592,[36866,20482,12291]],[7593,[36866,20482,12291]],[7594,[36866,20481]],[7595,[40962,24577]],[7596,[36866,20481,12288]],[7597,[36866,20481,12288]],[7598,[36865,20482]],[7599,[40961,24578]],[7600,[36865,20482,12288]],[7601,[36865,20482,12288]],[7602,[40961,20481]],[7603,[40962,20482]],[7604,[40961,20481,3]],[7605,[40961,20481,3]],[7606,[36865,24577]],[7607,[36866,24578]],[7608,[36865,24577,3]],[7609,[36865,24577,3]],[7610,[40961,20481]],[7611,[36865,24577]],[7612,[36865,20481,12288]],[7613,[36865,20481,12288]],[7614,[36865,20481,12288]],[7615,[36865,20481,12288]],[7616,[40962,20482]],[7617,[36866,24578]],[7618,[36866,20482,12288]],[7619,[36866,20482,12288]],[7620,[36866,20482,12288]],[7621,[36866,20482,12288]],[7622,[36866,20481]],[7623,[36865,20482]],[7624,[36865,20481,3]],[7625,[36865,20481,3]],[7626,[36865,20481,3]],[7627,[40962,24577]],[7628,[40961,24578]],[7629,[40961,24577,3]],[7630,[40961,24577,3]],[7631,[40961,24577,3]],[7632,[69633,12291]],[7633,[135169,12291]],[7634,[135169,69633,12291]],[7635,[135169,69633,12291]],[7636,[69634,12291]],[7637,[135170,12291]],[7638,[135170,69634,12291]],[7639,[135170,69634,12291]],[7640,[135170,69633]],[7641,[139266,73729]],[7642,[135170,69633,12288]],[7643,[135170,69633,12288]],[7644,[135169,69634]],[7645,[139265,73730]],[7646,[135169,69634,12288]],[7647,[135169,69634,12288]],[7648,[139265,69633]],[7649,[139266,69634]],[7650,[139265,69633,3]],[7651,[139265,69633,3]],[7652,[135169,73729]],[7653,[135170,73730]],[7654,[135169,73729,3]],[7655,[135169,73729,3]],[7656,[139265,69633]],[7657,[135169,73729]],[7658,[135169,69633,12288]],[7659,[135169,69633,12288]],[7660,[135169,69633,12288]],[7661,[139266,69634]],[7662,[135170,73730]],[7663,[135170,69634,12288]],[7664,[135170,69634,12288]],[7665,[135170,69634,12288]],[7666,[135170,69633]],[7667,[135169,69634]],[7668,[135169,69633,3]],[7669,[135169,69633,3]],[7670,[135169,69633,3]],[7671,[139266,73729]],[7672,[139265,73730]],[7673,[139265,73729,3]],[7674,[139265,73729,3]],[7675,[139265,73729,3]],[7676,[266241,12291]],[7677,[528385,12291]],[7678,[528385,266241,12291]],[7679,[528385,266241,12291]],[7680,[266242,12291]],[7681,[528386,12291]],[7682,[528386,266242,12291]],[7683,[528386,266242,12291]],[7684,[528386,266241]],[7685,[532482,270337]],[7686,[528386,266241,12288]],[7687,[528386,266241,12288]],[7688,[528385,266242]],[7689,[532481,270338]],[7690,[528385,266242,12288]],[7691,[528385,266242,12288]],[7692,[532481,266241]],[7693,[532482,266242]],[7694,[532481,266241,3]],[7695,[532481,266241,3]],[7696,[528385,270337]],[7697,[528386,270338]],[7698,[528385,270337,3]],[7699,[528385,270337,3]],[7700,[532481,266241]],[7701,[528385,270337]],[7702,[528385,266241,12288]],[7703,[528385,266241,12288]],[7704,[528385,266241,12288]],[7705,[532482,266242]],[7706,[528386,270338]],[7707,[528386,266242,12288]],[7708,[528386,266242,12288]],[7709,[528386,266242,12288]],[7710,[528386,266241]],[7711,[528385,266242]],[7712,[528385,266241,3]],[7713,[528385,266241,3]],[7714,[528385,266241,3]],[7715,[532482,270337]],[7716,[532481,270338]],[7717,[532481,270337,3]],[7718,[532481,270337,3]],[7719,[532481,270337,3]],[7720,[81921,49155]],[7721,[147457,49155]],[7722,[147457,81921,49155]],[7723,[147457,81921,49155]],[7724,[81922,49155]],[7725,[147458,49155]],[7726,[147458,81922,49155]],[7727,[147458,81922,49155]],[7728,[147458,81921]],[7729,[163842,98305]],[7730,[147458,81921,49152]],[7731,[147458,81921,49152]],[7732,[147457,81922]],[7733,[163841,98306]],[7734,[147457,81922,49152]],[7735,[147457,81922,49152]],[7736,[163841,81921]],[7737,[163842,81922]],[7738,[163841,81921,3]],[7739,[163841,81921,3]],[7740,[147457,98305]],[7741,[147458,98306]],[7742,[147457,98305,3]],[7743,[147457,98305,3]],[7744,[163841,81921]],[7745,[147457,98305]],[7746,[147457,81921,49152]],[7747,[147457,81921,49152]],[7748,[147457,81921,49152]],[7749,[163842,81922]],[7750,[147458,98306]],[7751,[147458,81922,49152]],[7752,[147458,81922,49152]],[7753,[147458,81922,49152]],[7754,[147458,81921]],[7755,[147457,81922]],[7756,[147457,81921,3]],[7757,[147457,81921,3]],[7758,[147457,81921,3]],[7759,[163842,98305]],[7760,[163841,98306]],[7761,[163841,98305,3]],[7762,[163841,98305,3]],[7763,[163841,98305,3]],[7764,[278529,49155]],[7765,[540673,49155]],[7766,[540673,278529,49155]],[7767,[540673,278529,49155]],[7768,[278530,49155]],[7769,[540674,49155]],[7770,[540674,278530,49155]],[7771,[540674,278530,49155]],[7772,[540674,278529]],[7773,[557058,294913]],[7774,[540674,278529,49152]],[7775,[540674,278529,49152]],[7776,[540673,278530]],[7777,[557057,294914]],[7778,[540673,278530,49152]],[7779,[540673,278530,49152]],[7780,[557057,278529]],[7781,[557058,278530]],[7782,[557057,278529,3]],[7783,[557057,278529,3]],[7784,[540673,294913]],[7785,[540674,294914]],[7786,[540673,294913,3]],[7787,[540673,294913,3]],[7788,[557057,278529]],[7789,[540673,294913]],[7790,[540673,278529,49152]],[7791,[540673,278529,49152]],[7792,[540673,278529,49152]],[7793,[557058,278530]],[7794,[540674,294914]],[7795,[540674,278530,49152]],[7796,[540674,278530,49152]],[7797,[540674,278530,49152]],[7798,[540674,278529]],[7799,[540673,278530]],[7800,[540673,278529,3]],[7801,[540673,278529,3]],[7802,[540673,278529,3]],[7803,[557058,294913]],[7804,[557057,294914]],[7805,[557057,294913,3]],[7806,[557057,294913,3]],[7807,[557057,294913,3]],[7808,[327681,196611]],[7809,[589825,196611]],[7810,[589825,327681,196611]],[7811,[589825,327681,196611]],[7812,[327682,196611]],[7813,[589826,196611]],[7814,[589826,327682,196611]],[7815,[589826,327682,196611]],[7816,[589826,327681]],[7817,[655362,393217]],[7818,[589826,327681,196608]],[7819,[589826,327681,196608]],[7820,[589825,327682]],[7821,[655361,393218]],[7822,[589825,327682,196608]],[7823,[589825,327682,196608]],[7824,[655361,327681]],[7825,[655362,327682]],[7826,[655361,327681,3]],[7827,[655361,327681,3]],[7828,[589825,393217]],[7829,[589826,393218]],[7830,[589825,393217,3]],[7831,[589825,393217,3]],[7832,[655361,327681]],[7833,[589825,393217]],[7834,[589825,327681,196608]],[7835,[589825,327681,196608]],[7836,[589825,327681,196608]],[7837,[655362,327682]],[7838,[589826,393218]],[7839,[589826,327682,196608]],[7840,[589826,327682,196608]],[7841,[589826,327682,196608]],[7842,[589826,327681]],[7843,[589825,327682]],[7844,[589825,327681,3]],[7845,[589825,327681,3]],[7846,[589825,327681,3]],[7847,[655362,393217]],[7848,[655361,393218]],[7849,[655361,393217,3]],[7850,[655361,393217,3]],[7851,[655361,393217,3]],[7852,[84,60]],[7853,[148,60]],[7854,[148,84,60]],[7855,[148,84,60]],[7856,[88,60]],[7857,[152,60]],[7858,[152,88,60]],[7859,[152,88,60]],[7860,[152,84]],[7861,[168,100]],[7862,[152,84,48]],[7863,[152,84,48]],[7864,[148,88]],[7865,[164,104]],[7866,[148,88,48]],[7867,[148,88,48]],[7868,[164,84]],[7869,[168,88]],[7870,[164,84,12]],[7871,[164,84,12]],[7872,[148,100]],[7873,[152,104]],[7874,[148,100,12]],[7875,[148,100,12]],[7876,[164,84]],[7877,[148,100]],[7878,[148,84,48]],[7879,[148,84,48]],[7880,[148,84,48]],[7881,[168,88]],[7882,[152,104]],[7883,[152,88,48]],[7884,[152,88,48]],[7885,[152,88,48]],[7886,[152,84]],[7887,[148,88]],[7888,[148,84,12]],[7889,[148,84,12]],[7890,[148,84,12]],[7891,[168,100]],[7892,[164,104]],[7893,[164,100,12]],[7894,[164,100,12]],[7895,[164,100,12]],[7896,[276,60]],[7897,[532,60]],[7898,[532,276,60]],[7899,[532,276,60]],[7900,[280,60]],[7901,[536,60]],[7902,[536,280,60]],[7903,[536,280,60]],[7904,[536,276]],[7905,[552,292]],[7906,[536,276,48]],[7907,[536,276,48]],[7908,[532,280]],[7909,[548,296]],[7910,[532,280,48]],[7911,[532,280,48]],[7912,[548,276]],[7913,[552,280]],[7914,[548,276,12]],[7915,[548,276,12]],[7916,[532,292]],[7917,[536,296]],[7918,[532,292,12]],[7919,[532,292,12]],[7920,[548,276]],[7921,[532,292]],[7922,[532,276,48]],[7923,[532,276,48]],[7924,[532,276,48]],[7925,[552,280]],[7926,[536,296]],[7927,[536,280,48]],[7928,[536,280,48]],[7929,[536,280,48]],[7930,[536,276]],[7931,[532,280]],[7932,[532,276,12]],[7933,[532,276,12]],[7934,[532,276,12]],[7935,[552,292]],[7936,[548,296]],[7937,[548,292,12]],[7938,[548,292,12]],[7939,[548,292,12]],[7940,[1044,60]],[7941,[2068,60]],[7942,[2068,1044,60]],[7943,[2068,1044,60]],[7944,[1048,60]],[7945,[2072,60]],[7946,[2072,1048,60]],[7947,[2072,1048,60]],[7948,[2072,1044]],[7949,[2088,1060]],[7950,[2072,1044,48]],[7951,[2072,1044,48]],[7952,[2068,1048]],[7953,[2084,1064]],[7954,[2068,1048,48]],[7955,[2068,1048,48]],[7956,[2084,1044]],[7957,[2088,1048]],[7958,[2084,1044,12]],[7959,[2084,1044,12]],[7960,[2068,1060]],[7961,[2072,1064]],[7962,[2068,1060,12]],[7963,[2068,1060,12]],[7964,[2084,1044]],[7965,[2068,1060]],[7966,[2068,1044,48]],[7967,[2068,1044,48]],[7968,[2068,1044,48]],[7969,[2088,1048]],[7970,[2072,1064]],[7971,[2072,1048,48]],[7972,[2072,1048,48]],[7973,[2072,1048,48]],[7974,[2072,1044]],[7975,[2068,1048]],[7976,[2068,1044,12]],[7977,[2068,1044,12]],[7978,[2068,1044,12]],[7979,[2088,1060]],[7980,[2084,1064]],[7981,[2084,1060,12]],[7982,[2084,1060,12]],[7983,[2084,1060,12]],[7984,[4116,60]],[7985,[8212,60]],[7986,[8212,4116,60]],[7987,[8212,4116,60]],[7988,[4120,60]],[7989,[8216,60]],[7990,[8216,4120,60]],[7991,[8216,4120,60]],[7992,[8216,4116]],[7993,[8232,4132]],[7994,[8216,4116,48]],[7995,[8216,4116,48]],[7996,[8212,4120]],[7997,[8228,4136]],[7998,[8212,4120,48]],[7999,[8212,4120,48]],[8000,[8228,4116]],[8001,[8232,4120]],[8002,[8228,4116,12]],[8003,[8228,4116,12]],[8004,[8212,4132]],[8005,[8216,4136]],[8006,[8212,4132,12]],[8007,[8212,4132,12]],[8008,[8228,4116]],[8009,[8212,4132]],[8010,[8212,4116,48]],[8011,[8212,4116,48]],[8012,[8212,4116,48]],[8013,[8232,4120]],[8014,[8216,4136]],[8015,[8216,4120,48]],[8016,[8216,4120,48]],[8017,[8216,4120,48]],[8018,[8216,4116]],[8019,[8212,4120]],[8020,[8212,4116,12]],[8021,[8212,4116,12]],[8022,[8212,4116,12]],[8023,[8232,4132]],[8024,[8228,4136]],[8025,[8228,4132,12]],[8026,[8228,4132,12]],[8027,[8228,4132,12]],[8028,[16404,60]],[8029,[32788,60]],[8030,[32788,16404,60]],[8031,[32788,16404,60]],[8032,[16408,60]],[8033,[32792,60]],[8034,[32792,16408,60]],[8035,[32792,16408,60]],[8036,[32792,16404]],[8037,[32808,16420]],[8038,[32792,16404,48]],[8039,[32792,16404,48]],[8040,[32788,16408]],[8041,[32804,16424]],[8042,[32788,16408,48]],[8043,[32788,16408,48]],[8044,[32804,16404]],[8045,[32808,16408]],[8046,[32804,16404,12]],[8047,[32804,16404,12]],[8048,[32788,16420]],[8049,[32792,16424]],[8050,[32788,16420,12]],[8051,[32788,16420,12]],[8052,[32804,16404]],[8053,[32788,16420]],[8054,[32788,16404,48]],[8055,[32788,16404,48]],[8056,[32788,16404,48]],[8057,[32808,16408]],[8058,[32792,16424]],[8059,[32792,16408,48]],[8060,[32792,16408,48]],[8061,[32792,16408,48]],[8062,[32792,16404]],[8063,[32788,16408]],[8064,[32788,16404,12]],[8065,[32788,16404,12]],[8066,[32788,16404,12]],[8067,[32808,16420]],[8068,[32804,16424]],[8069,[32804,16420,12]],[8070,[32804,16420,12]],[8071,[32804,16420,12]],[8072,[65556,60]],[8073,[131092,60]],[8074,[131092,65556,60]],[8075,[131092,65556,60]],[8076,[65560,60]],[8077,[131096,60]],[8078,[131096,65560,60]],[8079,[131096,65560,60]],[8080,[131096,65556]],[8081,[131112,65572]],[8082,[131096,65556,48]],[8083,[131096,65556,48]],[8084,[131092,65560]],[8085,[131108,65576]],[8086,[131092,65560,48]],[8087,[131092,65560,48]],[8088,[131108,65556]],[8089,[131112,65560]],[8090,[131108,65556,12]],[8091,[131108,65556,12]],[8092,[131092,65572]],[8093,[131096,65576]],[8094,[131092,65572,12]],[8095,[131092,65572,12]],[8096,[131108,65556]],[8097,[131092,65572]],[8098,[131092,65556,48]],[8099,[131092,65556,48]],[8100,[131092,65556,48]],[8101,[131112,65560]],[8102,[131096,65576]],[8103,[131096,65560,48]],[8104,[131096,65560,48]],[8105,[131096,65560,48]],[8106,[131096,65556]],[8107,[131092,65560]],[8108,[131092,65556,12]],[8109,[131092,65556,12]],[8110,[131092,65556,12]],[8111,[131112,65572]],[8112,[131108,65576]],[8113,[131108,65572,12]],[8114,[131108,65572,12]],[8115,[131108,65572,12]],[8116,[262164,60]],[8117,[524308,60]],[8118,[524308,262164,60]],[8119,[524308,262164,60]],[8120,[262168,60]],[8121,[524312,60]],[8122,[524312,262168,60]],[8123,[524312,262168,60]],[8124,[524312,262164]],[8125,[524328,262180]],[8126,[524312,262164,48]],[8127,[524312,262164,48]],[8128,[524308,262168]],[8129,[524324,262184]],[8130,[524308,262168,48]],[8131,[524308,262168,48]],[8132,[524324,262164]],[8133,[524328,262168]],[8134,[524324,262164,12]],[8135,[524324,262164,12]],[8136,[524308,262180]],[8137,[524312,262184]],[8138,[524308,262180,12]],[8139,[524308,262180,12]],[8140,[524324,262164]],[8141,[524308,262180]],[8142,[524308,262164,48]],[8143,[524308,262164,48]],[8144,[524308,262164,48]],[8145,[524328,262168]],[8146,[524312,262184]],[8147,[524312,262168,48]],[8148,[524312,262168,48]],[8149,[524312,262168,48]],[8150,[524312,262164]],[8151,[524308,262168]],[8152,[524308,262164,12]],[8153,[524308,262164,12]],[8154,[524308,262164,12]],[8155,[524328,262180]],[8156,[524324,262184]],[8157,[524324,262180,12]],[8158,[524324,262180,12]],[8159,[524324,262180,12]],[8160,[324,204]],[8161,[580,204]],[8162,[580,324,204]],[8163,[580,324,204]],[8164,[328,204]],[8165,[584,204]],[8166,[584,328,204]],[8167,[584,328,204]],[8168,[584,324]],[8169,[648,388]],[8170,[584,324,192]],[8171,[584,324,192]],[8172,[580,328]],[8173,[644,392]],[8174,[580,328,192]],[8175,[580,328,192]],[8176,[644,324]],[8177,[648,328]],[8178,[644,324,12]],[8179,[644,324,12]],[8180,[580,388]],[8181,[584,392]],[8182,[580,388,12]],[8183,[580,388,12]],[8184,[644,324]],[8185,[580,388]],[8186,[580,324,192]],[8187,[580,324,192]],[8188,[580,324,192]],[8189,[648,328]],[8190,[584,392]],[8191,[584,328,192]],[8192,[584,328,192]],[8193,[584,328,192]],[8194,[584,324]],[8195,[580,328]],[8196,[580,324,12]],[8197,[580,324,12]],[8198,[580,324,12]],[8199,[648,388]],[8200,[644,392]],[8201,[644,388,12]],[8202,[644,388,12]],[8203,[644,388,12]],[8204,[1092,204]],[8205,[2116,204]],[8206,[2116,1092,204]],[8207,[2116,1092,204]],[8208,[1096,204]],[8209,[2120,204]],[8210,[2120,1096,204]],[8211,[2120,1096,204]],[8212,[2120,1092]],[8213,[2184,1156]],[8214,[2120,1092,192]],[8215,[2120,1092,192]],[8216,[2116,1096]],[8217,[2180,1160]],[8218,[2116,1096,192]],[8219,[2116,1096,192]],[8220,[2180,1092]],[8221,[2184,1096]],[8222,[2180,1092,12]],[8223,[2180,1092,12]],[8224,[2116,1156]],[8225,[2120,1160]],[8226,[2116,1156,12]],[8227,[2116,1156,12]],[8228,[2180,1092]],[8229,[2116,1156]],[8230,[2116,1092,192]],[8231,[2116,1092,192]],[8232,[2116,1092,192]],[8233,[2184,1096]],[8234,[2120,1160]],[8235,[2120,1096,192]],[8236,[2120,1096,192]],[8237,[2120,1096,192]],[8238,[2120,1092]],[8239,[2116,1096]],[8240,[2116,1092,12]],[8241,[2116,1092,12]],[8242,[2116,1092,12]],[8243,[2184,1156]],[8244,[2180,1160]],[8245,[2180,1156,12]],[8246,[2180,1156,12]],[8247,[2180,1156,12]],[8248,[4164,204]],[8249,[8260,204]],[8250,[8260,4164,204]],[8251,[8260,4164,204]],[8252,[4168,204]],[8253,[8264,204]],[8254,[8264,4168,204]],[8255,[8264,4168,204]],[8256,[8264,4164]],[8257,[8328,4228]],[8258,[8264,4164,192]],[8259,[8264,4164,192]],[8260,[8260,4168]],[8261,[8324,4232]],[8262,[8260,4168,192]],[8263,[8260,4168,192]],[8264,[8324,4164]],[8265,[8328,4168]],[8266,[8324,4164,12]],[8267,[8324,4164,12]],[8268,[8260,4228]],[8269,[8264,4232]],[8270,[8260,4228,12]],[8271,[8260,4228,12]],[8272,[8324,4164]],[8273,[8260,4228]],[8274,[8260,4164,192]],[8275,[8260,4164,192]],[8276,[8260,4164,192]],[8277,[8328,4168]],[8278,[8264,4232]],[8279,[8264,4168,192]],[8280,[8264,4168,192]],[8281,[8264,4168,192]],[8282,[8264,4164]],[8283,[8260,4168]],[8284,[8260,4164,12]],[8285,[8260,4164,12]],[8286,[8260,4164,12]],[8287,[8328,4228]],[8288,[8324,4232]],[8289,[8324,4228,12]],[8290,[8324,4228,12]],[8291,[8324,4228,12]],[8292,[16452,204]],[8293,[32836,204]],[8294,[32836,16452,204]],[8295,[32836,16452,204]],[8296,[16456,204]],[8297,[32840,204]],[8298,[32840,16456,204]],[8299,[32840,16456,204]],[8300,[32840,16452]],[8301,[32904,16516]],[8302,[32840,16452,192]],[8303,[32840,16452,192]],[8304,[32836,16456]],[8305,[32900,16520]],[8306,[32836,16456,192]],[8307,[32836,16456,192]],[8308,[32900,16452]],[8309,[32904,16456]],[8310,[32900,16452,12]],[8311,[32900,16452,12]],[8312,[32836,16516]],[8313,[32840,16520]],[8314,[32836,16516,12]],[8315,[32836,16516,12]],[8316,[32900,16452]],[8317,[32836,16516]],[8318,[32836,16452,192]],[8319,[32836,16452,192]],[8320,[32836,16452,192]],[8321,[32904,16456]],[8322,[32840,16520]],[8323,[32840,16456,192]],[8324,[32840,16456,192]],[8325,[32840,16456,192]],[8326,[32840,16452]],[8327,[32836,16456]],[8328,[32836,16452,12]],[8329,[32836,16452,12]],[8330,[32836,16452,12]],[8331,[32904,16516]],[8332,[32900,16520]],[8333,[32900,16516,12]],[8334,[32900,16516,12]],[8335,[32900,16516,12]],[8336,[65604,204]],[8337,[131140,204]],[8338,[131140,65604,204]],[8339,[131140,65604,204]],[8340,[65608,204]],[8341,[131144,204]],[8342,[131144,65608,204]],[8343,[131144,65608,204]],[8344,[131144,65604]],[8345,[131208,65668]],[8346,[131144,65604,192]],[8347,[131144,65604,192]],[8348,[131140,65608]],[8349,[131204,65672]],[8350,[131140,65608,192]],[8351,[131140,65608,192]],[8352,[131204,65604]],[8353,[131208,65608]],[8354,[131204,65604,12]],[8355,[131204,65604,12]],[8356,[131140,65668]],[8357,[131144,65672]],[8358,[131140,65668,12]],[8359,[131140,65668,12]],[8360,[131204,65604]],[8361,[131140,65668]],[8362,[131140,65604,192]],[8363,[131140,65604,192]],[8364,[131140,65604,192]],[8365,[131208,65608]],[8366,[131144,65672]],[8367,[131144,65608,192]],[8368,[131144,65608,192]],[8369,[131144,65608,192]],[8370,[131144,65604]],[8371,[131140,65608]],[8372,[131140,65604,12]],[8373,[131140,65604,12]],[8374,[131140,65604,12]],[8375,[131208,65668]],[8376,[131204,65672]],[8377,[131204,65668,12]],[8378,[131204,65668,12]],[8379,[131204,65668,12]],[8380,[262212,204]],[8381,[524356,204]],[8382,[524356,262212,204]],[8383,[524356,262212,204]],[8384,[262216,204]],[8385,[524360,204]],[8386,[524360,262216,204]],[8387,[524360,262216,204]],[8388,[524360,262212]],[8389,[524424,262276]],[8390,[524360,262212,192]],[8391,[524360,262212,192]],[8392,[524356,262216]],[8393,[524420,262280]],[8394,[524356,262216,192]],[8395,[524356,262216,192]],[8396,[524420,262212]],[8397,[524424,262216]],[8398,[524420,262212,12]],[8399,[524420,262212,12]],[8400,[524356,262276]],[8401,[524360,262280]],[8402,[524356,262276,12]],[8403,[524356,262276,12]],[8404,[524420,262212]],[8405,[524356,262276]],[8406,[524356,262212,192]],[8407,[524356,262212,192]],[8408,[524356,262212,192]],[8409,[524424,262216]],[8410,[524360,262280]],[8411,[524360,262216,192]],[8412,[524360,262216,192]],[8413,[524360,262216,192]],[8414,[524360,262212]],[8415,[524356,262216]],[8416,[524356,262212,12]],[8417,[524356,262212,12]],[8418,[524356,262212,12]],[8419,[524424,262276]],[8420,[524420,262280]],[8421,[524420,262276,12]],[8422,[524420,262276,12]],[8423,[524420,262276,12]],[8424,[1284,780]],[8425,[2308,780]],[8426,[2308,1284,780]],[8427,[2308,1284,780]],[8428,[1288,780]],[8429,[2312,780]],[8430,[2312,1288,780]],[8431,[2312,1288,780]],[8432,[2312,1284]],[8433,[2568,1540]],[8434,[2312,1284,768]],[8435,[2312,1284,768]],[8436,[2308,1288]],[8437,[2564,1544]],[8438,[2308,1288,768]],[8439,[2308,1288,768]],[8440,[2564,1284]],[8441,[2568,1288]],[8442,[2564,1284,12]],[8443,[2564,1284,12]],[8444,[2308,1540]],[8445,[2312,1544]],[8446,[2308,1540,12]],[8447,[2308,1540,12]],[8448,[2564,1284]],[8449,[2308,1540]],[8450,[2308,1284,768]],[8451,[2308,1284,768]],[8452,[2308,1284,768]],[8453,[2568,1288]],[8454,[2312,1544]],[8455,[2312,1288,768]],[8456,[2312,1288,768]],[8457,[2312,1288,768]],[8458,[2312,1284]],[8459,[2308,1288]],[8460,[2308,1284,12]],[8461,[2308,1284,12]],[8462,[2308,1284,12]],[8463,[2568,1540]],[8464,[2564,1544]],[8465,[2564,1540,12]],[8466,[2564,1540,12]],[8467,[2564,1540,12]],[8468,[4356,780]],[8469,[8452,780]],[8470,[8452,4356,780]],[8471,[8452,4356,780]],[8472,[4360,780]],[8473,[8456,780]],[8474,[8456,4360,780]],[8475,[8456,4360,780]],[8476,[8456,4356]],[8477,[8712,4612]],[8478,[8456,4356,768]],[8479,[8456,4356,768]],[8480,[8452,4360]],[8481,[8708,4616]],[8482,[8452,4360,768]],[8483,[8452,4360,768]],[8484,[8708,4356]],[8485,[8712,4360]],[8486,[8708,4356,12]],[8487,[8708,4356,12]],[8488,[8452,4612]],[8489,[8456,4616]],[8490,[8452,4612,12]],[8491,[8452,4612,12]],[8492,[8708,4356]],[8493,[8452,4612]],[8494,[8452,4356,768]],[8495,[8452,4356,768]],[8496,[8452,4356,768]],[8497,[8712,4360]],[8498,[8456,4616]],[8499,[8456,4360,768]],[8500,[8456,4360,768]],[8501,[8456,4360,768]],[8502,[8456,4356]],[8503,[8452,4360]],[8504,[8452,4356,12]],[8505,[8452,4356,12]],[8506,[8452,4356,12]],[8507,[8712,4612]],[8508,[8708,4616]],[8509,[8708,4612,12]],[8510,[8708,4612,12]],[8511,[8708,4612,12]],[8512,[16644,780]],[8513,[33028,780]],[8514,[33028,16644,780]],[8515,[33028,16644,780]],[8516,[16648,780]],[8517,[33032,780]],[8518,[33032,16648,780]],[8519,[33032,16648,780]],[8520,[33032,16644]],[8521,[33288,16900]],[8522,[33032,16644,768]],[8523,[33032,16644,768]],[8524,[33028,16648]],[8525,[33284,16904]],[8526,[33028,16648,768]],[8527,[33028,16648,768]],[8528,[33284,16644]],[8529,[33288,16648]],[8530,[33284,16644,12]],[8531,[33284,16644,12]],[8532,[33028,16900]],[8533,[33032,16904]],[8534,[33028,16900,12]],[8535,[33028,16900,12]],[8536,[33284,16644]],[8537,[33028,16900]],[8538,[33028,16644,768]],[8539,[33028,16644,768]],[8540,[33028,16644,768]],[8541,[33288,16648]],[8542,[33032,16904]],[8543,[33032,16648,768]],[8544,[33032,16648,768]],[8545,[33032,16648,768]],[8546,[33032,16644]],[8547,[33028,16648]],[8548,[33028,16644,12]],[8549,[33028,16644,12]],[8550,[33028,16644,12]],[8551,[33288,16900]],[8552,[33284,16904]],[8553,[33284,16900,12]],[8554,[33284,16900,12]],[8555,[33284,16900,12]],[8556,[65796,780]],[8557,[131332,780]],[8558,[131332,65796,780]],[8559,[131332,65796,780]],[8560,[65800,780]],[8561,[131336,780]],[8562,[131336,65800,780]],[8563,[131336,65800,780]],[8564,[131336,65796]],[8565,[131592,66052]],[8566,[131336,65796,768]],[8567,[131336,65796,768]],[8568,[131332,65800]],[8569,[131588,66056]],[8570,[131332,65800,768]],[8571,[131332,65800,768]],[8572,[131588,65796]],[8573,[131592,65800]],[8574,[131588,65796,12]],[8575,[131588,65796,12]],[8576,[131332,66052]],[8577,[131336,66056]],[8578,[131332,66052,12]],[8579,[131332,66052,12]],[8580,[131588,65796]],[8581,[131332,66052]],[8582,[131332,65796,768]],[8583,[131332,65796,768]],[8584,[131332,65796,768]],[8585,[131592,65800]],[8586,[131336,66056]],[8587,[131336,65800,768]],[8588,[131336,65800,768]],[8589,[131336,65800,768]],[8590,[131336,65796]],[8591,[131332,65800]],[8592,[131332,65796,12]],[8593,[131332,65796,12]],[8594,[131332,65796,12]],[8595,[131592,66052]],[8596,[131588,66056]],[8597,[131588,66052,12]],[8598,[131588,66052,12]],[8599,[131588,66052,12]],[8600,[262404,780]],[8601,[524548,780]],[8602,[524548,262404,780]],[8603,[524548,262404,780]],[8604,[262408,780]],[8605,[524552,780]],[8606,[524552,262408,780]],[8607,[524552,262408,780]],[8608,[524552,262404]],[8609,[524808,262660]],[8610,[524552,262404,768]],[8611,[524552,262404,768]],[8612,[524548,262408]],[8613,[524804,262664]],[8614,[524548,262408,768]],[8615,[524548,262408,768]],[8616,[524804,262404]],[8617,[524808,262408]],[8618,[524804,262404,12]],[8619,[524804,262404,12]],[8620,[524548,262660]],[8621,[524552,262664]],[8622,[524548,262660,12]],[8623,[524548,262660,12]],[8624,[524804,262404]],[8625,[524548,262660]],[8626,[524548,262404,768]],[8627,[524548,262404,768]],[8628,[524548,262404,768]],[8629,[524808,262408]],[8630,[524552,262664]],[8631,[524552,262408,768]],[8632,[524552,262408,768]],[8633,[524552,262408,768]],[8634,[524552,262404]],[8635,[524548,262408]],[8636,[524548,262404,12]],[8637,[524548,262404,12]],[8638,[524548,262404,12]],[8639,[524808,262660]],[8640,[524804,262664]],[8641,[524804,262660,12]],[8642,[524804,262660,12]],[8643,[524804,262660,12]],[8644,[5124,3084]],[8645,[9220,3084]],[8646,[9220,5124,3084]],[8647,[9220,5124,3084]],[8648,[5128,3084]],[8649,[9224,3084]],[8650,[9224,5128,3084]],[8651,[9224,5128,3084]],[8652,[9224,5124]],[8653,[10248,6148]],[8654,[9224,5124,3072]],[8655,[9224,5124,3072]],[8656,[9220,5128]],[8657,[10244,6152]],[8658,[9220,5128,3072]],[8659,[9220,5128,3072]],[8660,[10244,5124]],[8661,[10248,5128]],[8662,[10244,5124,12]],[8663,[10244,5124,12]],[8664,[9220,6148]],[8665,[9224,6152]],[8666,[9220,6148,12]],[8667,[9220,6148,12]],[8668,[10244,5124]],[8669,[9220,6148]],[8670,[9220,5124,3072]],[8671,[9220,5124,3072]],[8672,[9220,5124,3072]],[8673,[10248,5128]],[8674,[9224,6152]],[8675,[9224,5128,3072]],[8676,[9224,5128,3072]],[8677,[9224,5128,3072]],[8678,[9224,5124]],[8679,[9220,5128]],[8680,[9220,5124,12]],[8681,[9220,5124,12]],[8682,[9220,5124,12]],[8683,[10248,6148]],[8684,[10244,6152]],[8685,[10244,6148,12]],[8686,[10244,6148,12]],[8687,[10244,6148,12]],[8688,[17412,3084]],[8689,[33796,3084]],[8690,[33796,17412,3084]],[8691,[33796,17412,3084]],[8692,[17416,3084]],[8693,[33800,3084]],[8694,[33800,17416,3084]],[8695,[33800,17416,3084]],[8696,[33800,17412]],[8697,[34824,18436]],[8698,[33800,17412,3072]],[8699,[33800,17412,3072]],[8700,[33796,17416]],[8701,[34820,18440]],[8702,[33796,17416,3072]],[8703,[33796,17416,3072]],[8704,[34820,17412]],[8705,[34824,17416]],[8706,[34820,17412,12]],[8707,[34820,17412,12]],[8708,[33796,18436]],[8709,[33800,18440]],[8710,[33796,18436,12]],[8711,[33796,18436,12]],[8712,[34820,17412]],[8713,[33796,18436]],[8714,[33796,17412,3072]],[8715,[33796,17412,3072]],[8716,[33796,17412,3072]],[8717,[34824,17416]],[8718,[33800,18440]],[8719,[33800,17416,3072]],[8720,[33800,17416,3072]],[8721,[33800,17416,3072]],[8722,[33800,17412]],[8723,[33796,17416]],[8724,[33796,17412,12]],[8725,[33796,17412,12]],[8726,[33796,17412,12]],[8727,[34824,18436]],[8728,[34820,18440]],[8729,[34820,18436,12]],[8730,[34820,18436,12]],[8731,[34820,18436,12]],[8732,[66564,3084]],[8733,[132100,3084]],[8734,[132100,66564,3084]],[8735,[132100,66564,3084]],[8736,[66568,3084]],[8737,[132104,3084]],[8738,[132104,66568,3084]],[8739,[132104,66568,3084]],[8740,[132104,66564]],[8741,[133128,67588]],[8742,[132104,66564,3072]],[8743,[132104,66564,3072]],[8744,[132100,66568]],[8745,[133124,67592]],[8746,[132100,66568,3072]],[8747,[132100,66568,3072]],[8748,[133124,66564]],[8749,[133128,66568]],[8750,[133124,66564,12]],[8751,[133124,66564,12]],[8752,[132100,67588]],[8753,[132104,67592]],[8754,[132100,67588,12]],[8755,[132100,67588,12]],[8756,[133124,66564]],[8757,[132100,67588]],[8758,[132100,66564,3072]],[8759,[132100,66564,3072]],[8760,[132100,66564,3072]],[8761,[133128,66568]],[8762,[132104,67592]],[8763,[132104,66568,3072]],[8764,[132104,66568,3072]],[8765,[132104,66568,3072]],[8766,[132104,66564]],[8767,[132100,66568]],[8768,[132100,66564,12]],[8769,[132100,66564,12]],[8770,[132100,66564,12]],[8771,[133128,67588]],[8772,[133124,67592]],[8773,[133124,67588,12]],[8774,[133124,67588,12]],[8775,[133124,67588,12]],[8776,[263172,3084]],[8777,[525316,3084]],[8778,[525316,263172,3084]],[8779,[525316,263172,3084]],[8780,[263176,3084]],[8781,[525320,3084]],[8782,[525320,263176,3084]],[8783,[525320,263176,3084]],[8784,[525320,263172]],[8785,[526344,264196]],[8786,[525320,263172,3072]],[8787,[525320,263172,3072]],[8788,[525316,263176]],[8789,[526340,264200]],[8790,[525316,263176,3072]],[8791,[525316,263176,3072]],[8792,[526340,263172]],[8793,[526344,263176]],[8794,[526340,263172,12]],[8795,[526340,263172,12]],[8796,[525316,264196]],[8797,[525320,264200]],[8798,[525316,264196,12]],[8799,[525316,264196,12]],[8800,[526340,263172]],[8801,[525316,264196]],[8802,[525316,263172,3072]],[8803,[525316,263172,3072]],[8804,[525316,263172,3072]],[8805,[526344,263176]],[8806,[525320,264200]],[8807,[525320,263176,3072]],[8808,[525320,263176,3072]],[8809,[525320,263176,3072]],[8810,[525320,263172]],[8811,[525316,263176]],[8812,[525316,263172,12]],[8813,[525316,263172,12]],[8814,[525316,263172,12]],[8815,[526344,264196]],[8816,[526340,264200]],[8817,[526340,264196,12]],[8818,[526340,264196,12]],[8819,[526340,264196,12]],[8820,[20484,12300]],[8821,[36868,12300]],[8822,[36868,20484,12300]],[8823,[36868,20484,12300]],[8824,[20488,12300]],[8825,[36872,12300]],[8826,[36872,20488,12300]],[8827,[36872,20488,12300]],[8828,[36872,20484]],[8829,[40968,24580]],[8830,[36872,20484,12288]],[8831,[36872,20484,12288]],[8832,[36868,20488]],[8833,[40964,24584]],[8834,[36868,20488,12288]],[8835,[36868,20488,12288]],[8836,[40964,20484]],[8837,[40968,20488]],[8838,[40964,20484,12]],[8839,[40964,20484,12]],[8840,[36868,24580]],[8841,[36872,24584]],[8842,[36868,24580,12]],[8843,[36868,24580,12]],[8844,[40964,20484]],[8845,[36868,24580]],[8846,[36868,20484,12288]],[8847,[36868,20484,12288]],[8848,[36868,20484,12288]],[8849,[36868,20484,12288]],[8850,[40968,20488]],[8851,[36872,24584]],[8852,[36872,20488,12288]],[8853,[36872,20488,12288]],[8854,[36872,20488,12288]],[8855,[36872,20488,12288]],[8856,[36872,20484]],[8857,[36868,20488]],[8858,[36868,20484,12]],[8859,[36868,20484,12]],[8860,[36868,20484,12]],[8861,[40968,24580]],[8862,[40964,24584]],[8863,[40964,24580,12]],[8864,[40964,24580,12]],[8865,[40964,24580,12]],[8866,[69636,12300]],[8867,[135172,12300]],[8868,[135172,69636,12300]],[8869,[135172,69636,12300]],[8870,[69640,12300]],[8871,[135176,12300]],[8872,[135176,69640,12300]],[8873,[135176,69640,12300]],[8874,[135176,69636]],[8875,[139272,73732]],[8876,[135176,69636,12288]],[8877,[135176,69636,12288]],[8878,[135172,69640]],[8879,[139268,73736]],[8880,[135172,69640,12288]],[8881,[135172,69640,12288]],[8882,[139268,69636]],[8883,[139272,69640]],[8884,[139268,69636,12]],[8885,[139268,69636,12]],[8886,[135172,73732]],[8887,[135176,73736]],[8888,[135172,73732,12]],[8889,[135172,73732,12]],[8890,[139268,69636]],[8891,[135172,73732]],[8892,[135172,69636,12288]],[8893,[135172,69636,12288]],[8894,[135172,69636,12288]],[8895,[139272,69640]],[8896,[135176,73736]],[8897,[135176,69640,12288]],[8898,[135176,69640,12288]],[8899,[135176,69640,12288]],[8900,[135176,69636]],[8901,[135172,69640]],[8902,[135172,69636,12]],[8903,[135172,69636,12]],[8904,[135172,69636,12]],[8905,[139272,73732]],[8906,[139268,73736]],[8907,[139268,73732,12]],[8908,[139268,73732,12]],[8909,[139268,73732,12]],[8910,[266244,12300]],[8911,[528388,12300]],[8912,[528388,266244,12300]],[8913,[528388,266244,12300]],[8914,[266248,12300]],[8915,[528392,12300]],[8916,[528392,266248,12300]],[8917,[528392,266248,12300]],[8918,[528392,266244]],[8919,[532488,270340]],[8920,[528392,266244,12288]],[8921,[528392,266244,12288]],[8922,[528388,266248]],[8923,[532484,270344]],[8924,[528388,266248,12288]],[8925,[528388,266248,12288]],[8926,[532484,266244]],[8927,[532488,266248]],[8928,[532484,266244,12]],[8929,[532484,266244,12]],[8930,[528388,270340]],[8931,[528392,270344]],[8932,[528388,270340,12]],[8933,[528388,270340,12]],[8934,[532484,266244]],[8935,[528388,270340]],[8936,[528388,266244,12288]],[8937,[528388,266244,12288]],[8938,[528388,266244,12288]],[8939,[532488,266248]],[8940,[528392,270344]],[8941,[528392,266248,12288]],[8942,[528392,266248,12288]],[8943,[528392,266248,12288]],[8944,[528392,266244]],[8945,[528388,266248]],[8946,[528388,266244,12]],[8947,[528388,266244,12]],[8948,[528388,266244,12]],[8949,[532488,270340]],[8950,[532484,270344]],[8951,[532484,270340,12]],[8952,[532484,270340,12]],[8953,[532484,270340,12]],[8954,[81924,49164]],[8955,[147460,49164]],[8956,[147460,81924,49164]],[8957,[147460,81924,49164]],[8958,[81928,49164]],[8959,[147464,49164]],[8960,[147464,81928,49164]],[8961,[147464,81928,49164]],[8962,[147464,81924]],[8963,[163848,98308]],[8964,[147464,81924,49152]],[8965,[147464,81924,49152]],[8966,[147460,81928]],[8967,[163844,98312]],[8968,[147460,81928,49152]],[8969,[147460,81928,49152]],[8970,[163844,81924]],[8971,[163848,81928]],[8972,[163844,81924,12]],[8973,[163844,81924,12]],[8974,[147460,98308]],[8975,[147464,98312]],[8976,[147460,98308,12]],[8977,[147460,98308,12]],[8978,[163844,81924]],[8979,[147460,98308]],[8980,[147460,81924,49152]],[8981,[147460,81924,49152]],[8982,[147460,81924,49152]],[8983,[163848,81928]],[8984,[147464,98312]],[8985,[147464,81928,49152]],[8986,[147464,81928,49152]],[8987,[147464,81928,49152]],[8988,[147464,81924]],[8989,[147460,81928]],[8990,[147460,81924,12]],[8991,[147460,81924,12]],[8992,[147460,81924,12]],[8993,[163848,98308]],[8994,[163844,98312]],[8995,[163844,98308,12]],[8996,[163844,98308,12]],[8997,[163844,98308,12]],[8998,[278532,49164]],[8999,[540676,49164]],[9000,[540676,278532,49164]],[9001,[540676,278532,49164]],[9002,[278536,49164]],[9003,[540680,49164]],[9004,[540680,278536,49164]],[9005,[540680,278536,49164]],[9006,[540680,278532]],[9007,[557064,294916]],[9008,[540680,278532,49152]],[9009,[540680,278532,49152]],[9010,[540676,278536]],[9011,[557060,294920]],[9012,[540676,278536,49152]],[9013,[540676,278536,49152]],[9014,[557060,278532]],[9015,[557064,278536]],[9016,[557060,278532,12]],[9017,[557060,278532,12]],[9018,[540676,294916]],[9019,[540680,294920]],[9020,[540676,294916,12]],[9021,[540676,294916,12]],[9022,[557060,278532]],[9023,[540676,294916]],[9024,[540676,278532,49152]],[9025,[540676,278532,49152]],[9026,[540676,278532,49152]],[9027,[557064,278536]],[9028,[540680,294920]],[9029,[540680,278536,49152]],[9030,[540680,278536,49152]],[9031,[540680,278536,49152]],[9032,[540680,278532]],[9033,[540676,278536]],[9034,[540676,278532,12]],[9035,[540676,278532,12]],[9036,[540676,278532,12]],[9037,[557064,294916]],[9038,[557060,294920]],[9039,[557060,294916,12]],[9040,[557060,294916,12]],[9041,[557060,294916,12]],[9042,[327684,196620]],[9043,[589828,196620]],[9044,[589828,327684,196620]],[9045,[589828,327684,196620]],[9046,[327688,196620]],[9047,[589832,196620]],[9048,[589832,327688,196620]],[9049,[589832,327688,196620]],[9050,[589832,327684]],[9051,[655368,393220]],[9052,[589832,327684,196608]],[9053,[589832,327684,196608]],[9054,[589828,327688]],[9055,[655364,393224]],[9056,[589828,327688,196608]],[9057,[589828,327688,196608]],[9058,[655364,327684]],[9059,[655368,327688]],[9060,[655364,327684,12]],[9061,[655364,327684,12]],[9062,[589828,393220]],[9063,[589832,393224]],[9064,[589828,393220,12]],[9065,[589828,393220,12]],[9066,[655364,327684]],[9067,[589828,393220]],[9068,[589828,327684,196608]],[9069,[589828,327684,196608]],[9070,[589828,327684,196608]],[9071,[655368,327688]],[9072,[589832,393224]],[9073,[589832,327688,196608]],[9074,[589832,327688,196608]],[9075,[589832,327688,196608]],[9076,[589832,327684]],[9077,[589828,327688]],[9078,[589828,327684,12]],[9079,[589828,327684,12]],[9080,[589828,327684,12]],[9081,[655368,393220]],[9082,[655364,393224]],[9083,[655364,393220,12]],[9084,[655364,393220,12]],[9085,[655364,393220,12]],[9086,[336,240]],[9087,[592,240]],[9088,[592,336,240]],[9089,[592,336,240]],[9090,[352,240]],[9091,[608,240]],[9092,[608,352,240]],[9093,[608,352,240]],[9094,[608,336]],[9095,[672,400]],[9096,[608,336,192]],[9097,[608,336,192]],[9098,[592,352]],[9099,[656,416]],[9100,[592,352,192]],[9101,[592,352,192]],[9102,[656,336]],[9103,[672,352]],[9104,[656,336,48]],[9105,[656,336,48]],[9106,[592,400]],[9107,[608,416]],[9108,[592,400,48]],[9109,[592,400,48]],[9110,[656,336]],[9111,[592,400]],[9112,[592,336,192]],[9113,[592,336,192]],[9114,[592,336,192]],[9115,[672,352]],[9116,[608,416]],[9117,[608,352,192]],[9118,[608,352,192]],[9119,[608,352,192]],[9120,[608,336]],[9121,[592,352]],[9122,[592,336,48]],[9123,[592,336,48]],[9124,[592,336,48]],[9125,[672,400]],[9126,[656,416]],[9127,[656,400,48]],[9128,[656,400,48]],[9129,[656,400,48]],[9130,[1104,240]],[9131,[2128,240]],[9132,[2128,1104,240]],[9133,[2128,1104,240]],[9134,[1120,240]],[9135,[2144,240]],[9136,[2144,1120,240]],[9137,[2144,1120,240]],[9138,[2144,1104]],[9139,[2208,1168]],[9140,[2144,1104,192]],[9141,[2144,1104,192]],[9142,[2128,1120]],[9143,[2192,1184]],[9144,[2128,1120,192]],[9145,[2128,1120,192]],[9146,[2192,1104]],[9147,[2208,1120]],[9148,[2192,1104,48]],[9149,[2192,1104,48]],[9150,[2128,1168]],[9151,[2144,1184]],[9152,[2128,1168,48]],[9153,[2128,1168,48]],[9154,[2192,1104]],[9155,[2128,1168]],[9156,[2128,1104,192]],[9157,[2128,1104,192]],[9158,[2128,1104,192]],[9159,[2208,1120]],[9160,[2144,1184]],[9161,[2144,1120,192]],[9162,[2144,1120,192]],[9163,[2144,1120,192]],[9164,[2144,1104]],[9165,[2128,1120]],[9166,[2128,1104,48]],[9167,[2128,1104,48]],[9168,[2128,1104,48]],[9169,[2208,1168]],[9170,[2192,1184]],[9171,[2192,1168,48]],[9172,[2192,1168,48]],[9173,[2192,1168,48]],[9174,[4176,240]],[9175,[8272,240]],[9176,[8272,4176,240]],[9177,[8272,4176,240]],[9178,[4192,240]],[9179,[8288,240]],[9180,[8288,4192,240]],[9181,[8288,4192,240]],[9182,[8288,4176]],[9183,[8352,4240]],[9184,[8288,4176,192]],[9185,[8288,4176,192]],[9186,[8272,4192]],[9187,[8336,4256]],[9188,[8272,4192,192]],[9189,[8272,4192,192]],[9190,[8336,4176]],[9191,[8352,4192]],[9192,[8336,4176,48]],[9193,[8336,4176,48]],[9194,[8272,4240]],[9195,[8288,4256]],[9196,[8272,4240,48]],[9197,[8272,4240,48]],[9198,[8336,4176]],[9199,[8272,4240]],[9200,[8272,4176,192]],[9201,[8272,4176,192]],[9202,[8272,4176,192]],[9203,[8352,4192]],[9204,[8288,4256]],[9205,[8288,4192,192]],[9206,[8288,4192,192]],[9207,[8288,4192,192]],[9208,[8288,4176]],[9209,[8272,4192]],[9210,[8272,4176,48]],[9211,[8272,4176,48]],[9212,[8272,4176,48]],[9213,[8352,4240]],[9214,[8336,4256]],[9215,[8336,4240,48]],[9216,[8336,4240,48]],[9217,[8336,4240,48]],[9218,[16464,240]],[9219,[32848,240]],[9220,[32848,16464,240]],[9221,[32848,16464,240]],[9222,[16480,240]],[9223,[32864,240]],[9224,[32864,16480,240]],[9225,[32864,16480,240]],[9226,[32864,16464]],[9227,[32928,16528]],[9228,[32864,16464,192]],[9229,[32864,16464,192]],[9230,[32848,16480]],[9231,[32912,16544]],[9232,[32848,16480,192]],[9233,[32848,16480,192]],[9234,[32912,16464]],[9235,[32928,16480]],[9236,[32912,16464,48]],[9237,[32912,16464,48]],[9238,[32848,16528]],[9239,[32864,16544]],[9240,[32848,16528,48]],[9241,[32848,16528,48]],[9242,[32912,16464]],[9243,[32848,16528]],[9244,[32848,16464,192]],[9245,[32848,16464,192]],[9246,[32848,16464,192]],[9247,[32928,16480]],[9248,[32864,16544]],[9249,[32864,16480,192]],[9250,[32864,16480,192]],[9251,[32864,16480,192]],[9252,[32864,16464]],[9253,[32848,16480]],[9254,[32848,16464,48]],[9255,[32848,16464,48]],[9256,[32848,16464,48]],[9257,[32928,16528]],[9258,[32912,16544]],[9259,[32912,16528,48]],[9260,[32912,16528,48]],[9261,[32912,16528,48]],[9262,[65616,240]],[9263,[131152,240]],[9264,[131152,65616,240]],[9265,[131152,65616,240]],[9266,[65632,240]],[9267,[131168,240]],[9268,[131168,65632,240]],[9269,[131168,65632,240]],[9270,[131168,65616]],[9271,[131232,65680]],[9272,[131168,65616,192]],[9273,[131168,65616,192]],[9274,[131152,65632]],[9275,[131216,65696]],[9276,[131152,65632,192]],[9277,[131152,65632,192]],[9278,[131216,65616]],[9279,[131232,65632]],[9280,[131216,65616,48]],[9281,[131216,65616,48]],[9282,[131152,65680]],[9283,[131168,65696]],[9284,[131152,65680,48]],[9285,[131152,65680,48]],[9286,[131216,65616]],[9287,[131152,65680]],[9288,[131152,65616,192]],[9289,[131152,65616,192]],[9290,[131152,65616,192]],[9291,[131232,65632]],[9292,[131168,65696]],[9293,[131168,65632,192]],[9294,[131168,65632,192]],[9295,[131168,65632,192]],[9296,[131168,65616]],[9297,[131152,65632]],[9298,[131152,65616,48]],[9299,[131152,65616,48]],[9300,[131152,65616,48]],[9301,[131232,65680]],[9302,[131216,65696]],[9303,[131216,65680,48]],[9304,[131216,65680,48]],[9305,[131216,65680,48]],[9306,[262224,240]],[9307,[524368,240]],[9308,[524368,262224,240]],[9309,[524368,262224,240]],[9310,[262240,240]],[9311,[524384,240]],[9312,[524384,262240,240]],[9313,[524384,262240,240]],[9314,[524384,262224]],[9315,[524448,262288]],[9316,[524384,262224,192]],[9317,[524384,262224,192]],[9318,[524368,262240]],[9319,[524432,262304]],[9320,[524368,262240,192]],[9321,[524368,262240,192]],[9322,[524432,262224]],[9323,[524448,262240]],[9324,[524432,262224,48]],[9325,[524432,262224,48]],[9326,[524368,262288]],[9327,[524384,262304]],[9328,[524368,262288,48]],[9329,[524368,262288,48]],[9330,[524432,262224]],[9331,[524368,262288]],[9332,[524368,262224,192]],[9333,[524368,262224,192]],[9334,[524368,262224,192]],[9335,[524448,262240]],[9336,[524384,262304]],[9337,[524384,262240,192]],[9338,[524384,262240,192]],[9339,[524384,262240,192]],[9340,[524384,262224]],[9341,[524368,262240]],[9342,[524368,262224,48]],[9343,[524368,262224,48]],[9344,[524368,262224,48]],[9345,[524448,262288]],[9346,[524432,262304]],[9347,[524432,262288,48]],[9348,[524432,262288,48]],[9349,[524432,262288,48]],[9350,[1296,816]],[9351,[2320,816]],[9352,[2320,1296,816]],[9353,[2320,1296,816]],[9354,[1312,816]],[9355,[2336,816]],[9356,[2336,1312,816]],[9357,[2336,1312,816]],[9358,[2336,1296]],[9359,[2592,1552]],[9360,[2336,1296,768]],[9361,[2336,1296,768]],[9362,[2320,1312]],[9363,[2576,1568]],[9364,[2320,1312,768]],[9365,[2320,1312,768]],[9366,[2576,1296]],[9367,[2592,1312]],[9368,[2576,1296,48]],[9369,[2576,1296,48]],[9370,[2320,1552]],[9371,[2336,1568]],[9372,[2320,1552,48]],[9373,[2320,1552,48]],[9374,[2576,1296]],[9375,[2320,1552]],[9376,[2320,1296,768]],[9377,[2320,1296,768]],[9378,[2320,1296,768]],[9379,[2592,1312]],[9380,[2336,1568]],[9381,[2336,1312,768]],[9382,[2336,1312,768]],[9383,[2336,1312,768]],[9384,[2336,1296]],[9385,[2320,1312]],[9386,[2320,1296,48]],[9387,[2320,1296,48]],[9388,[2320,1296,48]],[9389,[2592,1552]],[9390,[2576,1568]],[9391,[2576,1552,48]],[9392,[2576,1552,48]],[9393,[2576,1552,48]],[9394,[4368,816]],[9395,[8464,816]],[9396,[8464,4368,816]],[9397,[8464,4368,816]],[9398,[4384,816]],[9399,[8480,816]],[9400,[8480,4384,816]],[9401,[8480,4384,816]],[9402,[8480,4368]],[9403,[8736,4624]],[9404,[8480,4368,768]],[9405,[8480,4368,768]],[9406,[8464,4384]],[9407,[8720,4640]],[9408,[8464,4384,768]],[9409,[8464,4384,768]],[9410,[8720,4368]],[9411,[8736,4384]],[9412,[8720,4368,48]],[9413,[8720,4368,48]],[9414,[8464,4624]],[9415,[8480,4640]],[9416,[8464,4624,48]],[9417,[8464,4624,48]],[9418,[8720,4368]],[9419,[8464,4624]],[9420,[8464,4368,768]],[9421,[8464,4368,768]],[9422,[8464,4368,768]],[9423,[8736,4384]],[9424,[8480,4640]],[9425,[8480,4384,768]],[9426,[8480,4384,768]],[9427,[8480,4384,768]],[9428,[8480,4368]],[9429,[8464,4384]],[9430,[8464,4368,48]],[9431,[8464,4368,48]],[9432,[8464,4368,48]],[9433,[8736,4624]],[9434,[8720,4640]],[9435,[8720,4624,48]],[9436,[8720,4624,48]],[9437,[8720,4624,48]],[9438,[16656,816]],[9439,[33040,816]],[9440,[33040,16656,816]],[9441,[33040,16656,816]],[9442,[16672,816]],[9443,[33056,816]],[9444,[33056,16672,816]],[9445,[33056,16672,816]],[9446,[33056,16656]],[9447,[33312,16912]],[9448,[33056,16656,768]],[9449,[33056,16656,768]],[9450,[33040,16672]],[9451,[33296,16928]],[9452,[33040,16672,768]],[9453,[33040,16672,768]],[9454,[33296,16656]],[9455,[33312,16672]],[9456,[33296,16656,48]],[9457,[33296,16656,48]],[9458,[33040,16912]],[9459,[33056,16928]],[9460,[33040,16912,48]],[9461,[33040,16912,48]],[9462,[33296,16656]],[9463,[33040,16912]],[9464,[33040,16656,768]],[9465,[33040,16656,768]],[9466,[33040,16656,768]],[9467,[33312,16672]],[9468,[33056,16928]],[9469,[33056,16672,768]],[9470,[33056,16672,768]],[9471,[33056,16672,768]],[9472,[33056,16656]],[9473,[33040,16672]],[9474,[33040,16656,48]],[9475,[33040,16656,48]],[9476,[33040,16656,48]],[9477,[33312,16912]],[9478,[33296,16928]],[9479,[33296,16912,48]],[9480,[33296,16912,48]],[9481,[33296,16912,48]],[9482,[65808,816]],[9483,[131344,816]],[9484,[131344,65808,816]],[9485,[131344,65808,816]],[9486,[65824,816]],[9487,[131360,816]],[9488,[131360,65824,816]],[9489,[131360,65824,816]],[9490,[131360,65808]],[9491,[131616,66064]],[9492,[131360,65808,768]],[9493,[131360,65808,768]],[9494,[131344,65824]],[9495,[131600,66080]],[9496,[131344,65824,768]],[9497,[131344,65824,768]],[9498,[131600,65808]],[9499,[131616,65824]],[9500,[131600,65808,48]],[9501,[131600,65808,48]],[9502,[131344,66064]],[9503,[131360,66080]],[9504,[131344,66064,48]],[9505,[131344,66064,48]],[9506,[131600,65808]],[9507,[131344,66064]],[9508,[131344,65808,768]],[9509,[131344,65808,768]],[9510,[131344,65808,768]],[9511,[131616,65824]],[9512,[131360,66080]],[9513,[131360,65824,768]],[9514,[131360,65824,768]],[9515,[131360,65824,768]],[9516,[131360,65808]],[9517,[131344,65824]],[9518,[131344,65808,48]],[9519,[131344,65808,48]],[9520,[131344,65808,48]],[9521,[131616,66064]],[9522,[131600,66080]],[9523,[131600,66064,48]],[9524,[131600,66064,48]],[9525,[131600,66064,48]],[9526,[262416,816]],[9527,[524560,816]],[9528,[524560,262416,816]],[9529,[524560,262416,816]],[9530,[262432,816]],[9531,[524576,816]],[9532,[524576,262432,816]],[9533,[524576,262432,816]],[9534,[524576,262416]],[9535,[524832,262672]],[9536,[524576,262416,768]],[9537,[524576,262416,768]],[9538,[524560,262432]],[9539,[524816,262688]],[9540,[524560,262432,768]],[9541,[524560,262432,768]],[9542,[524816,262416]],[9543,[524832,262432]],[9544,[524816,262416,48]],[9545,[524816,262416,48]],[9546,[524560,262672]],[9547,[524576,262688]],[9548,[524560,262672,48]],[9549,[524560,262672,48]],[9550,[524816,262416]],[9551,[524560,262672]],[9552,[524560,262416,768]],[9553,[524560,262416,768]],[9554,[524560,262416,768]],[9555,[524832,262432]],[9556,[524576,262688]],[9557,[524576,262432,768]],[9558,[524576,262432,768]],[9559,[524576,262432,768]],[9560,[524576,262416]],[9561,[524560,262432]],[9562,[524560,262416,48]],[9563,[524560,262416,48]],[9564,[524560,262416,48]],[9565,[524832,262672]],[9566,[524816,262688]],[9567,[524816,262672,48]],[9568,[524816,262672,48]],[9569,[524816,262672,48]],[9570,[5136,3120]],[9571,[9232,3120]],[9572,[9232,5136,3120]],[9573,[9232,5136,3120]],[9574,[5152,3120]],[9575,[9248,3120]],[9576,[9248,5152,3120]],[9577,[9248,5152,3120]],[9578,[9248,5136]],[9579,[10272,6160]],[9580,[9248,5136,3072]],[9581,[9248,5136,3072]],[9582,[9232,5152]],[9583,[10256,6176]],[9584,[9232,5152,3072]],[9585,[9232,5152,3072]],[9586,[10256,5136]],[9587,[10272,5152]],[9588,[10256,5136,48]],[9589,[10256,5136,48]],[9590,[9232,6160]],[9591,[9248,6176]],[9592,[9232,6160,48]],[9593,[9232,6160,48]],[9594,[10256,5136]],[9595,[9232,6160]],[9596,[9232,5136,3072]],[9597,[9232,5136,3072]],[9598,[9232,5136,3072]],[9599,[10272,5152]],[9600,[9248,6176]],[9601,[9248,5152,3072]],[9602,[9248,5152,3072]],[9603,[9248,5152,3072]],[9604,[9248,5136]],[9605,[9232,5152]],[9606,[9232,5136,48]],[9607,[9232,5136,48]],[9608,[9232,5136,48]],[9609,[10272,6160]],[9610,[10256,6176]],[9611,[10256,6160,48]],[9612,[10256,6160,48]],[9613,[10256,6160,48]],[9614,[17424,3120]],[9615,[33808,3120]],[9616,[33808,17424,3120]],[9617,[33808,17424,3120]],[9618,[17440,3120]],[9619,[33824,3120]],[9620,[33824,17440,3120]],[9621,[33824,17440,3120]],[9622,[33824,17424]],[9623,[34848,18448]],[9624,[33824,17424,3072]],[9625,[33824,17424,3072]],[9626,[33808,17440]],[9627,[34832,18464]],[9628,[33808,17440,3072]],[9629,[33808,17440,3072]],[9630,[34832,17424]],[9631,[34848,17440]],[9632,[34832,17424,48]],[9633,[34832,17424,48]],[9634,[33808,18448]],[9635,[33824,18464]],[9636,[33808,18448,48]],[9637,[33808,18448,48]],[9638,[34832,17424]],[9639,[33808,18448]],[9640,[33808,17424,3072]],[9641,[33808,17424,3072]],[9642,[33808,17424,3072]],[9643,[34848,17440]],[9644,[33824,18464]],[9645,[33824,17440,3072]],[9646,[33824,17440,3072]],[9647,[33824,17440,3072]],[9648,[33824,17424]],[9649,[33808,17440]],[9650,[33808,17424,48]],[9651,[33808,17424,48]],[9652,[33808,17424,48]],[9653,[34848,18448]],[9654,[34832,18464]],[9655,[34832,18448,48]],[9656,[34832,18448,48]],[9657,[34832,18448,48]],[9658,[66576,3120]],[9659,[132112,3120]],[9660,[132112,66576,3120]],[9661,[132112,66576,3120]],[9662,[66592,3120]],[9663,[132128,3120]],[9664,[132128,66592,3120]],[9665,[132128,66592,3120]],[9666,[132128,66576]],[9667,[133152,67600]],[9668,[132128,66576,3072]],[9669,[132128,66576,3072]],[9670,[132112,66592]],[9671,[133136,67616]],[9672,[132112,66592,3072]],[9673,[132112,66592,3072]],[9674,[133136,66576]],[9675,[133152,66592]],[9676,[133136,66576,48]],[9677,[133136,66576,48]],[9678,[132112,67600]],[9679,[132128,67616]],[9680,[132112,67600,48]],[9681,[132112,67600,48]],[9682,[133136,66576]],[9683,[132112,67600]],[9684,[132112,66576,3072]],[9685,[132112,66576,3072]],[9686,[132112,66576,3072]],[9687,[133152,66592]],[9688,[132128,67616]],[9689,[132128,66592,3072]],[9690,[132128,66592,3072]],[9691,[132128,66592,3072]],[9692,[132128,66576]],[9693,[132112,66592]],[9694,[132112,66576,48]],[9695,[132112,66576,48]],[9696,[132112,66576,48]],[9697,[133152,67600]],[9698,[133136,67616]],[9699,[133136,67600,48]],[9700,[133136,67600,48]],[9701,[133136,67600,48]],[9702,[263184,3120]],[9703,[525328,3120]],[9704,[525328,263184,3120]],[9705,[525328,263184,3120]],[9706,[263200,3120]],[9707,[525344,3120]],[9708,[525344,263200,3120]],[9709,[525344,263200,3120]],[9710,[525344,263184]],[9711,[526368,264208]],[9712,[525344,263184,3072]],[9713,[525344,263184,3072]],[9714,[525328,263200]],[9715,[526352,264224]],[9716,[525328,263200,3072]],[9717,[525328,263200,3072]],[9718,[526352,263184]],[9719,[526368,263200]],[9720,[526352,263184,48]],[9721,[526352,263184,48]],[9722,[525328,264208]],[9723,[525344,264224]],[9724,[525328,264208,48]],[9725,[525328,264208,48]],[9726,[526352,263184]],[9727,[525328,264208]],[9728,[525328,263184,3072]],[9729,[525328,263184,3072]],[9730,[525328,263184,3072]],[9731,[526368,263200]],[9732,[525344,264224]],[9733,[525344,263200,3072]],[9734,[525344,263200,3072]],[9735,[525344,263200,3072]],[9736,[525344,263184]],[9737,[525328,263200]],[9738,[525328,263184,48]],[9739,[525328,263184,48]],[9740,[525328,263184,48]],[9741,[526368,264208]],[9742,[526352,264224]],[9743,[526352,264208,48]],[9744,[526352,264208,48]],[9745,[526352,264208,48]],[9746,[20496,12336]],[9747,[36880,12336]],[9748,[36880,20496,12336]],[9749,[36880,20496,12336]],[9750,[20512,12336]],[9751,[36896,12336]],[9752,[36896,20512,12336]],[9753,[36896,20512,12336]],[9754,[36896,20496]],[9755,[40992,24592]],[9756,[36896,20496,12288]],[9757,[36896,20496,12288]],[9758,[36880,20512]],[9759,[40976,24608]],[9760,[36880,20512,12288]],[9761,[36880,20512,12288]],[9762,[40976,20496]],[9763,[40992,20512]],[9764,[40976,20496,48]],[9765,[40976,20496,48]],[9766,[36880,24592]],[9767,[36896,24608]],[9768,[36880,24592,48]],[9769,[36880,24592,48]],[9770,[40976,20496]],[9771,[36880,24592]],[9772,[36880,20496,12288]],[9773,[36880,20496,12288]],[9774,[36880,20496,12288]],[9775,[36880,20496,12288]],[9776,[40992,20512]],[9777,[36896,24608]],[9778,[36896,20512,12288]],[9779,[36896,20512,12288]],[9780,[36896,20512,12288]],[9781,[36896,20512,12288]],[9782,[36896,20496]],[9783,[36880,20512]],[9784,[36880,20496,48]],[9785,[36880,20496,48]],[9786,[36880,20496,48]],[9787,[40992,24592]],[9788,[40976,24608]],[9789,[40976,24592,48]],[9790,[40976,24592,48]],[9791,[40976,24592,48]],[9792,[69648,12336]],[9793,[135184,12336]],[9794,[135184,69648,12336]],[9795,[135184,69648,12336]],[9796,[69664,12336]],[9797,[135200,12336]],[9798,[135200,69664,12336]],[9799,[135200,69664,12336]],[9800,[135200,69648]],[9801,[139296,73744]],[9802,[135200,69648,12288]],[9803,[135200,69648,12288]],[9804,[135184,69664]],[9805,[139280,73760]],[9806,[135184,69664,12288]],[9807,[135184,69664,12288]],[9808,[139280,69648]],[9809,[139296,69664]],[9810,[139280,69648,48]],[9811,[139280,69648,48]],[9812,[135184,73744]],[9813,[135200,73760]],[9814,[135184,73744,48]],[9815,[135184,73744,48]],[9816,[139280,69648]],[9817,[135184,73744]],[9818,[135184,69648,12288]],[9819,[135184,69648,12288]],[9820,[135184,69648,12288]],[9821,[139296,69664]],[9822,[135200,73760]],[9823,[135200,69664,12288]],[9824,[135200,69664,12288]],[9825,[135200,69664,12288]],[9826,[135200,69648]],[9827,[135184,69664]],[9828,[135184,69648,48]],[9829,[135184,69648,48]],[9830,[135184,69648,48]],[9831,[139296,73744]],[9832,[139280,73760]],[9833,[139280,73744,48]],[9834,[139280,73744,48]],[9835,[139280,73744,48]],[9836,[266256,12336]],[9837,[528400,12336]],[9838,[528400,266256,12336]],[9839,[528400,266256,12336]],[9840,[266272,12336]],[9841,[528416,12336]],[9842,[528416,266272,12336]],[9843,[528416,266272,12336]],[9844,[528416,266256]],[9845,[532512,270352]],[9846,[528416,266256,12288]],[9847,[528416,266256,12288]],[9848,[528400,266272]],[9849,[532496,270368]],[9850,[528400,266272,12288]],[9851,[528400,266272,12288]],[9852,[532496,266256]],[9853,[532512,266272]],[9854,[532496,266256,48]],[9855,[532496,266256,48]],[9856,[528400,270352]],[9857,[528416,270368]],[9858,[528400,270352,48]],[9859,[528400,270352,48]],[9860,[532496,266256]],[9861,[528400,270352]],[9862,[528400,266256,12288]],[9863,[528400,266256,12288]],[9864,[528400,266256,12288]],[9865,[532512,266272]],[9866,[528416,270368]],[9867,[528416,266272,12288]],[9868,[528416,266272,12288]],[9869,[528416,266272,12288]],[9870,[528416,266256]],[9871,[528400,266272]],[9872,[528400,266256,48]],[9873,[528400,266256,48]],[9874,[528400,266256,48]],[9875,[532512,270352]],[9876,[532496,270368]],[9877,[532496,270352,48]],[9878,[532496,270352,48]],[9879,[532496,270352,48]],[9880,[81936,49200]],[9881,[147472,49200]],[9882,[147472,81936,49200]],[9883,[147472,81936,49200]],[9884,[81952,49200]],[9885,[147488,49200]],[9886,[147488,81952,49200]],[9887,[147488,81952,49200]],[9888,[147488,81936]],[9889,[163872,98320]],[9890,[147488,81936,49152]],[9891,[147488,81936,49152]],[9892,[147472,81952]],[9893,[163856,98336]],[9894,[147472,81952,49152]],[9895,[147472,81952,49152]],[9896,[163856,81936]],[9897,[163872,81952]],[9898,[163856,81936,48]],[9899,[163856,81936,48]],[9900,[147472,98320]],[9901,[147488,98336]],[9902,[147472,98320,48]],[9903,[147472,98320,48]],[9904,[163856,81936]],[9905,[147472,98320]],[9906,[147472,81936,49152]],[9907,[147472,81936,49152]],[9908,[147472,81936,49152]],[9909,[163872,81952]],[9910,[147488,98336]],[9911,[147488,81952,49152]],[9912,[147488,81952,49152]],[9913,[147488,81952,49152]],[9914,[147488,81936]],[9915,[147472,81952]],[9916,[147472,81936,48]],[9917,[147472,81936,48]],[9918,[147472,81936,48]],[9919,[163872,98320]],[9920,[163856,98336]],[9921,[163856,98320,48]],[9922,[163856,98320,48]],[9923,[163856,98320,48]],[9924,[278544,49200]],[9925,[540688,49200]],[9926,[540688,278544,49200]],[9927,[540688,278544,49200]],[9928,[278560,49200]],[9929,[540704,49200]],[9930,[540704,278560,49200]],[9931,[540704,278560,49200]],[9932,[540704,278544]],[9933,[557088,294928]],[9934,[540704,278544,49152]],[9935,[540704,278544,49152]],[9936,[540688,278560]],[9937,[557072,294944]],[9938,[540688,278560,49152]],[9939,[540688,278560,49152]],[9940,[557072,278544]],[9941,[557088,278560]],[9942,[557072,278544,48]],[9943,[557072,278544,48]],[9944,[540688,294928]],[9945,[540704,294944]],[9946,[540688,294928,48]],[9947,[540688,294928,48]],[9948,[557072,278544]],[9949,[540688,294928]],[9950,[540688,278544,49152]],[9951,[540688,278544,49152]],[9952,[540688,278544,49152]],[9953,[557088,278560]],[9954,[540704,294944]],[9955,[540704,278560,49152]],[9956,[540704,278560,49152]],[9957,[540704,278560,49152]],[9958,[540704,278544]],[9959,[540688,278560]],[9960,[540688,278544,48]],[9961,[540688,278544,48]],[9962,[540688,278544,48]],[9963,[557088,294928]],[9964,[557072,294944]],[9965,[557072,294928,48]],[9966,[557072,294928,48]],[9967,[557072,294928,48]],[9968,[327696,196656]],[9969,[589840,196656]],[9970,[589840,327696,196656]],[9971,[589840,327696,196656]],[9972,[327712,196656]],[9973,[589856,196656]],[9974,[589856,327712,196656]],[9975,[589856,327712,196656]],[9976,[589856,327696]],[9977,[655392,393232]],[9978,[589856,327696,196608]],[9979,[589856,327696,196608]],[9980,[589840,327712]],[9981,[655376,393248]],[9982,[589840,327712,196608]],[9983,[589840,327712,196608]],[9984,[655376,327696]],[9985,[655392,327712]],[9986,[655376,327696,48]],[9987,[655376,327696,48]],[9988,[589840,393232]],[9989,[589856,393248]],[9990,[589840,393232,48]],[9991,[589840,393232,48]],[9992,[655376,327696]],[9993,[589840,393232]],[9994,[589840,327696,196608]],[9995,[589840,327696,196608]],[9996,[589840,327696,196608]],[9997,[655392,327712]],[9998,[589856,393248]],[9999,[589856,327712,196608]],[10000,[589856,327712,196608]],[10001,[589856,327712,196608]],[10002,[589856,327696]],[10003,[589840,327712]],[10004,[589840,327696,48]],[10005,[589840,327696,48]],[10006,[589840,327696,48]],[10007,[655392,393232]],[10008,[655376,393248]],[10009,[655376,393232,48]],[10010,[655376,393232,48]],[10011,[655376,393232,48]],[10012,[1344,960]],[10013,[2368,960]],[10014,[2368,1344,960]],[10015,[2368,1344,960]],[10016,[1408,960]],[10017,[2432,960]],[10018,[2432,1408,960]],[10019,[2432,1408,960]],[10020,[2432,1344]],[10021,[2688,1600]],[10022,[2432,1344,768]],[10023,[2432,1344,768]],[10024,[2368,1408]],[10025,[2624,1664]],[10026,[2368,1408,768]],[10027,[2368,1408,768]],[10028,[2624,1344]],[10029,[2688,1408]],[10030,[2624,1344,192]],[10031,[2624,1344,192]],[10032,[2368,1600]],[10033,[2432,1664]],[10034,[2368,1600,192]],[10035,[2368,1600,192]],[10036,[2624,1344]],[10037,[2368,1600]],[10038,[2368,1344,768]],[10039,[2368,1344,768]],[10040,[2368,1344,768]],[10041,[2688,1408]],[10042,[2432,1664]],[10043,[2432,1408,768]],[10044,[2432,1408,768]],[10045,[2432,1408,768]],[10046,[2432,1344]],[10047,[2368,1408]],[10048,[2368,1344,192]],[10049,[2368,1344,192]],[10050,[2368,1344,192]],[10051,[2688,1600]],[10052,[2624,1664]],[10053,[2624,1600,192]],[10054,[2624,1600,192]],[10055,[2624,1600,192]],[10056,[4416,960]],[10057,[8512,960]],[10058,[8512,4416,960]],[10059,[8512,4416,960]],[10060,[4480,960]],[10061,[8576,960]],[10062,[8576,4480,960]],[10063,[8576,4480,960]],[10064,[8576,4416]],[10065,[8832,4672]],[10066,[8576,4416,768]],[10067,[8576,4416,768]],[10068,[8512,4480]],[10069,[8768,4736]],[10070,[8512,4480,768]],[10071,[8512,4480,768]],[10072,[8768,4416]],[10073,[8832,4480]],[10074,[8768,4416,192]],[10075,[8768,4416,192]],[10076,[8512,4672]],[10077,[8576,4736]],[10078,[8512,4672,192]],[10079,[8512,4672,192]],[10080,[8768,4416]],[10081,[8512,4672]],[10082,[8512,4416,768]],[10083,[8512,4416,768]],[10084,[8512,4416,768]],[10085,[8832,4480]],[10086,[8576,4736]],[10087,[8576,4480,768]],[10088,[8576,4480,768]],[10089,[8576,4480,768]],[10090,[8576,4416]],[10091,[8512,4480]],[10092,[8512,4416,192]],[10093,[8512,4416,192]],[10094,[8512,4416,192]],[10095,[8832,4672]],[10096,[8768,4736]],[10097,[8768,4672,192]],[10098,[8768,4672,192]],[10099,[8768,4672,192]],[10100,[16704,960]],[10101,[33088,960]],[10102,[33088,16704,960]],[10103,[33088,16704,960]],[10104,[16768,960]],[10105,[33152,960]],[10106,[33152,16768,960]],[10107,[33152,16768,960]],[10108,[33152,16704]],[10109,[33408,16960]],[10110,[33152,16704,768]],[10111,[33152,16704,768]],[10112,[33088,16768]],[10113,[33344,17024]],[10114,[33088,16768,768]],[10115,[33088,16768,768]],[10116,[33344,16704]],[10117,[33408,16768]],[10118,[33344,16704,192]],[10119,[33344,16704,192]],[10120,[33088,16960]],[10121,[33152,17024]],[10122,[33088,16960,192]],[10123,[33088,16960,192]],[10124,[33344,16704]],[10125,[33088,16960]],[10126,[33088,16704,768]],[10127,[33088,16704,768]],[10128,[33088,16704,768]],[10129,[33408,16768]],[10130,[33152,17024]],[10131,[33152,16768,768]],[10132,[33152,16768,768]],[10133,[33152,16768,768]],[10134,[33152,16704]],[10135,[33088,16768]],[10136,[33088,16704,192]],[10137,[33088,16704,192]],[10138,[33088,16704,192]],[10139,[33408,16960]],[10140,[33344,17024]],[10141,[33344,16960,192]],[10142,[33344,16960,192]],[10143,[33344,16960,192]],[10144,[65856,960]],[10145,[131392,960]],[10146,[131392,65856,960]],[10147,[131392,65856,960]],[10148,[65920,960]],[10149,[131456,960]],[10150,[131456,65920,960]],[10151,[131456,65920,960]],[10152,[131456,65856]],[10153,[131712,66112]],[10154,[131456,65856,768]],[10155,[131456,65856,768]],[10156,[131392,65920]],[10157,[131648,66176]],[10158,[131392,65920,768]],[10159,[131392,65920,768]],[10160,[131648,65856]],[10161,[131712,65920]],[10162,[131648,65856,192]],[10163,[131648,65856,192]],[10164,[131392,66112]],[10165,[131456,66176]],[10166,[131392,66112,192]],[10167,[131392,66112,192]],[10168,[131648,65856]],[10169,[131392,66112]],[10170,[131392,65856,768]],[10171,[131392,65856,768]],[10172,[131392,65856,768]],[10173,[131712,65920]],[10174,[131456,66176]],[10175,[131456,65920,768]],[10176,[131456,65920,768]],[10177,[131456,65920,768]],[10178,[131456,65856]],[10179,[131392,65920]],[10180,[131392,65856,192]],[10181,[131392,65856,192]],[10182,[131392,65856,192]],[10183,[131712,66112]],[10184,[131648,66176]],[10185,[131648,66112,192]],[10186,[131648,66112,192]],[10187,[131648,66112,192]],[10188,[262464,960]],[10189,[524608,960]],[10190,[524608,262464,960]],[10191,[524608,262464,960]],[10192,[262528,960]],[10193,[524672,960]],[10194,[524672,262528,960]],[10195,[524672,262528,960]],[10196,[524672,262464]],[10197,[524928,262720]],[10198,[524672,262464,768]],[10199,[524672,262464,768]],[10200,[524608,262528]],[10201,[524864,262784]],[10202,[524608,262528,768]],[10203,[524608,262528,768]],[10204,[524864,262464]],[10205,[524928,262528]],[10206,[524864,262464,192]],[10207,[524864,262464,192]],[10208,[524608,262720]],[10209,[524672,262784]],[10210,[524608,262720,192]],[10211,[524608,262720,192]],[10212,[524864,262464]],[10213,[524608,262720]],[10214,[524608,262464,768]],[10215,[524608,262464,768]],[10216,[524608,262464,768]],[10217,[524928,262528]],[10218,[524672,262784]],[10219,[524672,262528,768]],[10220,[524672,262528,768]],[10221,[524672,262528,768]],[10222,[524672,262464]],[10223,[524608,262528]],[10224,[524608,262464,192]],[10225,[524608,262464,192]],[10226,[524608,262464,192]],[10227,[524928,262720]],[10228,[524864,262784]],[10229,[524864,262720,192]],[10230,[524864,262720,192]],[10231,[524864,262720,192]],[10232,[5184,3264]],[10233,[9280,3264]],[10234,[9280,5184,3264]],[10235,[9280,5184,3264]],[10236,[5248,3264]],[10237,[9344,3264]],[10238,[9344,5248,3264]],[10239,[9344,5248,3264]],[10240,[9344,5184]],[10241,[10368,6208]],[10242,[9344,5184,3072]],[10243,[9344,5184,3072]],[10244,[9280,5248]],[10245,[10304,6272]],[10246,[9280,5248,3072]],[10247,[9280,5248,3072]],[10248,[10304,5184]],[10249,[10368,5248]],[10250,[10304,5184,192]],[10251,[10304,5184,192]],[10252,[9280,6208]],[10253,[9344,6272]],[10254,[9280,6208,192]],[10255,[9280,6208,192]],[10256,[10304,5184]],[10257,[9280,6208]],[10258,[9280,5184,3072]],[10259,[9280,5184,3072]],[10260,[9280,5184,3072]],[10261,[10368,5248]],[10262,[9344,6272]],[10263,[9344,5248,3072]],[10264,[9344,5248,3072]],[10265,[9344,5248,3072]],[10266,[9344,5184]],[10267,[9280,5248]],[10268,[9280,5184,192]],[10269,[9280,5184,192]],[10270,[9280,5184,192]],[10271,[10368,6208]],[10272,[10304,6272]],[10273,[10304,6208,192]],[10274,[10304,6208,192]],[10275,[10304,6208,192]],[10276,[17472,3264]],[10277,[33856,3264]],[10278,[33856,17472,3264]],[10279,[33856,17472,3264]],[10280,[17536,3264]],[10281,[33920,3264]],[10282,[33920,17536,3264]],[10283,[33920,17536,3264]],[10284,[33920,17472]],[10285,[34944,18496]],[10286,[33920,17472,3072]],[10287,[33920,17472,3072]],[10288,[33856,17536]],[10289,[34880,18560]],[10290,[33856,17536,3072]],[10291,[33856,17536,3072]],[10292,[34880,17472]],[10293,[34944,17536]],[10294,[34880,17472,192]],[10295,[34880,17472,192]],[10296,[33856,18496]],[10297,[33920,18560]],[10298,[33856,18496,192]],[10299,[33856,18496,192]],[10300,[34880,17472]],[10301,[33856,18496]],[10302,[33856,17472,3072]],[10303,[33856,17472,3072]],[10304,[33856,17472,3072]],[10305,[34944,17536]],[10306,[33920,18560]],[10307,[33920,17536,3072]],[10308,[33920,17536,3072]],[10309,[33920,17536,3072]],[10310,[33920,17472]],[10311,[33856,17536]],[10312,[33856,17472,192]],[10313,[33856,17472,192]],[10314,[33856,17472,192]],[10315,[34944,18496]],[10316,[34880,18560]],[10317,[34880,18496,192]],[10318,[34880,18496,192]],[10319,[34880,18496,192]],[10320,[66624,3264]],[10321,[132160,3264]],[10322,[132160,66624,3264]],[10323,[132160,66624,3264]],[10324,[66688,3264]],[10325,[132224,3264]],[10326,[132224,66688,3264]],[10327,[132224,66688,3264]],[10328,[132224,66624]],[10329,[133248,67648]],[10330,[132224,66624,3072]],[10331,[132224,66624,3072]],[10332,[132160,66688]],[10333,[133184,67712]],[10334,[132160,66688,3072]],[10335,[132160,66688,3072]],[10336,[133184,66624]],[10337,[133248,66688]],[10338,[133184,66624,192]],[10339,[133184,66624,192]],[10340,[132160,67648]],[10341,[132224,67712]],[10342,[132160,67648,192]],[10343,[132160,67648,192]],[10344,[133184,66624]],[10345,[132160,67648]],[10346,[132160,66624,3072]],[10347,[132160,66624,3072]],[10348,[132160,66624,3072]],[10349,[133248,66688]],[10350,[132224,67712]],[10351,[132224,66688,3072]],[10352,[132224,66688,3072]],[10353,[132224,66688,3072]],[10354,[132224,66624]],[10355,[132160,66688]],[10356,[132160,66624,192]],[10357,[132160,66624,192]],[10358,[132160,66624,192]],[10359,[133248,67648]],[10360,[133184,67712]],[10361,[133184,67648,192]],[10362,[133184,67648,192]],[10363,[133184,67648,192]],[10364,[263232,3264]],[10365,[525376,3264]],[10366,[525376,263232,3264]],[10367,[525376,263232,3264]],[10368,[263296,3264]],[10369,[525440,3264]],[10370,[525440,263296,3264]],[10371,[525440,263296,3264]],[10372,[525440,263232]],[10373,[526464,264256]],[10374,[525440,263232,3072]],[10375,[525440,263232,3072]],[10376,[525376,263296]],[10377,[526400,264320]],[10378,[525376,263296,3072]],[10379,[525376,263296,3072]],[10380,[526400,263232]],[10381,[526464,263296]],[10382,[526400,263232,192]],[10383,[526400,263232,192]],[10384,[525376,264256]],[10385,[525440,264320]],[10386,[525376,264256,192]],[10387,[525376,264256,192]],[10388,[526400,263232]],[10389,[525376,264256]],[10390,[525376,263232,3072]],[10391,[525376,263232,3072]],[10392,[525376,263232,3072]],[10393,[526464,263296]],[10394,[525440,264320]],[10395,[525440,263296,3072]],[10396,[525440,263296,3072]],[10397,[525440,263296,3072]],[10398,[525440,263232]],[10399,[525376,263296]],[10400,[525376,263232,192]],[10401,[525376,263232,192]],[10402,[525376,263232,192]],[10403,[526464,264256]],[10404,[526400,264320]],[10405,[526400,264256,192]],[10406,[526400,264256,192]],[10407,[526400,264256,192]],[10408,[20544,12480]],[10409,[36928,12480]],[10410,[36928,20544,12480]],[10411,[36928,20544,12480]],[10412,[20608,12480]],[10413,[36992,12480]],[10414,[36992,20608,12480]],[10415,[36992,20608,12480]],[10416,[36992,20544]],[10417,[41088,24640]],[10418,[36992,20544,12288]],[10419,[36992,20544,12288]],[10420,[36928,20608]],[10421,[41024,24704]],[10422,[36928,20608,12288]],[10423,[36928,20608,12288]],[10424,[41024,20544]],[10425,[41088,20608]],[10426,[41024,20544,192]],[10427,[41024,20544,192]],[10428,[36928,24640]],[10429,[36992,24704]],[10430,[36928,24640,192]],[10431,[36928,24640,192]],[10432,[41024,20544]],[10433,[36928,24640]],[10434,[36928,20544,12288]],[10435,[36928,20544,12288]],[10436,[36928,20544,12288]],[10437,[36928,20544,12288]],[10438,[41088,20608]],[10439,[36992,24704]],[10440,[36992,20608,12288]],[10441,[36992,20608,12288]],[10442,[36992,20608,12288]],[10443,[36992,20608,12288]],[10444,[36992,20544]],[10445,[36928,20608]],[10446,[36928,20544,192]],[10447,[36928,20544,192]],[10448,[36928,20544,192]],[10449,[41088,24640]],[10450,[41024,24704]],[10451,[41024,24640,192]],[10452,[41024,24640,192]],[10453,[41024,24640,192]],[10454,[69696,12480]],[10455,[135232,12480]],[10456,[135232,69696,12480]],[10457,[135232,69696,12480]],[10458,[69760,12480]],[10459,[135296,12480]],[10460,[135296,69760,12480]],[10461,[135296,69760,12480]],[10462,[135296,69696]],[10463,[139392,73792]],[10464,[135296,69696,12288]],[10465,[135296,69696,12288]],[10466,[135232,69760]],[10467,[139328,73856]],[10468,[135232,69760,12288]],[10469,[135232,69760,12288]],[10470,[139328,69696]],[10471,[139392,69760]],[10472,[139328,69696,192]],[10473,[139328,69696,192]],[10474,[135232,73792]],[10475,[135296,73856]],[10476,[135232,73792,192]],[10477,[135232,73792,192]],[10478,[139328,69696]],[10479,[135232,73792]],[10480,[135232,69696,12288]],[10481,[135232,69696,12288]],[10482,[135232,69696,12288]],[10483,[139392,69760]],[10484,[135296,73856]],[10485,[135296,69760,12288]],[10486,[135296,69760,12288]],[10487,[135296,69760,12288]],[10488,[135296,69696]],[10489,[135232,69760]],[10490,[135232,69696,192]],[10491,[135232,69696,192]],[10492,[135232,69696,192]],[10493,[139392,73792]],[10494,[139328,73856]],[10495,[139328,73792,192]],[10496,[139328,73792,192]],[10497,[139328,73792,192]],[10498,[266304,12480]],[10499,[528448,12480]],[10500,[528448,266304,12480]],[10501,[528448,266304,12480]],[10502,[266368,12480]],[10503,[528512,12480]],[10504,[528512,266368,12480]],[10505,[528512,266368,12480]],[10506,[528512,266304]],[10507,[532608,270400]],[10508,[528512,266304,12288]],[10509,[528512,266304,12288]],[10510,[528448,266368]],[10511,[532544,270464]],[10512,[528448,266368,12288]],[10513,[528448,266368,12288]],[10514,[532544,266304]],[10515,[532608,266368]],[10516,[532544,266304,192]],[10517,[532544,266304,192]],[10518,[528448,270400]],[10519,[528512,270464]],[10520,[528448,270400,192]],[10521,[528448,270400,192]],[10522,[532544,266304]],[10523,[528448,270400]],[10524,[528448,266304,12288]],[10525,[528448,266304,12288]],[10526,[528448,266304,12288]],[10527,[532608,266368]],[10528,[528512,270464]],[10529,[528512,266368,12288]],[10530,[528512,266368,12288]],[10531,[528512,266368,12288]],[10532,[528512,266304]],[10533,[528448,266368]],[10534,[528448,266304,192]],[10535,[528448,266304,192]],[10536,[528448,266304,192]],[10537,[532608,270400]],[10538,[532544,270464]],[10539,[532544,270400,192]],[10540,[532544,270400,192]],[10541,[532544,270400,192]],[10542,[81984,49344]],[10543,[147520,49344]],[10544,[147520,81984,49344]],[10545,[147520,81984,49344]],[10546,[82048,49344]],[10547,[147584,49344]],[10548,[147584,82048,49344]],[10549,[147584,82048,49344]],[10550,[147584,81984]],[10551,[163968,98368]],[10552,[147584,81984,49152]],[10553,[147584,81984,49152]],[10554,[147520,82048]],[10555,[163904,98432]],[10556,[147520,82048,49152]],[10557,[147520,82048,49152]],[10558,[163904,81984]],[10559,[163968,82048]],[10560,[163904,81984,192]],[10561,[163904,81984,192]],[10562,[147520,98368]],[10563,[147584,98432]],[10564,[147520,98368,192]],[10565,[147520,98368,192]],[10566,[163904,81984]],[10567,[147520,98368]],[10568,[147520,81984,49152]],[10569,[147520,81984,49152]],[10570,[147520,81984,49152]],[10571,[163968,82048]],[10572,[147584,98432]],[10573,[147584,82048,49152]],[10574,[147584,82048,49152]],[10575,[147584,82048,49152]],[10576,[147584,81984]],[10577,[147520,82048]],[10578,[147520,81984,192]],[10579,[147520,81984,192]],[10580,[147520,81984,192]],[10581,[163968,98368]],[10582,[163904,98432]],[10583,[163904,98368,192]],[10584,[163904,98368,192]],[10585,[163904,98368,192]],[10586,[278592,49344]],[10587,[540736,49344]],[10588,[540736,278592,49344]],[10589,[540736,278592,49344]],[10590,[278656,49344]],[10591,[540800,49344]],[10592,[540800,278656,49344]],[10593,[540800,278656,49344]],[10594,[540800,278592]],[10595,[557184,294976]],[10596,[540800,278592,49152]],[10597,[540800,278592,49152]],[10598,[540736,278656]],[10599,[557120,295040]],[10600,[540736,278656,49152]],[10601,[540736,278656,49152]],[10602,[557120,278592]],[10603,[557184,278656]],[10604,[557120,278592,192]],[10605,[557120,278592,192]],[10606,[540736,294976]],[10607,[540800,295040]],[10608,[540736,294976,192]],[10609,[540736,294976,192]],[10610,[557120,278592]],[10611,[540736,294976]],[10612,[540736,278592,49152]],[10613,[540736,278592,49152]],[10614,[540736,278592,49152]],[10615,[557184,278656]],[10616,[540800,295040]],[10617,[540800,278656,49152]],[10618,[540800,278656,49152]],[10619,[540800,278656,49152]],[10620,[540800,278592]],[10621,[540736,278656]],[10622,[540736,278592,192]],[10623,[540736,278592,192]],[10624,[540736,278592,192]],[10625,[557184,294976]],[10626,[557120,295040]],[10627,[557120,294976,192]],[10628,[557120,294976,192]],[10629,[557120,294976,192]],[10630,[327744,196800]],[10631,[589888,196800]],[10632,[589888,327744,196800]],[10633,[589888,327744,196800]],[10634,[327808,196800]],[10635,[589952,196800]],[10636,[589952,327808,196800]],[10637,[589952,327808,196800]],[10638,[589952,327744]],[10639,[655488,393280]],[10640,[589952,327744,196608]],[10641,[589952,327744,196608]],[10642,[589888,327808]],[10643,[655424,393344]],[10644,[589888,327808,196608]],[10645,[589888,327808,196608]],[10646,[655424,327744]],[10647,[655488,327808]],[10648,[655424,327744,192]],[10649,[655424,327744,192]],[10650,[589888,393280]],[10651,[589952,393344]],[10652,[589888,393280,192]],[10653,[589888,393280,192]],[10654,[655424,327744]],[10655,[589888,393280]],[10656,[589888,327744,196608]],[10657,[589888,327744,196608]],[10658,[589888,327744,196608]],[10659,[655488,327808]],[10660,[589952,393344]],[10661,[589952,327808,196608]],[10662,[589952,327808,196608]],[10663,[589952,327808,196608]],[10664,[589952,327744]],[10665,[589888,327808]],[10666,[589888,327744,192]],[10667,[589888,327744,192]],[10668,[589888,327744,192]],[10669,[655488,393280]],[10670,[655424,393344]],[10671,[655424,393280,192]],[10672,[655424,393280,192]],[10673,[655424,393280,192]],[10674,[5376,3840]],[10675,[9472,3840]],[10676,[9472,5376,3840]],[10677,[9472,5376,3840]],[10678,[5632,3840]],[10679,[9728,3840]],[10680,[9728,5632,3840]],[10681,[9728,5632,3840]],[10682,[9728,5376]],[10683,[10752,6400]],[10684,[9728,5376,3072]],[10685,[9728,5376,3072]],[10686,[9472,5632]],[10687,[10496,6656]],[10688,[9472,5632,3072]],[10689,[9472,5632,3072]],[10690,[10496,5376]],[10691,[10752,5632]],[10692,[10496,5376,768]],[10693,[10496,5376,768]],[10694,[9472,6400]],[10695,[9728,6656]],[10696,[9472,6400,768]],[10697,[9472,6400,768]],[10698,[10496,5376]],[10699,[9472,6400]],[10700,[9472,5376,3072]],[10701,[9472,5376,3072]],[10702,[9472,5376,3072]],[10703,[10752,5632]],[10704,[9728,6656]],[10705,[9728,5632,3072]],[10706,[9728,5632,3072]],[10707,[9728,5632,3072]],[10708,[9728,5376]],[10709,[9472,5632]],[10710,[9472,5376,768]],[10711,[9472,5376,768]],[10712,[9472,5376,768]],[10713,[10752,6400]],[10714,[10496,6656]],[10715,[10496,6400,768]],[10716,[10496,6400,768]],[10717,[10496,6400,768]],[10718,[17664,3840]],[10719,[34048,3840]],[10720,[34048,17664,3840]],[10721,[34048,17664,3840]],[10722,[17920,3840]],[10723,[34304,3840]],[10724,[34304,17920,3840]],[10725,[34304,17920,3840]],[10726,[34304,17664]],[10727,[35328,18688]],[10728,[34304,17664,3072]],[10729,[34304,17664,3072]],[10730,[34048,17920]],[10731,[35072,18944]],[10732,[34048,17920,3072]],[10733,[34048,17920,3072]],[10734,[35072,17664]],[10735,[35328,17920]],[10736,[35072,17664,768]],[10737,[35072,17664,768]],[10738,[34048,18688]],[10739,[34304,18944]],[10740,[34048,18688,768]],[10741,[34048,18688,768]],[10742,[35072,17664]],[10743,[34048,18688]],[10744,[34048,17664,3072]],[10745,[34048,17664,3072]],[10746,[34048,17664,3072]],[10747,[35328,17920]],[10748,[34304,18944]],[10749,[34304,17920,3072]],[10750,[34304,17920,3072]],[10751,[34304,17920,3072]],[10752,[34304,17664]],[10753,[34048,17920]],[10754,[34048,17664,768]],[10755,[34048,17664,768]],[10756,[34048,17664,768]],[10757,[35328,18688]],[10758,[35072,18944]],[10759,[35072,18688,768]],[10760,[35072,18688,768]],[10761,[35072,18688,768]],[10762,[66816,3840]],[10763,[132352,3840]],[10764,[132352,66816,3840]],[10765,[132352,66816,3840]],[10766,[67072,3840]],[10767,[132608,3840]],[10768,[132608,67072,3840]],[10769,[132608,67072,3840]],[10770,[132608,66816]],[10771,[133632,67840]],[10772,[132608,66816,3072]],[10773,[132608,66816,3072]],[10774,[132352,67072]],[10775,[133376,68096]],[10776,[132352,67072,3072]],[10777,[132352,67072,3072]],[10778,[133376,66816]],[10779,[133632,67072]],[10780,[133376,66816,768]],[10781,[133376,66816,768]],[10782,[132352,67840]],[10783,[132608,68096]],[10784,[132352,67840,768]],[10785,[132352,67840,768]],[10786,[133376,66816]],[10787,[132352,67840]],[10788,[132352,66816,3072]],[10789,[132352,66816,3072]],[10790,[132352,66816,3072]],[10791,[133632,67072]],[10792,[132608,68096]],[10793,[132608,67072,3072]],[10794,[132608,67072,3072]],[10795,[132608,67072,3072]],[10796,[132608,66816]],[10797,[132352,67072]],[10798,[132352,66816,768]],[10799,[132352,66816,768]],[10800,[132352,66816,768]],[10801,[133632,67840]],[10802,[133376,68096]],[10803,[133376,67840,768]],[10804,[133376,67840,768]],[10805,[133376,67840,768]],[10806,[263424,3840]],[10807,[525568,3840]],[10808,[525568,263424,3840]],[10809,[525568,263424,3840]],[10810,[263680,3840]],[10811,[525824,3840]],[10812,[525824,263680,3840]],[10813,[525824,263680,3840]],[10814,[525824,263424]],[10815,[526848,264448]],[10816,[525824,263424,3072]],[10817,[525824,263424,3072]],[10818,[525568,263680]],[10819,[526592,264704]],[10820,[525568,263680,3072]],[10821,[525568,263680,3072]],[10822,[526592,263424]],[10823,[526848,263680]],[10824,[526592,263424,768]],[10825,[526592,263424,768]],[10826,[525568,264448]],[10827,[525824,264704]],[10828,[525568,264448,768]],[10829,[525568,264448,768]],[10830,[526592,263424]],[10831,[525568,264448]],[10832,[525568,263424,3072]],[10833,[525568,263424,3072]],[10834,[525568,263424,3072]],[10835,[526848,263680]],[10836,[525824,264704]],[10837,[525824,263680,3072]],[10838,[525824,263680,3072]],[10839,[525824,263680,3072]],[10840,[525824,263424]],[10841,[525568,263680]],[10842,[525568,263424,768]],[10843,[525568,263424,768]],[10844,[525568,263424,768]],[10845,[526848,264448]],[10846,[526592,264704]],[10847,[526592,264448,768]],[10848,[526592,264448,768]],[10849,[526592,264448,768]],[10850,[20736,13056]],[10851,[37120,13056]],[10852,[37120,20736,13056]],[10853,[37120,20736,13056]],[10854,[20992,13056]],[10855,[37376,13056]],[10856,[37376,20992,13056]],[10857,[37376,20992,13056]],[10858,[37376,20736]],[10859,[41472,24832]],[10860,[37376,20736,12288]],[10861,[37376,20736,12288]],[10862,[37120,20992]],[10863,[41216,25088]],[10864,[37120,20992,12288]],[10865,[37120,20992,12288]],[10866,[41216,20736]],[10867,[41472,20992]],[10868,[41216,20736,768]],[10869,[41216,20736,768]],[10870,[37120,24832]],[10871,[37376,25088]],[10872,[37120,24832,768]],[10873,[37120,24832,768]],[10874,[41216,20736]],[10875,[37120,24832]],[10876,[37120,20736,12288]],[10877,[37120,20736,12288]],[10878,[37120,20736,12288]],[10879,[37120,20736,12288]],[10880,[41472,20992]],[10881,[37376,25088]],[10882,[37376,20992,12288]],[10883,[37376,20992,12288]],[10884,[37376,20992,12288]],[10885,[37376,20992,12288]],[10886,[37376,20736]],[10887,[37120,20992]],[10888,[37120,20736,768]],[10889,[37120,20736,768]],[10890,[37120,20736,768]],[10891,[41472,24832]],[10892,[41216,25088]],[10893,[41216,24832,768]],[10894,[41216,24832,768]],[10895,[41216,24832,768]],[10896,[69888,13056]],[10897,[135424,13056]],[10898,[135424,69888,13056]],[10899,[135424,69888,13056]],[10900,[70144,13056]],[10901,[135680,13056]],[10902,[135680,70144,13056]],[10903,[135680,70144,13056]],[10904,[135680,69888]],[10905,[139776,73984]],[10906,[135680,69888,12288]],[10907,[135680,69888,12288]],[10908,[135424,70144]],[10909,[139520,74240]],[10910,[135424,70144,12288]],[10911,[135424,70144,12288]],[10912,[139520,69888]],[10913,[139776,70144]],[10914,[139520,69888,768]],[10915,[139520,69888,768]],[10916,[135424,73984]],[10917,[135680,74240]],[10918,[135424,73984,768]],[10919,[135424,73984,768]],[10920,[139520,69888]],[10921,[135424,73984]],[10922,[135424,69888,12288]],[10923,[135424,69888,12288]],[10924,[135424,69888,12288]],[10925,[139776,70144]],[10926,[135680,74240]],[10927,[135680,70144,12288]],[10928,[135680,70144,12288]],[10929,[135680,70144,12288]],[10930,[135680,69888]],[10931,[135424,70144]],[10932,[135424,69888,768]],[10933,[135424,69888,768]],[10934,[135424,69888,768]],[10935,[139776,73984]],[10936,[139520,74240]],[10937,[139520,73984,768]],[10938,[139520,73984,768]],[10939,[139520,73984,768]],[10940,[266496,13056]],[10941,[528640,13056]],[10942,[528640,266496,13056]],[10943,[528640,266496,13056]],[10944,[266752,13056]],[10945,[528896,13056]],[10946,[528896,266752,13056]],[10947,[528896,266752,13056]],[10948,[528896,266496]],[10949,[532992,270592]],[10950,[528896,266496,12288]],[10951,[528896,266496,12288]],[10952,[528640,266752]],[10953,[532736,270848]],[10954,[528640,266752,12288]],[10955,[528640,266752,12288]],[10956,[532736,266496]],[10957,[532992,266752]],[10958,[532736,266496,768]],[10959,[532736,266496,768]],[10960,[528640,270592]],[10961,[528896,270848]],[10962,[528640,270592,768]],[10963,[528640,270592,768]],[10964,[532736,266496]],[10965,[528640,270592]],[10966,[528640,266496,12288]],[10967,[528640,266496,12288]],[10968,[528640,266496,12288]],[10969,[532992,266752]],[10970,[528896,270848]],[10971,[528896,266752,12288]],[10972,[528896,266752,12288]],[10973,[528896,266752,12288]],[10974,[528896,266496]],[10975,[528640,266752]],[10976,[528640,266496,768]],[10977,[528640,266496,768]],[10978,[528640,266496,768]],[10979,[532992,270592]],[10980,[532736,270848]],[10981,[532736,270592,768]],[10982,[532736,270592,768]],[10983,[532736,270592,768]],[10984,[82176,49920]],[10985,[147712,49920]],[10986,[147712,82176,49920]],[10987,[147712,82176,49920]],[10988,[82432,49920]],[10989,[147968,49920]],[10990,[147968,82432,49920]],[10991,[147968,82432,49920]],[10992,[147968,82176]],[10993,[164352,98560]],[10994,[147968,82176,49152]],[10995,[147968,82176,49152]],[10996,[147712,82432]],[10997,[164096,98816]],[10998,[147712,82432,49152]],[10999,[147712,82432,49152]],[11000,[164096,82176]],[11001,[164352,82432]],[11002,[164096,82176,768]],[11003,[164096,82176,768]],[11004,[147712,98560]],[11005,[147968,98816]],[11006,[147712,98560,768]],[11007,[147712,98560,768]],[11008,[164096,82176]],[11009,[147712,98560]],[11010,[147712,82176,49152]],[11011,[147712,82176,49152]],[11012,[147712,82176,49152]],[11013,[164352,82432]],[11014,[147968,98816]],[11015,[147968,82432,49152]],[11016,[147968,82432,49152]],[11017,[147968,82432,49152]],[11018,[147968,82176]],[11019,[147712,82432]],[11020,[147712,82176,768]],[11021,[147712,82176,768]],[11022,[147712,82176,768]],[11023,[164352,98560]],[11024,[164096,98816]],[11025,[164096,98560,768]],[11026,[164096,98560,768]],[11027,[164096,98560,768]],[11028,[278784,49920]],[11029,[540928,49920]],[11030,[540928,278784,49920]],[11031,[540928,278784,49920]],[11032,[279040,49920]],[11033,[541184,49920]],[11034,[541184,279040,49920]],[11035,[541184,279040,49920]],[11036,[541184,278784]],[11037,[557568,295168]],[11038,[541184,278784,49152]],[11039,[541184,278784,49152]],[11040,[540928,279040]],[11041,[557312,295424]],[11042,[540928,279040,49152]],[11043,[540928,279040,49152]],[11044,[557312,278784]],[11045,[557568,279040]],[11046,[557312,278784,768]],[11047,[557312,278784,768]],[11048,[540928,295168]],[11049,[541184,295424]],[11050,[540928,295168,768]],[11051,[540928,295168,768]],[11052,[557312,278784]],[11053,[540928,295168]],[11054,[540928,278784,49152]],[11055,[540928,278784,49152]],[11056,[540928,278784,49152]],[11057,[557568,279040]],[11058,[541184,295424]],[11059,[541184,279040,49152]],[11060,[541184,279040,49152]],[11061,[541184,279040,49152]],[11062,[541184,278784]],[11063,[540928,279040]],[11064,[540928,278784,768]],[11065,[540928,278784,768]],[11066,[540928,278784,768]],[11067,[557568,295168]],[11068,[557312,295424]],[11069,[557312,295168,768]],[11070,[557312,295168,768]],[11071,[557312,295168,768]],[11072,[327936,197376]],[11073,[590080,197376]],[11074,[590080,327936,197376]],[11075,[590080,327936,197376]],[11076,[328192,197376]],[11077,[590336,197376]],[11078,[590336,328192,197376]],[11079,[590336,328192,197376]],[11080,[590336,327936]],[11081,[655872,393472]],[11082,[590336,327936,196608]],[11083,[590336,327936,196608]],[11084,[590080,328192]],[11085,[655616,393728]],[11086,[590080,328192,196608]],[11087,[590080,328192,196608]],[11088,[655616,327936]],[11089,[655872,328192]],[11090,[655616,327936,768]],[11091,[655616,327936,768]],[11092,[590080,393472]],[11093,[590336,393728]],[11094,[590080,393472,768]],[11095,[590080,393472,768]],[11096,[655616,327936]],[11097,[590080,393472]],[11098,[590080,327936,196608]],[11099,[590080,327936,196608]],[11100,[590080,327936,196608]],[11101,[655872,328192]],[11102,[590336,393728]],[11103,[590336,328192,196608]],[11104,[590336,328192,196608]],[11105,[590336,328192,196608]],[11106,[590336,327936]],[11107,[590080,328192]],[11108,[590080,327936,768]],[11109,[590080,327936,768]],[11110,[590080,327936,768]],[11111,[655872,393472]],[11112,[655616,393728]],[11113,[655616,393472,768]],[11114,[655616,393472,768]],[11115,[655616,393472,768]],[11116,[21504,15360]],[11117,[37888,15360]],[11118,[37888,21504,15360]],[11119,[37888,21504,15360]],[11120,[22528,15360]],[11121,[38912,15360]],[11122,[38912,22528,15360]],[11123,[38912,22528,15360]],[11124,[38912,21504]],[11125,[43008,25600]],[11126,[38912,21504,12288]],[11127,[38912,21504,12288]],[11128,[37888,22528]],[11129,[41984,26624]],[11130,[37888,22528,12288]],[11131,[37888,22528,12288]],[11132,[41984,21504]],[11133,[43008,22528]],[11134,[41984,21504,3072]],[11135,[41984,21504,3072]],[11136,[37888,25600]],[11137,[38912,26624]],[11138,[37888,25600,3072]],[11139,[37888,25600,3072]],[11140,[41984,21504]],[11141,[37888,25600]],[11142,[37888,21504,12288]],[11143,[37888,21504,12288]],[11144,[37888,21504,12288]],[11145,[37888,21504,12288]],[11146,[43008,22528]],[11147,[38912,26624]],[11148,[38912,22528,12288]],[11149,[38912,22528,12288]],[11150,[38912,22528,12288]],[11151,[38912,22528,12288]],[11152,[38912,21504]],[11153,[37888,22528]],[11154,[37888,21504,3072]],[11155,[37888,21504,3072]],[11156,[37888,21504,3072]],[11157,[37888,21504,3072]],[11158,[43008,25600]],[11159,[41984,26624]],[11160,[41984,25600,3072]],[11161,[41984,25600,3072]],[11162,[41984,25600,3072]],[11163,[41984,25600,3072]],[11164,[70656,15360]],[11165,[136192,15360]],[11166,[136192,70656,15360]],[11167,[136192,70656,15360]],[11168,[71680,15360]],[11169,[137216,15360]],[11170,[137216,71680,15360]],[11171,[137216,71680,15360]],[11172,[137216,70656]],[11173,[141312,74752]],[11174,[137216,70656,12288]],[11175,[137216,70656,12288]],[11176,[136192,71680]],[11177,[140288,75776]],[11178,[136192,71680,12288]],[11179,[136192,71680,12288]],[11180,[140288,70656]],[11181,[141312,71680]],[11182,[140288,70656,3072]],[11183,[140288,70656,3072]],[11184,[136192,74752]],[11185,[137216,75776]],[11186,[136192,74752,3072]],[11187,[136192,74752,3072]],[11188,[140288,70656]],[11189,[136192,74752]],[11190,[136192,70656,12288]],[11191,[136192,70656,12288]],[11192,[136192,70656,12288]],[11193,[141312,71680]],[11194,[137216,75776]],[11195,[137216,71680,12288]],[11196,[137216,71680,12288]],[11197,[137216,71680,12288]],[11198,[137216,70656]],[11199,[136192,71680]],[11200,[136192,70656,3072]],[11201,[136192,70656,3072]],[11202,[136192,70656,3072]],[11203,[141312,74752]],[11204,[140288,75776]],[11205,[140288,74752,3072]],[11206,[140288,74752,3072]],[11207,[140288,74752,3072]],[11208,[267264,15360]],[11209,[529408,15360]],[11210,[529408,267264,15360]],[11211,[529408,267264,15360]],[11212,[268288,15360]],[11213,[530432,15360]],[11214,[530432,268288,15360]],[11215,[530432,268288,15360]],[11216,[530432,267264]],[11217,[534528,271360]],[11218,[530432,267264,12288]],[11219,[530432,267264,12288]],[11220,[529408,268288]],[11221,[533504,272384]],[11222,[529408,268288,12288]],[11223,[529408,268288,12288]],[11224,[533504,267264]],[11225,[534528,268288]],[11226,[533504,267264,3072]],[11227,[533504,267264,3072]],[11228,[529408,271360]],[11229,[530432,272384]],[11230,[529408,271360,3072]],[11231,[529408,271360,3072]],[11232,[533504,267264]],[11233,[529408,271360]],[11234,[529408,267264,12288]],[11235,[529408,267264,12288]],[11236,[529408,267264,12288]],[11237,[534528,268288]],[11238,[530432,272384]],[11239,[530432,268288,12288]],[11240,[530432,268288,12288]],[11241,[530432,268288,12288]],[11242,[530432,267264]],[11243,[529408,268288]],[11244,[529408,267264,3072]],[11245,[529408,267264,3072]],[11246,[529408,267264,3072]],[11247,[534528,271360]],[11248,[533504,272384]],[11249,[533504,271360,3072]],[11250,[533504,271360,3072]],[11251,[533504,271360,3072]],[11252,[82944,52224]],[11253,[148480,52224]],[11254,[148480,82944,52224]],[11255,[148480,82944,52224]],[11256,[83968,52224]],[11257,[149504,52224]],[11258,[149504,83968,52224]],[11259,[149504,83968,52224]],[11260,[149504,82944]],[11261,[165888,99328]],[11262,[149504,82944,49152]],[11263,[149504,82944,49152]],[11264,[148480,83968]],[11265,[164864,100352]],[11266,[148480,83968,49152]],[11267,[148480,83968,49152]],[11268,[164864,82944]],[11269,[165888,83968]],[11270,[164864,82944,3072]],[11271,[164864,82944,3072]],[11272,[148480,99328]],[11273,[149504,100352]],[11274,[148480,99328,3072]],[11275,[148480,99328,3072]],[11276,[164864,82944]],[11277,[148480,99328]],[11278,[148480,82944,49152]],[11279,[148480,82944,49152]],[11280,[148480,82944,49152]],[11281,[165888,83968]],[11282,[149504,100352]],[11283,[149504,83968,49152]],[11284,[149504,83968,49152]],[11285,[149504,83968,49152]],[11286,[149504,82944]],[11287,[148480,83968]],[11288,[148480,82944,3072]],[11289,[148480,82944,3072]],[11290,[148480,82944,3072]],[11291,[165888,99328]],[11292,[164864,100352]],[11293,[164864,99328,3072]],[11294,[164864,99328,3072]],[11295,[164864,99328,3072]],[11296,[279552,52224]],[11297,[541696,52224]],[11298,[541696,279552,52224]],[11299,[541696,279552,52224]],[11300,[280576,52224]],[11301,[542720,52224]],[11302,[542720,280576,52224]],[11303,[542720,280576,52224]],[11304,[542720,279552]],[11305,[559104,295936]],[11306,[542720,279552,49152]],[11307,[542720,279552,49152]],[11308,[541696,280576]],[11309,[558080,296960]],[11310,[541696,280576,49152]],[11311,[541696,280576,49152]],[11312,[558080,279552]],[11313,[559104,280576]],[11314,[558080,279552,3072]],[11315,[558080,279552,3072]],[11316,[541696,295936]],[11317,[542720,296960]],[11318,[541696,295936,3072]],[11319,[541696,295936,3072]],[11320,[558080,279552]],[11321,[541696,295936]],[11322,[541696,279552,49152]],[11323,[541696,279552,49152]],[11324,[541696,279552,49152]],[11325,[559104,280576]],[11326,[542720,296960]],[11327,[542720,280576,49152]],[11328,[542720,280576,49152]],[11329,[542720,280576,49152]],[11330,[542720,279552]],[11331,[541696,280576]],[11332,[541696,279552,3072]],[11333,[541696,279552,3072]],[11334,[541696,279552,3072]],[11335,[559104,295936]],[11336,[558080,296960]],[11337,[558080,295936,3072]],[11338,[558080,295936,3072]],[11339,[558080,295936,3072]],[11340,[328704,199680]],[11341,[590848,199680]],[11342,[590848,328704,199680]],[11343,[590848,328704,199680]],[11344,[329728,199680]],[11345,[591872,199680]],[11346,[591872,329728,199680]],[11347,[591872,329728,199680]],[11348,[591872,328704]],[11349,[657408,394240]],[11350,[591872,328704,196608]],[11351,[591872,328704,196608]],[11352,[590848,329728]],[11353,[656384,395264]],[11354,[590848,329728,196608]],[11355,[590848,329728,196608]],[11356,[656384,328704]],[11357,[657408,329728]],[11358,[656384,328704,3072]],[11359,[656384,328704,3072]],[11360,[590848,394240]],[11361,[591872,395264]],[11362,[590848,394240,3072]],[11363,[590848,394240,3072]],[11364,[656384,328704]],[11365,[590848,394240]],[11366,[590848,328704,196608]],[11367,[590848,328704,196608]],[11368,[590848,328704,196608]],[11369,[657408,329728]],[11370,[591872,395264]],[11371,[591872,329728,196608]],[11372,[591872,329728,196608]],[11373,[591872,329728,196608]],[11374,[591872,328704]],[11375,[590848,329728]],[11376,[590848,328704,3072]],[11377,[590848,328704,3072]],[11378,[590848,328704,3072]],[11379,[657408,394240]],[11380,[656384,395264]],[11381,[656384,394240,3072]],[11382,[656384,394240,3072]],[11383,[656384,394240,3072]],[11384,[86016,61440]],[11385,[151552,61440]],[11386,[151552,86016,61440]],[11387,[151552,86016,61440]],[11388,[90112,61440]],[11389,[155648,61440]],[11390,[155648,90112,61440]],[11391,[155648,90112,61440]],[11392,[155648,86016]],[11393,[172032,102400]],[11394,[155648,86016,49152]],[11395,[155648,86016,49152]],[11396,[151552,90112]],[11397,[167936,106496]],[11398,[151552,90112,49152]],[11399,[151552,90112,49152]],[11400,[167936,86016]],[11401,[172032,90112]],[11402,[167936,86016,12288]],[11403,[167936,86016,12288]],[11404,[151552,102400]],[11405,[155648,106496]],[11406,[151552,102400,12288]],[11407,[151552,102400,12288]],[11408,[167936,86016]],[11409,[151552,102400]],[11410,[151552,86016,49152]],[11411,[151552,86016,49152]],[11412,[151552,86016,49152]],[11413,[172032,90112]],[11414,[155648,106496]],[11415,[155648,90112,49152]],[11416,[155648,90112,49152]],[11417,[155648,90112,49152]],[11418,[155648,86016]],[11419,[151552,90112]],[11420,[151552,86016,12288]],[11421,[151552,86016,12288]],[11422,[151552,86016,12288]],[11423,[172032,102400]],[11424,[167936,106496]],[11425,[167936,102400,12288]],[11426,[167936,102400,12288]],[11427,[167936,102400,12288]],[11428,[282624,61440]],[11429,[544768,61440]],[11430,[544768,282624,61440]],[11431,[544768,282624,61440]],[11432,[286720,61440]],[11433,[548864,61440]],[11434,[548864,286720,61440]],[11435,[548864,286720,61440]],[11436,[548864,282624]],[11437,[565248,299008]],[11438,[548864,282624,49152]],[11439,[548864,282624,49152]],[11440,[544768,286720]],[11441,[561152,303104]],[11442,[544768,286720,49152]],[11443,[544768,286720,49152]],[11444,[561152,282624]],[11445,[565248,286720]],[11446,[561152,282624,12288]],[11447,[561152,282624,12288]],[11448,[544768,299008]],[11449,[548864,303104]],[11450,[544768,299008,12288]],[11451,[544768,299008,12288]],[11452,[561152,282624]],[11453,[544768,299008]],[11454,[544768,282624,49152]],[11455,[544768,282624,49152]],[11456,[544768,282624,49152]],[11457,[565248,286720]],[11458,[548864,303104]],[11459,[548864,286720,49152]],[11460,[548864,286720,49152]],[11461,[548864,286720,49152]],[11462,[548864,282624]],[11463,[544768,286720]],[11464,[544768,282624,12288]],[11465,[544768,282624,12288]],[11466,[544768,282624,12288]],[11467,[565248,299008]],[11468,[561152,303104]],[11469,[561152,299008,12288]],[11470,[561152,299008,12288]],[11471,[561152,299008,12288]],[11472,[331776,208896]],[11473,[593920,208896]],[11474,[593920,331776,208896]],[11475,[593920,331776,208896]],[11476,[335872,208896]],[11477,[598016,208896]],[11478,[598016,335872,208896]],[11479,[598016,335872,208896]],[11480,[598016,331776]],[11481,[663552,397312]],[11482,[598016,331776,196608]],[11483,[598016,331776,196608]],[11484,[593920,335872]],[11485,[659456,401408]],[11486,[593920,335872,196608]],[11487,[593920,335872,196608]],[11488,[659456,331776]],[11489,[663552,335872]],[11490,[659456,331776,12288]],[11491,[659456,331776,12288]],[11492,[593920,397312]],[11493,[598016,401408]],[11494,[593920,397312,12288]],[11495,[593920,397312,12288]],[11496,[659456,331776]],[11497,[593920,397312]],[11498,[593920,331776,196608]],[11499,[593920,331776,196608]],[11500,[593920,331776,196608]],[11501,[663552,335872]],[11502,[598016,401408]],[11503,[598016,335872,196608]],[11504,[598016,335872,196608]],[11505,[598016,335872,196608]],[11506,[598016,331776]],[11507,[593920,335872]],[11508,[593920,331776,12288]],[11509,[593920,331776,12288]],[11510,[593920,331776,12288]],[11511,[663552,397312]],[11512,[659456,401408]],[11513,[659456,397312,12288]],[11514,[659456,397312,12288]],[11515,[659456,397312,12288]],[11516,[344064,245760]],[11517,[606208,245760]],[11518,[606208,344064,245760]],[11519,[606208,344064,245760]],[11520,[360448,245760]],[11521,[622592,245760]],[11522,[622592,360448,245760]],[11523,[622592,360448,245760]],[11524,[622592,344064]],[11525,[688128,409600]],[11526,[622592,344064,196608]],[11527,[622592,344064,196608]],[11528,[606208,360448]],[11529,[671744,425984]],[11530,[606208,360448,196608]],[11531,[606208,360448,196608]],[11532,[671744,344064]],[11533,[688128,360448]],[11534,[671744,344064,49152]],[11535,[671744,344064,49152]],[11536,[606208,409600]],[11537,[622592,425984]],[11538,[606208,409600,49152]],[11539,[606208,409600,49152]],[11540,[671744,344064]],[11541,[606208,409600]],[11542,[606208,344064,196608]],[11543,[606208,344064,196608]],[11544,[606208,344064,196608]],[11545,[688128,360448]],[11546,[622592,425984]],[11547,[622592,360448,196608]],[11548,[622592,360448,196608]],[11549,[622592,360448,196608]],[11550,[622592,344064]],[11551,[606208,360448]],[11552,[606208,344064,49152]],[11553,[606208,344064,49152]],[11554,[606208,344064,49152]],[11555,[688128,409600]],[11556,[671744,425984]],[11557,[671744,409600,49152]],[11558,[671744,409600,49152]],[11559,[671744,409600,49152]],[11560,[37,21,12,3]],[11561,[37,21,12,3]],[11562,[37,21,12,3]],[11563,[37,21,12,3]],[11564,[133,69,12,3]],[11565,[133,69,12,3]],[11566,[133,69,12,3]],[11567,[133,69,12,3]],[11568,[517,261,12,3]],[11569,[517,261,12,3]],[11570,[517,261,12,3]],[11571,[517,261,12,3]],[11572,[2053,1029,12,3]],[11573,[2053,1029,12,3]],[11574,[2053,1029,12,3]],[11575,[2053,1029,12,3]],[11576,[8197,4101,12,3]],[11577,[8197,4101,12,3]],[11578,[8197,4101,12,3]],[11579,[8197,4101,12,3]],[11580,[32773,16389,12,3]],[11581,[32773,16389,12,3]],[11582,[32773,16389,12,3]],[11583,[32773,16389,12,3]],[11584,[131077,65541,12,3]],[11585,[131077,65541,12,3]],[11586,[131077,65541,12,3]],[11587,[131077,65541,12,3]],[11588,[524293,262149,12,3]],[11589,[524293,262149,12,3]],[11590,[524293,262149,12,3]],[11591,[524293,262149,12,3]],[11592,[145,81,48,3]],[11593,[145,81,48,3]],[11594,[145,81,48,3]],[11595,[145,81,48,3]],[11596,[529,273,48,3]],[11597,[529,273,48,3]],[11598,[529,273,48,3]],[11599,[529,273,48,3]],[11600,[2065,1041,48,3]],[11601,[2065,1041,48,3]],[11602,[2065,1041,48,3]],[11603,[2065,1041,48,3]],[11604,[8209,4113,48,3]],[11605,[8209,4113,48,3]],[11606,[8209,4113,48,3]],[11607,[8209,4113,48,3]],[11608,[32785,16401,48,3]],[11609,[32785,16401,48,3]],[11610,[32785,16401,48,3]],[11611,[32785,16401,48,3]],[11612,[32785,16401,48,3]],[11613,[131089,65553,48,3]],[11614,[131089,65553,48,3]],[11615,[131089,65553,48,3]],[11616,[131089,65553,48,3]],[11617,[524305,262161,48,3]],[11618,[524305,262161,48,3]],[11619,[524305,262161,48,3]],[11620,[524305,262161,48,3]],[11621,[577,321,192,3]],[11622,[577,321,192,3]],[11623,[577,321,192,3]],[11624,[577,321,192,3]],[11625,[2113,1089,192,3]],[11626,[2113,1089,192,3]],[11627,[2113,1089,192,3]],[11628,[2113,1089,192,3]],[11629,[8257,4161,192,3]],[11630,[8257,4161,192,3]],[11631,[8257,4161,192,3]],[11632,[8257,4161,192,3]],[11633,[32833,16449,192,3]],[11634,[32833,16449,192,3]],[11635,[32833,16449,192,3]],[11636,[32833,16449,192,3]],[11637,[131137,65601,192,3]],[11638,[131137,65601,192,3]],[11639,[131137,65601,192,3]],[11640,[131137,65601,192,3]],[11641,[524353,262209,192,3]],[11642,[524353,262209,192,3]],[11643,[524353,262209,192,3]],[11644,[524353,262209,192,3]],[11645,[2305,1281,768,3]],[11646,[2305,1281,768,3]],[11647,[2305,1281,768,3]],[11648,[2305,1281,768,3]],[11649,[8449,4353,768,3]],[11650,[8449,4353,768,3]],[11651,[8449,4353,768,3]],[11652,[8449,4353,768,3]],[11653,[33025,16641,768,3]],[11654,[33025,16641,768,3]],[11655,[33025,16641,768,3]],[11656,[33025,16641,768,3]],[11657,[131329,65793,768,3]],[11658,[131329,65793,768,3]],[11659,[131329,65793,768,3]],[11660,[131329,65793,768,3]],[11661,[524545,262401,768,3]],[11662,[524545,262401,768,3]],[11663,[524545,262401,768,3]],[11664,[524545,262401,768,3]],[11665,[9217,5121,3072,3]],[11666,[9217,5121,3072,3]],[11667,[9217,5121,3072,3]],[11668,[9217,5121,3072,3]],[11669,[33793,17409,3072,3]],[11670,[33793,17409,3072,3]],[11671,[33793,17409,3072,3]],[11672,[33793,17409,3072,3]],[11673,[132097,66561,3072,3]],[11674,[132097,66561,3072,3]],[11675,[132097,66561,3072,3]],[11676,[132097,66561,3072,3]],[11677,[525313,263169,3072,3]],[11678,[525313,263169,3072,3]],[11679,[525313,263169,3072,3]],[11680,[525313,263169,3072,3]],[11681,[525313,263169,3072,3]],[11682,[36865,20481,12288,3]],[11683,[36865,20481,12288,3]],[11684,[36865,20481,12288,3]],[11685,[36865,20481,12288,3]],[11686,[135169,69633,12288,3]],[11687,[135169,69633,12288,3]],[11688,[135169,69633,12288,3]],[11689,[135169,69633,12288,3]],[11690,[528385,266241,12288,3]],[11691,[528385,266241,12288,3]],[11692,[528385,266241,12288,3]],[11693,[528385,266241,12288,3]],[11694,[147457,81921,49152,3]],[11695,[147457,81921,49152,3]],[11696,[147457,81921,49152,3]],[11697,[147457,81921,49152,3]],[11698,[540673,278529,49152,3]],[11699,[540673,278529,49152,3]],[11700,[540673,278529,49152,3]],[11701,[540673,278529,49152,3]],[11702,[589825,327681,196608,3]],[11703,[589825,327681,196608,3]],[11704,[589825,327681,196608,3]],[11705,[589825,327681,196608,3]],[11706,[148,84,48,12]],[11707,[148,84,48,12]],[11708,[148,84,48,12]],[11709,[148,84,48,12]],[11710,[532,276,48,12]],[11711,[532,276,48,12]],[11712,[532,276,48,12]],[11713,[532,276,48,12]],[11714,[2068,1044,48,12]],[11715,[2068,1044,48,12]],[11716,[2068,1044,48,12]],[11717,[2068,1044,48,12]],[11718,[8212,4116,48,12]],[11719,[8212,4116,48,12]],[11720,[8212,4116,48,12]],[11721,[8212,4116,48,12]],[11722,[32788,16404,48,12]],[11723,[32788,16404,48,12]],[11724,[32788,16404,48,12]],[11725,[32788,16404,48,12]],[11726,[131092,65556,48,12]],[11727,[131092,65556,48,12]],[11728,[131092,65556,48,12]],[11729,[131092,65556,48,12]],[11730,[524308,262164,48,12]],[11731,[524308,262164,48,12]],[11732,[524308,262164,48,12]],[11733,[524308,262164,48,12]],[11734,[580,324,192,12]],[11735,[580,324,192,12]],[11736,[580,324,192,12]],[11737,[580,324,192,12]],[11738,[2116,1092,192,12]],[11739,[2116,1092,192,12]],[11740,[2116,1092,192,12]],[11741,[2116,1092,192,12]],[11742,[8260,4164,192,12]],[11743,[8260,4164,192,12]],[11744,[8260,4164,192,12]],[11745,[8260,4164,192,12]],[11746,[32836,16452,192,12]],[11747,[32836,16452,192,12]],[11748,[32836,16452,192,12]],[11749,[32836,16452,192,12]],[11750,[131140,65604,192,12]],[11751,[131140,65604,192,12]],[11752,[131140,65604,192,12]],[11753,[131140,65604,192,12]],[11754,[524356,262212,192,12]],[11755,[524356,262212,192,12]],[11756,[524356,262212,192,12]],[11757,[524356,262212,192,12]],[11758,[2308,1284,768,12]],[11759,[2308,1284,768,12]],[11760,[2308,1284,768,12]],[11761,[2308,1284,768,12]],[11762,[8452,4356,768,12]],[11763,[8452,4356,768,12]],[11764,[8452,4356,768,12]],[11765,[8452,4356,768,12]],[11766,[33028,16644,768,12]],[11767,[33028,16644,768,12]],[11768,[33028,16644,768,12]],[11769,[33028,16644,768,12]],[11770,[131332,65796,768,12]],[11771,[131332,65796,768,12]],[11772,[131332,65796,768,12]],[11773,[131332,65796,768,12]],[11774,[524548,262404,768,12]],[11775,[524548,262404,768,12]],[11776,[524548,262404,768,12]],[11777,[524548,262404,768,12]],[11778,[9220,5124,3072,12]],[11779,[9220,5124,3072,12]],[11780,[9220,5124,3072,12]],[11781,[9220,5124,3072,12]],[11782,[33796,17412,3072,12]],[11783,[33796,17412,3072,12]],[11784,[33796,17412,3072,12]],[11785,[33796,17412,3072,12]],[11786,[132100,66564,3072,12]],[11787,[132100,66564,3072,12]],[11788,[132100,66564,3072,12]],[11789,[132100,66564,3072,12]],[11790,[525316,263172,3072,12]],[11791,[525316,263172,3072,12]],[11792,[525316,263172,3072,12]],[11793,[525316,263172,3072,12]],[11794,[525316,263172,3072,12]],[11795,[36868,20484,12288,12]],[11796,[36868,20484,12288,12]],[11797,[36868,20484,12288,12]],[11798,[36868,20484,12288,12]],[11799,[135172,69636,12288,12]],[11800,[135172,69636,12288,12]],[11801,[135172,69636,12288,12]],[11802,[135172,69636,12288,12]],[11803,[528388,266244,12288,12]],[11804,[528388,266244,12288,12]],[11805,[528388,266244,12288,12]],[11806,[528388,266244,12288,12]],[11807,[147460,81924,49152,12]],[11808,[147460,81924,49152,12]],[11809,[147460,81924,49152,12]],[11810,[147460,81924,49152,12]],[11811,[540676,278532,49152,12]],[11812,[540676,278532,49152,12]],[11813,[540676,278532,49152,12]],[11814,[540676,278532,49152,12]],[11815,[589828,327684,196608,12]],[11816,[589828,327684,196608,12]],[11817,[589828,327684,196608,12]],[11818,[589828,327684,196608,12]],[11819,[589828,327684,196608,12]],[11820,[592,336,192,48]],[11821,[592,336,192,48]],[11822,[592,336,192,48]],[11823,[592,336,192,48]],[11824,[2128,1104,192,48]],[11825,[2128,1104,192,48]],[11826,[2128,1104,192,48]],[11827,[2128,1104,192,48]],[11828,[8272,4176,192,48]],[11829,[8272,4176,192,48]],[11830,[8272,4176,192,48]],[11831,[8272,4176,192,48]],[11832,[32848,16464,192,48]],[11833,[32848,16464,192,48]],[11834,[32848,16464,192,48]],[11835,[32848,16464,192,48]],[11836,[131152,65616,192,48]],[11837,[131152,65616,192,48]],[11838,[131152,65616,192,48]],[11839,[131152,65616,192,48]],[11840,[524368,262224,192,48]],[11841,[524368,262224,192,48]],[11842,[524368,262224,192,48]],[11843,[524368,262224,192,48]],[11844,[2320,1296,768,48]],[11845,[2320,1296,768,48]],[11846,[2320,1296,768,48]],[11847,[2320,1296,768,48]],[11848,[8464,4368,768,48]],[11849,[8464,4368,768,48]],[11850,[8464,4368,768,48]],[11851,[8464,4368,768,48]],[11852,[33040,16656,768,48]],[11853,[33040,16656,768,48]],[11854,[33040,16656,768,48]],[11855,[33040,16656,768,48]],[11856,[131344,65808,768,48]],[11857,[131344,65808,768,48]],[11858,[131344,65808,768,48]],[11859,[131344,65808,768,48]],[11860,[524560,262416,768,48]],[11861,[524560,262416,768,48]],[11862,[524560,262416,768,48]],[11863,[524560,262416,768,48]],[11864,[9232,5136,3072,48]],[11865,[9232,5136,3072,48]],[11866,[9232,5136,3072,48]],[11867,[9232,5136,3072,48]],[11868,[33808,17424,3072,48]],[11869,[33808,17424,3072,48]],[11870,[33808,17424,3072,48]],[11871,[33808,17424,3072,48]],[11872,[132112,66576,3072,48]],[11873,[132112,66576,3072,48]],[11874,[132112,66576,3072,48]],[11875,[132112,66576,3072,48]],[11876,[525328,263184,3072,48]],[11877,[525328,263184,3072,48]],[11878,[525328,263184,3072,48]],[11879,[525328,263184,3072,48]],[11880,[36880,20496,12288,48]],[11881,[36880,20496,12288,48]],[11882,[36880,20496,12288,48]],[11883,[36880,20496,12288,48]],[11884,[135184,69648,12288,48]],[11885,[135184,69648,12288,48]],[11886,[135184,69648,12288,48]],[11887,[135184,69648,12288,48]],[11888,[528400,266256,12288,48]],[11889,[528400,266256,12288,48]],[11890,[528400,266256,12288,48]],[11891,[528400,266256,12288,48]],[11892,[147472,81936,49152,48]],[11893,[147472,81936,49152,48]],[11894,[147472,81936,49152,48]],[11895,[147472,81936,49152,48]],[11896,[540688,278544,49152,48]],[11897,[540688,278544,49152,48]],[11898,[540688,278544,49152,48]],[11899,[540688,278544,49152,48]],[11900,[540688,278544,49152,48]],[11901,[589840,327696,196608,48]],[11902,[589840,327696,196608,48]],[11903,[589840,327696,196608,48]],[11904,[589840,327696,196608,48]],[11905,[2368,1344,768,192]],[11906,[2368,1344,768,192]],[11907,[2368,1344,768,192]],[11908,[2368,1344,768,192]],[11909,[8512,4416,768,192]],[11910,[8512,4416,768,192]],[11911,[8512,4416,768,192]],[11912,[8512,4416,768,192]],[11913,[33088,16704,768,192]],[11914,[33088,16704,768,192]],[11915,[33088,16704,768,192]],[11916,[33088,16704,768,192]],[11917,[131392,65856,768,192]],[11918,[131392,65856,768,192]],[11919,[131392,65856,768,192]],[11920,[131392,65856,768,192]],[11921,[524608,262464,768,192]],[11922,[524608,262464,768,192]],[11923,[524608,262464,768,192]],[11924,[524608,262464,768,192]],[11925,[9280,5184,3072,192]],[11926,[9280,5184,3072,192]],[11927,[9280,5184,3072,192]],[11928,[9280,5184,3072,192]],[11929,[33856,17472,3072,192]],[11930,[33856,17472,3072,192]],[11931,[33856,17472,3072,192]],[11932,[33856,17472,3072,192]],[11933,[132160,66624,3072,192]],[11934,[132160,66624,3072,192]],[11935,[132160,66624,3072,192]],[11936,[132160,66624,3072,192]],[11937,[525376,263232,3072,192]],[11938,[525376,263232,3072,192]],[11939,[525376,263232,3072,192]],[11940,[525376,263232,3072,192]],[11941,[36928,20544,12288,192]],[11942,[36928,20544,12288,192]],[11943,[36928,20544,12288,192]],[11944,[36928,20544,12288,192]],[11945,[135232,69696,12288,192]],[11946,[135232,69696,12288,192]],[11947,[135232,69696,12288,192]],[11948,[135232,69696,12288,192]],[11949,[528448,266304,12288,192]],[11950,[528448,266304,12288,192]],[11951,[528448,266304,12288,192]],[11952,[528448,266304,12288,192]],[11953,[147520,81984,49152,192]],[11954,[147520,81984,49152,192]],[11955,[147520,81984,49152,192]],[11956,[147520,81984,49152,192]],[11957,[540736,278592,49152,192]],[11958,[540736,278592,49152,192]],[11959,[540736,278592,49152,192]],[11960,[540736,278592,49152,192]],[11961,[589888,327744,196608,192]],[11962,[589888,327744,196608,192]],[11963,[589888,327744,196608,192]],[11964,[589888,327744,196608,192]],[11965,[9472,5376,3072,768]],[11966,[9472,5376,3072,768]],[11967,[9472,5376,3072,768]],[11968,[9472,5376,3072,768]],[11969,[34048,17664,3072,768]],[11970,[34048,17664,3072,768]],[11971,[34048,17664,3072,768]],[11972,[34048,17664,3072,768]],[11973,[132352,66816,3072,768]],[11974,[132352,66816,3072,768]],[11975,[132352,66816,3072,768]],[11976,[132352,66816,3072,768]],[11977,[525568,263424,3072,768]],[11978,[525568,263424,3072,768]],[11979,[525568,263424,3072,768]],[11980,[525568,263424,3072,768]],[11981,[37120,20736,12288,768]],[11982,[37120,20736,12288,768]],[11983,[37120,20736,12288,768]],[11984,[37120,20736,12288,768]],[11985,[135424,69888,12288,768]],[11986,[135424,69888,12288,768]],[11987,[135424,69888,12288,768]],[11988,[135424,69888,12288,768]],[11989,[528640,266496,12288,768]],[11990,[528640,266496,12288,768]],[11991,[528640,266496,12288,768]],[11992,[528640,266496,12288,768]],[11993,[147712,82176,49152,768]],[11994,[147712,82176,49152,768]],[11995,[147712,82176,49152,768]],[11996,[147712,82176,49152,768]],[11997,[540928,278784,49152,768]],[11998,[540928,278784,49152,768]],[11999,[540928,278784,49152,768]],[12000,[540928,278784,49152,768]],[12001,[590080,327936,196608,768]],[12002,[590080,327936,196608,768]],[12003,[590080,327936,196608,768]],[12004,[590080,327936,196608,768]],[12005,[37888,21504,12288,3072]],[12006,[37888,21504,12288,3072]],[12007,[37888,21504,12288,3072]],[12008,[37888,21504,12288,3072]],[12009,[136192,70656,12288,3072]],[12010,[136192,70656,12288,3072]],[12011,[136192,70656,12288,3072]],[12012,[136192,70656,12288,3072]],[12013,[529408,267264,12288,3072]],[12014,[529408,267264,12288,3072]],[12015,[529408,267264,12288,3072]],[12016,[529408,267264,12288,3072]],[12017,[148480,82944,49152,3072]],[12018,[148480,82944,49152,3072]],[12019,[148480,82944,49152,3072]],[12020,[148480,82944,49152,3072]],[12021,[541696,279552,49152,3072]],[12022,[541696,279552,49152,3072]],[12023,[541696,279552,49152,3072]],[12024,[541696,279552,49152,3072]],[12025,[590848,328704,196608,3072]],[12026,[590848,328704,196608,3072]],[12027,[590848,328704,196608,3072]],[12028,[590848,328704,196608,3072]],[12029,[590848,328704,196608,3072]],[12030,[151552,86016,49152,12288]],[12031,[151552,86016,49152,12288]],[12032,[151552,86016,49152,12288]],[12033,[151552,86016,49152,12288]],[12034,[544768,282624,49152,12288]],[12035,[544768,282624,49152,12288]],[12036,[544768,282624,49152,12288]],[12037,[544768,282624,49152,12288]],[12038,[593920,331776,196608,12288]],[12039,[593920,331776,196608,12288]],[12040,[593920,331776,196608,12288]],[12041,[593920,331776,196608,12288]],[12042,[593920,331776,196608,12288]],[12043,[606208,344064,196608,49152]],[12044,[606208,344064,196608,49152]],[12045,[606208,344064,196608,49152]],[12046,[606208,344064,196608,49152]],[12049,[32772,16388,8196,4100,12,1]],[12050,[32772,16388,8196,4100,12,1]],[12051,[33024,16640,8448,4352,768,1]],[12052,[33024,16640,8448,4352,768,1]],[12055,[32833,16449,8257,4161,192]],[12059,[524353,262209,576,320,192]],[12060,[524353,262209,576,320,192]],[12061,[8197,4101,2052,1028,12]],[12062,[8197,4101,2052,1028,12]],[12063,[2052,1028,36,20,12,1]],[12065,[131137,65601,577,321,192]],[12069,[32773,16389,133,69,12]],[12070,[525313,263169,132097,66561,3072]],[12071,[525313,263169,132097,66561,3072]],[12074,[524305,262161,131089,65553,48]],[12075,[8257,4161,2113,1089,192]],[12076,[8257,4161,2113,1089,192]],[12077,[32832,16448,576,320,192,1]],[12078,[32832,16448,576,320,192,1]],[12079,[524353,262209,131137,65601,192]],[12080,[524353,262209,131137,65601,192]],[12081,[528385,266241,135169,69633,12288]],[12082,[524293,262149,131077,65541,12]],[12083,[524293,262149,131077,65541,12]],[12084,[2052,1028,36,20,12,1]],[12085,[2053,1029,517,261,12]],[12086,[2052,1028,36,20,12,1]],[12087,[524293,262149,36,20,12]],[12088,[524293,262149,36,20,12]],[12089,[32773,16389,36,20,12]],[12090,[32773,16389,36,20,12]],[12091,[32773,16389,36,20,12]],[12094,[517,261,36,20,12]],[12095,[517,261,36,20,12]],[12096,[33024,16640,8448,4352,768,1]],[12097,[131077,65541,36,20,12]],[12098,[131077,65541,36,20,12]],[12100,[32832,16448,576,320,192,1]],[12102,[131089,65553,32785,16401,48]],[12105,[32772,16388,8196,4100,12,2]],[12106,[32772,16388,8196,4100,12,2]],[12107,[33024,16640,8448,4352,768,2]],[12108,[33024,16640,8448,4352,768,2]],[12111,[32834,16450,8258,4162,192]],[12115,[524354,262210,576,320,192]],[12116,[524354,262210,576,320,192]],[12117,[8198,4102,2052,1028,12]],[12118,[8198,4102,2052,1028,12]],[12119,[2052,1028,36,20,12,2]],[12121,[131138,65602,578,322,192]],[12125,[32774,16390,134,70,12]],[12126,[525314,263170,132098,66562,3072]],[12127,[525314,263170,132098,66562,3072]],[12130,[524306,262162,131090,65554,48]],[12131,[8258,4162,2114,1090,192]],[12132,[8258,4162,2114,1090,192]],[12133,[32832,16448,576,320,192,2]],[12134,[32832,16448,576,320,192,2]],[12135,[524354,262210,131138,65602,192]],[12136,[524354,262210,131138,65602,192]],[12137,[528386,266242,135170,69634,12288]],[12138,[524294,262150,131078,65542,12]],[12139,[524294,262150,131078,65542,12]],[12140,[2052,1028,36,20,12,2]],[12141,[2054,1030,518,262,12]],[12142,[2052,1028,36,20,12,2]],[12143,[524294,262150,36,20,12]],[12144,[524294,262150,36,20,12]],[12145,[32774,16390,36,20,12]],[12146,[32774,16390,36,20,12]],[12147,[32774,16390,36,20,12]],[12150,[518,262,36,20,12]],[12151,[518,262,36,20,12]],[12152,[33024,16640,8448,4352,768,2]],[12153,[131078,65542,36,20,12]],[12154,[131078,65542,36,20,12]],[12156,[32832,16448,576,320,192,2]],[12158,[131090,65554,32786,16402,48]],[12161,[32769,16385,8193,4097,4,3]],[12162,[32769,16385,8193,4097,4,3]],[12163,[33024,16640,8448,4352,768,4]],[12164,[33024,16640,8448,4352,768,4]],[12167,[32836,16452,8260,4164,192]],[12171,[524356,262212,576,320,192]],[12172,[524356,262212,576,320,192]],[12173,[8197,4101,2049,1025,3]],[12174,[8197,4101,2049,1025,3]],[12175,[2049,1025,33,17,4,3]],[12177,[131140,65604,580,324,192]],[12181,[32773,16389,133,69,3]],[12182,[525316,263172,132100,66564,3072]],[12183,[525316,263172,132100,66564,3072]],[12186,[524308,262164,131092,65556,48]],[12187,[8260,4164,2116,1092,192]],[12188,[8260,4164,2116,1092,192]],[12189,[32832,16448,576,320,192,4]],[12190,[32832,16448,576,320,192,4]],[12191,[524356,262212,131140,65604,192]],[12192,[524356,262212,131140,65604,192]],[12193,[528388,266244,135172,69636,12288]],[12194,[524293,262149,131077,65541,3]],[12195,[524293,262149,131077,65541,3]],[12196,[2049,1025,33,17,4,3]],[12197,[2053,1029,517,261,3]],[12198,[2049,1025,33,17,4,3]],[12199,[524293,262149,33,17,3]],[12200,[524293,262149,33,17,3]],[12201,[32773,16389,33,17,3]],[12202,[32773,16389,33,17,3]],[12203,[32773,16389,33,17,3]],[12206,[517,261,33,17,3]],[12207,[517,261,33,17,3]],[12208,[33024,16640,8448,4352,768,4]],[12209,[131077,65541,33,17,3]],[12210,[131077,65541,33,17,3]],[12212,[32832,16448,576,320,192,4]],[12214,[131092,65556,32788,16404,48]],[12217,[32769,16385,8193,4097,8,3]],[12218,[32769,16385,8193,4097,8,3]],[12219,[33024,16640,8448,4352,768,8]],[12220,[33024,16640,8448,4352,768,8]],[12223,[32840,16456,8264,4168,192]],[12227,[524360,262216,576,320,192]],[12228,[524360,262216,576,320,192]],[12229,[8201,4105,2049,1025,3]],[12230,[8201,4105,2049,1025,3]],[12231,[2049,1025,33,17,8,3]],[12233,[131144,65608,584,328,192]],[12237,[32777,16393,137,73,3]],[12238,[525320,263176,132104,66568,3072]],[12239,[525320,263176,132104,66568,3072]],[12242,[524312,262168,131096,65560,48]],[12243,[8264,4168,2120,1096,192]],[12244,[8264,4168,2120,1096,192]],[12245,[32832,16448,576,320,192,8]],[12246,[32832,16448,576,320,192,8]],[12247,[524360,262216,131144,65608,192]],[12248,[524360,262216,131144,65608,192]],[12249,[528392,266248,135176,69640,12288]],[12250,[524297,262153,131081,65545,3]],[12251,[524297,262153,131081,65545,3]],[12252,[2049,1025,33,17,8,3]],[12253,[2057,1033,521,265,3]],[12254,[2049,1025,33,17,8,3]],[12255,[524297,262153,33,17,3]],[12256,[524297,262153,33,17,3]],[12257,[32777,16393,33,17,3]],[12258,[32777,16393,33,17,3]],[12259,[32777,16393,33,17,3]],[12262,[521,265,33,17,3]],[12263,[521,265,33,17,3]],[12264,[33024,16640,8448,4352,768,8]],[12265,[131081,65545,33,17,3]],[12266,[131081,65545,33,17,3]],[12268,[32832,16448,576,320,192,8]],[12270,[131096,65560,32792,16408,48]],[12273,[32769,16385,8193,4097,16,3]],[12274,[32769,16385,8193,4097,16,3]],[12275,[33024,16640,8448,4352,768,16]],[12276,[33024,16640,8448,4352,768,16]],[12279,[32848,16464,8272,4176,192]],[12283,[524368,262224,576,320,192]],[12284,[524368,262224,576,320,192]],[12285,[8209,4113,2049,1025,3]],[12286,[8209,4113,2049,1025,3]],[12287,[2049,1025,16,9,5,3]],[12289,[131152,65616,592,336,192]],[12293,[32785,16401,145,81,3]],[12294,[525328,263184,132112,66576,3072]],[12295,[525328,263184,132112,66576,3072]],[12298,[524308,262164,131092,65556,12]],[12299,[8272,4176,2128,1104,192]],[12300,[8272,4176,2128,1104,192]],[12301,[32832,16448,576,320,192,16]],[12302,[32832,16448,576,320,192,16]],[12303,[524368,262224,131152,65616,192]],[12304,[524368,262224,131152,65616,192]],[12305,[528400,266256,135184,69648,12288]],[12306,[524305,262161,131089,65553,3]],[12307,[524305,262161,131089,65553,3]],[12308,[2049,1025,16,9,5,3]],[12309,[2065,1041,529,273,3]],[12310,[2049,1025,16,9,5,3]],[12311,[524305,262161,9,5,3]],[12312,[524305,262161,9,5,3]],[12313,[32785,16401,9,5,3]],[12314,[32785,16401,9,5,3]],[12315,[32785,16401,9,5,3]],[12318,[529,273,9,5,3]],[12319,[529,273,9,5,3]],[12320,[33024,16640,8448,4352,768,16]],[12321,[131089,65553,9,5,3]],[12322,[131089,65553,9,5,3]],[12324,[32832,16448,576,320,192,16]],[12326,[131092,65556,32788,16404,12]],[12329,[32769,16385,8193,4097,32,3]],[12330,[32769,16385,8193,4097,32,3]],[12331,[33024,16640,8448,4352,768,32]],[12332,[33024,16640,8448,4352,768,32]],[12335,[32864,16480,8288,4192,192]],[12339,[524384,262240,576,320,192]],[12340,[524384,262240,576,320,192]],[12341,[8225,4129,2049,1025,3]],[12342,[8225,4129,2049,1025,3]],[12343,[2049,1025,32,9,5,3]],[12345,[131168,65632,608,352,192]],[12349,[32801,16417,161,97,3]],[12350,[525344,263200,132128,66592,3072]],[12351,[525344,263200,132128,66592,3072]],[12354,[524324,262180,131108,65572,12]],[12355,[8288,4192,2144,1120,192]],[12356,[8288,4192,2144,1120,192]],[12357,[32832,16448,576,320,192,32]],[12358,[32832,16448,576,320,192,32]],[12359,[524384,262240,131168,65632,192]],[12360,[524384,262240,131168,65632,192]],[12361,[528416,266272,135200,69664,12288]],[12362,[524321,262177,131105,65569,3]],[12363,[524321,262177,131105,65569,3]],[12364,[2049,1025,32,9,5,3]],[12365,[2081,1057,545,289,3]],[12366,[2049,1025,32,9,5,3]],[12367,[524321,262177,9,5,3]],[12368,[524321,262177,9,5,3]],[12369,[32801,16417,9,5,3]],[12370,[32801,16417,9,5,3]],[12371,[32801,16417,9,5,3]],[12374,[545,289,9,5,3]],[12375,[545,289,9,5,3]],[12376,[33024,16640,8448,4352,768,32]],[12377,[131105,65569,9,5,3]],[12378,[131105,65569,9,5,3]],[12380,[32832,16448,576,320,192,32]],[12382,[131108,65572,32804,16420,12]],[12385,[32769,16385,8193,4097,64,3]],[12386,[32769,16385,8193,4097,64,3]],[12387,[33024,16640,8448,4352,768,64]],[12388,[33024,16640,8448,4352,768,64]],[12391,[32848,16464,8272,4176,48]],[12395,[524368,262224,528,272,48]],[12396,[524368,262224,528,272,48]],[12397,[8257,4161,2049,1025,3]],[12398,[8257,4161,2049,1025,3]],[12399,[2049,1025,64,9,5,3]],[12401,[131152,65616,592,336,48]],[12405,[32784,16400,81,48,3]],[12406,[525376,263232,132160,66624,3072]],[12407,[525376,263232,132160,66624,3072]],[12410,[524356,262212,131140,65604,12]],[12411,[8272,4176,2128,1104,48]],[12412,[8272,4176,2128,1104,48]],[12413,[32784,16400,528,272,64,48]],[12414,[32784,16400,528,272,64,48]],[12415,[524368,262224,131152,65616,48]],[12416,[524368,262224,131152,65616,48]],[12417,[528448,266304,135232,69696,12288]],[12418,[524353,262209,131137,65601,3]],[12419,[524353,262209,131137,65601,3]],[12420,[2049,1025,64,9,5,3]],[12421,[2113,1089,577,321,3]],[12422,[2049,1025,64,9,5,3]],[12423,[524353,262209,9,5,3]],[12424,[524353,262209,9,5,3]],[12425,[32833,16449,9,5,3]],[12426,[32833,16449,9,5,3]],[12427,[32833,16449,9,5,3]],[12430,[577,321,9,5,3]],[12431,[577,321,9,5,3]],[12432,[33024,16640,8448,4352,768,64]],[12433,[131137,65601,9,5,3]],[12434,[131137,65601,9,5,3]],[12436,[32784,16400,528,272,64,48]],[12438,[131140,65604,32836,16452,12]],[12441,[32769,16385,8193,4097,128,3]],[12442,[32769,16385,8193,4097,128,3]],[12443,[33024,16640,8448,4352,768,128]],[12444,[33024,16640,8448,4352,768,128]],[12447,[32912,16528,8336,4240,48]],[12451,[524432,262288,528,272,48]],[12452,[524432,262288,528,272,48]],[12453,[8321,4225,2049,1025,3]],[12454,[8321,4225,2049,1025,3]],[12455,[2049,1025,128,9,5,3]],[12457,[131216,65680,656,400,48]],[12461,[32784,16400,145,48,3]],[12462,[525440,263296,132224,66688,3072]],[12463,[525440,263296,132224,66688,3072]],[12466,[524420,262276,131204,65668,12]],[12467,[8336,4240,2192,1168,48]],[12468,[8336,4240,2192,1168,48]],[12469,[32784,16400,528,272,128,48]],[12470,[32784,16400,528,272,128,48]],[12471,[524432,262288,131216,65680,48]],[12472,[524432,262288,131216,65680,48]],[12473,[528512,266368,135296,69760,12288]],[12474,[524417,262273,131201,65665,3]],[12475,[524417,262273,131201,65665,3]],[12476,[2049,1025,128,9,5,3]],[12477,[2177,1153,641,385,3]],[12478,[2049,1025,128,9,5,3]],[12479,[524417,262273,9,5,3]],[12480,[524417,262273,9,5,3]],[12481,[32897,16513,9,5,3]],[12482,[32897,16513,9,5,3]],[12483,[32897,16513,9,5,3]],[12486,[641,385,9,5,3]],[12487,[641,385,9,5,3]],[12488,[33024,16640,8448,4352,768,128]],[12489,[131201,65665,9,5,3]],[12490,[131201,65665,9,5,3]],[12492,[32784,16400,528,272,128,48]],[12494,[131204,65668,32900,16516,12]],[12497,[32769,16385,8193,4097,256,3]],[12498,[32769,16385,8193,4097,256,3]],[12499,[32832,16448,8256,4160,256,192]],[12500,[32832,16448,8256,4160,256,192]],[12503,[33040,16656,8464,4368,48]],[12507,[524560,262416,144,80,48]],[12508,[524560,262416,144,80,48]],[12509,[8449,4353,2049,1025,3]],[12510,[8449,4353,2049,1025,3]],[12511,[2049,1025,256,9,5,3]],[12513,[131136,65600,336,192,48]],[12517,[32784,16400,273,48,3]],[12518,[525568,263424,132352,66816,3072]],[12519,[525568,263424,132352,66816,3072]],[12522,[524548,262404,131332,65796,12]],[12523,[8464,4368,2320,1296,48]],[12524,[8464,4368,2320,1296,48]],[12525,[32784,16400,256,144,80,48]],[12526,[32784,16400,256,144,80,48]],[12527,[524560,262416,131344,65808,48]],[12528,[524560,262416,131344,65808,48]],[12529,[528640,266496,135424,69888,12288]],[12530,[524545,262401,131329,65793,3]],[12531,[524545,262401,131329,65793,3]],[12532,[2049,1025,256,9,5,3]],[12533,[2112,1088,321,192,3]],[12534,[2049,1025,256,9,5,3]],[12535,[524545,262401,9,5,3]],[12536,[524545,262401,9,5,3]],[12537,[33025,16641,9,5,3]],[12538,[33025,16641,9,5,3]],[12539,[33025,16641,9,5,3]],[12542,[321,192,9,5,3]],[12543,[321,192,9,5,3]],[12544,[32832,16448,8256,4160,256,192]],[12545,[131329,65793,9,5,3]],[12546,[131329,65793,9,5,3]],[12548,[32784,16400,256,144,80,48]],[12550,[131332,65796,33028,16644,12]],[12553,[32769,16385,8193,4097,512,3]],[12554,[32769,16385,8193,4097,512,3]],[12555,[32832,16448,8256,4160,512,192]],[12556,[32832,16448,8256,4160,512,192]],[12559,[33296,16912,8720,4624,48]],[12563,[524816,262672,144,80,48]],[12564,[524816,262672,144,80,48]],[12565,[8705,4609,2049,1025,3]],[12566,[8705,4609,2049,1025,3]],[12567,[2049,1025,512,9,5,3]],[12569,[131136,65600,592,192,48]],[12573,[32784,16400,529,48,3]],[12574,[525824,263680,132608,67072,3072]],[12575,[525824,263680,132608,67072,3072]],[12578,[524804,262660,131588,66052,12]],[12579,[8720,4624,2576,1552,48]],[12580,[8720,4624,2576,1552,48]],[12581,[32784,16400,512,144,80,48]],[12582,[32784,16400,512,144,80,48]],[12583,[524816,262672,131600,66064,48]],[12584,[524816,262672,131600,66064,48]],[12585,[528896,266752,135680,70144,12288]],[12586,[524801,262657,131585,66049,3]],[12587,[524801,262657,131585,66049,3]],[12588,[2049,1025,512,9,5,3]],[12589,[2112,1088,577,192,3]],[12590,[2049,1025,512,9,5,3]],[12591,[524801,262657,9,5,3]],[12592,[524801,262657,9,5,3]],[12593,[33281,16897,9,5,3]],[12594,[33281,16897,9,5,3]],[12595,[33281,16897,9,5,3]],[12598,[577,192,9,5,3]],[12599,[577,192,9,5,3]],[12600,[32832,16448,8256,4160,512,192]],[12601,[131585,66049,9,5,3]],[12602,[131585,66049,9,5,3]],[12604,[32784,16400,512,144,80,48]],[12606,[131588,66052,33284,16900,12]],[12609,[32769,16385,8193,4097,1024,3]],[12610,[32769,16385,8193,4097,1024,3]],[12611,[32832,16448,8256,4160,1024,192]],[12612,[32832,16448,8256,4160,1024,192]],[12615,[33808,17424,9232,5136,48]],[12619,[525328,263184,144,80,48]],[12620,[525328,263184,144,80,48]],[12621,[9217,5121,513,257,3]],[12622,[9217,5121,513,257,3]],[12623,[1024,513,257,9,5,3]],[12625,[131136,65600,1104,192,48]],[12629,[32784,16400,1041,48,3]],[12630,[525568,263424,132352,66816,768]],[12631,[525568,263424,132352,66816,768]],[12634,[525316,263172,132100,66564,12]],[12635,[8448,4352,1296,768,48]],[12636,[8448,4352,1296,768,48]],[12637,[32784,16400,1024,144,80,48]],[12638,[32784,16400,1024,144,80,48]],[12639,[525328,263184,132112,66576,48]],[12640,[525328,263184,132112,66576,48]],[12641,[529408,267264,136192,70656,12288]],[12642,[525313,263169,132097,66561,3]],[12643,[525313,263169,132097,66561,3]],[12644,[1024,513,257,9,5,3]],[12645,[1089,576,320,192,3]],[12646,[1024,513,257,9,5,3]],[12647,[525313,263169,9,5,3]],[12648,[525313,263169,9,5,3]],[12649,[33793,17409,9,5,3]],[12650,[33793,17409,9,5,3]],[12651,[33793,17409,9,5,3]],[12654,[1089,192,9,5,3]],[12655,[1089,192,9,5,3]],[12656,[32832,16448,8256,4160,1024,192]],[12657,[132097,66561,9,5,3]],[12658,[132097,66561,9,5,3]],[12660,[32784,16400,1024,144,80,48]],[12662,[132100,66564,33796,17412,12]],[12665,[32769,16385,8193,4097,2048,3]],[12666,[32769,16385,8193,4097,2048,3]],[12667,[32832,16448,8256,4160,2048,192]],[12668,[32832,16448,8256,4160,2048,192]],[12671,[34832,18448,10256,6160,48]],[12675,[526352,264208,144,80,48]],[12676,[526352,264208,144,80,48]],[12677,[10241,6145,513,257,3]],[12678,[10241,6145,513,257,3]],[12679,[2048,513,257,9,5,3]],[12681,[131136,65600,2128,192,48]],[12685,[32784,16400,2065,48,3]],[12686,[526592,264448,133376,67840,768]],[12687,[526592,264448,133376,67840,768]],[12690,[526340,264196,133124,67588,12]],[12691,[8448,4352,2320,768,48]],[12692,[8448,4352,2320,768,48]],[12693,[32784,16400,2048,144,80,48]],[12694,[32784,16400,2048,144,80,48]],[12695,[526352,264208,133136,67600,48]],[12696,[526352,264208,133136,67600,48]],[12697,[530432,268288,137216,71680,12288]],[12698,[526337,264193,133121,67585,3]],[12699,[526337,264193,133121,67585,3]],[12700,[2048,513,257,9,5,3]],[12701,[2113,576,320,192,3]],[12702,[2048,513,257,9,5,3]],[12703,[526337,264193,9,5,3]],[12704,[526337,264193,9,5,3]],[12705,[34817,18433,9,5,3]],[12706,[34817,18433,9,5,3]],[12707,[34817,18433,9,5,3]],[12710,[2113,192,9,5,3]],[12711,[2113,192,9,5,3]],[12712,[32832,16448,8256,4160,2048,192]],[12713,[133121,67585,9,5,3]],[12714,[133121,67585,9,5,3]],[12716,[32784,16400,2048,144,80,48]],[12718,[133124,67588,34820,18436,12]],[12721,[32769,16385,4096,2049,1025,3]],[12722,[32769,16385,4096,2049,1025,3]],[12723,[32832,16448,4096,2112,1088,192]],[12724,[32832,16448,4096,2112,1088,192]],[12727,[33792,17408,5136,3072,48]],[12731,[528400,266256,144,80,48]],[12732,[528400,266256,144,80,48]],[12733,[5121,3072,513,257,3]],[12734,[5121,3072,513,257,3]],[12735,[4096,513,257,9,5,3]],[12737,[131136,65600,4176,192,48]],[12741,[32784,16400,4113,48,3]],[12742,[528640,266496,135424,69888,768]],[12743,[528640,266496,135424,69888,768]],[12746,[528388,266244,135172,69636,12]],[12747,[4368,2304,1280,768,48]],[12748,[4368,2304,1280,768,48]],[12749,[32784,16400,4096,144,80,48]],[12750,[32784,16400,4096,144,80,48]],[12751,[528400,266256,135184,69648,48]],[12752,[528400,266256,135184,69648,48]],[12753,[529408,267264,136192,70656,3072]],[12754,[528385,266241,135169,69633,3]],[12755,[528385,266241,135169,69633,3]],[12756,[4096,513,257,9,5,3]],[12757,[4161,576,320,192,3]],[12758,[4096,513,257,9,5,3]],[12759,[528385,266241,9,5,3]],[12760,[528385,266241,9,5,3]],[12761,[36865,20481,9,5,3]],[12762,[36865,20481,9,5,3]],[12763,[36865,20481,9,5,3]],[12766,[4161,192,9,5,3]],[12767,[4161,192,9,5,3]],[12768,[32832,16448,4096,2112,1088,192]],[12769,[135169,69633,9,5,3]],[12770,[135169,69633,9,5,3]],[12772,[32784,16400,4096,144,80,48]],[12774,[135172,69636,36868,20484,12]],[12777,[32769,16385,8192,2049,1025,3]],[12778,[32769,16385,8192,2049,1025,3]],[12779,[32832,16448,8192,2112,1088,192]],[12780,[32832,16448,8192,2112,1088,192]],[12783,[33792,17408,9232,3072,48]],[12787,[532496,270352,144,80,48]],[12788,[532496,270352,144,80,48]],[12789,[9217,3072,513,257,3]],[12790,[9217,3072,513,257,3]],[12791,[8192,513,257,9,5,3]],[12793,[131136,65600,8272,192,48]],[12797,[32784,16400,8209,48,3]],[12798,[532736,270592,139520,73984,768]],[12799,[532736,270592,139520,73984,768]],[12802,[532484,270340,139268,73732,12]],[12803,[8464,2304,1280,768,48]],[12804,[8464,2304,1280,768,48]],[12805,[32784,16400,8192,144,80,48]],[12806,[32784,16400,8192,144,80,48]],[12807,[532496,270352,139280,73744,48]],[12808,[532496,270352,139280,73744,48]],[12809,[533504,271360,140288,74752,3072]],[12810,[532481,270337,139265,73729,3]],[12811,[532481,270337,139265,73729,3]],[12812,[8192,513,257,9,5,3]],[12813,[8257,576,320,192,3]],[12814,[8192,513,257,9,5,3]],[12815,[532481,270337,9,5,3]],[12816,[532481,270337,9,5,3]],[12817,[40961,24577,9,5,3]],[12818,[40961,24577,9,5,3]],[12819,[40961,24577,9,5,3]],[12822,[8257,192,9,5,3]],[12823,[8257,192,9,5,3]],[12824,[32832,16448,8192,2112,1088,192]],[12825,[139265,73729,9,5,3]],[12826,[139265,73729,9,5,3]],[12828,[32784,16400,8192,144,80,48]],[12830,[139268,73732,40964,24580,12]],[12833,[16384,8193,4097,2049,1025,3]],[12834,[16384,8193,4097,2049,1025,3]],[12835,[16384,8256,4160,2112,1088,192]],[12836,[16384,8256,4160,2112,1088,192]],[12839,[17424,9216,5120,3072,48]],[12843,[540688,278544,144,80,48]],[12844,[540688,278544,144,80,48]],[12845,[17409,3072,513,257,3]],[12846,[17409,3072,513,257,3]],[12847,[16384,513,257,9,5,3]],[12849,[131136,65600,16464,192,48]],[12853,[16401,8208,4112,48,3]],[12854,[540928,278784,147712,82176,768]],[12855,[540928,278784,147712,82176,768]],[12858,[540676,278532,147460,81924,12]],[12859,[16656,2304,1280,768,48]],[12860,[16656,2304,1280,768,48]],[12861,[16384,8208,4112,144,80,48]],[12862,[16384,8208,4112,144,80,48]],[12863,[540688,278544,147472,81936,48]],[12864,[540688,278544,147472,81936,48]],[12865,[541696,279552,148480,82944,3072]],[12866,[540673,278529,147457,81921,3]],[12867,[540673,278529,147457,81921,3]],[12868,[16384,513,257,9,5,3]],[12869,[16449,576,320,192,3]],[12870,[16384,513,257,9,5,3]],[12871,[540673,278529,9,5,3]],[12872,[540673,278529,9,5,3]],[12873,[20481,12288,9,5,3]],[12874,[20481,12288,9,5,3]],[12875,[20481,12288,9,5,3]],[12878,[16449,192,9,5,3]],[12879,[16449,192,9,5,3]],[12880,[16384,8256,4160,2112,1088,192]],[12881,[147457,81921,9,5,3]],[12882,[147457,81921,9,5,3]],[12884,[16384,8208,4112,144,80,48]],[12886,[135168,69632,20484,12288,12]],[12889,[32768,8193,4097,2049,1025,3]],[12890,[32768,8193,4097,2049,1025,3]],[12891,[32768,8256,4160,2112,1088,192]],[12892,[32768,8256,4160,2112,1088,192]],[12895,[33808,9216,5120,3072,48]],[12899,[557072,294928,144,80,48]],[12900,[557072,294928,144,80,48]],[12901,[33793,3072,513,257,3]],[12902,[33793,3072,513,257,3]],[12903,[32768,513,257,9,5,3]],[12905,[131136,65600,32848,192,48]],[12909,[32785,8208,4112,48,3]],[12910,[557312,295168,164096,98560,768]],[12911,[557312,295168,164096,98560,768]],[12914,[557060,294916,163844,98308,12]],[12915,[33040,2304,1280,768,48]],[12916,[33040,2304,1280,768,48]],[12917,[32768,8208,4112,144,80,48]],[12918,[32768,8208,4112,144,80,48]],[12919,[557072,294928,163856,98320,48]],[12920,[557072,294928,163856,98320,48]],[12921,[558080,295936,164864,99328,3072]],[12922,[557057,294913,163841,98305,3]],[12923,[557057,294913,163841,98305,3]],[12924,[32768,513,257,9,5,3]],[12925,[32833,576,320,192,3]],[12926,[32768,513,257,9,5,3]],[12927,[557057,294913,9,5,3]],[12928,[557057,294913,9,5,3]],[12929,[36865,12288,9,5,3]],[12930,[36865,12288,9,5,3]],[12931,[36865,12288,9,5,3]],[12934,[32833,192,9,5,3]],[12935,[32833,192,9,5,3]],[12936,[32768,8256,4160,2112,1088,192]],[12937,[163841,98305,9,5,3]],[12938,[163841,98305,9,5,3]],[12940,[32768,8208,4112,144,80,48]],[12942,[135168,69632,36868,12288,12]],[12945,[65536,8193,4097,2049,1025,3]],[12946,[65536,8193,4097,2049,1025,3]],[12947,[65536,8256,4160,2112,1088,192]],[12948,[65536,8256,4160,2112,1088,192]],[12951,[66576,9216,5120,3072,48]],[12955,[589840,327696,144,80,48]],[12956,[589840,327696,144,80,48]],[12957,[66561,3072,513,257,3]],[12958,[66561,3072,513,257,3]],[12959,[65536,513,257,9,5,3]],[12961,[65616,32832,16448,192,48]],[12965,[65553,8208,4112,48,3]],[12966,[540672,278528,82176,49152,768]],[12967,[540672,278528,82176,49152,768]],[12970,[540672,278528,81924,49152,12]],[12971,[65808,2304,1280,768,48]],[12972,[65808,2304,1280,768,48]],[12973,[65536,8208,4112,144,80,48]],[12974,[65536,8208,4112,144,80,48]],[12975,[540672,278528,81936,49152,48]],[12976,[540672,278528,81936,49152,48]],[12977,[540672,278528,82944,49152,3072]],[12978,[540672,278528,81921,49152,3]],[12979,[540672,278528,81921,49152,3]],[12980,[65536,513,257,9,5,3]],[12981,[65601,576,320,192,3]],[12982,[65536,513,257,9,5,3]],[12983,[589825,327681,9,5,3]],[12984,[589825,327681,9,5,3]],[12985,[69633,12288,9,5,3]],[12986,[69633,12288,9,5,3]],[12987,[69633,12288,9,5,3]],[12990,[65601,192,9,5,3]],[12991,[65601,192,9,5,3]],[12992,[65536,8256,4160,2112,1088,192]],[12993,[81921,49152,9,5,3]],[12994,[81921,49152,9,5,3]],[12996,[65536,8208,4112,144,80,48]],[12998,[69636,36864,20480,12288,12]],[13001,[131072,8193,4097,2049,1025,3]],[13002,[131072,8193,4097,2049,1025,3]],[13003,[131072,8256,4160,2112,1088,192]],[13004,[131072,8256,4160,2112,1088,192]],[13007,[132112,9216,5120,3072,48]],[13011,[655376,393232,144,80,48]],[13012,[655376,393232,144,80,48]],[13013,[132097,3072,513,257,3]],[13014,[132097,3072,513,257,3]],[13015,[131072,513,257,9,5,3]],[13017,[131152,32832,16448,192,48]],[13021,[131089,8208,4112,48,3]],[13022,[540672,278528,147712,49152,768]],[13023,[540672,278528,147712,49152,768]],[13026,[540672,278528,147460,49152,12]],[13027,[131344,2304,1280,768,48]],[13028,[131344,2304,1280,768,48]],[13029,[131072,8208,4112,144,80,48]],[13030,[131072,8208,4112,144,80,48]],[13031,[540672,278528,147472,49152,48]],[13032,[540672,278528,147472,49152,48]],[13033,[540672,278528,148480,49152,3072]],[13034,[540672,278528,147457,49152,3]],[13035,[540672,278528,147457,49152,3]],[13036,[131072,513,257,9,5,3]],[13037,[131137,576,320,192,3]],[13038,[131072,513,257,9,5,3]],[13039,[655361,393217,9,5,3]],[13040,[655361,393217,9,5,3]],[13041,[135169,12288,9,5,3]],[13042,[135169,12288,9,5,3]],[13043,[135169,12288,9,5,3]],[13046,[131137,192,9,5,3]],[13047,[131137,192,9,5,3]],[13048,[131072,8256,4160,2112,1088,192]],[13049,[147457,49152,9,5,3]],[13050,[147457,49152,9,5,3]],[13052,[131072,8208,4112,144,80,48]],[13054,[135172,36864,20480,12288,12]],[13057,[262144,8193,4097,2049,1025,3]],[13058,[262144,8193,4097,2049,1025,3]],[13059,[262144,8256,4160,2112,1088,192]],[13060,[262144,8256,4160,2112,1088,192]],[13063,[263184,9216,5120,3072,48]],[13067,[327696,196608,144,80,48]],[13068,[327696,196608,144,80,48]],[13069,[263169,3072,513,257,3]],[13070,[263169,3072,513,257,3]],[13071,[262144,513,257,9,5,3]],[13073,[262224,32832,16448,192,48]],[13077,[262161,8208,4112,48,3]],[13078,[278784,147456,81920,49152,768]],[13079,[278784,147456,81920,49152,768]],[13082,[278532,147456,81920,49152,12]],[13083,[262416,2304,1280,768,48]],[13084,[262416,2304,1280,768,48]],[13085,[262144,8208,4112,144,80,48]],[13086,[262144,8208,4112,144,80,48]],[13087,[278544,147456,81920,49152,48]],[13088,[278544,147456,81920,49152,48]],[13089,[279552,147456,81920,49152,3072]],[13090,[278529,147456,81920,49152,3]],[13091,[278529,147456,81920,49152,3]],[13092,[262144,513,257,9,5,3]],[13093,[262209,576,320,192,3]],[13094,[262144,513,257,9,5,3]],[13095,[327681,196608,9,5,3]],[13096,[327681,196608,9,5,3]],[13097,[266241,12288,9,5,3]],[13098,[266241,12288,9,5,3]],[13099,[266241,12288,9,5,3]],[13102,[262209,192,9,5,3]],[13103,[262209,192,9,5,3]],[13104,[262144,8256,4160,2112,1088,192]],[13105,[278529,49152,9,5,3]],[13106,[278529,49152,9,5,3]],[13108,[262144,8208,4112,144,80,48]],[13110,[266244,36864,20480,12288,12]],[13113,[524288,8193,4097,2049,1025,3]],[13114,[524288,8193,4097,2049,1025,3]],[13115,[524288,8256,4160,2112,1088,192]],[13116,[524288,8256,4160,2112,1088,192]],[13119,[525328,9216,5120,3072,48]],[13123,[589840,196608,144,80,48]],[13124,[589840,196608,144,80,48]],[13125,[525313,3072,513,257,3]],[13126,[525313,3072,513,257,3]],[13127,[524288,513,257,9,5,3]],[13129,[524368,32832,16448,192,48]],[13133,[524305,8208,4112,48,3]],[13134,[540928,147456,81920,49152,768]],[13135,[540928,147456,81920,49152,768]],[13138,[540676,147456,81920,49152,12]],[13139,[524560,2304,1280,768,48]],[13140,[524560,2304,1280,768,48]],[13141,[524288,8208,4112,144,80,48]],[13142,[524288,8208,4112,144,80,48]],[13143,[540688,147456,81920,49152,48]],[13144,[540688,147456,81920,49152,48]],[13145,[541696,147456,81920,49152,3072]],[13146,[540673,147456,81920,49152,3]],[13147,[540673,147456,81920,49152,3]],[13148,[524288,513,257,9,5,3]],[13149,[524353,576,320,192,3]],[13150,[524288,513,257,9,5,3]],[13151,[589825,196608,9,5,3]],[13152,[589825,196608,9,5,3]],[13153,[528385,12288,9,5,3]],[13154,[528385,12288,9,5,3]],[13155,[528385,12288,9,5,3]],[13158,[524353,192,9,5,3]],[13159,[524353,192,9,5,3]],[13160,[524288,8256,4160,2112,1088,192]],[13161,[540673,49152,9,5,3]],[13162,[540673,49152,9,5,3]],[13164,[524288,8208,4112,144,80,48]],[13166,[528388,36864,20480,12288,12]],[13167,[524293,262149,131077,65541,15]],[13168,[133,69,37,21,15]],[13169,[2053,1029,133,69,15]],[13170,[524294,262150,131078,65542,15]],[13171,[134,70,38,22,15]],[13172,[2054,1030,134,70,15]],[13173,[524305,262161,131089,65553,51]],[13174,[132,68,38,21,12]],[13175,[2065,1041,145,81,51]],[13176,[524306,262162,131090,65554,51]],[13177,[132,68,37,22,12]],[13178,[2066,1042,146,82,51]],[13179,[524353,262209,131137,65601,195]],[13180,[134,69,36,20,12]],[13181,[2064,1040,146,81,48]],[13182,[524354,262210,131138,65602,195]],[13183,[133,70,36,20,12]],[13184,[2064,1040,145,82,48]],[13185,[524545,262401,131329,65793,771]],[13186,[518,261,36,20,12]],[13187,[2064,1040,530,273,48]],[13188,[524546,262402,131330,65794,771]],[13189,[517,262,36,20,12]],[13190,[2064,1040,529,274,48]],[13191,[525313,263169,132097,66561,3075]],[13192,[2054,1029,36,20,12]],[13193,[2066,1041,528,272,48]],[13194,[525314,263170,132098,66562,3075]],[13195,[2053,1030,36,20,12]],[13196,[2065,1042,528,272,48]],[13197,[528385,266241,135169,69633,12291]],[13198,[8198,4101,36,20,12]],[13199,[8210,4113,528,272,48]],[13200,[528386,266242,135170,69634,12291]],[13201,[8197,4102,36,20,12]],[13202,[8209,4114,528,272,48]],[13203,[540673,278529,147457,81921,49155]],[13204,[32774,16389,36,20,12]],[13205,[32786,16401,528,272,48]],[13206,[540674,278530,147458,81922,49155]],[13207,[32773,16390,36,20,12]],[13208,[32785,16402,528,272,48]],[13209,[540672,278528,147458,81921,49152]],[13210,[131078,65541,36,20,12]],[13211,[131090,65553,528,272,48]],[13212,[540672,278528,147457,81922,49152]],[13213,[131077,65542,36,20,12]],[13214,[131089,65554,528,272,48]],[13215,[540674,278529,147456,81920,49152]],[13216,[524294,262149,36,20,12]],[13217,[524306,262161,528,272,48]],[13218,[540673,278530,147456,81920,49152]],[13219,[524293,262150,36,20,12]],[13220,[524305,262162,528,272,48]],[13221,[524308,262164,131092,65556,60]],[13222,[129,65,41,21,3]],[13223,[2068,1044,148,84,60]],[13224,[524312,262168,131096,65560,60]],[13225,[129,65,37,25,3]],[13226,[2072,1048,152,88,60]],[13227,[524356,262212,131140,65604,204]],[13228,[137,69,33,17,3]],[13229,[2064,1040,152,84,48]],[13230,[524360,262216,131144,65608,204]],[13231,[133,73,33,17,3]],[13232,[2064,1040,148,88,48]],[13233,[524548,262404,131332,65796,780]],[13234,[521,261,33,17,3]],[13235,[2064,1040,536,276,48]],[13236,[524552,262408,131336,65800,780]],[13237,[517,265,33,17,3]],[13238,[2064,1040,532,280,48]],[13239,[525316,263172,132100,66564,3084]],[13240,[2057,1029,33,17,3]],[13241,[2072,1044,528,272,48]],[13242,[525320,263176,132104,66568,3084]],[13243,[2053,1033,33,17,3]],[13244,[2068,1048,528,272,48]],[13245,[528388,266244,135172,69636,12300]],[13246,[8201,4101,33,17,3]],[13247,[8216,4116,528,272,48]],[13248,[528392,266248,135176,69640,12300]],[13249,[8197,4105,33,17,3]],[13250,[8212,4120,528,272,48]],[13251,[540676,278532,147460,81924,49164]],[13252,[32777,16389,33,17,3]],[13253,[32792,16404,528,272,48]],[13254,[540680,278536,147464,81928,49164]],[13255,[32773,16393,33,17,3]],[13256,[32788,16408,528,272,48]],[13257,[540672,278528,147464,81924,49152]],[13258,[131081,65541,33,17,3]],[13259,[131096,65556,528,272,48]],[13260,[540672,278528,147460,81928,49152]],[13261,[131077,65545,33,17,3]],[13262,[131092,65560,528,272,48]],[13263,[540680,278532,147456,81920,49152]],[13264,[524297,262149,33,17,3]],[13265,[524312,262164,528,272,48]],[13266,[540676,278536,147456,81920,49152]],[13267,[524293,262153,33,17,3]],[13268,[524308,262168,528,272,48]],[13269,[524368,262224,131152,65616,240]],[13270,[161,81,9,5,3]],[13271,[2052,1028,164,84,12]],[13272,[524384,262240,131168,65632,240]],[13273,[145,97,9,5,3]],[13274,[2052,1028,148,100,12]],[13275,[524560,262416,131344,65808,816]],[13276,[545,273,9,5,3]],[13277,[2052,1028,548,276,12]],[13278,[524576,262432,131360,65824,816]],[13279,[529,289,9,5,3]],[13280,[2052,1028,532,292,12]],[13281,[525328,263184,132112,66576,3120]],[13282,[2081,1041,9,5,3]],[13283,[2084,1044,516,260,12]],[13284,[525344,263200,132128,66592,3120]],[13285,[2065,1057,9,5,3]],[13286,[2068,1060,516,260,12]],[13287,[528400,266256,135184,69648,12336]],[13288,[8225,4113,9,5,3]],[13289,[8228,4116,516,260,12]],[13290,[528416,266272,135200,69664,12336]],[13291,[8209,4129,9,5,3]],[13292,[8212,4132,516,260,12]],[13293,[540688,278544,147472,81936,49200]],[13294,[32801,16401,9,5,3]],[13295,[32804,16404,516,260,12]],[13296,[540704,278560,147488,81952,49200]],[13297,[32785,16417,9,5,3]],[13298,[32788,16420,516,260,12]],[13299,[540672,278528,147488,81936,49152]],[13300,[131105,65553,9,5,3]],[13301,[131108,65556,516,260,12]],[13302,[540672,278528,147472,81952,49152]],[13303,[131089,65569,9,5,3]],[13304,[131092,65572,516,260,12]],[13305,[540704,278544,147456,81920,49152]],[13306,[524321,262161,9,5,3]],[13307,[524324,262164,516,260,12]],[13308,[540688,278560,147456,81920,49152]],[13309,[524305,262177,9,5,3]],[13310,[524308,262180,516,260,12]],[13311,[524608,262464,131392,65856,960]],[13312,[641,321,9,5,3]],[13313,[2052,1028,644,324,12]],[13314,[524672,262528,131456,65920,960]],[13315,[577,385,9,5,3]],[13316,[2052,1028,580,388,12]],[13317,[525376,263232,132160,66624,3264]],[13318,[2177,1089,9,5,3]],[13319,[2180,1092,516,260,12]],[13320,[525440,263296,132224,66688,3264]],[13321,[2113,1153,9,5,3]],[13322,[2116,1156,516,260,12]],[13323,[528448,266304,135232,69696,12480]],[13324,[8321,4161,9,5,3]],[13325,[8324,4164,516,260,12]],[13326,[528512,266368,135296,69760,12480]],[13327,[8257,4225,9,5,3]],[13328,[8260,4228,516,260,12]],[13329,[540736,278592,147520,81984,49344]],[13330,[32897,16449,9,5,3]],[13331,[32900,16452,516,260,12]],[13332,[540800,278656,147584,82048,49344]],[13333,[32833,16513,9,5,3]],[13334,[32836,16516,516,260,12]],[13335,[540672,278528,147584,81984,49152]],[13336,[131201,65601,9,5,3]],[13337,[131204,65604,516,260,12]],[13338,[540672,278528,147520,82048,49152]],[13339,[131137,65665,9,5,3]],[13340,[131140,65668,516,260,12]],[13341,[540800,278592,147456,81920,49152]],[13342,[524417,262209,9,5,3]],[13343,[524420,262212,516,260,12]],[13344,[540736,278656,147456,81920,49152]],[13345,[524353,262273,9,5,3]],[13346,[524356,262276,516,260,12]],[13347,[525568,263424,132352,66816,3840]],[13348,[2561,1281,9,5,3]],[13349,[2564,1284,132,68,12]],[13350,[525824,263680,132608,67072,3840]],[13351,[2305,1537,9,5,3]],[13352,[2308,1540,132,68,12]],[13353,[528640,266496,135424,69888,13056]],[13354,[8705,4353,9,5,3]],[13355,[8708,4356,132,68,12]],[13356,[528896,266752,135680,70144,13056]],[13357,[8449,4609,9,5,3]],[13358,[8452,4612,132,68,12]],[13359,[540928,278784,147712,82176,49920]],[13360,[33281,16641,9,5,3]],[13361,[33284,16644,132,68,12]],[13362,[541184,279040,147968,82432,49920]],[13363,[33025,16897,9,5,3]],[13364,[33028,16900,132,68,12]],[13365,[540672,278528,147968,82176,49152]],[13366,[131585,65793,9,5,3]],[13367,[131588,65796,132,68,12]],[13368,[540672,278528,147712,82432,49152]],[13369,[131329,66049,9,5,3]],[13370,[131332,66052,132,68,12]],[13371,[541184,278784,147456,81920,49152]],[13372,[524801,262401,9,5,3]],[13373,[524804,262404,132,68,12]],[13374,[540928,279040,147456,81920,49152]],[13375,[524545,262657,9,5,3]],[13376,[524548,262660,132,68,12]],[13377,[529408,267264,136192,70656,15360]],[13378,[10241,5121,9,5,3]],[13379,[10244,5124,132,68,12]],[13380,[530432,268288,137216,71680,15360]],[13381,[9217,6145,9,5,3]],[13382,[9220,6148,132,68,12]],[13383,[541696,279552,148480,82944,52224]],[13384,[34817,17409,9,5,3]],[13385,[34820,17412,132,68,12]],[13386,[542720,280576,149504,83968,52224]],[13387,[33793,18433,9,5,3]],[13388,[33796,18436,132,68,12]],[13389,[540672,278528,149504,82944,49152]],[13390,[133121,66561,9,5,3]],[13391,[133124,66564,132,68,12]],[13392,[540672,278528,148480,83968,49152]],[13393,[132097,67585,9,5,3]],[13394,[132100,67588,132,68,12]],[13395,[542720,279552,147456,81920,49152]],[13396,[526337,263169,9,5,3]],[13397,[526340,263172,132,68,12]],[13398,[541696,280576,147456,81920,49152]],[13399,[525313,264193,9,5,3]],[13400,[525316,264196,132,68,12]],[13401,[544768,282624,151552,86016,61440]],[13402,[40961,20481,9,5,3]],[13403,[40964,20484,132,68,12]],[13404,[548864,286720,155648,90112,61440]],[13405,[36865,24577,9,5,3]],[13406,[36868,24580,132,68,12]],[13407,[540672,278528,155648,86016,49152]],[13408,[139265,69633,9,5,3]],[13409,[139268,69636,132,68,12]],[13410,[540672,278528,151552,90112,49152]],[13411,[135169,73729,9,5,3]],[13412,[135172,73732,132,68,12]],[13413,[548864,282624,147456,81920,49152]],[13414,[532481,266241,9,5,3]],[13415,[532484,266244,132,68,12]],[13416,[544768,286720,147456,81920,49152]],[13417,[528385,270337,9,5,3]],[13418,[528388,270340,132,68,12]],[13419,[528384,266240,167936,86016,12288]],[13420,[163841,81921,9,5,3]],[13421,[163844,81924,132,68,12]],[13422,[528384,266240,151552,102400,12288]],[13423,[147457,98305,9,5,3]],[13424,[147460,98308,132,68,12]],[13425,[561152,282624,135168,69632,12288]],[13426,[557057,278529,9,5,3]],[13427,[557060,278532,132,68,12]],[13428,[544768,299008,135168,69632,12288]],[13429,[540673,294913,9,5,3]],[13430,[540676,294916,132,68,12]],[13431,[659456,331776,36864,20480,12288]],[13432,[655361,327681,9,5,3]],[13433,[655364,327684,132,68,12]],[13434,[593920,397312,36864,20480,12288]],[13435,[589825,393217,9,5,3]],[13436,[589828,393220,132,68,12]],[13499,[32768,16384,2052,1028,132,68,12]],[13500,[32768,16384,2052,1028,132,68,12]],[13527,[147460,81924,49152,132,68,12]],[13531,[32768,16384,2052,1028,132,68,12]],[13532,[540676,278532,49152,132,68,12]],[13533,[540676,278532,49152,132,68,12]],[13553,[524288,262144,512,256,32,16,8,4,2,1]],[13578,[524304,262160,147472,81936,49152,48]],[13579,[524304,262160,147472,81936,49152,48]],[13580,[524304,262160,147472,81936,49152,48]],[13625,[524304,262160,2128,1104,192,48]],[13637,[33024,16640,8448,4352,768,32,16]],[13638,[32769,16385,128,64,33,17,3]],[13648,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[13679,[131328,65792,33025,16641,768,3]],[13680,[131328,65792,33025,16641,768,3]],[13700,[524288,262144,131072,65536,8192,4096,128,64,32,16]],[13702,[524304,262160,148,84,48,12]],[13717,[33088,16704,8512,4416,768,192]],[13731,[2049,1025,577,321,192,3]],[13759,[2049,1025,529,273,48,3]],[13760,[593920,331776,196608,36864,20480,12288]],[13761,[593920,331776,196608,36864,20480,12288]],[13763,[524352,262208,8512,4416,768,192]],[13796,[32768,16384,8192,4096,512,256,128,64,8,4]],[13798,[33024,16640,8448,4352,768,32,16]],[13816,[524545,262401,2049,1025,768,3]],[13829,[32769,16385,128,64,33,17,3]],[13843,[131137,65601,2112,1088,192]],[13844,[132096,66560,33793,17409,3072]],[13845,[2113,1089,576,320,192]],[13846,[131138,65602,2112,1088,192]],[13847,[132096,66560,33794,17410,3072]],[13848,[2114,1090,576,320,192]],[13849,[131140,65604,2112,1088,192]],[13850,[132096,66560,33796,17412,3072]],[13851,[2116,1092,576,320,192]],[13852,[131144,65608,2112,1088,192]],[13853,[132096,66560,33800,17416,3072]],[13854,[2120,1096,576,320,192]],[13855,[131152,65616,2112,1088,192]],[13856,[132096,66560,33808,17424,3072]],[13857,[2128,1104,576,320,192]],[13858,[131168,65632,2112,1088,192]],[13859,[132096,66560,33824,17440,3072]],[13860,[2144,1120,576,320,192]],[13861,[131152,65616,2064,1040,48]],[13862,[132096,66560,33856,17472,3072]],[13863,[2128,1104,528,272,48]],[13864,[131216,65680,2064,1040,48]],[13865,[132096,66560,33920,17536,3072]],[13866,[2192,1168,528,272,48]],[13867,[131344,65808,2064,1040,48]],[13868,[132096,66560,34048,17664,3072]],[13869,[2320,1296,144,80,48]],[13870,[131600,66064,2064,1040,48]],[13871,[132096,66560,34304,17920,3072]],[13872,[2576,1552,144,80,48]],[13873,[132112,66576,528,272,48]],[13874,[131328,65792,34048,17664,768]],[13875,[1296,768,144,80,48]],[13876,[133136,67600,528,272,48]],[13877,[131328,65792,35072,18688,768]],[13878,[2320,768,144,80,48]],[13879,[135184,69648,528,272,48]],[13880,[131328,65792,37120,20736,768]],[13881,[4368,768,144,80,48]],[13882,[139280,73744,528,272,48]],[13883,[131328,65792,41216,24832,768]],[13884,[8464,768,144,80,48]],[13885,[147472,81936,528,272,48]],[13886,[131328,65792,20736,12288,768]],[13887,[16656,768,144,80,48]],[13888,[163856,98320,528,272,48]],[13889,[131328,65792,37120,12288,768]],[13890,[33040,768,144,80,48]],[13891,[81936,49152,528,272,48]],[13892,[69888,33024,16640,12288,768]],[13893,[65808,768,144,80,48]],[13894,[147472,49152,528,272,48]],[13895,[135424,33024,16640,12288,768]],[13896,[131344,768,144,80,48]],[13897,[278544,49152,528,272,48]],[13898,[266496,33024,16640,12288,768]],[13899,[262416,768,144,80,48]],[13900,[540688,49152,528,272,48]],[13901,[528640,33024,16640,12288,768]],[13902,[524560,768,144,80,48]],[13904,[524288,262144,131072,65536,512,256,8,4]],[13906,[32768,16384,8192,4096,32,16,8,4]],[13909,[131072,65536,512,256,32,16,8,4]],[13912,[8192,4096,2048,1024,128,64,32,16]],[13913,[524288,262144,8192,4096,2048,1024,128,64]],[13914,[524288,262144,32768,16384,8192,4096,512,256]],[13915,[524288,262144,131072,65536,512,256,8,4]],[13916,[524288,262144,131072,65536,512,256,8,4]],[13918,[32773,16389,132,68,12,3]],[13919,[524353,262209,32769,16385,192,3]],[13924,[8196,4100,2052,1028,516,260,12,1]],[13929,[524304,262160,131088,65552,8208,4112,48,1]],[13952,[525313,263169,9216,5120,3072]],[13953,[524304,262160,131088,65552,8208,4112,48,1]],[13954,[2065,1041,529,273,48]],[13955,[8196,4100,2052,1028,516,260,12,1]],[13962,[8196,4100,2052,1028,516,260,12,2]],[13967,[524304,262160,131088,65552,8208,4112,48,2]],[13990,[525314,263170,9216,5120,3072]],[13991,[524304,262160,131088,65552,8208,4112,48,2]],[13992,[2066,1042,530,274,48]],[13993,[8196,4100,2052,1028,516,260,12,2]],[14000,[8193,4097,2049,1025,513,257,4,3]],[14005,[524304,262160,131088,65552,8208,4112,48,4]],[14028,[525316,263172,9216,5120,3072]],[14029,[524304,262160,131088,65552,8208,4112,48,4]],[14030,[2068,1044,532,276,48]],[14031,[8193,4097,2049,1025,513,257,4,3]],[14038,[8193,4097,2049,1025,513,257,8,3]],[14043,[524304,262160,131088,65552,8208,4112,48,8]],[14066,[525320,263176,9216,5120,3072]],[14067,[524304,262160,131088,65552,8208,4112,48,8]],[14068,[2072,1048,536,280,48]],[14069,[8193,4097,2049,1025,513,257,8,3]],[14076,[8193,4097,2049,1025,513,257,16,3]],[14081,[524292,262148,131076,65540,8196,4100,16,12]],[14104,[525328,263184,9216,5120,3072]],[14105,[524292,262148,131076,65540,8196,4100,16,12]],[14106,[2068,1044,532,276,12]],[14107,[8193,4097,2049,1025,513,257,16,3]],[14114,[8193,4097,2049,1025,513,257,32,3]],[14119,[524292,262148,131076,65540,8196,4100,32,12]],[14142,[525344,263200,9216,5120,3072]],[14143,[524292,262148,131076,65540,8196,4100,32,12]],[14144,[2084,1060,548,292,12]],[14145,[8193,4097,2049,1025,513,257,32,3]],[14152,[8193,4097,2049,1025,513,257,64,3]],[14157,[524292,262148,131076,65540,8196,4100,64,12]],[14180,[525376,263232,9216,5120,3072]],[14181,[524292,262148,131076,65540,8196,4100,64,12]],[14182,[2116,1092,580,324,12]],[14183,[8193,4097,2049,1025,513,257,64,3]],[14190,[8193,4097,2049,1025,513,257,128,3]],[14195,[524292,262148,131076,65540,8196,4100,128,12]],[14218,[525440,263296,9216,5120,3072]],[14219,[524292,262148,131076,65540,8196,4100,128,12]],[14220,[2180,1156,644,388,12]],[14221,[8193,4097,2049,1025,513,257,128,3]],[14228,[8193,4097,2049,1025,256,129,65,3]],[14233,[524292,262148,131076,65540,8196,4100,256,12]],[14256,[525568,263424,9216,5120,3072]],[14257,[524292,262148,131076,65540,8196,4100,256,12]],[14258,[2112,1088,324,192,12]],[14259,[8193,4097,2049,1025,256,129,65,3]],[14266,[8193,4097,2049,1025,512,129,65,3]],[14271,[524292,262148,131076,65540,8196,4100,512,12]],[14294,[525824,263680,9216,5120,3072]],[14295,[524292,262148,131076,65540,8196,4100,512,12]],[14296,[2112,1088,580,192,12]],[14297,[8193,4097,2049,1025,512,129,65,3]],[14304,[8193,4097,1024,513,257,129,65,3]],[14309,[524292,262148,131076,65540,8196,4100,1024,12]],[14332,[525568,263424,8448,4352,768]],[14333,[524292,262148,131076,65540,8196,4100,1024,12]],[14334,[1092,576,320,192,12]],[14335,[8193,4097,1024,513,257,129,65,3]],[14342,[8193,4097,2048,513,257,129,65,3]],[14347,[524292,262148,131076,65540,8196,4100,2048,12]],[14370,[526592,264448,8448,4352,768]],[14371,[524292,262148,131076,65540,8196,4100,2048,12]],[14372,[2116,576,320,192,12]],[14373,[8193,4097,2048,513,257,129,65,3]],[14380,[4096,2049,1025,513,257,129,65,3]],[14385,[524292,262148,131076,65540,4096,2052,1028,12]],[14408,[528640,266496,2304,1280,768]],[14409,[524292,262148,131076,65540,4096,2052,1028,12]],[14410,[4164,576,320,192,12]],[14411,[4096,2049,1025,513,257,129,65,3]],[14418,[8192,2049,1025,513,257,129,65,3]],[14423,[524292,262148,131076,65540,8192,2052,1028,12]],[14446,[532736,270592,2304,1280,768]],[14447,[524292,262148,131076,65540,8192,2052,1028,12]],[14448,[8260,576,320,192,12]],[14449,[8192,2049,1025,513,257,129,65,3]],[14456,[16384,2049,1025,513,257,129,65,3]],[14461,[524292,262148,131076,65540,16384,2052,1028,12]],[14484,[540928,278784,2304,1280,768]],[14485,[524292,262148,131076,65540,16384,2052,1028,12]],[14486,[16452,576,320,192,12]],[14487,[16384,2049,1025,513,257,129,65,3]],[14494,[32768,2049,1025,513,257,129,65,3]],[14499,[524292,262148,131076,65540,32768,2052,1028,12]],[14522,[557312,295168,2304,1280,768]],[14523,[524292,262148,131076,65540,32768,2052,1028,12]],[14524,[32836,576,320,192,12]],[14525,[32768,2049,1025,513,257,129,65,3]],[14532,[65536,2049,1025,513,257,129,65,3]],[14537,[524292,262148,65536,32772,16388,2052,1028,12]],[14560,[590080,327936,2304,1280,768]],[14561,[524292,262148,65536,32772,16388,2052,1028,12]],[14562,[65604,576,320,192,12]],[14563,[65536,2049,1025,513,257,129,65,3]],[14570,[131072,2049,1025,513,257,129,65,3]],[14575,[524292,262148,131072,32772,16388,2052,1028,12]],[14598,[655616,393472,2304,1280,768]],[14599,[524292,262148,131072,32772,16388,2052,1028,12]],[14600,[131140,576,320,192,12]],[14601,[131072,2049,1025,513,257,129,65,3]],[14608,[262144,2049,1025,513,257,129,65,3]],[14613,[262144,131076,65540,32772,16388,2052,1028,12]],[14636,[327936,196608,2304,1280,768]],[14637,[262144,131076,65540,32772,16388,2052,1028,12]],[14638,[262212,576,320,192,12]],[14639,[262144,2049,1025,513,257,129,65,3]],[14646,[524288,2049,1025,513,257,129,65,3]],[14651,[524288,131076,65540,32772,16388,2052,1028,12]],[14674,[590080,196608,2304,1280,768]],[14675,[524288,131076,65540,32772,16388,2052,1028,12]],[14676,[524356,576,320,192,12]],[14677,[524288,2049,1025,513,257,129,65,3]],[14680,[517,261,133,69,37,21,15]],[14681,[524293,262149,131077,65541,8197,4101,15]],[14682,[524293,262149,131077,65541,8197,4101,15]],[14683,[32773,16389,517,261,15]],[14684,[518,262,134,70,38,22,15]],[14685,[524294,262150,131078,65542,8198,4102,15]],[14686,[524294,262150,131078,65542,8198,4102,15]],[14687,[32774,16390,518,262,15]],[14688,[516,260,132,68,38,21,12]],[14689,[524305,262161,131089,65553,8209,4113,51]],[14690,[524305,262161,131089,65553,8209,4113,51]],[14691,[32785,16401,529,273,51]],[14692,[516,260,132,68,37,22,12]],[14693,[524306,262162,131090,65554,8210,4114,51]],[14694,[524306,262162,131090,65554,8210,4114,51]],[14695,[32786,16402,530,274,51]],[14696,[516,260,134,69,36,20,12]],[14697,[524353,262209,131137,65601,8257,4161,195]],[14698,[524353,262209,131137,65601,8257,4161,195]],[14699,[32833,16449,577,321,195]],[14700,[516,260,133,70,36,20,12]],[14701,[524354,262210,131138,65602,8258,4162,195]],[14702,[524354,262210,131138,65602,8258,4162,195]],[14703,[32834,16450,578,322,195]],[14704,[518,261,132,68,36,20,12]],[14705,[524545,262401,131329,65793,8449,4353,771]],[14706,[524545,262401,131329,65793,8449,4353,771]],[14707,[32832,16448,578,321,192]],[14708,[517,262,132,68,36,20,12]],[14709,[524546,262402,131330,65794,8450,4354,771]],[14710,[524546,262402,131330,65794,8450,4354,771]],[14711,[32832,16448,577,322,192]],[14712,[2054,1029,132,68,36,20,12]],[14713,[525313,263169,132097,66561,9217,5121,3075]],[14714,[525313,263169,132097,66561,9217,5121,3075]],[14715,[32832,16448,2114,1089,192]],[14716,[2053,1030,132,68,36,20,12]],[14717,[525314,263170,132098,66562,9218,5122,3075]],[14718,[525314,263170,132098,66562,9218,5122,3075]],[14719,[32832,16448,2113,1090,192]],[14720,[8198,4101,132,68,36,20,12]],[14721,[525312,263168,132096,66560,9218,5121,3072]],[14722,[525312,263168,132096,66560,9218,5121,3072]],[14723,[32832,16448,8258,4161,192]],[14724,[8197,4102,132,68,36,20,12]],[14725,[525312,263168,132096,66560,9217,5122,3072]],[14726,[525312,263168,132096,66560,9217,5122,3072]],[14727,[32832,16448,8257,4162,192]],[14728,[32774,16389,132,68,36,20,12]],[14729,[525312,263168,132096,66560,33794,17409,3072]],[14730,[525312,263168,132096,66560,33794,17409,3072]],[14731,[32834,16449,8256,4160,192]],[14732,[32773,16390,132,68,36,20,12]],[14733,[525312,263168,132096,66560,33793,17410,3072]],[14734,[525312,263168,132096,66560,33793,17410,3072]],[14735,[32833,16450,8256,4160,192]],[14736,[131078,65541,132,68,36,20,12]],[14737,[525312,263168,132098,66561,33792,17408,3072]],[14738,[525312,263168,132098,66561,33792,17408,3072]],[14739,[131138,65601,8256,4160,192]],[14740,[131077,65542,132,68,36,20,12]],[14741,[525312,263168,132097,66562,33792,17408,3072]],[14742,[525312,263168,132097,66562,33792,17408,3072]],[14743,[131137,65602,8256,4160,192]],[14744,[524294,262149,132,68,36,20,12]],[14745,[525314,263169,132096,66560,33792,17408,3072]],[14746,[525314,263169,132096,66560,33792,17408,3072]],[14747,[524354,262209,8256,4160,192]],[14748,[524293,262150,132,68,36,20,12]],[14749,[525313,263170,132096,66560,33792,17408,3072]],[14750,[525313,263170,132096,66560,33792,17408,3072]],[14751,[524353,262210,8256,4160,192]],[14752,[513,257,129,65,41,21,3]],[14753,[524308,262164,131092,65556,8212,4116,60]],[14754,[524308,262164,131092,65556,8212,4116,60]],[14755,[32788,16404,532,276,60]],[14756,[513,257,129,65,37,25,3]],[14757,[524312,262168,131096,65560,8216,4120,60]],[14758,[524312,262168,131096,65560,8216,4120,60]],[14759,[32792,16408,536,280,60]],[14760,[513,257,137,69,33,17,3]],[14761,[524356,262212,131140,65604,8260,4164,204]],[14762,[524356,262212,131140,65604,8260,4164,204]],[14763,[32836,16452,580,324,204]],[14764,[513,257,133,73,33,17,3]],[14765,[524360,262216,131144,65608,8264,4168,204]],[14766,[524360,262216,131144,65608,8264,4168,204]],[14767,[32840,16456,584,328,204]],[14768,[521,261,129,65,33,17,3]],[14769,[524548,262404,131332,65796,8452,4356,780]],[14770,[524548,262404,131332,65796,8452,4356,780]],[14771,[32832,16448,584,324,192]],[14772,[517,265,129,65,33,17,3]],[14773,[524552,262408,131336,65800,8456,4360,780]],[14774,[524552,262408,131336,65800,8456,4360,780]],[14775,[32832,16448,580,328,192]],[14776,[2057,1029,129,65,33,17,3]],[14777,[525316,263172,132100,66564,9220,5124,3084]],[14778,[525316,263172,132100,66564,9220,5124,3084]],[14779,[32832,16448,2120,1092,192]],[14780,[2053,1033,129,65,33,17,3]],[14781,[525320,263176,132104,66568,9224,5128,3084]],[14782,[525320,263176,132104,66568,9224,5128,3084]],[14783,[32832,16448,2116,1096,192]],[14784,[8201,4101,129,65,33,17,3]],[14785,[525312,263168,132096,66560,9224,5124,3072]],[14786,[525312,263168,132096,66560,9224,5124,3072]],[14787,[32832,16448,8264,4164,192]],[14788,[8197,4105,129,65,33,17,3]],[14789,[525312,263168,132096,66560,9220,5128,3072]],[14790,[525312,263168,132096,66560,9220,5128,3072]],[14791,[32832,16448,8260,4168,192]],[14792,[32777,16389,129,65,33,17,3]],[14793,[525312,263168,132096,66560,33800,17412,3072]],[14794,[525312,263168,132096,66560,33800,17412,3072]],[14795,[32840,16452,8256,4160,192]],[14796,[32773,16393,129,65,33,17,3]],[14797,[525312,263168,132096,66560,33796,17416,3072]],[14798,[525312,263168,132096,66560,33796,17416,3072]],[14799,[32836,16456,8256,4160,192]],[14800,[131081,65541,129,65,33,17,3]],[14801,[525312,263168,132104,66564,33792,17408,3072]],[14802,[525312,263168,132104,66564,33792,17408,3072]],[14803,[131144,65604,8256,4160,192]],[14804,[131077,65545,129,65,33,17,3]],[14805,[525312,263168,132100,66568,33792,17408,3072]],[14806,[525312,263168,132100,66568,33792,17408,3072]],[14807,[131140,65608,8256,4160,192]],[14808,[524297,262149,129,65,33,17,3]],[14809,[525320,263172,132096,66560,33792,17408,3072]],[14810,[525320,263172,132096,66560,33792,17408,3072]],[14811,[524360,262212,8256,4160,192]],[14812,[524293,262153,129,65,33,17,3]],[14813,[525316,263176,132096,66560,33792,17408,3072]],[14814,[525316,263176,132096,66560,33792,17408,3072]],[14815,[524356,262216,8256,4160,192]],[14816,[513,257,161,81,9,5,3]],[14817,[524368,262224,131152,65616,8272,4176,240]],[14818,[524368,262224,131152,65616,8272,4176,240]],[14819,[32848,16464,592,336,240]],[14820,[513,257,145,97,9,5,3]],[14821,[524384,262240,131168,65632,8288,4192,240]],[14822,[524384,262240,131168,65632,8288,4192,240]],[14823,[32864,16480,608,352,240]],[14824,[545,273,129,65,9,5,3]],[14825,[524560,262416,131344,65808,8464,4368,816]],[14826,[524560,262416,131344,65808,8464,4368,816]],[14827,[32832,16448,608,336,192]],[14828,[529,289,129,65,9,5,3]],[14829,[524576,262432,131360,65824,8480,4384,816]],[14830,[524576,262432,131360,65824,8480,4384,816]],[14831,[32832,16448,592,352,192]],[14832,[2081,1041,129,65,9,5,3]],[14833,[525328,263184,132112,66576,9232,5136,3120]],[14834,[525328,263184,132112,66576,9232,5136,3120]],[14835,[32832,16448,2144,1104,192]],[14836,[2065,1057,129,65,9,5,3]],[14837,[525344,263200,132128,66592,9248,5152,3120]],[14838,[525344,263200,132128,66592,9248,5152,3120]],[14839,[32832,16448,2128,1120,192]],[14840,[8225,4113,129,65,9,5,3]],[14841,[525312,263168,132096,66560,9248,5136,3072]],[14842,[525312,263168,132096,66560,9248,5136,3072]],[14843,[32832,16448,8288,4176,192]],[14844,[8209,4129,129,65,9,5,3]],[14845,[525312,263168,132096,66560,9232,5152,3072]],[14846,[525312,263168,132096,66560,9232,5152,3072]],[14847,[32832,16448,8272,4192,192]],[14848,[32801,16401,129,65,9,5,3]],[14849,[525312,263168,132096,66560,33824,17424,3072]],[14850,[525312,263168,132096,66560,33824,17424,3072]],[14851,[32864,16464,8256,4160,192]],[14852,[32785,16417,129,65,9,5,3]],[14853,[525312,263168,132096,66560,33808,17440,3072]],[14854,[525312,263168,132096,66560,33808,17440,3072]],[14855,[32848,16480,8256,4160,192]],[14856,[131105,65553,129,65,9,5,3]],[14857,[525312,263168,132128,66576,33792,17408,3072]],[14858,[525312,263168,132128,66576,33792,17408,3072]],[14859,[131168,65616,8256,4160,192]],[14860,[131089,65569,129,65,9,5,3]],[14861,[525312,263168,132112,66592,33792,17408,3072]],[14862,[525312,263168,132112,66592,33792,17408,3072]],[14863,[131152,65632,8256,4160,192]],[14864,[524321,262161,129,65,9,5,3]],[14865,[525344,263184,132096,66560,33792,17408,3072]],[14866,[525344,263184,132096,66560,33792,17408,3072]],[14867,[524384,262224,8256,4160,192]],[14868,[524305,262177,129,65,9,5,3]],[14869,[525328,263200,132096,66560,33792,17408,3072]],[14870,[525328,263200,132096,66560,33792,17408,3072]],[14871,[524368,262240,8256,4160,192]],[14872,[641,321,33,17,9,5,3]],[14873,[524608,262464,131392,65856,8512,4416,960]],[14874,[524608,262464,131392,65856,8512,4416,960]],[14875,[32784,16400,656,336,48]],[14876,[577,385,33,17,9,5,3]],[14877,[524672,262528,131456,65920,8576,4480,960]],[14878,[524672,262528,131456,65920,8576,4480,960]],[14879,[32784,16400,592,400,48]],[14880,[2177,1089,33,17,9,5,3]],[14881,[525376,263232,132160,66624,9280,5184,3264]],[14882,[525376,263232,132160,66624,9280,5184,3264]],[14883,[32784,16400,2192,1104,48]],[14884,[2113,1153,33,17,9,5,3]],[14885,[525440,263296,132224,66688,9344,5248,3264]],[14886,[525440,263296,132224,66688,9344,5248,3264]],[14887,[32784,16400,2128,1168,48]],[14888,[8321,4161,33,17,9,5,3]],[14889,[525312,263168,132096,66560,9344,5184,3072]],[14890,[525312,263168,132096,66560,9344,5184,3072]],[14891,[32784,16400,8336,4176,48]],[14892,[8257,4225,33,17,9,5,3]],[14893,[525312,263168,132096,66560,9280,5248,3072]],[14894,[525312,263168,132096,66560,9280,5248,3072]],[14895,[32784,16400,8272,4240,48]],[14896,[32897,16449,33,17,9,5,3]],[14897,[525312,263168,132096,66560,33920,17472,3072]],[14898,[525312,263168,132096,66560,33920,17472,3072]],[14899,[32912,16464,8208,4112,48]],[14900,[32833,16513,33,17,9,5,3]],[14901,[525312,263168,132096,66560,33856,17536,3072]],[14902,[525312,263168,132096,66560,33856,17536,3072]],[14903,[32848,16528,8208,4112,48]],[14904,[131201,65601,33,17,9,5,3]],[14905,[525312,263168,132224,66624,33792,17408,3072]],[14906,[525312,263168,132224,66624,33792,17408,3072]],[14907,[131216,65616,8208,4112,48]],[14908,[131137,65665,33,17,9,5,3]],[14909,[525312,263168,132160,66688,33792,17408,3072]],[14910,[525312,263168,132160,66688,33792,17408,3072]],[14911,[131152,65680,8208,4112,48]],[14912,[524417,262209,33,17,9,5,3]],[14913,[525440,263232,132096,66560,33792,17408,3072]],[14914,[525440,263232,132096,66560,33792,17408,3072]],[14915,[524432,262224,8208,4112,48]],[14916,[524353,262273,33,17,9,5,3]],[14917,[525376,263296,132096,66560,33792,17408,3072]],[14918,[525376,263296,132096,66560,33792,17408,3072]],[14919,[524368,262288,8208,4112,48]],[14920,[2561,1281,33,17,9,5,3]],[14921,[525568,263424,132352,66816,9472,5376,3840]],[14922,[525568,263424,132352,66816,9472,5376,3840]],[14923,[32784,16400,2576,1296,48]],[14924,[2305,1537,33,17,9,5,3]],[14925,[525824,263680,132608,67072,9728,5632,3840]],[14926,[525824,263680,132608,67072,9728,5632,3840]],[14927,[32784,16400,2320,1552,48]],[14928,[8705,4353,33,17,9,5,3]],[14929,[525312,263168,132096,66560,9728,5376,3072]],[14930,[525312,263168,132096,66560,9728,5376,3072]],[14931,[32784,16400,8720,4368,48]],[14932,[8449,4609,33,17,9,5,3]],[14933,[525312,263168,132096,66560,9472,5632,3072]],[14934,[525312,263168,132096,66560,9472,5632,3072]],[14935,[32784,16400,8464,4624,48]],[14936,[33281,16641,33,17,9,5,3]],[14937,[525312,263168,132096,66560,34304,17664,3072]],[14938,[525312,263168,132096,66560,34304,17664,3072]],[14939,[33296,16656,8208,4112,48]],[14940,[33025,16897,33,17,9,5,3]],[14941,[525312,263168,132096,66560,34048,17920,3072]],[14942,[525312,263168,132096,66560,34048,17920,3072]],[14943,[33040,16912,8208,4112,48]],[14944,[131585,65793,33,17,9,5,3]],[14945,[525312,263168,132608,66816,33792,17408,3072]],[14946,[525312,263168,132608,66816,33792,17408,3072]],[14947,[131600,65808,8208,4112,48]],[14948,[131329,66049,33,17,9,5,3]],[14949,[525312,263168,132352,67072,33792,17408,3072]],[14950,[525312,263168,132352,67072,33792,17408,3072]],[14951,[131344,66064,8208,4112,48]],[14952,[524801,262401,33,17,9,5,3]],[14953,[525824,263424,132096,66560,33792,17408,3072]],[14954,[525824,263424,132096,66560,33792,17408,3072]],[14955,[524816,262416,8208,4112,48]],[14956,[524545,262657,33,17,9,5,3]],[14957,[525568,263680,132096,66560,33792,17408,3072]],[14958,[525568,263680,132096,66560,33792,17408,3072]],[14959,[524560,262672,8208,4112,48]],[14960,[10241,5121,33,17,9,5,3]],[14961,[524544,262400,131328,65792,10496,5376,768]],[14962,[524544,262400,131328,65792,10496,5376,768]],[14963,[32784,16400,10256,5136,48]],[14964,[9217,6145,33,17,9,5,3]],[14965,[524544,262400,131328,65792,9472,6400,768]],[14966,[524544,262400,131328,65792,9472,6400,768]],[14967,[32784,16400,9232,6160,48]],[14968,[34817,17409,33,17,9,5,3]],[14969,[524544,262400,131328,65792,35072,17664,768]],[14970,[524544,262400,131328,65792,35072,17664,768]],[14971,[34832,17424,8208,4112,48]],[14972,[33793,18433,33,17,9,5,3]],[14973,[524544,262400,131328,65792,34048,18688,768]],[14974,[524544,262400,131328,65792,34048,18688,768]],[14975,[33808,18448,8208,4112,48]],[14976,[133121,66561,33,17,9,5,3]],[14977,[524544,262400,133376,66816,33024,16640,768]],[14978,[524544,262400,133376,66816,33024,16640,768]],[14979,[133136,66576,8208,4112,48]],[14980,[132097,67585,33,17,9,5,3]],[14981,[524544,262400,132352,67840,33024,16640,768]],[14982,[524544,262400,132352,67840,33024,16640,768]],[14983,[132112,67600,8208,4112,48]],[14984,[526337,263169,33,17,9,5,3]],[14985,[526592,263424,131328,65792,33024,16640,768]],[14986,[526592,263424,131328,65792,33024,16640,768]],[14987,[526352,263184,8208,4112,48]],[14988,[525313,264193,33,17,9,5,3]],[14989,[525568,264448,131328,65792,33024,16640,768]],[14990,[525568,264448,131328,65792,33024,16640,768]],[14991,[525328,264208,8208,4112,48]],[14992,[40961,20481,33,17,9,5,3]],[14993,[524544,262400,131328,65792,41216,20736,768]],[14994,[524544,262400,131328,65792,41216,20736,768]],[14995,[40976,20496,2064,1040,48]],[14996,[36865,24577,33,17,9,5,3]],[14997,[524544,262400,131328,65792,37120,24832,768]],[14998,[524544,262400,131328,65792,37120,24832,768]],[14999,[36880,24592,2064,1040,48]],[15000,[139265,69633,33,17,9,5,3]],[15001,[524544,262400,139520,69888,33024,16640,768]],[15002,[524544,262400,139520,69888,33024,16640,768]],[15003,[139280,69648,2064,1040,48]],[15004,[135169,73729,33,17,9,5,3]],[15005,[524544,262400,135424,73984,33024,16640,768]],[15006,[524544,262400,135424,73984,33024,16640,768]],[15007,[135184,73744,2064,1040,48]],[15008,[532481,266241,33,17,9,5,3]],[15009,[532736,266496,131328,65792,33024,16640,768]],[15010,[532736,266496,131328,65792,33024,16640,768]],[15011,[532496,266256,2064,1040,48]],[15012,[528385,270337,33,17,9,5,3]],[15013,[528640,270592,131328,65792,33024,16640,768]],[15014,[528640,270592,131328,65792,33024,16640,768]],[15015,[528400,270352,2064,1040,48]],[15016,[163841,81921,33,17,9,5,3]],[15017,[524544,262400,164096,82176,8448,4352,768]],[15018,[524544,262400,164096,82176,8448,4352,768]],[15019,[163856,81936,2064,1040,48]],[15020,[147457,98305,33,17,9,5,3]],[15021,[524544,262400,147712,98560,8448,4352,768]],[15022,[524544,262400,147712,98560,8448,4352,768]],[15023,[147472,98320,2064,1040,48]],[15024,[557057,278529,33,17,9,5,3]],[15025,[557312,278784,131328,65792,8448,4352,768]],[15026,[557312,278784,131328,65792,8448,4352,768]],[15027,[557072,278544,2064,1040,48]],[15028,[540673,294913,33,17,9,5,3]],[15029,[540928,295168,131328,65792,8448,4352,768]],[15030,[540928,295168,131328,65792,8448,4352,768]],[15031,[540688,294928,2064,1040,48]],[15032,[655361,327681,33,17,9,5,3]],[15033,[655616,327936,33024,16640,8448,4352,768]],[15034,[655616,327936,33024,16640,8448,4352,768]],[15035,[655376,327696,2064,1040,48]],[15036,[589825,393217,33,17,9,5,3]],[15037,[590080,393472,33024,16640,8448,4352,768]],[15038,[590080,393472,33024,16640,8448,4352,768]],[15039,[589840,393232,2064,1040,48]],[15202,[524288,262144,131072,65536,32768,16384,2048,1024]],[15254,[2068,1044,532,276,48,12]],[15258,[524288,262144,131072,65536,512,256,32,16]],[15288,[8272,4176,2128,1104,192,48]],[15354,[131152,65616,592,336,192,48]],[15445,[8192,4096,512,256,8,4,2,1]],[15481,[524292,262148,32772,16388,36,20,12,1]],[15482,[524292,262148,32772,16388,36,20,12,1]],[15483,[524292,262148,32772,16388,36,20,12,1]],[15484,[998412,32784,16400,528,272,144,80,48,1]],[15485,[524292,262148,32772,16388,36,20,12,2]],[15486,[524292,262148,32772,16388,36,20,12,2]],[15487,[524292,262148,32772,16388,36,20,12,2]],[15488,[998412,32784,16400,528,272,144,80,48,2]],[15489,[524289,262145,32769,16385,33,17,4,3]],[15490,[524289,262145,32769,16385,33,17,4,3]],[15491,[524289,262145,32769,16385,33,17,4,3]],[15492,[998403,32784,16400,528,272,144,80,48,4]],[15493,[524289,262145,32769,16385,33,17,8,3]],[15494,[524289,262145,32769,16385,33,17,8,3]],[15495,[524289,262145,32769,16385,33,17,8,3]],[15496,[998403,32784,16400,528,272,144,80,48,8]],[15497,[524289,262145,32769,16385,16,9,5,3]],[15498,[524289,262145,32769,16385,16,9,5,3]],[15499,[524289,262145,32769,16385,16,9,5,3]],[15500,[998403,32772,16388,516,260,132,68,16,12]],[15501,[524289,262145,32769,16385,32,9,5,3]],[15502,[524289,262145,32769,16385,32,9,5,3]],[15503,[524289,262145,32769,16385,32,9,5,3]],[15504,[998403,32772,16388,516,260,132,68,32,12]],[15505,[524289,262145,32769,16385,64,9,5,3]],[15506,[524289,262145,32769,16385,64,9,5,3]],[15507,[524289,262145,32769,16385,64,9,5,3]],[15508,[998403,32772,16388,516,260,64,36,20,12]],[15509,[524289,262145,32769,16385,128,9,5,3]],[15510,[524289,262145,32769,16385,128,9,5,3]],[15511,[524289,262145,32769,16385,128,9,5,3]],[15512,[998403,32772,16388,516,260,128,36,20,12]],[15513,[524289,262145,32769,16385,256,9,5,3]],[15514,[524289,262145,32769,16385,256,9,5,3]],[15515,[524289,262145,32769,16385,256,9,5,3]],[15516,[998403,32772,16388,256,132,68,36,20,12]],[15517,[524289,262145,32769,16385,512,9,5,3]],[15518,[524289,262145,32769,16385,512,9,5,3]],[15519,[524289,262145,32769,16385,512,9,5,3]],[15520,[998403,32772,16388,512,132,68,36,20,12]],[15521,[524289,262145,32769,16385,1024,9,5,3]],[15522,[524289,262145,32769,16385,1024,9,5,3]],[15523,[524289,262145,32769,16385,1024,9,5,3]],[15524,[996099,32772,16388,1024,132,68,36,20,12]],[15525,[524289,262145,32769,16385,2048,9,5,3]],[15526,[524289,262145,32769,16385,2048,9,5,3]],[15527,[524289,262145,32769,16385,2048,9,5,3]],[15528,[996099,32772,16388,2048,132,68,36,20,12]],[15529,[524289,262145,32769,16385,4096,9,5,3]],[15530,[524289,262145,32769,16385,4096,9,5,3]],[15531,[524289,262145,32769,16385,4096,9,5,3]],[15532,[986883,32772,16388,4096,132,68,36,20,12]],[15533,[524289,262145,32769,16385,8192,9,5,3]],[15534,[524289,262145,32769,16385,8192,9,5,3]],[15535,[524289,262145,32769,16385,8192,9,5,3]],[15536,[986883,32772,16388,8192,132,68,36,20,12]],[15537,[524289,262145,16384,8193,4097,9,5,3]],[15538,[524289,262145,16384,8193,4097,9,5,3]],[15539,[524289,262145,16384,8193,4097,9,5,3]],[15540,[986883,16384,8196,4100,132,68,36,20,12]],[15541,[524289,262145,32768,8193,4097,9,5,3]],[15542,[524289,262145,32768,8193,4097,9,5,3]],[15543,[524289,262145,32768,8193,4097,9,5,3]],[15544,[986883,32768,8196,4100,132,68,36,20,12]],[15545,[524289,262145,65536,8193,4097,9,5,3]],[15546,[524289,262145,65536,8193,4097,9,5,3]],[15547,[524289,262145,65536,8193,4097,9,5,3]],[15548,[839427,65536,8196,4100,132,68,36,20,12]],[15549,[524289,262145,131072,8193,4097,9,5,3]],[15550,[524289,262145,131072,8193,4097,9,5,3]],[15551,[524289,262145,131072,8193,4097,9,5,3]],[15552,[839427,131072,8196,4100,132,68,36,20,12]],[15553,[262144,131073,65537,8193,4097,9,5,3]],[15554,[262144,131073,65537,8193,4097,9,5,3]],[15555,[262144,131073,65537,8193,4097,9,5,3]],[15556,[262144,249603,8196,4100,132,68,36,20,12]],[15557,[524288,131073,65537,8193,4097,9,5,3]],[15558,[524288,131073,65537,8193,4097,9,5,3]],[15559,[524288,131073,65537,8193,4097,9,5,3]],[15560,[524288,249603,8196,4100,132,68,36,20,12]],[15567,[32768,16384,8192,4096,32,16,8,4,2,1]],[15572,[524288,262144,2048,1024,512,256,32,16,8,4]],[15573,[524288,262144,8192,4096,512,256,32,16,8,4]],[15576,[524288,262144,131072,65536,32768,16384,512,256,2,1]],[15577,[524288,262144,131072,65536,8192,4096,512,256,32,16]],[15578,[524288,262144,2048,1024,512,256,32,16,8,4]],[15581,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[15583,[131072,65536,32768,16384,512,256,32,16,8,4]],[15584,[131072,65536,32768,16384,512,256,32,16,8,4]],[15585,[131072,65536,512,256,128,64,32,16,8,4]],[15586,[131072,65536,512,256,128,64,32,16,8,4]],[15589,[131072,65536,32768,16384,2048,1024,512,256,32,16]],[15590,[131072,65536,32768,16384,512,256,32,16,8,4]],[15594,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[15596,[524288,262144,131072,65536,32768,16384,2048,1024,2,1]],[15599,[524288,262144,8192,4096,2048,1024,128,64,32,16]],[15600,[524288,262144,2048,1024,32,16,8,4,2,1]],[15601,[524288,262144,512,256,128,64,8,4,2,1]],[15602,[524288,262144,512,256,128,64,8,4,2,1]],[15607,[131072,65536,8192,4096,512,256,128,64,32,16]],[15608,[131072,65536,8192,4096,2048,1024,8,4,2,1]],[15609,[524353,262209,32769,16385,513,257,192,3]],[15613,[524288,262144,8192,4096,512,256,32,16,8,4]],[15616,[524288,262144,32768,16384,8192,4096,32,16,2,1]],[15622,[524288,262144,8192,4096,2048,1024,128,64,32,16]],[15623,[131072,65536,32768,16384,8192,4096,128,64,2,1]],[15625,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[15627,[524288,262144,131072,65536,8192,4096,512,256,32,16]],[15633,[131072,65536,32768,16384,512,256,8,4,2,1]],[15634,[32768,16384,8192,4096,2048,1024,512,256,32,16]],[15635,[524288,262144,131072,65536,2048,1024,512,256,8,4]],[15636,[524288,262144,2048,1024,512,256,8,4,2,1]],[15637,[131072,65536,32768,16384,512,256,32,16,2,1]],[15639,[131072,65536,32768,16384,8192,4096,128,64,2,1]],[15640,[131072,65536,32768,16384,2048,1024,512,256,8,4]],[15644,[8197,4101,36,20,12]],[15654,[524293,262149,131077,65541,133,69,12]],[15664,[524352,262208,8257,4161,2113,1089,192]],[15666,[524544,262400,131328,65792,33024,16640,15612,768,1]],[15681,[8198,4102,36,20,12]],[15691,[524294,262150,131078,65542,134,70,12]],[15701,[524352,262208,8258,4162,2114,1090,192]],[15703,[524544,262400,131328,65792,33024,16640,15612,768,2]],[15718,[8197,4101,33,17,3]],[15728,[524293,262149,131077,65541,133,69,3]],[15738,[524352,262208,8260,4164,2116,1092,192]],[15740,[524544,262400,131328,65792,33024,16640,15603,768,4]],[15755,[8201,4105,33,17,3]],[15765,[524297,262153,131081,65545,137,73,3]],[15775,[524352,262208,8264,4168,2120,1096,192]],[15777,[524544,262400,131328,65792,33024,16640,15603,768,8]],[15792,[8209,4113,9,5,3]],[15802,[524305,262161,131089,65553,145,81,3]],[15812,[524352,262208,8272,4176,2128,1104,192]],[15814,[524544,262400,131328,65792,33024,16640,15567,768,16]],[15829,[8225,4129,9,5,3]],[15839,[524321,262177,131105,65569,161,97,3]],[15849,[524352,262208,8288,4192,2144,1120,192]],[15851,[524544,262400,131328,65792,33024,16640,15567,768,32]],[15866,[8257,4161,9,5,3]],[15876,[524304,262160,131088,65552,81,48,3]],[15886,[524304,262160,8272,4176,2128,1104,48]],[15888,[524544,262400,131328,65792,33024,16640,15423,768,64]],[15903,[8321,4225,9,5,3]],[15913,[524304,262160,131088,65552,145,48,3]],[15923,[524304,262160,8336,4240,2192,1168,48]],[15925,[524544,262400,131328,65792,33024,16640,15423,768,128]],[15940,[8449,4353,9,5,3]],[15950,[524304,262160,131088,65552,273,48,3]],[15960,[524304,262160,8464,4368,2320,1296,48]],[15962,[524352,262208,131136,65600,32832,16448,15423,256,192]],[15977,[8705,4609,9,5,3]],[15987,[524304,262160,131088,65552,529,48,3]],[15997,[524304,262160,8720,4624,2576,1552,48]],[15999,[524352,262208,131136,65600,32832,16448,15423,512,192]],[16014,[9217,5121,9,5,3]],[16024,[524304,262160,131088,65552,1041,48,3]],[16034,[524304,262160,8448,4352,1296,768,48]],[16036,[524352,262208,131136,65600,32832,16448,13119,1024,192]],[16051,[10241,6145,9,5,3]],[16061,[524304,262160,131088,65552,2065,48,3]],[16071,[524304,262160,8448,4352,2320,768,48]],[16073,[524352,262208,131136,65600,32832,16448,13119,2048,192]],[16088,[5121,3072,9,5,3]],[16098,[524304,262160,131088,65552,4113,48,3]],[16108,[524304,262160,4368,2304,1280,768,48]],[16110,[524352,262208,131136,65600,32832,16448,4096,3903,192]],[16125,[9217,3072,9,5,3]],[16135,[524304,262160,131088,65552,8209,48,3]],[16145,[524304,262160,8464,2304,1280,768,48]],[16147,[524352,262208,131136,65600,32832,16448,8192,3903,192]],[16162,[17409,3072,9,5,3]],[16172,[524304,262160,131088,65552,16401,48,3]],[16182,[524304,262160,16656,2304,1280,768,48]],[16184,[524352,262208,131136,65600,16384,8256,4160,3903,192]],[16199,[33793,3072,9,5,3]],[16209,[524304,262160,131088,65552,32785,48,3]],[16219,[524304,262160,33040,2304,1280,768,48]],[16221,[524352,262208,131136,65600,32768,8256,4160,3903,192]],[16236,[66561,3072,9,5,3]],[16246,[524304,262160,65553,32784,16400,48,3]],[16256,[524304,262160,65808,2304,1280,768,48]],[16258,[524352,262208,65536,32832,16448,8256,4160,3903,192]],[16273,[132097,3072,9,5,3]],[16283,[524304,262160,131089,32784,16400,48,3]],[16293,[524304,262160,131344,2304,1280,768,48]],[16295,[524352,262208,131072,32832,16448,8256,4160,3903,192]],[16310,[263169,3072,9,5,3]],[16320,[262161,131088,65552,32784,16400,48,3]],[16330,[262416,131088,65552,2304,1280,768,48]],[16332,[262144,131136,65600,32832,16448,8256,4160,3903,192]],[16347,[525313,3072,9,5,3]],[16357,[524305,131088,65552,32784,16400,48,3]],[16367,[524560,131088,65552,2304,1280,768,48]],[16369,[524288,131136,65600,32832,16448,8256,4160,3903,192]],[16381,[2053,1029,517,261,133,69,37,21,15]],[16382,[524293,262149,32773,16389,15]],[16383,[2054,1030,518,262,134,70,38,22,15]],[16384,[524294,262150,32774,16390,15]],[16385,[2052,1028,516,260,132,68,38,21,12]],[16386,[524305,262161,32785,16401,51]],[16387,[2052,1028,516,260,132,68,37,22,12]],[16388,[524306,262162,32786,16402,51]],[16389,[2052,1028,516,260,134,69,36,20,12]],[16390,[524353,262209,32833,16449,195]],[16391,[2052,1028,516,260,133,70,36,20,12]],[16392,[524354,262210,32834,16450,195]],[16393,[2052,1028,518,261,132,68,36,20,12]],[16394,[524545,262401,33025,16641,771]],[16395,[2052,1028,517,262,132,68,36,20,12]],[16396,[524546,262402,33026,16642,771]],[16397,[2054,1029,516,260,132,68,36,20,12]],[16398,[525313,263169,33793,17409,3075]],[16399,[2053,1030,516,260,132,68,36,20,12]],[16400,[525314,263170,33794,17410,3075]],[16401,[8198,4101,516,260,132,68,36,20,12]],[16402,[528385,266241,36865,20481,12291]],[16403,[8197,4102,516,260,132,68,36,20,12]],[16404,[528386,266242,36866,20482,12291]],[16405,[32774,16389,516,260,132,68,36,20,12]],[16406,[528384,266240,36866,20481,12288]],[16407,[32773,16390,516,260,132,68,36,20,12]],[16408,[528384,266240,36865,20482,12288]],[16409,[131078,65541,516,260,132,68,36,20,12]],[16410,[528384,266240,135170,69633,12288]],[16411,[131077,65542,516,260,132,68,36,20,12]],[16412,[528384,266240,135169,69634,12288]],[16413,[524294,262149,516,260,132,68,36,20,12]],[16414,[528386,266241,135168,69632,12288]],[16415,[524293,262150,516,260,132,68,36,20,12]],[16416,[528385,266242,135168,69632,12288]],[16417,[2049,1025,513,257,129,65,41,21,3]],[16418,[524308,262164,32788,16404,60]],[16419,[2049,1025,513,257,129,65,37,25,3]],[16420,[524312,262168,32792,16408,60]],[16421,[2049,1025,513,257,137,69,33,17,3]],[16422,[524356,262212,32836,16452,204]],[16423,[2049,1025,513,257,133,73,33,17,3]],[16424,[524360,262216,32840,16456,204]],[16425,[2049,1025,521,261,129,65,33,17,3]],[16426,[524548,262404,33028,16644,780]],[16427,[2049,1025,517,265,129,65,33,17,3]],[16428,[524552,262408,33032,16648,780]],[16429,[2057,1029,513,257,129,65,33,17,3]],[16430,[525316,263172,33796,17412,3084]],[16431,[2053,1033,513,257,129,65,33,17,3]],[16432,[525320,263176,33800,17416,3084]],[16433,[8201,4101,513,257,129,65,33,17,3]],[16434,[528388,266244,36868,20484,12300]],[16435,[8197,4105,513,257,129,65,33,17,3]],[16436,[528392,266248,36872,20488,12300]],[16437,[32777,16389,513,257,129,65,33,17,3]],[16438,[528384,266240,36872,20484,12288]],[16439,[32773,16393,513,257,129,65,33,17,3]],[16440,[528384,266240,36868,20488,12288]],[16441,[131081,65541,513,257,129,65,33,17,3]],[16442,[528384,266240,135176,69636,12288]],[16443,[131077,65545,513,257,129,65,33,17,3]],[16444,[528384,266240,135172,69640,12288]],[16445,[524297,262149,513,257,129,65,33,17,3]],[16446,[528392,266244,135168,69632,12288]],[16447,[524293,262153,513,257,129,65,33,17,3]],[16448,[528388,266248,135168,69632,12288]],[16449,[2049,1025,513,257,161,81,9,5,3]],[16450,[524368,262224,32848,16464,240]],[16451,[2049,1025,513,257,145,97,9,5,3]],[16452,[524384,262240,32864,16480,240]],[16453,[2049,1025,545,273,129,65,9,5,3]],[16454,[524560,262416,33040,16656,816]],[16455,[2049,1025,529,289,129,65,9,5,3]],[16456,[524576,262432,33056,16672,816]],[16457,[2081,1041,513,257,129,65,9,5,3]],[16458,[525328,263184,33808,17424,3120]],[16459,[2065,1057,513,257,129,65,9,5,3]],[16460,[525344,263200,33824,17440,3120]],[16461,[8225,4113,513,257,129,65,9,5,3]],[16462,[528400,266256,36880,20496,12336]],[16463,[8209,4129,513,257,129,65,9,5,3]],[16464,[528416,266272,36896,20512,12336]],[16465,[32801,16401,513,257,129,65,9,5,3]],[16466,[528384,266240,36896,20496,12288]],[16467,[32785,16417,513,257,129,65,9,5,3]],[16468,[528384,266240,36880,20512,12288]],[16469,[131105,65553,513,257,129,65,9,5,3]],[16470,[528384,266240,135200,69648,12288]],[16471,[131089,65569,513,257,129,65,9,5,3]],[16472,[528384,266240,135184,69664,12288]],[16473,[524321,262161,513,257,129,65,9,5,3]],[16474,[528416,266256,135168,69632,12288]],[16475,[524305,262177,513,257,129,65,9,5,3]],[16476,[528400,266272,135168,69632,12288]],[16477,[2049,1025,641,321,33,17,9,5,3]],[16478,[524608,262464,33088,16704,960]],[16479,[2049,1025,577,385,33,17,9,5,3]],[16480,[524672,262528,33152,16768,960]],[16481,[2177,1089,513,257,33,17,9,5,3]],[16482,[525376,263232,33856,17472,3264]],[16483,[2113,1153,513,257,33,17,9,5,3]],[16484,[525440,263296,33920,17536,3264]],[16485,[8321,4161,513,257,33,17,9,5,3]],[16486,[528448,266304,36928,20544,12480]],[16487,[8257,4225,513,257,33,17,9,5,3]],[16488,[528512,266368,36992,20608,12480]],[16489,[32897,16449,513,257,33,17,9,5,3]],[16490,[528384,266240,36992,20544,12288]],[16491,[32833,16513,513,257,33,17,9,5,3]],[16492,[528384,266240,36928,20608,12288]],[16493,[131201,65601,513,257,33,17,9,5,3]],[16494,[528384,266240,135296,69696,12288]],[16495,[131137,65665,513,257,33,17,9,5,3]],[16496,[528384,266240,135232,69760,12288]],[16497,[524417,262209,513,257,33,17,9,5,3]],[16498,[528512,266304,135168,69632,12288]],[16499,[524353,262273,513,257,33,17,9,5,3]],[16500,[528448,266368,135168,69632,12288]],[16501,[2561,1281,129,65,33,17,9,5,3]],[16502,[525568,263424,34048,17664,3840]],[16503,[2305,1537,129,65,33,17,9,5,3]],[16504,[525824,263680,34304,17920,3840]],[16505,[8705,4353,129,65,33,17,9,5,3]],[16506,[528640,266496,37120,20736,13056]],[16507,[8449,4609,129,65,33,17,9,5,3]],[16508,[528896,266752,37376,20992,13056]],[16509,[33281,16641,129,65,33,17,9,5,3]],[16510,[528384,266240,37376,20736,12288]],[16511,[33025,16897,129,65,33,17,9,5,3]],[16512,[528384,266240,37120,20992,12288]],[16513,[131585,65793,129,65,33,17,9,5,3]],[16514,[528384,266240,135680,69888,12288]],[16515,[131329,66049,129,65,33,17,9,5,3]],[16516,[528384,266240,135424,70144,12288]],[16517,[524801,262401,129,65,33,17,9,5,3]],[16518,[528896,266496,135168,69632,12288]],[16519,[524545,262657,129,65,33,17,9,5,3]],[16520,[528640,266752,135168,69632,12288]],[16521,[10241,5121,129,65,33,17,9,5,3]],[16522,[529408,267264,37888,21504,15360]],[16523,[9217,6145,129,65,33,17,9,5,3]],[16524,[530432,268288,38912,22528,15360]],[16525,[34817,17409,129,65,33,17,9,5,3]],[16526,[528384,266240,38912,21504,12288]],[16527,[33793,18433,129,65,33,17,9,5,3]],[16528,[528384,266240,37888,22528,12288]],[16529,[133121,66561,129,65,33,17,9,5,3]],[16530,[528384,266240,137216,70656,12288]],[16531,[132097,67585,129,65,33,17,9,5,3]],[16532,[528384,266240,136192,71680,12288]],[16533,[526337,263169,129,65,33,17,9,5,3]],[16534,[530432,267264,135168,69632,12288]],[16535,[525313,264193,129,65,33,17,9,5,3]],[16536,[529408,268288,135168,69632,12288]],[16537,[40961,20481,129,65,33,17,9,5,3]],[16538,[525312,263168,41984,21504,3072]],[16539,[36865,24577,129,65,33,17,9,5,3]],[16540,[525312,263168,37888,25600,3072]],[16541,[139265,69633,129,65,33,17,9,5,3]],[16542,[525312,263168,140288,70656,3072]],[16543,[135169,73729,129,65,33,17,9,5,3]],[16544,[525312,263168,136192,74752,3072]],[16545,[532481,266241,129,65,33,17,9,5,3]],[16546,[533504,267264,132096,66560,3072]],[16547,[528385,270337,129,65,33,17,9,5,3]],[16548,[529408,271360,132096,66560,3072]],[16549,[163841,81921,129,65,33,17,9,5,3]],[16550,[525312,263168,164864,82944,3072]],[16551,[147457,98305,129,65,33,17,9,5,3]],[16552,[525312,263168,148480,99328,3072]],[16553,[557057,278529,129,65,33,17,9,5,3]],[16554,[558080,279552,132096,66560,3072]],[16555,[540673,294913,129,65,33,17,9,5,3]],[16556,[541696,295936,132096,66560,3072]],[16557,[655361,327681,129,65,33,17,9,5,3]],[16558,[656384,328704,33792,17408,3072]],[16559,[589825,393217,129,65,33,17,9,5,3]],[16560,[590848,394240,33792,17408,3072]],[16641,[524288,262144,8192,4096,8,4,2,1]],[16643,[524288,262144,200640,32768,16384,8192,4096,8,4,2,1]],[16644,[32768,16384,8192,4096,32,16,8,4,2,1]],[16645,[2049,1025,513,257,37,21,12,3]],[16648,[200451,32768,16384,8192,4096,128,64,32,16,8,4]],[16660,[8193,4097,2049,1025,145,81,48,3]],[16668,[524288,262144,8192,4096,32,16,8,4,2,1]],[16671,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[16672,[524288,262144,131072,65536,8192,4096,512,256,128,64]],[16678,[786483,131072,65536,32768,16384,8192,4096,3075,512,256,128,64,8,4]],[16679,[524288,262144,2048,1024,32,16,8,4,2,1]],[16680,[524288,262144,2048,1024,32,16,8,4,2,1]],[16681,[131072,65536,8192,4096,512,256,128,64,32,16]],[16687,[524288,262144,2048,1024,128,64,32,16,8,4]],[16688,[524288,262144,2048,1024,128,64,32,16,8,4]],[16701,[131072,65536,32768,16384,512,256,8,4,2,1]],[16726,[524288,262144,209664,61440,2048,1024,128,64,32,16,8,4,2,1]],[16730,[1044480,2052,1028,516,260,132,68,36,20,12,1]],[16734,[1044480,2052,1028,516,260,132,68,36,20,12,1]],[16739,[1044480,2052,1028,516,260,132,68,36,20,12,2]],[16743,[1044480,2052,1028,516,260,132,68,36,20,12,2]],[16748,[1044480,2049,1025,513,257,129,65,33,17,4,3]],[16752,[1044480,2049,1025,513,257,129,65,33,17,4,3]],[16757,[1044480,2049,1025,513,257,129,65,33,17,8,3]],[16761,[1044480,2049,1025,513,257,129,65,33,17,8,3]],[16766,[1044480,2049,1025,513,257,129,65,16,9,5,3]],[16770,[1044480,2049,1025,513,257,129,65,16,9,5,3]],[16775,[1044480,2049,1025,513,257,129,65,32,9,5,3]],[16779,[1044480,2049,1025,513,257,129,65,32,9,5,3]],[16784,[1044480,2049,1025,513,257,64,33,17,9,5,3]],[16788,[1044480,2049,1025,513,257,64,33,17,9,5,3]],[16793,[1044480,2049,1025,513,257,128,33,17,9,5,3]],[16797,[1044480,2049,1025,513,257,128,33,17,9,5,3]],[16802,[1044480,2049,1025,256,129,65,33,17,9,5,3]],[16806,[1044480,2049,1025,256,129,65,33,17,9,5,3]],[16811,[1044480,2049,1025,512,129,65,33,17,9,5,3]],[16815,[1044480,2049,1025,512,129,65,33,17,9,5,3]],[16820,[1044480,1024,513,257,129,65,33,17,9,5,3]],[16824,[1044480,1024,513,257,129,65,33,17,9,5,3]],[16829,[1044480,2048,513,257,129,65,33,17,9,5,3]],[16833,[1044480,2048,513,257,129,65,33,17,9,5,3]],[16838,[1035264,4096,513,257,129,65,33,17,9,5,3]],[16842,[1035264,4096,513,257,129,65,33,17,9,5,3]],[16847,[1035264,8192,513,257,129,65,33,17,9,5,3]],[16851,[1035264,8192,513,257,129,65,33,17,9,5,3]],[16856,[998400,16384,513,257,129,65,33,17,9,5,3]],[16860,[998400,16384,513,257,129,65,33,17,9,5,3]],[16865,[998400,32768,513,257,129,65,33,17,9,5,3]],[16869,[998400,32768,513,257,129,65,33,17,9,5,3]],[16874,[850944,65536,513,257,129,65,33,17,9,5,3]],[16878,[850944,65536,513,257,129,65,33,17,9,5,3]],[16883,[850944,131072,513,257,129,65,33,17,9,5,3]],[16887,[850944,131072,513,257,129,65,33,17,9,5,3]],[16892,[262144,261120,513,257,129,65,33,17,9,5,3]],[16896,[262144,261120,513,257,129,65,33,17,9,5,3]],[16901,[524288,261120,513,257,129,65,33,17,9,5,3]],[16905,[524288,261120,513,257,129,65,33,17,9,5,3]],[16929,[524288,262144,131072,65536,32768,16384,2048,1024,8,4]],[16930,[524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[16931,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[16932,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[16936,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[16938,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[16939,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[16943,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[16944,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[16945,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[16946,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[16947,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[16948,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[16949,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[16950,[131072,65536,8192,4096,32,16,8,4]],[16952,[524288,262144,131072,65536,2048,1024,128,64,32,16,2,1]],[16953,[32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[16961,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[16962,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[16963,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[16965,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[16966,[524288,262144,131072,65536,61443,2048,1024,512,256,128,64,32,16,15]],[16968,[32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[16969,[786492,196620,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[16970,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[16971,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[16972,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[16973,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[16974,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[16981,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[16982,[131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[16983,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16984,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16985,[524288,262144,196656,32768,16384,8192,4096,2048,1024,512,256,252,2,1]],[16992,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[16993,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[16995,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[16996,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[17002,[524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4]],[17003,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17005,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[17006,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[17008,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17009,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17010,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16]],[17011,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17012,[524288,262144,196812,32768,16384,8192,4096,2048,1024,960,32,16,2,1]],[17013,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[17014,[524288,262144,131072,65536,61452,2048,1024,512,256,204,32,16,2,1]],[17015,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[17018,[524288,262144,8192,4096,2048,1024,128,64,32,16,2,1]],[17019,[524288,262144,197388,49164,8192,4096,2048,1024,128,64,32,16,2,1]],[17026,[524288,262144,131072,65536,512,256,128,64,32,16,8,4]],[17029,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[17030,[524288,262144,512,256,128,64,32,16,8,4,2,1]],[17031,[524288,262144,131072,65536,512,256,128,64,32,16,2,1]],[17032,[524288,262144,131072,65536,61452,3084,512,256,128,64,32,16,2,1]],[17034,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[17035,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[17036,[524288,262144,32768,16384,8192,4096,2048,1024,128,64,32,16]],[17037,[524288,262144,197379,32768,16384,8192,4096,2048,1024,128,64,32,16,15]],[17038,[524288,262144,32768,16384,8192,4096,128,64,32,16,8,4]],[17041,[524288,262144,131072,65536,32768,16384,512,256,128,64,32,16]],[17044,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17045,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17046,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17047,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[17048,[786492,131072,65536,32768,16384,8192,4096,2048,1024,512,256,204,2,1]],[17049,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17050,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17051,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17052,[786483,131072,65536,32768,16384,8192,4096,2048,1024,512,256,195,8,4]],[17053,[524288,262144,32768,16384,8192,4096,128,64,32,16,2,1]],[17054,[524288,262144,197388,32768,16384,8192,4096,3084,128,64,32,16,2,1]],[17056,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17057,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17061,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[17062,[131072,65536,8192,4096,2048,1024,512,256,128,64,8,4]],[17063,[786483,131072,65536,49155,8192,4096,2048,1024,512,256,128,64,8,4]],[17064,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[17065,[32768,16384,8192,4096,2048,1024,128,64,8,4,2,1]],[17066,[983088,32768,16384,8192,4096,2048,1024,816,128,64,8,4,2,1]],[17067,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[17073,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[17074,[524288,262144,32768,16384,8192,4096,512,256,32,16,8,4]],[17075,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[17076,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[17077,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[17080,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[17081,[786672,131072,65536,49344,8192,4096,2048,1024,512,256,8,4,2,1]],[17082,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[17083,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[17085,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[17086,[798768,131072,65536,61440,2048,1024,512,256,128,64,8,4,2,1]],[17088,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[17089,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17090,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17103,[1044480,2052,1028,516,260,132,68,36,20,12,1]],[17105,[799680,131072,65536,32768,16384,2048,1024,32,16,8,4,1]],[17123,[1044480,2052,1028,516,260,132,68,36,20,12,2]],[17125,[799680,131072,65536,32768,16384,2048,1024,32,16,8,4,2]],[17143,[1044480,2049,1025,513,257,129,65,33,17,4,3]],[17145,[799680,131072,65536,32768,16384,2048,1024,32,16,4,2,1]],[17163,[1044480,2049,1025,513,257,129,65,33,17,8,3]],[17165,[799680,131072,65536,32768,16384,2048,1024,32,16,8,2,1]],[17183,[1044480,2049,1025,513,257,129,65,16,9,5,3]],[17185,[799680,131072,65536,32768,16384,2048,1024,16,8,4,2,1]],[17203,[1044480,2049,1025,513,257,129,65,32,9,5,3]],[17205,[799680,131072,65536,32768,16384,2048,1024,32,8,4,2,1]],[17223,[1044480,2049,1025,513,257,64,33,17,9,5,3]],[17225,[799536,131072,65536,32768,16384,2048,1024,64,8,4,2,1]],[17243,[1044480,2049,1025,513,257,128,33,17,9,5,3]],[17245,[799536,131072,65536,32768,16384,2048,1024,128,8,4,2,1]],[17263,[1044480,2049,1025,256,129,65,33,17,9,5,3]],[17265,[798960,131072,65536,32768,16384,2048,1024,256,8,4,2,1]],[17283,[1044480,2049,1025,512,129,65,33,17,9,5,3]],[17285,[798960,131072,65536,32768,16384,2048,1024,512,8,4,2,1]],[17303,[1044480,1024,513,257,129,65,33,17,9,5,3]],[17305,[798960,131072,65536,32768,16384,1024,512,256,8,4,2,1]],[17323,[1044480,2048,513,257,129,65,33,17,9,5,3]],[17325,[798960,131072,65536,32768,16384,2048,512,256,8,4,2,1]],[17343,[1035264,4096,513,257,129,65,33,17,9,5,3]],[17345,[789744,131072,65536,32768,16384,4096,512,256,8,4,2,1]],[17363,[1035264,8192,513,257,129,65,33,17,9,5,3]],[17365,[789744,131072,65536,32768,16384,8192,512,256,8,4,2,1]],[17383,[998400,16384,513,257,129,65,33,17,9,5,3]],[17385,[789744,131072,65536,16384,8192,4096,512,256,8,4,2,1]],[17403,[998400,32768,513,257,129,65,33,17,9,5,3]],[17405,[789744,131072,65536,32768,8192,4096,512,256,8,4,2,1]],[17423,[850944,65536,513,257,129,65,33,17,9,5,3]],[17425,[789744,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[17443,[850944,131072,513,257,129,65,33,17,9,5,3]],[17445,[789744,131072,32768,16384,8192,4096,512,256,8,4,2,1]],[17463,[262144,261120,513,257,129,65,33,17,9,5,3]],[17465,[262144,199920,32768,16384,8192,4096,512,256,8,4,2,1]],[17483,[524288,261120,513,257,129,65,33,17,9,5,3]],[17485,[524288,199920,32768,16384,8192,4096,512,256,8,4,2,1]],[17766,[524292,262148,131076,65540,32772,16388,8196,4100,4080,12,1]],[17773,[524292,262148,131076,65540,32772,16388,8196,4100,4080,12,2]],[17780,[524289,262145,131073,65537,32769,16385,8193,4097,4080,4,3]],[17787,[524289,262145,131073,65537,32769,16385,8193,4097,4080,8,3]],[17794,[524289,262145,131073,65537,32769,16385,8193,4097,4044,16,3]],[17801,[524289,262145,131073,65537,32769,16385,8193,4097,4044,32,3]],[17808,[524289,262145,131073,65537,32769,16385,8193,4097,3900,64,3]],[17815,[524289,262145,131073,65537,32769,16385,8193,4097,3900,128,3]],[17822,[524289,262145,131073,65537,32769,16385,8193,4097,3324,256,3]],[17829,[524289,262145,131073,65537,32769,16385,8193,4097,3324,512,3]],[17836,[524289,262145,131073,65537,32769,16385,8193,4097,1024,1020,3]],[17843,[524289,262145,131073,65537,32769,16385,8193,4097,2048,1020,3]],[17850,[524289,262145,131073,65537,32769,16385,4096,2049,1025,1020,3]],[17857,[524289,262145,131073,65537,32769,16385,8192,2049,1025,1020,3]],[17864,[524289,262145,131073,65537,16384,8193,4097,2049,1025,1020,3]],[17871,[524289,262145,131073,65537,32768,8193,4097,2049,1025,1020,3]],[17878,[524289,262145,65536,32769,16385,8193,4097,2049,1025,1020,3]],[17885,[524289,262145,131072,32769,16385,8193,4097,2049,1025,1020,3]],[17892,[262144,131073,65537,32769,16385,8193,4097,2049,1025,1020,3]],[17899,[524288,131073,65537,32769,16385,8193,4097,2049,1025,1020,3]],[17904,[524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[17905,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[17906,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[17907,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[17908,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[17910,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[17913,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[17916,[246528,8192,4096,2048,1024,128,64,32,16,8,4,2,1]],[17917,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[17918,[32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[17919,[789507,32768,16384,8192,4096,512,256,128,64,32,16,8,4]],[17920,[524288,262144,8192,4096,512,256,128,64,32,16,8,4]],[17921,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17924,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[17926,[258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[17930,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[17932,[524288,262144,8192,4096,2048,1024,32,16,8,4,2,1]],[17933,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[17934,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[17935,[524288,262144,131072,65536,2048,1024,128,64,32,16,8,4]],[17938,[524288,262144,208908,32768,16384,2048,1024,512,256,128,64,2,1]],[17943,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17944,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17945,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[17946,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[17947,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[17948,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[17949,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[17950,[524288,262144,8192,4096,512,256,32,16,8,4,2,1]],[17951,[524288,262144,131072,65536,62208,2048,1024,128,64,8,4,2,1]],[17952,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[17953,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[17955,[131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[17956,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[17957,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[17958,[524288,262144,131072,65536,8192,4096,512,256,32,16,8,4]],[17959,[524288,262144,246528,8192,4096,2048,1024,128,64,32,16,8,4]],[17960,[524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4]],[17961,[524288,262144,8192,4096,2048,1024,32,16,8,4,2,1]],[17962,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[17963,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[17966,[524288,262144,246528,8192,4096,2048,1024,128,64,8,4,2,1]],[17971,[524288,262144,131072,65536,2048,1024,128,64,32,16,8,4]],[17972,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[17973,[524288,262144,32768,16384,2048,1024,128,64,32,16,2,1]],[17974,[524288,262144,32768,16384,2048,1024,128,64,32,16,2,1]],[17976,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[17979,[131072,65536,8192,4096,32,16,8,4]],[17981,[524288,262144,131072,65536,64512,512,256,128,64,8,4,2,1]],[17982,[131072,65536,62208,2048,1024,128,64,32,16,8,4,2,1]],[17983,[524288,262144,131072,65536,512,256,128,64,32,16,8,4]],[17984,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[17985,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[17986,[524288,262144,512,256,128,64,32,16,8,4,2,1]],[17987,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17988,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[17990,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[17991,[524288,262144,131072,65536,32768,16384,512,256,128,64,32,16]],[17992,[524288,262144,131072,65536,49932,8192,4096,2048,1024,128,64,2,1]],[17993,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[17998,[983088,32768,16384,2048,1024,512,256,128,64,8,4,2,1]],[17999,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[18000,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18002,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[18007,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[18008,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[18009,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[18010,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[18011,[524288,262144,131072,65536,2048,1024,512,256,8,4,2,1]],[18012,[524288,262144,131072,65536,52227,8192,4096,512,256,128,64,8,4]],[18013,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[18014,[524288,262144,32768,16384,8192,4096,512,256,32,16,8,4]],[18017,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[18018,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[18019,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[18020,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[18022,[524288,262144,131072,65536,32768,16384,8192,4096,4032,8,4,2,1]],[18023,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[18024,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[18025,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[18026,[524288,262144,131072,65536,8192,4096,3852,128,64,32,16,2,1]],[18028,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[18029,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[18030,[131072,65536,62208,2048,1024,128,64,32,16,8,4,2,1]],[18032,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[18033,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[18034,[524288,262144,131072,65536,61443,2048,1024,512,256,128,64,8,4]],[18035,[131072,65536,61443,2048,1024,512,256,128,64,32,16,8,4]],[18036,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[18038,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[18039,[524288,262144,131072,65536,32768,16384,8192,4096,3267,32,16,8,4]],[18040,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[18041,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[18042,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16]],[18043,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[18044,[524288,262144,131072,65536,32768,16384,15363,128,64,32,16,8,4]],[18046,[524288,262144,131072,65536,2048,1024,128,64,32,16,2,1]],[18229,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,1]],[18239,[983088,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4,1]],[18245,[524292,262148,131076,65540,61632,2052,1028,516,260,36,20,12,1]],[18252,[524288,262144,211968,32768,16384,512,256,128,64,32,16,8,4,1]],[18255,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,2]],[18265,[983088,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4,2]],[18271,[524292,262148,131076,65540,61632,2052,1028,516,260,36,20,12,2]],[18278,[524288,262144,211968,32768,16384,512,256,128,64,32,16,8,4,2]],[18281,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,4]],[18291,[983088,32768,16384,8192,4096,2048,1024,512,256,128,64,4,2,1]],[18297,[524289,262145,131073,65537,61632,2049,1025,513,257,33,17,4,3]],[18304,[524288,262144,211968,32768,16384,512,256,128,64,32,16,4,2,1]],[18307,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,8]],[18317,[983088,32768,16384,8192,4096,2048,1024,512,256,128,64,8,2,1]],[18323,[524289,262145,131073,65537,61632,2049,1025,513,257,33,17,8,3]],[18330,[524288,262144,211968,32768,16384,512,256,128,64,32,16,8,2,1]],[18333,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,16]],[18343,[983052,32768,16384,8192,4096,2048,1024,512,256,128,64,16,2,1]],[18349,[524289,262145,131073,65537,61632,2049,1025,513,257,16,9,5,3]],[18356,[524288,262144,211968,32768,16384,512,256,128,64,16,8,4,2,1]],[18359,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,32]],[18369,[983052,32768,16384,8192,4096,2048,1024,512,256,128,64,32,2,1]],[18375,[524289,262145,131073,65537,61632,2049,1025,513,257,32,9,5,3]],[18382,[524288,262144,211968,32768,16384,512,256,128,64,32,8,4,2,1]],[18385,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,64,32,16]],[18395,[983052,32768,16384,8192,4096,2048,1024,512,256,64,32,16,2,1]],[18401,[524289,262145,131073,65537,61488,2049,1025,513,257,64,9,5,3]],[18408,[524288,262144,211968,32768,16384,512,256,64,32,16,8,4,2,1]],[18411,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,32,16]],[18421,[983052,32768,16384,8192,4096,2048,1024,512,256,128,32,16,2,1]],[18427,[524289,262145,131073,65537,61488,2049,1025,513,257,128,9,5,3]],[18434,[524288,262144,211968,32768,16384,512,256,128,32,16,8,4,2,1]],[18437,[524288,262144,196623,32768,16384,8192,4096,2048,1024,256,128,64,32,16]],[18447,[983052,32768,16384,8192,4096,2048,1024,256,128,64,32,16,2,1]],[18453,[524289,262145,131073,65537,61488,2049,1025,256,129,65,9,5,3]],[18460,[524288,262144,211968,32768,16384,256,128,64,32,16,8,4,2,1]],[18463,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,128,64,32,16]],[18473,[983052,32768,16384,8192,4096,2048,1024,512,128,64,32,16,2,1]],[18479,[524289,262145,131073,65537,61488,2049,1025,512,129,65,9,5,3]],[18486,[524288,262144,211968,32768,16384,512,128,64,32,16,8,4,2,1]],[18489,[524288,262144,196623,32768,16384,8192,4096,1024,512,256,128,64,32,16]],[18499,[983052,32768,16384,8192,4096,1024,512,256,128,64,32,16,2,1]],[18505,[524289,262145,131073,65537,61488,1024,513,257,129,65,9,5,3]],[18512,[524288,262144,209664,32768,16384,1024,128,64,32,16,8,4,2,1]],[18515,[524288,262144,196623,32768,16384,8192,4096,2048,512,256,128,64,32,16]],[18525,[983052,32768,16384,8192,4096,2048,512,256,128,64,32,16,2,1]],[18531,[524289,262145,131073,65537,61488,2048,513,257,129,65,9,5,3]],[18538,[524288,262144,209664,32768,16384,2048,128,64,32,16,8,4,2,1]],[18541,[524288,262144,196623,32768,16384,4096,2048,1024,512,256,128,64,32,16]],[18551,[983052,32768,16384,4096,2048,1024,512,256,128,64,32,16,2,1]],[18557,[524289,262145,131073,65537,52272,4096,513,257,129,65,9,5,3]],[18564,[524288,262144,200448,32768,16384,4096,128,64,32,16,8,4,2,1]],[18567,[524288,262144,196623,32768,16384,8192,2048,1024,512,256,128,64,32,16]],[18577,[983052,32768,16384,8192,2048,1024,512,256,128,64,32,16,2,1]],[18583,[524289,262145,131073,65537,52272,8192,513,257,129,65,9,5,3]],[18590,[524288,262144,200448,32768,16384,8192,128,64,32,16,8,4,2,1]],[18593,[524288,262144,196623,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[18603,[983052,16384,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18609,[524289,262145,131073,65537,16384,15408,513,257,129,65,9,5,3]],[18616,[524288,262144,200448,16384,8192,4096,128,64,32,16,8,4,2,1]],[18619,[524288,262144,196623,32768,8192,4096,2048,1024,512,256,128,64,32,16]],[18629,[983052,32768,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18635,[524289,262145,131073,65537,32768,15408,513,257,129,65,9,5,3]],[18642,[524288,262144,200448,32768,8192,4096,128,64,32,16,8,4,2,1]],[18645,[524288,262144,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18655,[835596,65536,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18661,[524289,262145,65536,32769,16385,15408,513,257,129,65,9,5,3]],[18668,[524288,262144,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[18671,[524288,262144,131072,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18681,[835596,131072,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18687,[524289,262145,131072,32769,16385,15408,513,257,129,65,9,5,3]],[18694,[524288,262144,131072,52992,8192,4096,128,64,32,16,8,4,2,1]],[18697,[262144,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18707,[262144,245772,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18713,[262144,131073,65537,32769,16385,15408,513,257,129,65,9,5,3]],[18720,[262144,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[18723,[524288,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18733,[524288,245772,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[18739,[524288,131073,65537,32769,16385,15408,513,257,129,65,9,5,3]],[18746,[524288,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[19198,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,1]],[19208,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,2]],[19218,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,4,2,1]],[19228,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,2,1]],[19238,[787392,131072,65536,32768,16384,8192,4096,2048,1024,16,8,4,2,1]],[19248,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,8,4,2,1]],[19258,[787248,131072,65536,32768,16384,8192,4096,2048,1024,64,8,4,2,1]],[19268,[787248,131072,65536,32768,16384,8192,4096,2048,1024,128,8,4,2,1]],[19278,[786672,131072,65536,32768,16384,8192,4096,2048,1024,256,8,4,2,1]],[19288,[786672,131072,65536,32768,16384,8192,4096,2048,1024,512,8,4,2,1]],[19298,[786672,131072,65536,32768,16384,8192,4096,1024,512,256,8,4,2,1]],[19308,[786672,131072,65536,32768,16384,8192,4096,2048,512,256,8,4,2,1]],[19318,[786672,131072,65536,32768,16384,4096,2048,1024,512,256,8,4,2,1]],[19328,[786672,131072,65536,32768,16384,8192,2048,1024,512,256,8,4,2,1]],[19338,[786672,131072,65536,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19348,[786672,131072,65536,32768,8192,4096,2048,1024,512,256,8,4,2,1]],[19358,[786672,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19368,[786672,131072,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19378,[262144,196848,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19388,[524288,196848,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19443,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19453,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19454,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19470,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19471,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19472,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19681,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19693,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19737,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[19742,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[19748,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[23566,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,1]],[23580,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,2]],[23594,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,4]],[23608,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,8]],[23622,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,16]],[23636,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,32]],[23650,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,64,63]],[23664,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,128,63]],[23678,[524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,256,192,63]],[23692,[524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,512,192,63]],[23706,[524352,262208,131136,65600,32832,16448,8256,4160,1024,576,320,192,63]],[23720,[524352,262208,131136,65600,32832,16448,8256,4160,2048,576,320,192,63]],[23734,[524352,262208,131136,65600,32832,16448,4096,2112,1088,576,320,192,63]],[23748,[524352,262208,131136,65600,32832,16448,8192,2112,1088,576,320,192,63]],[23762,[524352,262208,131136,65600,16384,8256,4160,2112,1088,576,320,192,63]],[23776,[524352,262208,131136,65600,32768,8256,4160,2112,1088,576,320,192,63]],[23790,[524352,262208,65536,32832,16448,8256,4160,2112,1088,576,320,192,63]],[23804,[524352,262208,131072,32832,16448,8256,4160,2112,1088,576,320,192,63]],[23818,[262144,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[23832,[524288,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-mw.json new file mode 100644 index 0000000000..37bb698448 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR200/233 maximum-weight late compensated pairing (pairs_mw.py) with the last late pair moved to the phase cut.","pairs":[[4114,9395,null],[4162,9396,null],[1639,9397,19957],[1611,9398,19962],[1425,9399,19965],[4151,9400,null],[1035,9401,19987],[1563,9402,20004],[1617,9403,20009],[1604,9404,20012],[4566,9405,20014],[1550,9406,20034],[1411,9407,20051],[1598,9408,20056],[1329,9409,20058],[1603,9410,20060],[3515,9411,null],[1591,9412,20065],[1371,9413,20081],[1556,9414,20084],[1555,9415,20101],[1515,9416,20106],[1255,9417,20108],[1399,9418,20110],[3370,9419,null],[1351,9420,20115],[1508,9421,20131],[1569,9422,20134],[1543,9423,20151],[1281,9424,20156],[1419,9425,20158],[684,9426,null],[3202,9427,null],[1406,9428,20165],[1412,9429,20179],[1495,9430,20182],[1275,9431,20185],[1521,9432,20188],[347,9433,null],[1473,9434,20204],[1454,9435,20209],[1268,9436,20211],[1364,9437,20213],[1751,9438,null],[1377,9439,20218],[1323,9440,20232],[1698,9441,null],[1502,9442,20238],[1358,9443,20241],[596,9444,20245],[1460,9445,20257],[1507,9446,20262],[1467,9447,20264],[884,9448,20266],[3082,9449,null],[1220,9450,20271],[1447,9451,20285],[993,9452,20288],[679,9453,20291],[1459,9454,20293],[691,9455,20295],[343,9456,20298],[705,9457,20300],[966,9458,20302],[1137,9459,20313],[1185,9460,20318],[1124,9461,20320],[1214,9462,20322],[3095,9463,null],[363,9464,20327],[1570,9465,null],[1076,9466,20344],[1227,9467,20347],[994,9468,null],[350,9469,20351],[945,9470,20354],[1233,9471,20356],[932,9472,20358],[971,9473,null],[1166,9474,20374],[1131,9475,20376],[1207,9476,20378],[967,9477,20379],[695,9478,null],[4092,9479,null],[1218,9480,null],[980,9481,20386],[983,9482,null],[643,9483,20390],[1123,9484,20400],[1022,9485,20403],[1179,9486,20406],[730,9487,null],[1666,9488,null],[355,9489,20413],[987,9490,20415],[634,9491,null],[699,9492,20418],[603,9493,20419],[459,9494,20421],[1219,9495,20422],[1111,9496,20423],[926,9497,20425],[1316,9498,20436],[931,9499,20441],[972,9500,null],[1172,9501,20445],[455,9502,null],[583,9503,20447],[3394,9504,null],[747,9505,20452],[974,9506,20453],[878,9507,20454],[651,9508,20457],[452,9509,20467],[1315,9510,20470],[979,9511,20473],[1210,9512,null],[1310,9513,20478],[1159,9514,20480],[686,9515,20482],[644,9516,20484],[315,9517,20485],[369,9518,20486],[692,9519,20488],[1162,9520,null],[1171,9521,20490],[1363,9522,20492],[1026,9523,null],[835,9524,20504],[923,9525,null],[225,9526,20511],[734,9527,20513],[919,9528,20514],[678,9529,20515],[3083,9530,null],[115,9531,20520],[1063,9532,20521],[753,9533,20522],[631,9534,20525],[731,9535,null],[743,9536,null],[1027,9537,20534],[738,9538,null],[348,9539,null],[795,9540,20544],[1015,9541,20545],[123,9542,20546],[398,9543,20549],[391,9544,20550],[782,9545,20551],[417,9546,20553],[442,9547,null],[657,9548,20556],[439,9549,20557],[1089,9550,20559],[354,9551,null],[67,9552,20562],[356,9553,20563],[683,9554,null],[307,9555,20566],[321,9556,20567],[59,9557,null],[58,9558,null],[978,9559,null],[739,9560,20579],[1267,9561,20583],[635,9562,null],[754,9563,null],[939,9564,20592],[740,9565,20593],[411,9566,20594],[3090,9567,null],[727,9568,20599],[823,9569,20600],[930,9570,null],[295,9571,20604],[726,9572,20605],[55,9573,20606],[403,9574,20613],[849,9575,20617],[359,9576,null],[1223,9577,null],[1028,9578,20624],[1212,9579,null],[451,9580,20628],[924,9581,null],[638,9582,20630],[1262,9583,20632],[682,9584,null],[116,9585,20635],[1041,9586,20636],[1070,9587,20638],[706,9588,null],[33,9589,20641],[827,9590,null],[5255,9591,null],[1211,9592,null],[34,9593,null],[402,9594,null],[302,9595,20649],[970,9596,null],[465,9597,20658],[342,9598,20659],[507,9599,20660],[446,9600,20664],[801,9601,20665],[513,9602,20666],[3431,9603,null],[1083,9604,20673],[1075,9605,20674],[62,9606,20675],[891,9607,20677],[1234,9608,null],[1118,9609,20679],[4103,9610,null],[129,9611,20684],[871,9612,20685],[346,9613,null],[108,9614,null],[1655,9615,null],[20,9616,20691],[19,9617,20697],[450,9618,null],[404,9619,20703],[1014,9620,20706],[1402,9621,null],[163,9622,20708],[883,9623,20711],[1303,9624,20712],[788,9625,20713],[499,9626,20716],[3330,9627,null],[787,9628,20718],[75,9629,20720],[370,9630,null],[494,9631,20722],[690,9632,null],[1206,9633,20725],[27,9634,20726],[3335,9635,null],[836,9636,20729],[830,9637,20730],[7,9638,20732],[843,9639,20733],[14,9640,20734],[535,9641,20736],[3586,9642,null],[1079,9643,null],[500,9644,20740],[12,9645,null],[68,9646,20742],[487,9647,20750],[4283,9648,null],[103,9649,20752],[3106,9650,null],[4978,9651,null],[4140,9652,null],[779,9653,null],[4282,9654,null],[81,9655,20766],[775,9656,20767],[898,9657,null],[897,9658,20770],[1066,9659,null],[3078,9660,20773],[4199,9661,null],[71,9662,null],[82,9663,null],[2075,9664,null],[1114,9665,null],[394,9666,null],[839,9667,null],[1019,9668,null],[4138,9669,null],[219,9670,20798],[23,9671,null],[164,9672,20800],[177,9673,20803],[4954,9674,null],[1643,9675,null],[609,9676,20808],[599,9677,null],[3562,9678,null],[211,9679,20812],[66,9680,null],[60,9681,null],[110,9682,20816],[171,9683,20817],[114,9684,null],[4631,9685,null],[396,9686,null],[542,9687,20822],[1642,9688,null],[418,9689,null],[247,9690,20826],[548,9691,20828],[1547,9692,null],[561,9693,20830],[582,9694,20832],[595,9695,20833],[587,9696,null],[4236,9697,null],[4434,9698,null],[438,9699,20844],[4343,9700,null],[4091,9701,null],[1186,9702,null],[1042,9703,null],[547,9704,20856],[3418,9705,null],[850,9706,null],[2087,9707,null],[4806,9708,20861],[4535,9709,null],[3191,9710,null],[4230,9711,20865],[2074,9712,null],[3143,9713,null],[2070,9714,20869],[212,9715,20872],[4182,9716,20873],[102,9717,20874],[590,9718,20877],[6,9719,20878],[4258,9720,null],[443,9721,null],[3426,9722,null],[555,9723,20887],[107,9724,null],[158,9725,20890],[260,9726,20891],[732,9727,null],[3479,9728,null],[4210,9729,null],[1163,9730,null],[130,9731,null],[4810,9732,null],[4234,9733,null],[2266,9734,null],[308,9735,20907],[3275,9736,null],[4439,9737,null],[4426,9738,null],[151,9739,20914],[946,9740,null],[10,9741,null],[267,9742,20918],[647,9743,null],[254,9744,20920],[199,9745,20922],[5051,9746,null],[1062,9747,20924],[206,9748,20926],[259,9749,20927],[4667,9750,null],[1068,9751,null],[306,9752,null],[3970,9753,null],[935,9754,null],[3276,9755,null],[3226,9756,null],[3538,9757,null],[780,9758,null],[444,9759,null],[4450,9760,null],[3383,9761,null],[4427,9762,null],[4330,9763,null],[1031,9764,null],[4139,9765,null],[1170,9766,null],[4811,9767,null],[5362,9768,null],[3250,9769,null],[4235,9770,null],[5146,9771,null],[2423,9772,null],[3419,9773,null],[4194,9774,null],[882,9775,null],[119,9776,null],[273,9777,20976],[390,9778,20979],[3527,9779,null],[1158,9780,20981],[106,9781,null],[3378,9782,null],[1810,9783,null],[3227,9784,null],[1799,9785,null],[3490,9786,null],[3466,9787,null],[54,9788,20998],[539,9789,null],[658,9790,null],[3514,9791,null],[1164,9792,null],[5435,9793,null],[4374,9794,21008],[4247,9795,null],[407,9796,null],[922,9797,null],[1367,9798,null],[3730,9799,null],[3719,9800,null],[3179,9801,null],[5170,9802,null],[1175,9803,null],[610,9804,null],[3287,9805,null],[4594,9806,null],[1762,9807,null],[3946,9808,null],[4570,9809,null],[826,9810,null],[5050,9811,null],[5159,9812,null],[5147,9813,null],[4679,9814,null],[3239,9815,null],[4379,9816,null],[3922,9817,null],[4295,9818,null],[3154,9819,null],[3947,9820,null],[4523,9821,null],[3851,9822,null],[3371,9823,null],[4858,9824,null],[4762,9825,null],[4187,9826,null],[3899,9827,null],[5242,9828,null],[3323,9829,null],[4906,9830,null],[5207,9831,null],[4546,9832,null],[4619,9833,null],[5387,9834,null],[5698,9835,null],[4919,9836,null],[4642,9837,null],[2555,9838,null],[5194,9839,null],[5015,9840,null],[5530,9841,null],[4522,9842,null],[5602,9843,null],[5266,9844,null],[5111,9845,null],[5543,9846,null],[2554,9847,null],[2507,9848,null],[5339,9849,null],[3442,9850,null],[5338,9851,null],[2530,9852,null],[3863,9853,null],[4823,9854,null],[3826,9855,null],[1788,9856,null],[3035,9857,null],[4859,9858,null],[5410,9859,null],[4907,9860,null],[5026,9861,null],[5003,9862,null],[3755,9863,null],[5579,9864,null],[5554,9865,null],[3815,9866,null],[5578,9867,null],[4487,9868,null],[4763,9869,null],[4378,9870,null],[3346,9871,null],[5346,9872,null],[3778,9873,null],[5442,9874,null],[5675,9875,null],[5730,9876,null],[2290,9877,null],[4583,9878,null],[4331,9879,null],[4666,9880,null],[2327,9881,null],[4786,9882,null],[5052,9883,null],[2098,9884,null],[4727,9885,null],[2410,9886,null],[2219,9887,null],[5591,9888,null],[3324,9889,null],[3274,9890,null],[4018,9891,null],[4278,9892,21190],[5682,9893,null],[4618,9894,null],[4186,9895,null],[3467,9896,null],[1787,9897,null],[4007,9898,null],[3707,9899,null],[2027,9900,null],[4422,9901,21208],[4738,9902,null],[3084,9903,null],[3138,9904,null],[3131,9905,null],[3563,9906,null],[4042,9907,null],[2050,9908,null],[3322,9909,null],[4882,9910,null],[5218,9911,null],[2082,9912,null],[1986,9913,null],[4474,9914,null],[5122,9915,null],[4066,9916,null],[1847,9917,null],[5094,9918,21242],[2076,9919,null],[2170,9920,null],[4428,9921,null],[4950,9922,21250],[5099,9923,null],[1782,9924,21254],[2891,9925,null],[5386,9926,null],[2183,9927,null],[4812,9928,null],[1738,9929,null],[5298,9930,null],[5314,9931,null],[4306,9932,null],[5399,9933,null],[4090,9934,null],[3575,9935,null],[4332,9936,null],[4498,9937,null],[4834,9938,null],[3612,9939,null],[5622,9940,21286],[3898,9941,null],[4962,9942,null],[1834,9943,null],[4871,9944,null],[5447,9945,null],[5002,9946,null],[2699,9947,null],[1979,9948,null],[5340,9949,null],[4086,9950,21306],[1858,9951,null],[5303,9952,null],[5148,9953,null],[5430,9954,21314],[4908,9955,null],[5063,9956,null],[5458,9957,null],[5074,9958,null],[3874,9959,null],[8332,9960,21326],[5098,9961,null],[5746,9962,null],[5650,9963,null],[5243,9964,null],[5154,9965,null],[5292,9966,null],[4402,9967,null],[1350,9968,21342],[4967,9969,null],[4860,9970,null],[791,9971,null],[5434,9972,null],[5142,9973,21352],[5106,9974,null],[5195,9975,null],[4930,9976,null],[4050,9977,null],[5639,9978,null],[5687,9979,null],[3995,9980,null],[3803,9981,null],[5495,9982,null],[5506,9983,null],[3802,9984,null],[1500,9985,null],[5722,9986,null],[1554,9987,null],[1378,9988,null],[5627,9989,null],[5674,9990,null],[1398,9991,21388],[1259,9992,null],[1426,9993,null],[3706,9994,null],[5626,9995,null],[4043,9996,null],[5670,9997,21400],[1404,9998,null],[4391,9999,null],[4662,10000,21406],[1686,10001,21408],[4714,10002,null],[3959,10003,null],[778,10004,null],[395,10005,null],[1546,10006,null],[3610,10007,null],[4690,10008,null],[4758,10009,21424],[5238,10010,21426],[3558,10011,21428],[4715,10012,null],[1450,10013,null],[4764,10014,null],[1446,10015,21436],[1618,10016,null],[1522,10017,null],[4055,10018,null],[5723,10019,null],[3990,10020,21446],[3178,10021,null],[5058,10022,null],[4188,10023,null],[4674,10024,null],[5538,10025,null],[5482,10026,null],[1691,10027,null],[466,10028,null],[5483,10029,null],[5196,10030,null],[1650,10031,null],[3510,10032,21470],[4475,10033,null],[5250,10034,null],[5735,10035,null],[8972,10036,21478],[5718,10037,21480],[1020,10038,null],[1410,10039,null],[774,10040,21486],[8550,10041,21488],[4955,10042,null],[1714,10043,null],[1703,10044,null],[3754,10045,null],[1018,10046,null],[4290,10047,null],[3634,10048,null],[8963,10049,21504],[5388,10050,null],[5531,10051,null],[8522,10052,21510],[5532,10053,null],[1494,10054,21514],[3606,10055,21516],[5046,10056,21518],[3564,10057,null],[5291,10058,null],[594,10059,null],[3186,10060,null],[5290,10061,null],[1307,10062,null],[1067,10063,null],[4866,10064,null],[9226,10065,21536],[3767,10066,null],[5010,10067,null],[8473,10068,21542],[1403,10069,null],[4518,10070,21546],[8413,10071,21548],[3474,10072,null],[1362,10073,null],[5586,10074,null],[1282,10075,null],[4571,10076,null],[3623,10077,null],[5351,10078,null],[514,10079,null],[1330,10080,null],[8409,10081,21568],[4902,10082,21570],[1499,10083,null],[528,10084,21574],[5334,10085,21576],[1254,10086,21578],[8397,10087,21580],[8403,10088,21582],[5382,10089,21584],[2502,10090,21586],[5484,10091,null],[5202,10092,null],[1074,10093,null],[5490,10094,null],[2999,10095,null],[1594,10096,null],[5676,10097,null],[3030,10098,21602],[1559,10099,null],[1355,10100,null],[1595,10101,null],[5526,10102,21610],[2982,10103,21612],[2519,10104,null],[2842,10105,null],[2698,10106,null],[5478,10107,21620],[1692,10108,null],[3010,10109,null],[5634,10110,null],[2892,10111,null],[2844,10112,null],[5394,10113,null],[3034,10114,null],[5580,10115,null],[876,10116,null],[5628,10117,null],[4716,10118,null],[4380,10119,null],[2818,10120,null],[5244,10121,null],[2939,10122,null],[1498,10123,null],[4775,10124,null],[1458,10125,null],[1638,10126,21658],[4722,10127,null],[2946,10128,null],[2838,10129,21664],[2988,10130,null],[1690,10131,null],[2986,10132,null],[2316,10133,null],[1602,10134,null],[1138,10135,null],[2795,10136,null],[4470,10137,21680],[3042,10138,null],[311,10139,null],[4770,10140,null],[2747,10141,null],[4956,10142,null],[1110,10143,21692],[2362,10144,null],[3036,10145,null],[2315,10146,null],[2754,10147,null],[9212,10148,21702],[1415,10149,null],[4914,10150,null],[1644,10151,null],[786,10152,null],[8291,10153,21712],[2406,10154,21714],[3047,10155,null],[2310,10156,21718],[2122,10157,null],[1506,10158,null],[2567,10159,null],[210,10160,null],[8936,10161,21728],[2770,10162,null],[2890,10163,null],[8300,10164,21734],[2700,10165,null],[4354,10166,null],[2759,10167,null],[2375,10168,null],[8361,10169,21744],[4146,10170,null],[2556,10171,null],[2242,10172,null],[263,10173,null],[1266,10174,null],[8525,10175,21756],[2459,10176,null],[8356,10177,21760],[4386,10178,null],[215,10179,null],[8278,10180,21766],[178,10181,null],[1308,10182,null],[1536,10183,21772],[204,10184,null],[300,10185,null],[2962,10186,null],[2855,10187,null],[1511,10188,null],[156,10189,null],[5574,10190,21786],[322,10191,null],[2790,10192,21790],[4848,10193,21792],[2722,10194,null],[2651,10195,null],[4524,10196,null],[1258,10197,null],[4818,10198,null],[299,10199,null],[2626,10200,null],[3058,10201,null],[2866,10202,null],[2850,10203,null],[1978,10204,null],[2034,10205,null],[5724,10206,null],[1890,10207,null],[642,10208,null],[1354,10209,null],[5712,10210,21826],[1319,10211,null],[1356,10212,null],[2022,10213,21832],[1451,10214,null],[2994,10215,null],[3658,10216,null],[630,10217,21840],[2987,10218,null],[246,10219,21844],[2951,10220,null],[2002,10221,null],[636,10222,null],[3570,10223,null],[1878,10224,21854],[3906,10225,null],[3994,10226,null],[258,10227,null],[3954,10228,null],[534,10229,21864],[1607,10230,null],[2412,10231,null],[1932,10232,null],[3372,10233,null],[2940,10234,null],[1127,10235,null],[2028,10236,null],[1314,10237,null],[1116,10238,null],[2386,10239,null],[3671,10240,null],[4044,10241,null],[2674,10242,null],[2578,10243,null],[8244,10244,21894],[252,10245,null],[3516,10246,null],[3682,10247,null],[2938,10248,null],[1794,10249,null],[2506,10250,null],[154,10251,null],[3894,10252,21910],[1991,10253,null],[3756,10254,null],[167,10255,null],[18,10256,null],[8426,10257,21920],[2603,10258,null],[2843,10259,null],[9211,10260,21926],[2039,10261,null],[3522,10262,null],[1883,10263,null],[3850,10264,null],[162,10265,null],[2663,10266,null],[2466,10267,null],[202,10268,null],[492,10269,null],[1122,10270,null],[3762,10271,null],[1830,10272,21950],[9014,10273,21952],[2802,10274,null],[1452,10275,null],[8355,10276,21958],[503,10277,null],[3659,10278,null],[3888,10279,21964],[251,10280,null],[2471,10281,null],[3804,10282,null],[2794,10283,null],[1980,10284,null],[546,10285,null],[1115,10286,null],[2363,10287,null],[490,10288,null],[3948,10289,null],[2934,10290,21986],[226,10291,null],[562,10292,null],[491,10293,null],[3942,10294,21994],[3414,10295,21996],[1882,10296,null],[2903,10297,null],[1739,10298,null],[1463,10299,null],[875,10300,null],[1895,10301,null],[4572,10302,null],[2314,10303,null],[588,10304,null],[2338,10305,null],[2214,10306,22018],[4614,10307,22020],[4038,10308,22022],[2914,10309,null],[3298,10310,null],[887,10311,null],[1926,10312,22030],[2267,10313,null],[4476,10314,null],[2123,10315,null],[1740,10316,null],[250,10317,null],[1590,10318,22042],[8346,10319,22044],[11,10320,null],[3702,10321,22048],[2268,10322,null],[918,10323,22052],[9240,10324,22054],[298,10325,null],[3132,10326,null],[802,10327,null],[2118,10328,22062],[8259,10329,22064],[2898,10330,null],[834,10331,null],[1542,10332,22070],[3611,10333,null],[4609,10334,22074],[2322,10335,null],[822,10336,22078],[2688,10337,22080],[2178,10338,null],[2886,10339,22084],[8220,10340,22086],[3750,10341,22088],[3270,10342,22090],[1392,10343,22092],[3126,10344,22094],[2650,10345,null],[1734,10346,22098],[2604,10347,null],[3911,10348,null],[551,10349,null],[586,10350,null],[0,10351,22108],[1746,10352,null],[9327,10353,22112],[3130,10354,null],[1260,10355,null],[9343,10356,22118],[1906,10357,null],[828,10358,null],[768,10359,22124],[3234,10360,null],[3666,10361,null],[1938,10362,null],[155,10363,null],[870,10364,22134],[538,10365,null],[5436,10366,null],[540,10367,null],[1954,10368,null],[3714,10369,null],[3282,10370,null],[203,10371,null],[1931,10372,null],[486,10373,22152],[1271,10374,null],[2194,10375,null],[5286,10376,22158],[8976,10377,22160],[8396,10378,22162],[8306,10379,22164],[8303,10380,22166],[8358,10381,22168],[8979,10382,22170],[274,10383,null],[2220,10384,null],[8423,10385,22176],[3462,10386,22178],[9276,10387,22180],[9238,10388,22182],[9210,10389,22184],[8274,10390,22186],[4710,10391,22188],[8271,10392,22190],[8993,10393,22192],[3318,10394,22194],[9281,10395,22196],[8222,10396,22198],[8951,10397,22200],[9225,10398,22202],[2172,10399,null],[3420,10400,null],[8258,10401,22208],[1786,10402,null],[9274,10403,22212],[2832,10404,22214],[8235,10405,22216],[9341,10406,22218],[8224,10407,22220],[8213,10408,22222],[8208,10409,22224],[2460,10410,null],[8523,10411,22228],[8294,10412,22230],[8379,10413,22232],[8269,10414,22234],[8252,10415,22236],[874,10416,null],[8342,10417,22240],[2807,10418,null],[8253,10419,22244],[8212,10420,22246],[8293,10421,22248],[3984,10422,22250],[8412,10423,22252],[5004,10424,null],[8257,10425,22256],[2226,10426,null],[1596,10427,null],[1974,10428,22262],[2454,10429,22264],[9246,10430,22266],[8464,10431,22268],[1930,10432,null],[8238,10433,22272],[2434,10434,null],[9243,10435,22276],[8242,10436,22278],[8315,10437,22280],[8404,10438,22282],[9277,10439,22284],[8229,10440,22286],[8360,10441,22288],[2370,10442,null],[8938,10443,22292],[8344,10444,22294],[480,10445,22296],[8462,10446,22298],[960,10447,22300],[3072,10448,22302],[1200,10449,22304],[2146,10450,null],[9353,10451,22308],[8942,10452,22310],[8552,10453,22312],[8978,10454,22314],[8211,10455,22316],[48,10456,22318],[3312,10457,22320],[1842,10458,null],[8531,10459,22324],[8236,10460,22326],[9252,10461,22328],[8266,10462,22330],[96,10463,22332],[2130,10464,null],[8237,10465,22336],[2231,10466,null],[8934,10467,22340],[8499,10468,22342],[432,10469,22344],[8479,10470,22346],[8944,10471,22348],[1306,10472,null],[8341,10473,22352],[2124,10474,null],[8206,10475,22356],[1302,10476,22358],[1836,10477,null],[8286,10478,22362],[3120,10479,22364],[4854,10480,22366],[8205,10481,22368],[2652,10482,null],[8467,10483,22372],[5424,10484,22374],[8509,10485,22376],[1152,10486,22378],[9018,10487,22380],[8239,10488,22382],[8247,10489,22384],[5100,10490,null],[8333,10491,22388],[8364,10492,22390],[3552,10493,22392],[8463,10494,22394],[2064,10495,22396],[4326,10496,22398],[8268,10497,22400],[2602,10498,null],[8933,10499,22404],[8402,10500,22406],[2352,10501,22408],[8998,10502,22410],[1824,10503,22412],[8465,10504,22414],[8233,10505,22416],[3618,10506,null],[8994,10507,22420],[8983,10508,22422],[3846,10509,22424],[8226,10510,22426],[8415,10511,22428],[8339,10512,22430],[8254,10513,22432],[3852,10514,null],[816,10515,22436],[8234,10516,22438],[8321,10517,22440],[8980,10518,22442],[4896,10519,22444],[8419,10520,22446],[8417,10521,22448],[8461,10522,22450],[4338,10523,null],[3654,10524,22454],[2418,10525,null],[8421,10526,22458],[1728,10527,22460],[8505,10528,22462],[9249,10529,22464],[8416,10530,22466],[2364,10531,null],[2610,10532,null],[3798,10533,22472],[8460,10534,22474],[9282,10535,22476],[3168,10536,22478],[4284,10537,null],[4998,10538,22537],[3708,10539,null],[5089,10540,22554],[4753,10541,22558],[4530,10542,null],[4578,10543,null],[4626,10544,null],[4620,10545,null],[5521,10546,22579],[5190,10547,22588],[4668,10548,null],[5666,10549,22594],[4134,10550,22599],[4482,10551,null],[2135,10552,null],[2694,10553,22613],[5629,10554,22618],[8282,10555,22621],[2411,10556,null],[2746,10557,null],[2458,10558,null],[5725,10559,22634],[5713,10560,22636],[4242,10561,null],[5720,10562,22638],[2748,10563,null],[2358,10564,22644],[2514,10565,null],[1474,10566,null],[4754,10567,22660],[8548,10568,22663],[4465,10569,22667],[5665,10570,22669],[1548,10571,null],[8501,10572,22675],[4800,10573,22676],[5328,10574,22677],[2749,10575,22681],[2646,10576,22683],[2711,10577,null],[2742,10578,22692],[1440,10579,22696],[5721,10580,22698],[5677,10581,22699],[1633,10582,22700],[3900,10583,null],[5715,10584,22706],[2508,10585,null],[8542,10586,22708],[8292,10587,22711],[8390,10588,22713],[3858,10589,null],[1090,10590,null],[3660,10591,null],[4002,10592,null],[3810,10593,null],[2550,10594,22727],[1943,10595,null],[2706,10596,null],[2658,10597,null],[2796,10598,null],[8962,10599,22744],[1680,10600,22745],[8561,10601,22746],[498,10602,null],[8363,10603,22752],[8989,10604,22753],[9234,10605,22754],[198,10606,22757],[2893,10607,22759],[3468,10608,null],[3565,10609,22765],[9012,10610,22767],[8458,10611,22768],[8436,10612,22769],[2615,10613,null],[2166,10614,22775],[2598,10615,22779],[2262,10616,22781],[3228,10617,null],[3032,10618,22789],[2737,10619,22790],[2989,10620,22791],[961,10621,22793],[4621,10622,22794],[8500,10623,22795],[1537,10624,22798],[4045,10625,22799],[4040,10626,22800],[3025,10627,22803],[2977,10628,22804],[2305,10629,22805],[8302,10630,22808],[2029,10631,22810],[4033,10632,22811],[4034,10633,22812],[4752,10634,22814],[3313,10635,22818],[3997,10636,22820],[3757,10637,22821],[4717,10638,22822],[1884,10639,null],[8484,10640,22827],[2171,10641,null],[294,10642,22833],[8377,10643,22835],[2274,10644,null],[8288,10645,22843],[8960,10646,22844],[8395,10647,22845],[8492,10648,22847],[8504,10649,22848],[9248,10650,22849],[8565,10651,22852],[8459,10652,22853],[8456,10653,22854],[9001,10654,22857],[8930,10655,22858],[8555,10656,22859],[2317,10657,22862],[8931,10658,22864],[8394,10659,22865],[8939,10660,22866],[3024,10661,22868],[685,10662,22872],[8943,10663,22874],[5520,10664,22875],[8544,10665,22876],[2017,10666,22878],[8331,10667,22881],[2218,10668,null],[8201,10669,22887],[720,10670,22889],[8982,10671,22891],[8326,10672,22894],[8273,10673,22898],[8929,10674,22899],[8378,10675,22900],[1201,10676,22902],[8995,10677,22903],[1213,10678,22904],[9214,10679,22907],[8558,10680,22908],[8227,10681,22909],[4273,10682,22912],[8560,10683,22913],[8348,10684,22914],[349,10685,22917],[973,10686,22918],[1632,10687,22919],[8946,10688,22921],[8554,10689,22922],[1920,10690,22923],[8337,10691,22925],[9230,10692,22926],[8498,10693,22927],[3325,10694,22931],[8261,10695,22932],[8243,10696,22933],[5617,10697,22935],[5672,10698,22936],[5714,10699,22937],[673,10700,22939],[337,10701,22940],[1968,10702,22941],[2557,10703,22944],[2562,10704,null],[1488,10705,22950],[8340,10706,22952],[8996,10707,22954],[8527,10708,22957],[8276,10709,22961],[9354,10710,22962],[9019,10711,22963],[8494,10712,22965],[8262,10713,22966],[8298,10714,22967],[9345,10715,22970],[8275,10716,22971],[8981,10717,22972],[8533,10718,22975],[9324,10719,22976],[8559,10720,22977],[8503,10721,22980],[8309,10722,22981],[8260,10723,22982],[8420,10724,22984],[9235,10725,22985],[3936,10726,22986],[8490,10727,22988],[9344,10728,22989],[9215,10729,22990],[624,10730,22994],[9348,10731,22995],[8556,10732,22996],[8489,10733,22998],[8532,10734,22999],[9217,10735,23000],[9005,10736,23002],[8219,10737,23003],[8447,10738,23004],[8371,10739,23007],[3996,10740,null],[9250,10741,23013],[8246,10742,23015],[9275,10743,23017],[8311,10744,23020],[4224,10745,23021],[3456,10746,23022],[5473,10747,23026],[3037,10748,23027],[5240,10749,23028],[4760,10750,23030],[8251,10751,23031],[8480,10752,23032],[8528,10753,23035],[5197,10754,23036],[8290,10755,23037],[5485,10756,23040],[5533,10757,23041],[8564,10758,23042],[2208,10759,23045],[8345,10760,23046],[2928,10761,23047],[5528,10762,23049],[5522,10763,23050],[5233,10764,23051],[3985,10765,23053],[4765,10766,23054],[4705,10767,23055],[1688,10768,23059],[1682,10769,23060],[1681,10770,23061],[5185,10771,23063],[5245,10772,23064],[5234,10773,23065],[1693,10774,23067],[3026,10775,23068],[1645,10776,23069],[8349,10777,23072],[1835,10778,null],[8230,10779,23078],[9339,10780,23080],[9279,10781,23082],[5184,10782,23085],[2544,10783,23086],[8313,10784,23087],[8529,10785,23091],[8221,10786,23092],[1296,10787,23093],[8502,10788,23095],[8547,10789,23096],[4176,10790,23097],[8284,10791,23100],[9336,10792,23101],[8455,10793,23102],[8514,10794,23105],[8935,10795,23106],[9213,10796,23107],[9273,10797,23110],[8305,10798,23111],[8209,10799,23112],[8927,10800,23114],[8453,10801,23115],[9016,10802,23116],[8546,10803,23118],[4416,10804,23119],[8388,10805,23120],[9227,10806,23124],[8950,10807,23125],[8497,10808,23126],[9236,10809,23128],[8545,10810,23129],[9008,10811,23130],[9325,10812,23132],[8949,10813,23133],[8285,10814,23134],[8411,10815,23137],[2016,10816,23138],[3264,10817,23139],[2026,10818,null],[8265,10819,23145],[8353,10820,23147],[8446,10821,23149],[4285,10822,23152],[2545,10823,23153],[2880,10824,23154],[1008,10825,23158],[8370,10826,23159],[144,10827,23160],[1405,10828,23162],[8471,10829,23163],[5232,10830,23164],[8307,10831,23167],[3360,10832,23168],[3696,10833,23169],[4477,10834,23172],[5377,10835,23173],[8534,10836,23174],[1393,10837,23177],[8218,10838,23178],[2160,10839,23179],[4957,10840,23181],[3901,10841,23182],[3553,10842,23183],[3745,10843,23185],[2881,10844,23186],[3889,10845,23187],[8435,10846,23191],[8299,10847,23192],[8399,10848,23193],[4945,10849,23195],[5389,10850,23196],[5101,10851,23197],[1549,10852,23199],[3744,10853,23200],[8457,10854,23201],[8984,10855,23204],[1776,10856,23205],[9017,10857,23206],[3180,10858,null],[8202,10859,23212],[8343,10860,23214],[8957,10861,23216],[8408,10862,23219],[8958,10863,23220],[8469,10864,23221],[8393,10865,23225],[8563,10866,23226],[8385,10867,23227],[8263,10868,23229],[8289,10869,23230],[9237,10870,23231],[8967,10871,23234],[9003,10872,23235],[9004,10873,23236],[8538,10874,23239],[9280,10875,23240],[4464,10876,23241],[8562,10877,23244],[336,10878,23245],[8296,10879,23246],[8948,10880,23248],[8438,10881,23249],[9245,10882,23250],[8439,10883,23252],[8543,10884,23253],[8988,10885,23254],[8287,10886,23258],[9337,10887,23259],[3840,10888,23260],[8448,10889,23262],[9330,10890,23263],[8513,10891,23264],[5664,10892,23266],[8940,10893,23267],[8330,10894,23268],[8350,10895,23271],[2640,10896,23272],[8357,10897,23273],[8493,10898,23275],[8476,10899,23276],[8366,10900,23277],[150,10901,23281],[8478,10902,23283],[3174,10903,23285],[9010,10904,23288],[8328,10905,23289],[4704,10906,23290],[1248,10907,23294],[8352,10908,23295],[2482,10909,null],[8277,10910,23298],[4098,10911,null],[8466,10912,23300],[3792,10913,23303],[8557,10914,23304],[672,10915,23305],[8351,10916,23308],[8347,10917,23309],[2736,10918,23310],[192,10919,23313],[8338,10920,23314],[5280,10921,23315],[5616,10922,23317],[8537,10923,23318],[9244,10924,23319],[8319,10925,23321],[8389,10926,23322],[8405,10927,23323],[8281,10928,23327],[9009,10929,23328],[8279,10930,23329],[8441,10931,23331],[9007,10932,23332],[8970,10933,23333],[8374,10934,23335],[8952,10935,23336],[8368,10936,23337],[8510,10937,23340],[8468,10938,23341],[8987,10939,23342],[9223,10940,23344],[9232,10941,23345],[8507,10942,23346],[3366,10943,23350],[8535,10944,23352],[576,10945,23354],[8427,10946,23357],[8975,10947,23358],[8518,10948,23359],[8362,10949,23363],[8991,10950,23364],[9333,10951,23365],[8474,10952,23367],[8495,10953,23368],[8530,10954,23369],[5472,10955,23372],[8428,10956,23373],[8961,10957,23374],[9013,10958,23377],[8549,10959,23378],[4128,10960,23379],[4608,10961,23382],[2976,10962,23383],[8336,10963,23384],[8954,10964,23386],[8955,10965,23387],[8373,10966,23388],[9218,10967,23390],[8367,10968,23391],[8990,10969,23392],[8255,10970,23396],[3600,10971,23397],[8475,10972,23398],[9342,10973,23400],[9221,10974,23401],[8519,10975,23402],[9229,10976,23404],[8316,10977,23405],[9335,10978,23406],[4080,10979,23409],[8406,10980,23410],[8966,10981,23411],[8520,10982,23413],[8335,10983,23414],[8381,10984,23415],[8429,10985,23419],[8354,10986,23420],[8267,10987,23421],[8207,10988,23423],[9011,10989,23424],[2112,10990,23425],[8225,10991,23427],[8430,10992,23428],[8203,10993,23429],[8380,10994,23432],[3504,10995,23433],[8418,10996,23434],[8387,10997,23438],[5040,10998,23439],[288,10999,23440],[8506,11000,23442],[8964,11001,23443],[1584,11002,23444],[8231,11003,23447],[8450,11004,23448],[8424,11005,23449],[8512,11006,23452],[8488,11007,23453],[8974,11008,23454],[2279,11009,null],[2256,11010,23458],[8487,11011,23459],[4992,11012,23461],[8365,11013,23462],[8369,11014,23463],[4512,11015,23465],[8965,11016,23466],[8947,11017,23467],[3222,11018,23471],[1344,11019,23472],[8481,11020,23473],[8433,11021,23475],[9239,11022,23476],[8482,11023,23477],[8382,11024,23479],[8386,11025,23480],[8372,11026,23481],[8434,11027,23484],[8359,11028,23485],[8999,11029,23486],[8431,11030,23488],[9349,11031,23489],[8425,11032,23490],[8322,11033,23494],[8314,11034,23495],[8517,11035,23496],[8215,11036,23498],[9233,11037,23499],[1104,11038,23500],[8323,11039,23502],[8200,11040,23503],[2784,11041,23504],[8443,11042,23507],[8320,11043,23508],[2496,11044,23509],[2400,11045,23513],[5136,11046,23514],[8928,11047,23515],[8496,11048,23517],[9216,11049,23518],[8526,11050,23519],[8444,11051,23522],[8432,11052,23523],[9346,11053,23524],[8477,11054,23527],[9323,11055,23528],[8536,11056,23529],[4656,11057,23532],[912,11058,23533],[9350,11059,23534],[8317,11060,23536],[9347,11061,23537],[8442,11062,23538],[8437,11063,23540],[8325,11064,23541],[8483,11065,23542],[9224,11066,23546],[8410,11067,23547],[8249,11068,23548],[8400,11069,23550],[8407,11070,23551],[8511,11071,23552],[8318,11072,23554],[8327,11073,23555],[9351,11074,23556]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-parity.json new file mode 100644 index 0000000000..da5255a8a6 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/anneal/physical-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR193 recipe (source_aligned_local_v4.py --avoid-parity-erasure minimum-weight full matching), in the script's control order.","pairs":[[0,9488,20411],[6,9429,20179],[7,9432,20188],[10,9433,null],[11,9440,null],[12,9443,null],[14,9444,20245],[18,9451,null],[19,9454,20293],[20,9455,20295],[23,9456,null],[27,9457,20300],[33,9458,20302],[34,9465,null],[48,9486,20406],[54,9425,20158],[55,9428,20165],[58,9430,null],[59,9436,null],[60,9439,null],[62,9441,20235],[66,9447,null],[67,9450,20271],[68,9452,20288],[71,9461,null],[75,9464,20327],[81,9466,20344],[82,9468,null],[96,9523,20500],[102,9409,20058],[103,9412,20065],[106,9413,null],[107,9417,null],[108,9420,null],[110,9421,20131],[114,9469,null],[115,9471,20356],[116,9475,20376],[119,9480,null],[123,9481,20386],[129,9482,20387],[130,9483,null],[144,9706,20859],[150,9485,20403],[151,9489,20413],[154,9497,null],[155,9500,null],[156,9510,null],[158,9511,20473],[162,9513,null],[163,9514,20480],[164,9522,20492],[167,9526,null],[171,9537,20534],[177,9539,20541],[178,9540,null],[192,10091,21588],[198,9472,20358],[199,9531,20520],[202,9532,null],[203,9533,null],[204,9538,null],[206,9546,20553],[210,9550,null],[211,9551,20561],[212,9552,20562],[215,9553,null],[219,9554,20565],[225,9555,20566],[226,9556,null],[246,9470,20354],[247,9484,20400],[250,9490,null],[251,9491,null],[252,9492,null],[254,9493,20419],[258,9494,null],[259,9495,20422],[260,9496,20423],[263,9505,null],[267,9506,20453],[273,9507,20454],[274,9509,null],[288,10096,21598],[294,9508,20457],[295,9516,20484],[298,9517,null],[299,9518,null],[300,9519,null],[302,9520,20489],[306,9521,null],[307,9534,20525],[308,9535,20526],[311,9536,null],[315,9541,20545],[321,9542,20546],[322,9547,null],[336,10105,21616],[337,9568,20599],[342,9515,20482],[343,9548,20556],[346,9549,null],[347,9557,null],[348,9558,null],[349,9569,20600],[350,9559,20571],[354,9560,null],[355,9563,20590],[356,9570,20601],[359,9571,null],[363,9572,20605],[369,9573,20606],[370,9576,null],[390,9423,20151],[391,9424,20156],[394,9426,null],[395,9431,null],[396,9434,null],[398,9435,20209],[402,9437,null],[403,9442,20238],[404,9445,20257],[407,9446,null],[411,9448,20266],[417,9453,20291],[418,9459,null],[432,9632,20724],[438,9407,20051],[439,9408,20056],[442,9410,null],[443,9414,null],[444,9415,null],[446,9416,20106],[450,9418,null],[451,9422,20134],[452,9460,20318],[455,9462,null],[459,9467,20347],[465,9473,20369],[466,9474,null],[480,9584,20634],[486,9487,20409],[487,9498,20436],[490,9499,null],[491,9512,null],[492,9524,null],[494,9525,20509],[498,9543,null],[499,9544,20550],[500,9545,20551],[503,9561,null],[507,9562,20588],[513,9574,20613],[514,9580,null],[528,9709,20863],[534,9527,20513],[535,9528,20514],[538,9529,null],[539,9564,null],[540,9565,null],[542,9566,20594],[546,9575,null],[547,9583,20632],[548,9587,20638],[551,9588,null],[555,9589,20641],[561,9590,20642],[562,9591,null],[576,9619,20703],[582,9476,20378],[583,9477,20379],[586,9478,null],[587,9501,null],[588,9502,null],[590,9503,20447],[594,9603,null],[595,9607,20677],[596,9608,20678],[599,9609,null],[603,9614,20689],[609,9615,20690],[610,9616,null],[624,9997,21400],[630,9581,20629],[631,9582,20630],[634,9585,null],[635,9586,null],[636,9592,null],[638,9593,20646],[642,9594,null],[643,9595,20649],[644,9596,20650],[647,9697,null],[651,9698,20843],[657,9699,20844],[658,9700,null],[672,9979,21364],[673,9977,21360],[678,9597,20658],[679,9598,20659],[682,9599,null],[683,9600,null],[684,9601,null],[685,9981,21368],[686,9602,20666],[690,9620,null],[691,9621,20707],[692,9622,20708],[695,9626,null],[699,9627,20717],[705,9628,20718],[706,9629,null],[720,9715,20872],[726,9397,19957],[727,9398,19962],[730,9399,null],[731,9401,null],[732,9402,null],[734,9403,20009],[738,9404,null],[739,9406,20034],[740,9577,20623],[743,9578,null],[747,9579,20625],[753,9604,20673],[754,9605,null],[768,9630,20721],[774,9606,20675],[775,9617,20697],[778,9618,null],[779,9623,null],[780,9624,null],[782,9625,20713],[786,9631,null],[787,9644,20740],[788,9645,20741],[791,9646,null],[795,9647,20750],[801,9648,20751],[802,9649,null],[816,9707,20860],[822,9611,20684],[823,9612,20685],[826,9613,null],[827,9635,null],[828,9636,null],[830,9637,20730],[834,9638,null],[835,9639,20733],[836,9640,20734],[839,9650,null],[843,9651,20757],[849,9652,20758],[850,9653,null],[870,9657,20769],[871,9658,20770],[874,9659,null],[875,9661,null],[876,9662,null],[878,9663,20778],[882,9664,null],[883,9665,20782],[884,9666,20783],[887,9668,null],[891,9669,20795],[897,9673,20803],[898,9674,null],[912,10112,21630],[918,9701,20849],[919,9702,20850],[922,9708,null],[923,9710,null],[924,9711,null],[926,9716,20873],[930,9717,null],[931,9718,20877],[932,9719,20878],[935,9720,null],[939,9733,20905],[945,9734,20906],[946,9735,null],[960,9679,20812],[961,9961,21328],[966,9654,20765],[967,9655,20766],[970,9656,null],[971,9675,null],[972,9676,null],[973,9963,21332],[974,9677,20809],[978,9678,null],[979,9680,20813],[980,9681,20814],[983,9685,null],[987,9686,20821],[993,9687,20822],[994,9688,null],[1008,9730,20900],[1014,9633,20725],[1015,9634,20726],[1018,9667,null],[1019,9670,null],[1020,9671,null],[1022,9672,20800],[1026,9682,null],[1027,9683,20817],[1028,9684,20818],[1031,9703,null],[1035,9704,20856],[1041,9705,20857],[1042,9721,null],[1062,9641,20736],[1063,9642,20737],[1066,9643,null],[1067,9691,null],[1068,9692,null],[1070,9693,20830],[1074,9722,null],[1075,9723,20887],[1076,9727,20895],[1079,9728,null],[1083,9729,20897],[1089,9731,20901],[1090,9732,null],[1104,10176,21758],[1110,9724,20889],[1111,9725,20890],[1114,9726,null],[1115,9736,null],[1116,9737,null],[1118,9738,20912],[1122,9742,null],[1123,9743,20919],[1124,9744,20920],[1127,9751,null],[1131,9752,20931],[1137,9753,20932],[1138,9763,null],[1152,9796,21012],[1158,9745,20922],[1159,9746,20923],[1162,9747,null],[1163,9757,null],[1164,9758,null],[1166,9759,20946],[1170,9760,null],[1171,9761,20951],[1172,9762,20952],[1175,9766,null],[1179,9767,20962],[1185,9768,20963],[1186,9769,null],[1200,10377,22160],[1201,9965,21336],[1206,9964,21334],[1207,9966,21338],[1210,9967,null],[1211,9969,null],[1212,9972,null],[1213,9973,21352],[1214,9974,21354],[1218,9975,null],[1219,9980,21366],[1220,9982,21370],[1223,9983,null],[1227,9985,21376],[1233,9988,21382],[1234,9989,null],[1248,9781,20987],[1254,9739,20914],[1255,9740,20915],[1258,9741,null],[1259,9764,null],[1260,9765,null],[1262,9782,20988],[1266,9783,null],[1267,9790,21002],[1268,9791,21003],[1271,9792,null],[1275,9799,21016],[1281,9800,21017],[1282,9801,null],[1296,10092,21590],[1302,9694,20832],[1303,9695,20833],[1306,9696,null],[1307,9754,null],[1308,9755,null],[1310,9756,20936],[1314,9784,null],[1315,9785,20992],[1316,9786,20993],[1319,9793,null],[1323,9794,21008],[1329,9795,21009],[1330,9797,null],[1344,9968,21342],[1350,9798,21014],[1351,9802,21020],[1354,9803,null],[1355,9804,null],[1356,9814,null],[1358,9815,21037],[1362,9816,null],[1363,9971,21348],[1364,9976,21358],[1367,9984,null],[1371,9987,21380],[1377,9990,21386],[1378,9992,null],[1392,10313,22032],[1393,9993,21392],[1398,9991,21388],[1399,9995,21396],[1402,9996,null],[1403,9998,null],[1404,9999,null],[1405,10001,21408],[1406,10003,21412],[1410,10004,null],[1411,10006,21418],[1412,10007,21420],[1415,10025,null],[1419,10027,21460],[1425,10029,21464],[1426,10030,null],[1440,10000,21406],[1446,9689,20825],[1447,9690,20826],[1450,9748,null],[1451,9749,null],[1452,9750,null],[1454,9770,20966],[1458,9771,null],[1459,9775,20974],[1460,9776,20975],[1463,9777,null],[1467,9787,20997],[1473,9788,20998],[1474,9789,null],[1488,9811,21032],[1494,9805,21024],[1495,9806,21025],[1498,9807,null],[1499,9808,null],[1500,9809,null],[1502,9810,21030],[1506,9812,null],[1507,9813,21034],[1508,10005,21416],[1511,10008,null],[1515,10009,21424],[1521,10011,21428],[1522,10013,null],[1536,10159,21724],[1537,10043,21492],[1542,10014,21434],[1543,10015,21436],[1546,10017,null],[1547,10019,null],[1548,10021,null],[1549,10045,21496],[1550,10022,21450],[1554,10023,null],[1555,10044,21494],[1556,10046,21498],[1559,10047,null],[1563,10051,21508],[1569,10052,21510],[1570,10053,null],[1584,10075,21556],[1590,9778,20979],[1591,9779,20980],[1594,9780,null],[1595,10012,null],[1596,10016,null],[1598,10020,21446],[1602,10024,null],[1603,10028,21462],[1604,10032,21470],[1607,10035,null],[1611,10036,21478],[1617,10037,21480],[1618,10038,null],[1632,10109,21624],[1633,10094,21594],[1638,10031,21468],[1639,10039,21484],[1642,10057,null],[1643,10059,null],[1644,10060,null],[1645,10099,21604],[1646,10061,21528],[1650,10062,null],[1651,10065,21536],[1652,10067,21540],[1655,10068,null],[1659,10069,21544],[1665,10070,21546],[1666,10093,null],[1680,10102,21610],[1681,10100,21606],[1682,10107,21620],[1686,10033,21472],[1687,10041,21488],[1688,10108,21622],[1690,10049,null],[1691,10054,null],[1692,10089,null],[1693,10110,21626],[1694,10097,21600],[1698,10101,null],[1699,10113,21632],[1700,10115,21636],[1703,10116,null],[1707,10117,21640],[1713,10118,21642],[1714,10121,null],[1728,10464,22334],[1734,9427,20162],[1735,9438,20215],[1738,9449,null],[1739,9463,null],[1740,9479,null],[1742,9504,20449],[1746,9530,null],[1747,9567,20596],[1748,9610,20681],[1751,9660,null],[1755,9712,20867],[1761,9713,20868],[1762,9714,null],[1776,9897,21200],[1782,9411,20062],[1783,9419,20112],[1786,9772,null],[1787,9773,null],[1788,9774,null],[1790,9849,21104],[1794,9852,null],[1795,9853,21112],[1796,9855,21116],[1799,9856,null],[1803,9857,21120],[1809,9860,21126],[1810,9861,null],[1824,10447,22300],[1830,9851,21108],[1831,9859,21124],[1834,9863,null],[1835,9864,null],[1836,9865,null],[1838,9867,21140],[1842,9868,null],[1843,9871,21148],[1844,9872,21150],[1847,9873,null],[1851,9875,21156],[1857,9876,21158],[1858,9879,null],[1878,9869,21144],[1879,9877,21160],[1882,9880,null],[1883,9881,null],[1884,9883,null],[1886,9885,21176],[1890,9887,null],[1891,9888,21182],[1892,9889,21184],[1895,9891,null],[1899,9893,21192],[1905,9895,21196],[1906,9896,null],[1920,10218,21842],[1926,9884,21174],[1927,9892,21190],[1930,9899,null],[1931,9900,null],[1932,9901,null],[1934,9903,21212],[1938,9904,null],[1939,9907,21220],[1940,9908,21222],[1943,9909,null],[1947,9911,21228],[1953,9912,21230],[1954,9929,null],[1968,10202,21810],[1974,9905,21216],[1975,9913,21232],[1978,9915,null],[1979,9916,null],[1980,9917,null],[1982,9920,21246],[1986,9921,null],[1987,9923,21252],[1988,9924,21254],[1991,9925,null],[1995,9928,21262],[2001,9945,21296],[2002,9947,null],[2016,10378,22162],[2017,10201,21808],[2022,9919,21244],[2023,9927,21260],[2026,9931,null],[2027,9932,null],[2028,9933,null],[2029,10205,21816],[2030,9935,21276],[2034,9937,null],[2035,9939,21284],[2036,9940,21286],[2039,9941,null],[2043,9943,21292],[2049,10204,21814],[2050,10207,null],[2064,10455,22316],[2070,9400,19967],[2071,9405,20014],[2074,9833,null],[2075,9836,null],[2076,9837,null],[2078,9839,21084],[2082,9840,null],[2083,9841,21088],[2084,9844,21094],[2087,9845,null],[2091,9847,21100],[2097,9848,21102],[2098,9886,null],[2112,10184,21774],[2118,9835,21076],[2119,9843,21092],[2122,9870,null],[2123,9878,null],[2124,9902,null],[2126,9910,21226],[2130,9918,null],[2131,9926,21258],[2132,9934,21274],[2135,9936,null],[2139,9942,21290],[2145,9944,21294],[2146,9949,null],[2160,10157,21720],[2166,9894,21194],[2167,9948,21302],[2170,9950,null],[2171,9951,null],[2172,9952,null],[2174,9956,21318],[2178,9957,null],[2179,9958,21322],[2180,9959,21324],[2183,9960,null],[2187,10106,21618],[2193,10111,21628],[2194,10114,null],[2208,10141,21688],[2214,9953,21312],[2215,10119,21644],[2218,10120,null],[2219,10122,null],[2220,10124,null],[2222,10125,21656],[2226,10127,null],[2227,10128,21662],[2228,10130,21666],[2231,10132,null],[2235,10133,21672],[2241,10135,21676],[2242,10136,null],[2256,10186,21778],[2262,10129,21664],[2263,10137,21680],[2266,10138,null],[2267,10140,null],[2268,10144,null],[2270,10145,21696],[2274,10146,null],[2275,10148,21702],[2276,10149,21704],[2279,10152,null],[2283,10153,21712],[2289,10154,21714],[2290,10156,null],[2305,10162,21730],[2310,10143,21692],[2311,10151,21708],[2314,10161,null],[2315,10164,null],[2316,10165,null],[2317,10297,22000],[2318,10167,21740],[2322,10169,null],[2323,10170,21746],[2324,10172,21750],[2327,10173,null],[2331,10175,21756],[2337,10177,21760],[2338,10178,null],[2352,10255,21916],[2358,9838,21082],[2359,9846,21098],[2362,9854,null],[2363,9862,null],[2364,9955,null],[2366,10090,21586],[2370,10095,null],[2371,10098,21602],[2372,10103,21612],[2375,10104,null],[2379,10139,21684],[2385,10147,21700],[2386,10155,null],[2400,10187,21780],[2406,10123,21652],[2407,10131,21668],[2410,10160,null],[2411,10163,null],[2412,10168,null],[2414,10171,21748],[2418,10179,null],[2419,10180,21766],[2420,10183,21772],[2423,10188,null],[2427,10191,21788],[2433,10192,21790],[2434,10194,null],[2454,10185,21776],[2455,10193,21792],[2458,10195,null],[2459,10196,null],[2460,10200,null],[2462,10219,21844],[2466,10220,null],[2467,10223,21852],[2468,10224,21854],[2471,10226,null],[2475,10227,21860],[2481,10228,21862],[2482,10231,null],[2496,10426,22258],[2502,10199,21804],[2503,10217,21840],[2506,10225,null],[2507,10232,null],[2508,10233,null],[2510,10234,21874],[2514,10235,null],[2515,10236,21878],[2516,10240,21886],[2519,10241,null],[2523,10242,21890],[2529,10243,21892],[2530,10244,null],[2544,10386,22178],[2545,10250,21906],[2550,10239,21884],[2551,10247,21900],[2554,10249,null],[2555,10251,null],[2556,10252,null],[2557,10258,21922],[2558,10257,21920],[2562,10259,null],[2563,10260,21926],[2564,10263,21932],[2567,10265,null],[2571,10266,21938],[2577,10267,21940],[2578,10268,null],[2598,10181,21768],[2599,10189,21784],[2602,10197,null],[2603,10203,null],[2604,10208,null],[2606,10209,21824],[2610,10210,null],[2611,10211,21828],[2612,10215,21836],[2615,10216,null],[2619,10253,21912],[2625,10256,21918],[2626,10261,null],[2640,10314,22034],[2646,10212,21830],[2647,10237,21880],[2650,10245,null],[2651,10248,null],[2652,10269,null],[2654,10272,21950],[2658,10273,null],[2659,10274,21954],[2660,10275,21956],[2663,10277,null],[2667,10280,21966],[2673,10281,21968],[2674,10282,null],[2688,10321,22048],[2694,10264,21934],[2695,10283,21972],[2698,10285,null],[2699,10287,null],[2700,10289,null],[2702,10290,21986],[2706,10291,null],[2707,10293,21992],[2708,10295,21996],[2711,10315,null],[2715,10317,22040],[2721,10320,22046],[2722,10322,null],[2736,10552,22605],[2737,10330,22066],[2742,10271,21948],[2743,10279,21964],[2746,10319,null],[2747,10323,null],[2748,10325,null],[2749,10331,22068],[2750,10327,22060],[2754,10329,null],[2755,10333,22072],[2756,10335,22076],[2759,10337,null],[2763,10338,22082],[2769,10339,22084],[2770,10341,null],[2784,10352,22110],[2790,10213,21832],[2791,10221,21848],[2794,10229,null],[2795,10276,null],[2796,10284,null],[2798,10288,21982],[2802,10292,null],[2803,10296,21998],[2804,10298,22002],[2807,10299,null],[2811,10301,22008],[2817,10303,22012],[2818,10304,null],[2832,10305,22016],[2838,10306,22018],[2839,10307,22020],[2842,10309,null],[2843,10312,null],[2844,10332,null],[2846,10336,22078],[2850,10340,null],[2851,10344,22094],[2852,10362,22130],[2855,10363,null],[2859,10364,22134],[2865,10365,22136],[2866,10367,null],[2880,10394,22194],[2881,10551,22603],[2886,10311,22028],[2887,10343,22092],[2890,10346,null],[2891,10347,null],[2892,10348,null],[2893,10556,22624],[2894,10349,22104],[2898,10351,null],[2899,10354,22114],[2900,10355,22116],[2903,10356,null],[2907,10357,22120],[2913,10359,22124],[2914,10395,null],[2928,10328,22062],[2934,10300,22006],[2935,10308,22022],[2938,10316,null],[2939,10324,null],[2940,10361,null],[2942,10369,22144],[2946,10370,null],[2947,10371,22148],[2948,10372,22150],[2951,10373,null],[2955,10379,22164],[2961,10380,22166],[2962,10381,null],[2976,10919,23313],[2977,10553,22613],[2982,10345,22096],[2983,10353,22112],[2986,10383,null],[2987,10387,null],[2988,10388,null],[2989,10557,22628],[2990,10389,22184],[2994,10391,null],[2995,10409,22224],[2996,10410,22226],[2999,10411,null],[3003,10412,22230],[3009,10413,22232],[3010,10417,null],[3024,10385,22176],[3025,10565,22652],[3026,10568,22663],[3030,10393,22192],[3031,10396,22198],[3032,10569,22667],[3034,10397,null],[3035,10401,null],[3036,10402,null],[3037,10578,22692],[3038,10403,22212],[3042,10404,null],[3043,10405,22216],[3044,10441,22288],[3047,10442,null],[3051,10443,22292],[3057,10444,22294],[3058,10445,null],[3072,10448,22302],[3078,9395,19878],[3079,9396,19921],[3082,9817,null],[3083,9820,null],[3084,9821,null],[3086,9823,21052],[3090,9824,null],[3091,9825,21056],[3092,9828,21062],[3095,9829,null],[3099,9831,21068],[3105,9832,21070],[3106,9882,null],[3120,10456,22318],[3126,9819,21044],[3127,9827,21060],[3130,9866,null],[3131,9874,null],[3132,9898,null],[3134,9906,21218],[3138,9914,null],[3139,9922,21250],[3140,9930,21266],[3143,9938,null],[3147,9946,21298],[3153,9954,21314],[3154,9994,null],[3168,10496,22398],[3174,9890,21186],[3175,10002,21410],[3178,10010,null],[3179,10018,null],[3180,10042,null],[3182,10048,21502],[3186,10050,null],[3187,10055,21516],[3188,10056,21518],[3191,10058,null],[3195,10063,21532],[3201,10064,21534],[3202,10066,null],[3222,10026,21458],[3223,10034,21474],[3226,10040,null],[3227,10072,null],[3228,10073,null],[3230,10074,21554],[3234,10076,null],[3235,10077,21560],[3236,10080,21566],[3239,10081,null],[3243,10082,21570],[3249,10084,21574],[3250,10085,null],[3264,10450,22306],[3270,10079,21564],[3271,10087,21580],[3274,10302,null],[3275,10310,null],[3276,10318,null],[3278,10326,22058],[3282,10334,null],[3283,10342,22090],[3284,10366,22138],[3287,10374,null],[3291,10375,22156],[3297,10382,22170],[3298,10384,null],[3312,10457,22320],[3313,10398,22202],[3318,10071,21548],[3319,10350,22106],[3322,10358,null],[3323,10390,null],[3324,10399,null],[3325,10406,22218],[3326,10407,22220],[3330,10414,null],[3331,10415,22236],[3332,10418,22242],[3335,10420,null],[3339,10422,22250],[3345,10423,22252],[3346,10446,null],[3360,10238,21882],[3366,9822,21050],[3367,9830,21066],[3370,9850,null],[3371,9858,null],[3372,9978,null],[3374,9986,21378],[3378,10083,null],[3379,10088,21582],[3380,10246,21898],[3383,10254,null],[3387,10262,21930],[3393,10270,21946],[3394,10278,null],[3414,10222,21850],[3415,10230,21866],[3418,10286,null],[3419,10294,null],[3420,10400,null],[3422,10408,22222],[3426,10416,null],[3427,10421,22248],[3428,10424,22254],[3431,10429,null],[3435,10430,22266],[3441,10431,22268],[3442,10432,null],[3456,10539,22545],[3462,10392,22190],[3463,10425,22256],[3466,10433,null],[3467,10434,null],[3468,10437,null],[3470,10438,22282],[3474,10440,null],[3475,10458,22322],[3476,10461,22328],[3479,10462,null],[3483,10465,22336],[3489,10466,22338],[3490,10469,null],[3504,10540,22554],[3510,10439,22284],[3511,10449,22304],[3514,10453,null],[3515,10454,null],[3516,10473,null],[3518,10474,22354],[3522,10477,null],[3523,10478,22362],[3524,10479,22364],[3527,10481,null],[3531,10482,22370],[3537,10485,22376],[3538,10486,null],[3552,10493,22392],[3553,10537,22535],[3558,10463,22332],[3559,10470,22346],[3562,10471,null],[3563,10489,null],[3564,10490,null],[3565,10542,22560],[3566,10494,22394],[3570,10495,null],[3571,10497,22400],[3572,10498,22402],[3575,10501,null],[3579,10502,22410],[3585,10503,22412],[3586,10538,null],[3600,10928,23327],[3606,10206,21818],[3607,10214,21834],[3610,10360,null],[3611,10368,null],[3612,10376,null],[3614,10492,22390],[3618,10500,null],[3619,10504,22414],[3620,10506,22418],[3623,10508,null],[3627,10509,22424],[3633,10510,22426],[3634,10512,null],[3654,10460,22326],[3655,10468,22342],[3658,10472,null],[3659,10476,null],[3660,10480,null],[3662,10484,22374],[3666,10488,null],[3667,10522,22450],[3668,10524,22454],[3671,10525,null],[3675,10526,22458],[3681,10527,22460],[3682,10530,null],[3696,10753,23035],[3702,10452,22310],[3703,10487,22380],[3706,10511,null],[3707,10514,null],[3708,10516,null],[3710,10517,22440],[3714,10518,null],[3715,10519,22444],[3716,10541,22558],[3719,10544,null],[3723,10546,22579],[3729,10547,22588],[3730,10548,null],[3744,10583,22703],[3745,10575,22681],[3750,10545,22571],[3751,10576,22683],[3754,10588,null],[3755,10591,null],[3756,10592,null],[3757,10593,22723],[3758,10594,22727],[3762,10595,null],[3763,10597,22738],[3764,10602,22749],[3767,10607,null],[3771,10610,22767],[3777,10611,22768],[3778,10612,null],[3792,10624,22798],[3798,10428,22262],[3799,10436,22278],[3802,10521,null],[3803,10529,null],[3804,10532,null],[3806,10533,22472],[3810,10534,null],[3811,10549,22594],[3812,10589,22715],[3815,10590,null],[3819,10608,22761],[3825,10609,22765],[3826,10614,null],[3840,10846,23191],[3846,10505,22416],[3847,10513,22432],[3850,10613,null],[3851,10615,null],[3852,10625,null],[3854,10626,22800],[3858,10631,null],[3859,10632,22811],[3860,10633,22812],[3863,10634,null],[3867,10635,22818],[3873,10636,22820],[3874,10637,null],[3889,10638,22822],[3894,10639,22824],[3895,10640,22827],[3898,10641,null],[3899,10651,null],[3900,10652,null],[3901,10653,22854],[3902,10658,22864],[3906,10659,null],[3907,10660,22866],[3908,10661,22868],[3911,10662,null],[3915,10663,22874],[3921,10664,22875],[3922,10665,null],[3936,10688,22921],[3942,10617,22785],[3943,10642,22833],[3946,10644,null],[3947,10666,null],[3948,10669,null],[3950,10671,22891],[3954,10672,null],[3955,10679,22907],[3956,10680,22908],[3959,10681,null],[3963,10689,22922],[3969,10690,22923],[3970,10691,null],[3985,10754,23036],[3990,10668,22883],[3991,10692,22926],[3994,10693,null],[3995,10694,null],[3996,10695,null],[3997,10755,23037],[3998,10696,22933],[4002,10697,null],[4003,10698,22936],[4004,10699,22937],[4007,10700,null],[4011,10701,22940],[4017,10702,22941],[4018,10704,null],[4033,10762,23049],[4034,10763,23050],[4038,10667,22881],[4039,10703,22944],[4040,10764,23051],[4042,10708,null],[4043,10715,null],[4044,10716,null],[4045,10765,23053],[4046,10717,22972],[4050,10724,null],[4051,10725,22985],[4052,10726,22986],[4055,10727,null],[4059,10728,22989],[4065,10729,22990],[4066,10730,null],[4080,10475,22356],[4086,9818,21042],[4087,9826,21058],[4090,9834,null],[4091,9842,null],[4092,9962,null],[4094,9970,21346],[4098,10078,null],[4099,10086,21578],[4100,10142,21690],[4103,10150,null],[4107,10158,21722],[4113,10166,21738],[4114,10174,null],[4128,10564,22644],[4134,10126,21658],[4135,10134,21674],[4138,10182,null],[4139,10190,null],[4140,10198,null],[4142,10419,22244],[4146,10427,null],[4147,10435,22276],[4148,10491,22388],[4151,10499,null],[4155,10507,22420],[4161,10515,22436],[4162,10520,null],[4176,10750,23030],[4182,10459,22324],[4183,10467,22340],[4186,10483,null],[4187,10523,null],[4188,10531,null],[4190,10535,22476],[4194,10543,null],[4195,10550,22599],[4196,10558,22630],[4199,10559,null],[4203,10560,22636],[4209,10561,22637],[4210,10562,null],[4224,10570,22669],[4230,10451,22308],[4231,10563,22642],[4234,10571,null],[4235,10572,null],[4236,10573,null],[4238,10574,22677],[4242,10670,null],[4243,10676,22902],[4244,10677,22903],[4247,10678,null],[4251,10682,22912],[4257,10683,22913],[4258,10684,null],[4273,10712,22965],[4278,10713,22966],[4279,10714,22967],[4282,10718,null],[4283,10719,null],[4284,10720,null],[4285,10733,22998],[4286,10734,22999],[4290,10735,null],[4291,10739,23007],[4292,10740,23009],[4295,10744,null],[4299,10745,23021],[4305,10746,23022],[4306,10751,null],[4326,10528,22462],[4327,10536,22478],[4330,10555,null],[4331,10567,null],[4332,10616,null],[4334,10621,22793],[4338,10622,null],[4339,10623,22795],[4340,10627,22803],[4343,10628,null],[4347,10629,22805],[4353,10643,22835],[4354,10648,null],[4374,10649,22848],[4375,10650,22849],[4378,10654,null],[4379,10655,null],[4380,10656,null],[4382,10742,23015],[4386,10743,null],[4387,10752,23032],[4388,10756,23040],[4391,10757,null],[4395,10758,23042],[4401,10759,23045],[4402,10760,null],[4416,10766,23054],[4422,10761,23047],[4423,10767,23055],[4426,10768,null],[4427,10769,null],[4428,10770,null],[4430,10771,23063],[4434,10772,null],[4435,10773,23065],[4436,10777,23072],[4439,10780,null],[4443,10781,23082],[4449,10788,23095],[4450,10789,null],[4464,10834,23172],[4465,10828,23162],[4470,10778,23074],[4471,10790,23097],[4474,10794,null],[4475,10795,null],[4476,10796,null],[4477,10829,23163],[4478,10797,23110],[4482,10798,null],[4483,10799,23112],[4484,10803,23118],[4487,10804,null],[4491,10805,23120],[4497,10806,23124],[4498,10807,null],[4512,11009,23457],[4518,10630,22808],[4519,10657,22862],[4522,10685,null],[4523,10686,null],[4524,10687,null],[4526,10706,22952],[4530,10707,null],[4531,10721,22980],[4532,10722,22981],[4535,10723,null],[4539,10731,22995],[4545,10732,22996],[4546,10902,null],[4566,10820,23147],[4567,10821,23149],[4570,10822,null],[4571,10823,null],[4572,10824,null],[4574,10830,23164],[4578,10835,null],[4579,10836,23174],[4580,10837,23177],[4583,10838,null],[4587,10839,23179],[4593,10843,23185],[4594,10844,null],[4608,10920,23314],[4609,10845,23187],[4614,10818,23141],[4615,10847,23192],[4618,10848,null],[4619,10849,null],[4620,10850,null],[4621,10851,23197],[4622,10858,23208],[4626,10862,null],[4627,10863,23220],[4628,10864,23221],[4631,10868,null],[4635,10869,23230],[4641,10870,23231],[4642,10874,null],[4656,11010,23458],[4662,10782,23085],[4663,10783,23086],[4666,10784,null],[4667,10808,null],[4668,10809,null],[4670,10810,23129],[4674,10811,null],[4675,10979,23409],[4676,10980,23410],[4679,10981,null],[4683,10994,23432],[4689,10995,23433],[4690,10996,null],[4704,10904,23288],[4710,10895,23271],[4711,10896,23272],[4714,10897,null],[4715,10905,null],[4716,10906,null],[4718,10910,23298],[4722,10911,null],[4723,10912,23300],[4724,10916,23308],[4727,10917,null],[4731,10918,23310],[4737,10921,23315],[4738,10925,null],[4752,10883,23252],[4758,10815,23137],[4759,10816,23138],[4762,10817,null],[4763,10855,null],[4764,10856,null],[4766,10857,23206],[4770,10875,null],[4771,10876,23241],[4772,10877,23244],[4775,10878,null],[4779,10879,23246],[4785,10884,23253],[4786,10885,null],[4806,10554,22618],[4807,10566,22657],[4810,10577,null],[4811,10580,null],[4812,10581,null],[4814,10582,22700],[4818,10584,null],[4819,10585,22707],[4820,10586,22708],[4823,10596,null],[4827,10599,22744],[4833,10600,22745],[4834,10601,null],[4854,10603,22752],[4855,10604,22753],[4858,10605,null],[4859,10741,null],[4860,10747,null],[4862,10748,23027],[4866,10749,null],[4867,10779,23078],[4868,10785,23091],[4871,10786,null],[4875,10787,23093],[4881,10791,23100],[4882,10792,null],[4902,10793,23102],[4903,10800,23114],[4906,10801,null],[4907,10802,null],[4908,10819,null],[4910,10825,23158],[4914,10826,null],[4915,10827,23160],[4916,10831,23167],[4919,10832,null],[4923,10833,23169],[4929,10840,23181],[4930,10841,null],[4945,10842,23183],[4950,10865,23225],[4951,10866,23226],[4954,10867,null],[4955,10871,null],[4956,10872,null],[4957,10873,23236],[4958,10880,23248],[4962,10881,null],[4963,10882,23250],[4964,10889,23262],[4967,10890,null],[4971,10891,23264],[4977,10898,23275],[4978,10899,null],[4992,10997,23438],[4998,10587,22711],[4999,10606,22757],[5002,10673,null],[5003,10674,null],[5004,10675,null],[5006,10705,22950],[5010,10709,null],[5011,10710,22962],[5012,10711,22963],[5015,10901,null],[5019,10907,23294],[5025,10908,23295],[5026,10909,null],[5040,10859,23212],[5046,10860,23214],[5047,10982,23413],[5050,10983,null],[5051,10984,null],[5052,10998,null],[5054,10999,23440],[5058,11000,null],[5059,11001,23443],[5060,11002,23444],[5063,11003,null],[5067,11004,23448],[5073,11005,23449],[5074,11006,null],[5094,10900,23277],[5095,10913,23303],[5098,10914,null],[5099,10915,null],[5100,10922,null],[5102,10923,23318],[5106,10924,null],[5107,10931,23331],[5108,10932,23332],[5111,10933,null],[5115,10940,23344],[5121,10941,23345],[5122,10942,null],[5136,11045,23513],[5142,11007,23453],[5143,11008,23454],[5146,11012,null],[5147,11013,null],[5148,11014,null],[5150,11021,23475],[5154,11022,null],[5155,11023,23477],[5156,11027,23484],[5159,11028,null],[5163,11029,23486],[5169,11042,23507],[5170,11043,null],[5190,10937,23340],[5191,10938,23341],[5194,10939,null],[5195,10946,null],[5196,10947,null],[5198,10948,23359],[5202,10949,null],[5203,10950,23364],[5204,10951,23365],[5207,10952,null],[5211,10953,23368],[5217,10954,23369],[5218,10955,null],[5280,10903,23285],[5286,10579,22696],[5287,10598,22742],[5290,10618,null],[5291,10619,null],[5292,10620,null],[5294,10645,22843],[5298,10646,null],[5299,10647,22845],[5300,10926,23322],[5303,10927,null],[5307,10929,23328],[5313,10930,23329],[5314,10934,null],[5334,10852,23199],[5335,10853,23200],[5338,10854,null],[5339,10861,null],[5340,10886,null],[5342,10887,23259],[5346,10888,null],[5347,10892,23266],[5348,10893,23267],[5351,10894,null],[5355,11011,23459],[5361,11015,23465],[5362,11016,null],[5382,10935,23336],[5383,10936,23337],[5386,10956,null],[5387,10957,null],[5388,10958,null],[5390,10959,23378],[5394,10960,null],[5395,10961,23382],[5396,10962,23383],[5399,10963,null],[5403,10964,23386],[5409,10965,23387],[5410,10966,null],[5430,10774,23067],[5431,10775,23068],[5434,10776,null],[5435,10812,null],[5436,10813,null],[5438,10814,23134],[5442,11017,null],[5443,11018,23471],[5444,11019,23472],[5447,11020,null],[5451,11024,23479],[5457,11025,23480],[5458,11026,null],[5478,10967,23390],[5479,10968,23391],[5482,10969,null],[5483,10970,null],[5484,10971,null],[5486,10972,23398],[5490,10973,null],[5491,10974,23401],[5492,10975,23402],[5495,10976,null],[5499,10977,23405],[5505,10978,23406],[5574,10736,23002],[5575,10737,23003],[5578,10738,null],[5579,11044,null],[5580,11046,null],[5582,11047,23515],[5586,11048,null],[5587,11049,23518],[5588,11050,23519],[5591,11051,null],[5595,11052,23523],[5601,11053,23524],[5602,11054,null],[8200,10945,23354],[8203,10991,23427],[8207,10944,23352],[8215,10988,23423],[8225,10992,23428],[8249,11066,23546],[8267,10943,23350],[8282,10985,23419],[8302,11057,23532],[8314,10986,23420],[8317,11060,23536],[8318,11072,23554],[8322,10987,23421],[8323,10993,23429],[8325,11063,23540],[8326,11061,23537],[8327,11073,23555],[8335,11030,23488],[8338,10989,23424],[8349,11031,23489],[8351,10990,23425],[8352,11033,23494],[8354,11034,23495],[8365,11055,23528],[8369,11056,23529],[8372,11058,23533],[8377,11059,23534],[8380,11062,23538],[8381,11032,23490],[8382,11074,23556],[8400,11069,23550],[8407,11070,23551],[8410,11067,23547],[8429,11041,23504],[8430,11039,23502],[8433,11071,23552],[8437,11064,23541],[8466,11036,23498],[8478,11040,23503],[8481,11068,23548],[8483,11065,23542],[8517,11035,23496],[8535,11038,23500],[9011,11037,23499]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-mw.json new file mode 100644 index 0000000000..b41b6c69ce --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-parity.json new file mode 100644 index 0000000000..b41b6c69ce --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/kernel-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/matching-arcs.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/matching-arcs.json new file mode 100644 index 0000000000..d54a47a0a9 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/matching-arcs.json @@ -0,0 +1 @@ +{"description":"Frozen carrier arcs of the source-aligned word (discovery/make_layer.py step 2): deterministic HK carrier matching (PR200/233 harness, ordering reverse) on query donors plus PR162 extension; checked by compile_closure.","matching_arcs":[[5401,10970],[5402,10890],[5403,10891],[5405,10928],[5406,10860],[5407,10861],[5409,12354],[5410,12506],[5411,11515],[5412,11483],[5413,11482],[5414,12042],[5415,11832],[5416,13428],[5417,11833],[5418,11165],[5419,11164],[5420,10855],[5421,11008],[5422,12966],[5423,11535],[5424,11180],[5425,12114],[5426,12070],[5427,10998],[5430,10934],[5431,12342],[5432,12156],[5433,11437],[5434,11742],[5435,11481],[5436,13068],[5437,11007],[5438,11006],[5439,11544],[5442,13408],[5443,12960],[5444,12517],[5445,12916],[5447,12946],[5448,12246],[5450,12124],[5451,12900],[5452,12536],[5454,11434],[5455,11389],[5456,12481],[5457,13322],[5458,12009],[5459,11942],[5460,11830],[5461,13300],[5462,11594],[5464,12666],[5465,11290],[5466,11468],[5467,11516],[5469,12228],[5470,13212],[5471,11730],[5472,11646],[5473,12395],[5474,12186],[5475,11710],[5476,12768],[5477,11052],[5479,12394],[5480,11448],[5481,11503],[5483,11179],[5484,12515],[5485,12514],[5486,12104],[5487,12393],[5488,12872],[5489,12716],[5490,12626],[5491,12740],[5492,11534],[5493,12618],[5494,11688],[5495,12868],[5496,12549],[5497,12010],[5498,11924],[5499,11092],[5500,11093],[5501,11843],[5502,12312],[5503,11480],[5504,11416],[5505,10843],[5506,11545],[5509,13222],[5511,11408],[5512,11652],[5513,11653],[5514,12720],[5515,11532],[5516,12028],[5517,11936],[5518,12132],[5519,12081],[5520,11154],[5521,11155],[5522,11828],[5524,12749],[5525,11406],[5526,11240],[5527,12497],[5529,11850],[5530,11117],[5532,13282],[5534,11917],[5535,12639],[5536,12732],[5537,12998],[5538,12176],[5539,11244],[5540,12230],[5541,11252],[5542,12374],[5543,11114],[5544,11115],[5545,11139],[5546,11824],[5548,11929],[5549,11354],[5551,12429],[5552,11882],[5553,11104],[5554,12044],[5555,11886],[5556,12367],[5557,11491],[5558,12076],[5561,12984],[5562,10859],[5563,11461],[5564,11292],[5566,11874],[5568,13216],[5569,11598],[5571,12988],[5572,12422],[5574,11207],[5575,11206],[5576,11880],[5578,11776],[5581,12154],[5582,11398],[5583,11941],[5584,12350],[5585,13360],[5586,11378],[5587,12541],[5589,11610],[5590,11671],[5592,11268],[5594,12812],[5595,10856],[5596,13031],[5598,11894],[5599,12399],[5600,13004],[5601,12562],[5602,12706],[5603,12188],[5604,13170],[5605,11380],[5606,12472],[5607,11184],[5608,11616],[5610,11970],[5611,12974],[5612,12655],[5613,13102],[5614,11658],[5615,11640],[5616,11641],[5617,11245],[5618,12813],[5620,10957],[5621,12314],[5622,11734],[5623,11724],[5624,12075],[5625,12074],[5626,12088],[5627,13168],[5628,10838],[5629,12508],[5630,12107],[5631,12106],[5632,11186],[5633,12261],[5634,12702],[5636,10978],[5637,12224],[5638,11860],[5640,11980],[5641,11465],[5642,11881],[5644,12839],[5645,12693],[5646,12828],[5647,11995],[5648,12049],[5650,11722],[5651,11723],[5653,13444],[5654,11862],[5655,12026],[5656,12657],[5658,11651],[5661,12648],[5662,12936],[5663,11485],[5664,11484],[5665,12454],[5666,12417],[5667,12416],[5668,11194],[5669,11890],[5673,11931],[5674,11446],[5675,12153],[5676,11618],[5677,12232],[5679,11937],[5680,11600],[5682,13064],[5683,12598],[5684,11908],[5685,11751],[5686,13394],[5687,11958],[5688,12335],[5690,12755],[5691,11218],[5692,11312],[5693,13294],[5694,12480],[5695,11161],[5696,13104],[5697,13105],[5698,11259],[5700,13258],[5701,12181],[5702,12681],[5703,12680],[5704,12292],[5707,10959],[5709,13264],[5711,11846],[5712,11847],[5713,12283],[5716,12200],[5718,10870],[5719,11626],[5720,12800],[5721,12212],[5722,13256],[5723,13154],[5724,11948],[5726,13130],[5727,11748],[5728,12046],[5730,11632],[5731,11633],[5732,10930],[5733,11752],[5734,11872],[5735,11141],[5736,11962],[5739,10808],[5740,13058],[5741,11768],[5742,12832],[5743,11968],[5745,12012],[5746,12280],[5748,12891],[5749,12468],[5750,12345],[5751,12804],[5752,12802],[5753,12892],[5754,11147],[5755,11433],[5756,11925],[5757,10824],[5758,12484],[5759,11131],[5760,11315],[5761,11320],[5762,12016],[5763,12239],[5764,12238],[5765,12596],[5766,11034],[5767,13006],[5770,11452],[5771,12968],[5773,11105],[5774,10980],[5775,11124],[5776,12969],[5777,12464],[5780,13244],[5781,11953],[5783,13060],[5784,12475],[5787,10940],[5789,11276],[5790,11643],[5791,11802],[5792,12025],[5794,12272],[5798,12500],[5799,11094],[5800,11668],[5801,12479],[5802,11840],[5803,12590],[5804,13065],[5805,12122],[5806,10969],[5807,11352],[5808,11838],[5812,10993],[5813,11060],[5814,12125],[5817,12534],[5818,13204],[5820,12376],[5821,11861],[5822,12377],[5823,11720],[5824,11721],[5825,11630],[5826,11392],[5827,11477],[5828,12806],[5833,12030],[5834,12038],[5835,10858],[5836,12370],[5837,12972],[5839,13164],[5840,12306],[5841,12821],[5842,11372],[5843,12334],[5844,11177],[5845,11897],[5846,12538],[5847,12588],[5848,12708],[5849,13262],[5852,11866],[5853,12142],[5854,12870],[5855,12592],[5856,12262],[5858,12796],[5860,12580],[5861,11502],[5865,12661],[5866,13112],[5867,12658],[5869,11345],[5870,12450],[5871,11771],[5877,10848],[5878,11538],[5880,13270],[5881,13026],[5883,12836],[5884,12006],[5885,12494],[5886,11818],[5887,12614],[5888,11045],[5889,11822],[5890,12884],[5892,11823],[5893,12236],[5894,11508],[5895,13329],[5897,12560],[5899,11166],[5900,13014],[5901,12202],[5902,12722],[5903,12593],[5904,10968],[5905,12250],[5906,12640],[5907,11772],[5908,12854],[5911,12159],[5912,10857],[5913,12672],[5914,11979],[5915,13318],[5916,12043],[5919,12694],[5921,12311],[5923,11725],[5924,11404],[5925,11411],[5926,11986],[5927,12110],[5928,11663],[5929,12150],[5931,12724],[5932,12015],[5934,13148],[5936,11677],[5937,12788],[5938,11132],[5939,12118],[5940,11205],[5943,12366],[5946,13032],[5948,12516],[5949,10898],[5950,11602],[5951,12064],[5952,12065],[5954,12488],[5955,12182],[5956,12638],[5958,12080],[5961,12446],[5964,12556],[5965,11018],[5968,11947],[5971,12734],[5972,13067],[5973,13381],[5974,10964],[5975,11634],[5976,12226],[5977,12227],[5979,12304],[5980,12864],[5981,11974],[5982,11975],[5984,12913],[5985,11674],[5986,12790],[5987,12047],[5988,13257],[5989,11792],[5991,11927],[5994,12296],[5995,12094],[5996,12572],[5997,11340],[5998,10965],[5999,12093],[6000,12092],[6003,12469],[6004,12690],[6006,11096],[6007,11956],[6008,12894],[6009,12033],[6010,11938],[6012,12273],[6013,11447],[6015,13152],[6016,12008],[6017,12170],[6018,12956],[6021,13062],[6022,11888],[6023,12876],[6024,12880],[6025,12297],[6028,12457],[6030,10992],[6031,12218],[6032,12234],[6034,12860],[6035,12677],[6036,12676],[6037,11778],[6038,11075],[6039,11479],[6040,12546],[6041,12547],[6046,12727],[6048,12920],[6050,11765],[6052,13348],[6053,11062],[6058,13280],[6059,12121],[6061,11821],[6062,12284],[6063,13416],[6065,12282],[6066,11639],[6067,13284],[6068,10830],[6070,12668],[6071,12728],[6072,13110],[6076,12187],[6079,12522],[6081,13415],[6082,10935],[6083,11134],[6084,12530],[6085,12341],[6086,12605],[6087,12604],[6088,12264],[6089,12052],[6090,12344],[6094,12256],[6096,11782],[6097,12201],[6098,12405],[6099,13370],[6100,12271],[6101,12382],[6102,12526],[6104,12674],[6105,12408],[6106,13127],[6107,11474],[6108,12688],[6109,12982],[6110,12303],[6111,12780],[6112,12257],[6113,11459],[6114,12190],[6119,11318],[6120,13142],[6121,13397],[6122,12964],[6124,10892],[6125,13388],[6128,13304],[6129,11791],[6130,12117],[6132,12612],[6134,11188],[6135,12155],[6136,11286],[6137,13442],[6138,13140],[6140,13122],[6142,12786],[6144,11364],[6145,12564],[6146,12620],[6147,13098],[6148,12410],[6149,12752],[6152,12336],[6154,11130],[6155,11004],[6156,12622],[6157,11399],[6159,13235],[6163,11702],[6164,12756],[6165,12449],[6166,13338],[6172,13292],[6173,12904],[6174,12808],[6177,12850],[6179,13024],[6182,11542],[6183,11892],[6186,11061],[6187,10953],[6189,12576],[6191,11736],[6192,11333],[6193,12730],[6194,13106],[6195,13099],[6196,10923],[6205,12660],[6206,12053],[6208,12404],[6209,13336],[6210,13202],[6214,11558],[6215,11566],[6216,12994],[6217,12995],[6220,13309],[6221,12840],[6222,12148],[6223,12954],[6225,13074],[6227,12456],[6230,12750],[6231,12762],[6232,12760],[6235,13012],[6236,12512],[6237,13036],[6239,13190],[6240,11238],[6241,11660],[6243,12837],[6244,13352],[6247,10882],[6248,11796],[6249,12996],[6250,12912],[6252,12841],[6257,11586],[6258,10904],[6260,12949],[6261,11794],[6263,12558],[6267,11476],[6271,12810],[6272,13053],[6273,11922],[6274,10994],[6276,13307],[6278,11834],[6281,11199],[6282,12129],[6283,13103],[6285,11928],[6288,13327],[6290,12279],[6292,13172],[6300,12237],[6302,12109],[6303,12947],[6304,11400],[6305,11871],[6314,13080],[6315,12554],[6317,12696],[6319,12782],[6320,11913],[6321,13193],[6322,12637],[6325,11985],[6327,11810],[6328,11732],[6329,13108],[6333,10816],[6338,11135],[6340,13093],[6341,12697],[6342,13320],[6345,13358],[6346,12838],[6347,13023],[6348,13432],[6350,13185],[6351,13368],[6352,13230],[6353,12403],[6354,12807],[6356,10897],[6357,10907],[6358,13180],[6360,11590],[6362,11735],[6363,12890],[6369,12089],[6370,12058],[6371,11803],[6372,12478],[6373,12848],[6374,12700],[6375,12758],[6377,13090],[6379,12463],[6381,11136],[6386,13412],[6387,11565],[6388,13240],[6391,11918],[6392,12115],[6394,12072],[6399,11766],[6402,12826],[6406,12274],[6407,13250],[6410,11592],[6412,12440],[6413,12923],[6414,11518],[6415,11341],[6416,12959],[6417,11837],[6418,10937],[6419,10936],[6422,13373],[6427,12970],[6428,13086],[6430,12664],[6432,12934],[6433,13400],[6434,11412],[6436,12987],[6438,13138],[6441,12744],[6442,12976],[6447,13150],[6449,12778],[6456,11489],[6457,12958],[6459,13390],[6461,11507],[6463,13226],[6464,13378],[6469,13010],[6470,12887],[6472,11623],[6476,12099],[6480,13159],[6484,11460],[6488,13182],[6493,12908],[6495,13316],[6496,13091],[6497,12624],[6499,13243],[6502,13116],[6508,11267],[6511,11841],[6515,12462],[6517,11664],[6518,11571],[6520,12630],[6524,12423],[6526,13196],[6527,13187],[6531,12896],[6536,11556],[6537,12474],[6541,12532],[6546,12130],[6547,13272],[6549,13100],[6552,12160],[6557,12906],[6560,12183],[6564,12103],[6565,11747],[6575,12932],[6589,12616],[6593,13200],[6595,13306],[6597,12918],[6598,13084],[6600,13057],[6604,12397],[6610,12903],[6619,11572],[6621,13184],[6634,12471],[6637,13143],[6663,12138],[6684,11271],[6687,13259],[6692,13278],[6712,13232],[6723,13450],[6724,13482],[6725,13524],[6726,13496],[6727,13480],[6728,13556],[6729,13992],[6730,13559],[6731,13802],[6732,13744],[6733,13710],[6736,13876],[6737,13714],[6738,13872],[6739,13592],[6740,13594],[6741,13814],[6742,13828],[6743,13804],[6744,13752],[6745,13972],[6746,13578],[6747,13702],[6748,13676],[6749,13964],[6750,13554],[6751,13790],[6752,13811],[6753,13950],[6754,13540],[6755,13567],[6756,13520],[6757,13779],[6758,13750],[6759,13944],[6760,13517],[6762,13812],[6763,13451],[6764,13918],[6765,13834],[6766,13760],[6767,13679],[6770,13878],[6772,13600],[6773,13620],[6776,13501],[6777,13938],[6778,13622],[6779,13698],[6780,13952],[6781,13860],[6782,13628],[6784,13645],[6785,13859],[6787,13716],[6788,13940],[6789,13610],[6790,13694],[6791,13640],[6792,13662],[6794,13448],[6795,13478],[6796,13756],[6797,14005],[6798,13798],[6799,13808],[6800,13500],[6801,13632],[6802,13670],[6803,14026],[6804,13580],[6805,13695],[6807,13994],[6809,13530],[6810,13686],[6811,13890],[6812,13547],[6813,13687],[6815,13590],[6816,14004],[6819,13621],[6820,13689],[6821,13680],[6822,13470],[6824,13712],[6825,13748],[6827,13826],[6829,13609],[6830,13585],[6831,13956],[6832,13474],[6833,13636],[6834,13888],[6835,13708],[6836,13852],[6837,13957],[6839,13988],[6840,13634],[6842,13682],[6843,13853],[6844,13660],[6845,13969],[6848,13706],[6849,13463],[6850,13728],[6851,13696],[6852,13468],[6853,13743],[6855,13648],[6856,14019],[6857,13861],[6858,13657],[6859,13484],[6860,13616],[6861,13491],[6863,13742],[6866,13548],[6867,13809],[6868,13452],[6870,13602],[6871,13884],[6872,13996],[6874,13880],[6875,13892],[6877,14014],[6878,13993],[6879,13865],[6881,13786],[6882,13833],[6883,13656],[6885,13499],[6889,13796],[6890,13797],[6891,13753],[6892,13720],[6893,13726],[6894,13839],[6895,13838],[6897,14008],[6898,13701],[6899,13788],[6901,13894],[6902,13537],[6903,13794],[6904,13754],[6905,13851],[6906,13927],[6907,13850],[6908,13933],[6910,13862],[6911,13835],[6913,13866],[6914,13901],[6916,14012],[6918,13684],[6919,13730],[6920,13960],[6921,14009],[6922,13898],[6925,13926],[6926,13543],[6929,13818],[6933,13822],[6937,13985],[6939,13911],[6941,13582],[6942,13729],[6944,13495],[6945,13563],[6948,13941],[6952,13840],[6954,13508],[6957,13633],[6960,13946],[6962,13966],[6963,13732],[6965,14023],[6969,13967],[6972,13984],[6975,14010],[6976,13469],[6978,13775],[6980,13599],[6983,13635],[6984,13982],[6987,13846],[6988,13955],[6990,13722],[6991,13693],[6992,13523],[6994,13958],[6996,13522],[7000,13768],[7014,14032],[7015,14064],[7016,14106],[7017,14078],[7018,14062],[7019,14138],[7020,14574],[7021,14141],[7022,14384],[7023,14326],[7024,14292],[7027,14458],[7028,14296],[7029,14454],[7030,14174],[7031,14176],[7032,14396],[7033,14410],[7034,14386],[7035,14334],[7036,14554],[7037,14160],[7038,14284],[7039,14258],[7040,14546],[7041,14136],[7042,14372],[7043,14393],[7044,14532],[7045,14122],[7046,14149],[7047,14102],[7048,14361],[7049,14332],[7050,14526],[7051,14099],[7053,14394],[7054,14033],[7055,14500],[7056,14416],[7057,14342],[7058,14261],[7061,14460],[7063,14182],[7064,14202],[7067,14083],[7068,14520],[7069,14204],[7070,14280],[7071,14534],[7072,14442],[7073,14210],[7075,14227],[7076,14441],[7078,14298],[7079,14522],[7080,14192],[7081,14276],[7082,14222],[7083,14244],[7085,14030],[7086,14060],[7087,14338],[7088,14587],[7089,14380],[7090,14390],[7091,14082],[7092,14214],[7093,14252],[7094,14608],[7095,14162],[7096,14277],[7098,14576],[7100,14112],[7101,14268],[7102,14472],[7103,14129],[7104,14269],[7106,14172],[7107,14586],[7110,14203],[7111,14271],[7112,14262],[7113,14052],[7115,14294],[7116,14330],[7118,14408],[7120,14191],[7121,14167],[7122,14538],[7123,14056],[7124,14218],[7125,14470],[7126,14290],[7127,14434],[7128,14539],[7130,14570],[7131,14216],[7133,14264],[7134,14435],[7135,14242],[7136,14551],[7139,14288],[7140,14045],[7141,14310],[7142,14278],[7143,14050],[7144,14325],[7146,14230],[7147,14601],[7148,14443],[7149,14239],[7150,14066],[7151,14198],[7152,14073],[7154,14324],[7157,14130],[7158,14391],[7159,14034],[7161,14184],[7162,14466],[7163,14578],[7165,14462],[7166,14474],[7168,14596],[7169,14575],[7170,14447],[7172,14368],[7173,14415],[7174,14238],[7176,14081],[7180,14378],[7181,14379],[7182,14335],[7183,14302],[7184,14308],[7185,14421],[7186,14420],[7188,14590],[7189,14283],[7190,14370],[7192,14476],[7193,14119],[7194,14376],[7195,14336],[7196,14433],[7197,14509],[7198,14432],[7199,14515],[7201,14444],[7202,14417],[7204,14448],[7205,14483],[7207,14594],[7209,14266],[7210,14312],[7211,14542],[7212,14591],[7213,14480],[7216,14508],[7217,14125],[7220,14400],[7224,14404],[7228,14567],[7230,14493],[7232,14164],[7233,14311],[7235,14077],[7236,14145],[7239,14523],[7243,14422],[7245,14090],[7248,14215],[7251,14528],[7253,14548],[7254,14314],[7256,14605],[7260,14549],[7263,14566],[7266,14592],[7267,14051],[7269,14357],[7271,14181],[7274,14217],[7275,14564],[7278,14428],[7279,14537],[7281,14304],[7282,14275],[7283,14105],[7285,14540],[7287,14104],[7291,14350],[7305,14614],[7306,14646],[7307,14688],[7308,14660],[7309,14644],[7310,14720],[7311,15156],[7312,14723],[7313,14966],[7314,14908],[7315,14874],[7318,15040],[7319,14878],[7320,15036],[7321,14756],[7322,14758],[7323,14978],[7324,14992],[7325,14968],[7326,14916],[7327,15136],[7328,14742],[7329,14866],[7330,14840],[7331,15128],[7332,14718],[7333,14954],[7334,14975],[7335,15114],[7336,14704],[7337,14731],[7338,14684],[7339,14943],[7340,14914],[7341,15108],[7342,14681],[7344,14976],[7345,14615],[7346,15082],[7347,14998],[7348,14924],[7349,14843],[7352,15042],[7354,14764],[7355,14784],[7358,14665],[7359,15102],[7360,14786],[7361,14862],[7362,15116],[7363,15024],[7364,14792],[7366,14809],[7367,15023],[7369,14880],[7370,15104],[7371,14774],[7372,14858],[7373,14804],[7374,14826],[7376,14612],[7377,14642],[7378,14920],[7379,15169],[7380,14962],[7381,14972],[7382,14664],[7383,14796],[7384,14834],[7385,15190],[7386,14744],[7387,14859],[7389,15158],[7391,14694],[7392,14850],[7393,15054],[7394,14711],[7395,14851],[7397,14754],[7398,15168],[7401,14785],[7402,14853],[7403,14844],[7404,14634],[7406,14876],[7407,14912],[7409,14990],[7411,14773],[7412,14749],[7413,15120],[7414,14638],[7415,14800],[7416,15052],[7417,14872],[7418,15016],[7419,15121],[7421,15152],[7422,14798],[7424,14846],[7425,15017],[7426,14824],[7427,15133],[7430,14870],[7431,14627],[7432,14892],[7433,14860],[7434,14632],[7435,14907],[7437,14812],[7438,15183],[7439,15025],[7440,14821],[7441,14648],[7442,14780],[7443,14655],[7445,14906],[7448,14712],[7449,14973],[7450,14616],[7452,14766],[7453,15048],[7454,15160],[7456,15044],[7457,15056],[7459,15178],[7460,15157],[7461,15029],[7463,14950],[7464,14997],[7465,14820],[7467,14663],[7471,14960],[7472,14961],[7473,14917],[7474,14884],[7475,14890],[7476,15003],[7477,15002],[7479,15172],[7480,14865],[7481,14952],[7483,15058],[7484,14701],[7485,14958],[7486,14918],[7487,15015],[7488,15091],[7489,15014],[7490,15097],[7492,15026],[7493,14999],[7495,15030],[7496,15065],[7498,15176],[7500,14848],[7501,14894],[7502,15124],[7503,15173],[7504,15062],[7507,15090],[7508,14707],[7511,14982],[7515,14986],[7519,15149],[7521,15075],[7523,14746],[7524,14893],[7526,14659],[7527,14727],[7530,15105],[7534,15004],[7536,14672],[7539,14797],[7542,15110],[7544,15130],[7545,14896],[7547,15187],[7551,15131],[7554,15148],[7557,15174],[7558,14633],[7560,14939],[7562,14763],[7565,14799],[7566,15146],[7569,15010],[7570,15119],[7572,14886],[7573,14857],[7574,14687],[7576,15122],[7578,14686],[7582,14932],[7596,15196],[7597,15228],[7598,15270],[7599,15242],[7600,15226],[7601,15302],[7602,15738],[7603,15305],[7604,15548],[7605,15490],[7606,15456],[7609,15622],[7610,15460],[7611,15618],[7612,15338],[7613,15340],[7614,15560],[7615,15574],[7616,15550],[7617,15498],[7618,15718],[7619,15324],[7620,15448],[7621,15422],[7622,15710],[7623,15300],[7624,15536],[7625,15557],[7626,15696],[7627,15286],[7628,15313],[7629,15266],[7630,15525],[7631,15496],[7632,15690],[7633,15263],[7635,15558],[7636,15197],[7637,15664],[7638,15580],[7639,15506],[7640,15425],[7643,15624],[7645,15346],[7646,15366],[7649,15247],[7650,15684],[7651,15368],[7652,15444],[7653,15698],[7654,15606],[7655,15374],[7657,15391],[7658,15605],[7660,15462],[7661,15686],[7662,15356],[7663,15440],[7664,15386],[7665,15408],[7667,15194],[7668,15224],[7669,15502],[7670,15751],[7671,15544],[7672,15554],[7673,15246],[7674,15378],[7675,15416],[7676,15772],[7677,15326],[7678,15441],[7680,15740],[7682,15276],[7683,15432],[7684,15636],[7685,15293],[7686,15433],[7688,15336],[7689,15750],[7692,15367],[7693,15435],[7694,15426],[7695,15216],[7697,15458],[7698,15494],[7700,15572],[7702,15355],[7703,15331],[7704,15702],[7705,15220],[7706,15382],[7707,15634],[7708,15454],[7709,15598],[7710,15703],[7712,15734],[7713,15380],[7715,15428],[7716,15599],[7717,15406],[7718,15715],[7721,15452],[7722,15209],[7723,15474],[7724,15442],[7725,15214],[7726,15489],[7728,15394],[7729,15765],[7730,15607],[7731,15403],[7732,15230],[7733,15362],[7734,15237],[7736,15488],[7739,15294],[7740,15555],[7741,15198],[7743,15348],[7744,15630],[7745,15742],[7747,15626],[7748,15638],[7750,15760],[7751,15739],[7752,15611],[7754,15532],[7755,15579],[7756,15402],[7758,15245],[7762,15542],[7763,15543],[7764,15499],[7765,15466],[7766,15472],[7767,15585],[7768,15584],[7770,15754],[7771,15447],[7772,15534],[7774,15640],[7775,15283],[7776,15540],[7777,15500],[7778,15597],[7779,15673],[7780,15596],[7781,15679],[7783,15608],[7784,15581],[7786,15612],[7787,15647],[7789,15758],[7791,15430],[7792,15476],[7793,15706],[7794,15755],[7795,15644],[7798,15672],[7799,15289],[7802,15564],[7806,15568],[7810,15731],[7812,15657],[7814,15328],[7815,15475],[7817,15241],[7818,15309],[7821,15687],[7825,15586],[7827,15254],[7830,15379],[7833,15692],[7835,15712],[7836,15478],[7838,15769],[7842,15713],[7845,15730],[7848,15756],[7849,15215],[7851,15521],[7853,15345],[7856,15381],[7857,15728],[7860,15592],[7861,15701],[7863,15468],[7864,15439],[7865,15269],[7867,15704],[7869,15268],[7873,15514],[7887,15778],[7888,15810],[7889,15852],[7890,15824],[7891,15808],[7892,15884],[7893,16320],[7894,15887],[7895,16130],[7896,16072],[7897,16038],[7900,16204],[7901,16042],[7902,16200],[7903,15920],[7904,15922],[7905,16142],[7906,16156],[7907,16132],[7908,16080],[7909,16300],[7910,15906],[7911,16030],[7912,16004],[7913,16292],[7914,15882],[7915,16118],[7916,16139],[7917,16278],[7918,15868],[7919,15895],[7920,15848],[7921,16107],[7922,16078],[7923,16272],[7924,15845],[7926,16140],[7927,15779],[7928,16246],[7929,16162],[7930,16088],[7931,16007],[7934,16206],[7936,15928],[7937,15948],[7940,15829],[7941,16266],[7942,15950],[7943,16026],[7944,16280],[7945,16188],[7946,15956],[7948,15973],[7949,16187],[7951,16044],[7952,16268],[7953,15938],[7954,16022],[7955,15968],[7956,15990],[7958,15776],[7959,15806],[7960,16084],[7961,16333],[7962,16126],[7963,16136],[7964,15828],[7965,15960],[7966,15998],[7967,16354],[7968,15908],[7969,16023],[7971,16322],[7973,15858],[7974,16014],[7975,16218],[7976,15875],[7977,16015],[7979,15918],[7980,16332],[7983,15949],[7984,16017],[7985,16008],[7986,15798],[7988,16040],[7989,16076],[7991,16154],[7993,15937],[7994,15913],[7995,16284],[7996,15802],[7997,15964],[7998,16216],[7999,16036],[8000,16180],[8001,16285],[8003,16316],[8004,15962],[8006,16010],[8007,16181],[8008,15988],[8009,16297],[8012,16034],[8013,15791],[8014,16056],[8015,16024],[8016,15796],[8017,16071],[8019,15976],[8020,16347],[8021,16189],[8022,15985],[8023,15812],[8024,15944],[8025,15819],[8027,16070],[8030,15876],[8031,16137],[8032,15780],[8034,15930],[8035,16212],[8036,16324],[8038,16208],[8039,16220],[8041,16342],[8042,16321],[8043,16193],[8045,16114],[8046,16161],[8047,15984],[8049,15827],[8053,16124],[8054,16125],[8055,16081],[8056,16048],[8057,16054],[8058,16167],[8059,16166],[8061,16336],[8062,16029],[8063,16116],[8065,16222],[8066,15865],[8067,16122],[8068,16082],[8069,16179],[8070,16255],[8071,16178],[8072,16261],[8074,16190],[8075,16163],[8077,16194],[8078,16229],[8080,16340],[8082,16012],[8083,16058],[8084,16288],[8085,16337],[8086,16226],[8089,16254],[8090,15871],[8093,16146],[8097,16150],[8101,16313],[8103,16239],[8105,15910],[8106,16057],[8108,15823],[8109,15891],[8112,16269],[8116,16168],[8118,15836],[8121,15961],[8124,16274],[8126,16294],[8127,16060],[8129,16351],[8133,16295],[8136,16312],[8139,16338],[8140,15797],[8142,16103],[8144,15927],[8147,15963],[8148,16310],[8151,16174],[8152,16283],[8154,16050],[8155,16021],[8156,15851],[8158,16286],[8160,15850],[8164,16096],[8178,16360],[8179,16392],[8180,16434],[8181,16406],[8182,16390],[8183,16466],[8184,16902],[8185,16469],[8186,16712],[8187,16654],[8188,16620],[8191,16786],[8192,16624],[8193,16782],[8194,16502],[8195,16504],[8196,16724],[8197,16738],[8198,16714],[8199,16662],[8200,16882],[8201,16488],[8202,16612],[8203,16586],[8204,16874],[8205,16464],[8206,16700],[8207,16721],[8208,16860],[8209,16450],[8210,16477],[8211,16430],[8212,16689],[8213,16660],[8214,16854],[8215,16427],[8217,16722],[8218,16361],[8219,16828],[8220,16744],[8221,16670],[8222,16589],[8225,16788],[8227,16510],[8228,16530],[8231,16411],[8232,16848],[8233,16532],[8234,16608],[8235,16862],[8236,16770],[8237,16538],[8239,16555],[8240,16769],[8242,16626],[8243,16850],[8244,16520],[8245,16604],[8246,16550],[8247,16572],[8249,16358],[8250,16388],[8251,16666],[8252,16915],[8253,16708],[8254,16718],[8255,16410],[8256,16542],[8257,16580],[8258,16936],[8259,16490],[8260,16605],[8262,16904],[8264,16440],[8265,16596],[8266,16800],[8267,16457],[8268,16597],[8270,16500],[8271,16914],[8274,16531],[8275,16599],[8276,16590],[8277,16380],[8279,16622],[8280,16658],[8282,16736],[8284,16519],[8285,16495],[8286,16866],[8287,16384],[8288,16546],[8289,16798],[8290,16618],[8291,16762],[8292,16867],[8294,16898],[8295,16544],[8297,16592],[8298,16763],[8299,16570],[8300,16879],[8303,16616],[8304,16373],[8305,16638],[8306,16606],[8307,16378],[8308,16653],[8310,16558],[8311,16929],[8312,16771],[8313,16567],[8314,16394],[8315,16526],[8316,16401],[8318,16652],[8321,16458],[8322,16719],[8323,16362],[8325,16512],[8326,16794],[8327,16906],[8329,16790],[8330,16802],[8332,16924],[8333,16903],[8334,16775],[8336,16696],[8337,16743],[8338,16566],[8340,16409],[8344,16706],[8345,16707],[8346,16663],[8347,16630],[8348,16636],[8349,16749],[8350,16748],[8352,16918],[8353,16611],[8354,16698],[8356,16804],[8357,16447],[8358,16704],[8359,16664],[8360,16761],[8361,16837],[8362,16760],[8363,16843],[8365,16772],[8366,16745],[8368,16776],[8369,16811],[8371,16922],[8373,16594],[8374,16640],[8375,16870],[8376,16919],[8377,16808],[8380,16836],[8381,16453],[8384,16728],[8388,16732],[8392,16895],[8394,16821],[8396,16492],[8397,16639],[8399,16405],[8400,16473],[8403,16851],[8407,16750],[8409,16418],[8412,16543],[8415,16856],[8417,16876],[8418,16642],[8420,16933],[8424,16877],[8427,16894],[8430,16920],[8431,16379],[8433,16685],[8435,16509],[8438,16545],[8439,16892],[8442,16756],[8443,16865],[8445,16632],[8446,16603],[8447,16433],[8449,16868],[8451,16432],[8455,16678],[8469,16942],[8470,16974],[8471,17016],[8472,16988],[8473,16972],[8474,17048],[8475,17484],[8476,17051],[8477,17294],[8478,17236],[8479,17202],[8482,17368],[8483,17206],[8484,17364],[8485,17084],[8486,17086],[8487,17306],[8488,17320],[8489,17296],[8490,17244],[8491,17464],[8492,17070],[8493,17194],[8494,17168],[8495,17456],[8496,17046],[8497,17282],[8498,17303],[8499,17442],[8500,17032],[8501,17059],[8502,17012],[8503,17271],[8504,17242],[8505,17436],[8506,17009],[8508,17304],[8509,16943],[8510,17410],[8511,17326],[8512,17252],[8513,17171],[8516,17370],[8518,17092],[8519,17112],[8522,16993],[8523,17430],[8524,17114],[8525,17190],[8526,17444],[8527,17352],[8528,17120],[8530,17137],[8531,17351],[8533,17208],[8534,17432],[8535,17102],[8536,17186],[8537,17132],[8538,17154],[8540,16940],[8541,16970],[8542,17248],[8543,17497],[8544,17290],[8545,17300],[8546,16992],[8547,17124],[8548,17162],[8549,17518],[8550,17072],[8551,17187],[8553,17486],[8555,17022],[8556,17178],[8557,17382],[8558,17039],[8559,17179],[8561,17082],[8562,17496],[8565,17113],[8566,17181],[8567,17172],[8568,16962],[8570,17204],[8571,17240],[8573,17318],[8575,17101],[8576,17077],[8577,17448],[8578,16966],[8579,17128],[8580,17380],[8581,17200],[8582,17344],[8583,17449],[8585,17480],[8586,17126],[8588,17174],[8589,17345],[8590,17152],[8591,17461],[8594,17198],[8595,16955],[8596,17220],[8597,17188],[8598,16960],[8599,17235],[8601,17140],[8602,17511],[8603,17353],[8604,17149],[8605,16976],[8606,17108],[8607,16983],[8609,17234],[8612,17040],[8613,17301],[8614,16944],[8616,17094],[8617,17376],[8618,17488],[8620,17372],[8621,17384],[8623,17506],[8624,17485],[8625,17357],[8627,17278],[8628,17325],[8629,17148],[8631,16991],[8635,17288],[8636,17289],[8637,17245],[8638,17212],[8639,17218],[8640,17331],[8641,17330],[8643,17500],[8644,17193],[8645,17280],[8647,17386],[8648,17029],[8649,17286],[8650,17246],[8651,17343],[8652,17419],[8653,17342],[8654,17425],[8656,17354],[8657,17327],[8659,17358],[8660,17393],[8662,17504],[8664,17176],[8665,17222],[8666,17452],[8667,17501],[8668,17390],[8671,17418],[8672,17035],[8675,17310],[8679,17314],[8683,17477],[8685,17403],[8687,17074],[8688,17221],[8690,16987],[8691,17055],[8694,17433],[8698,17332],[8700,17000],[8703,17125],[8706,17438],[8708,17458],[8709,17224],[8711,17515],[8715,17459],[8718,17476],[8721,17502],[8722,16961],[8724,17267],[8726,17091],[8729,17127],[8730,17474],[8733,17338],[8734,17447],[8736,17214],[8737,17185],[8738,17015],[8740,17450],[8742,17014],[8746,17260],[8760,17524],[8761,17556],[8762,17598],[8763,17570],[8764,17554],[8765,17630],[8766,18066],[8767,17633],[8768,17876],[8769,17818],[8770,17784],[8773,17950],[8774,17788],[8775,17946],[8776,17666],[8777,17668],[8778,17888],[8779,17902],[8780,17878],[8781,17826],[8782,18046],[8783,17652],[8784,17776],[8785,17750],[8786,18038],[8787,17628],[8788,17864],[8789,17885],[8790,18024],[8791,17614],[8792,17641],[8793,17594],[8794,17853],[8795,17824],[8796,18018],[8797,17591],[8799,17886],[8800,17525],[8801,17992],[8802,17908],[8803,17834],[8804,17753],[8807,17952],[8809,17674],[8810,17694],[8813,17575],[8814,18012],[8815,17696],[8816,17772],[8817,18026],[8818,17934],[8819,17702],[8821,17719],[8822,17933],[8824,17790],[8825,18014],[8826,17684],[8827,17768],[8828,17714],[8829,17736],[8831,17522],[8832,17552],[8833,17830],[8834,18079],[8835,17872],[8836,17882],[8837,17574],[8838,17706],[8839,17744],[8840,18100],[8841,17654],[8842,17769],[8844,18068],[8846,17604],[8847,17760],[8848,17964],[8849,17621],[8850,17761],[8852,17664],[8853,18078],[8856,17695],[8857,17763],[8858,17754],[8859,17544],[8861,17786],[8862,17822],[8864,17900],[8866,17683],[8867,17659],[8868,18030],[8869,17548],[8870,17710],[8871,17962],[8872,17782],[8873,17926],[8874,18031],[8876,18062],[8877,17708],[8879,17756],[8880,17927],[8881,17734],[8882,18043],[8885,17780],[8886,17537],[8887,17802],[8888,17770],[8889,17542],[8890,17817],[8892,17722],[8893,18093],[8894,17935],[8895,17731],[8896,17558],[8897,17690],[8898,17565],[8900,17816],[8903,17622],[8904,17883],[8905,17526],[8907,17676],[8908,17958],[8909,18070],[8911,17954],[8912,17966],[8914,18088],[8915,18067],[8916,17939],[8918,17860],[8919,17907],[8920,17730],[8922,17573],[8926,17870],[8927,17871],[8928,17827],[8929,17794],[8930,17800],[8931,17913],[8932,17912],[8934,18082],[8935,17775],[8936,17862],[8938,17968],[8939,17611],[8940,17868],[8941,17828],[8942,17925],[8943,18001],[8944,17924],[8945,18007],[8947,17936],[8948,17909],[8950,17940],[8951,17975],[8953,18086],[8955,17758],[8956,17804],[8957,18034],[8958,18083],[8959,17972],[8962,18000],[8963,17617],[8966,17892],[8970,17896],[8974,18059],[8976,17985],[8978,17656],[8979,17803],[8981,17569],[8982,17637],[8985,18015],[8989,17914],[8991,17582],[8994,17707],[8997,18020],[8999,18040],[9000,17806],[9002,18097],[9006,18041],[9009,18058],[9012,18084],[9013,17543],[9015,17849],[9017,17673],[9020,17709],[9021,18056],[9024,17920],[9025,18029],[9027,17796],[9028,17767],[9029,17597],[9031,18032],[9033,17596],[9037,17842],[9051,18106],[9052,18138],[9053,18180],[9054,18152],[9055,18136],[9056,18212],[9057,18648],[9058,18215],[9059,18458],[9060,18400],[9061,18366],[9064,18532],[9065,18370],[9066,18528],[9067,18248],[9068,18250],[9069,18470],[9070,18484],[9071,18460],[9072,18408],[9073,18628],[9074,18234],[9075,18358],[9076,18332],[9077,18620],[9078,18210],[9079,18446],[9080,18467],[9081,18606],[9082,18196],[9083,18223],[9084,18176],[9085,18435],[9086,18406],[9087,18600],[9088,18173],[9090,18468],[9091,18107],[9092,18574],[9093,18490],[9094,18416],[9095,18335],[9098,18534],[9100,18256],[9101,18276],[9104,18157],[9105,18594],[9106,18278],[9107,18354],[9108,18608],[9109,18516],[9110,18284],[9112,18301],[9113,18515],[9115,18372],[9116,18596],[9117,18266],[9118,18350],[9119,18296],[9120,18318],[9122,18104],[9123,18134],[9124,18412],[9125,18661],[9126,18454],[9127,18464],[9128,18156],[9129,18288],[9130,18326],[9131,18682],[9132,18236],[9133,18351],[9135,18650],[9137,18186],[9138,18342],[9139,18546],[9140,18203],[9141,18343],[9143,18246],[9144,18660],[9147,18277],[9148,18345],[9149,18336],[9150,18126],[9152,18368],[9153,18404],[9155,18482],[9157,18265],[9158,18241],[9159,18612],[9160,18130],[9161,18292],[9162,18544],[9163,18364],[9164,18508],[9165,18613],[9167,18644],[9168,18290],[9170,18338],[9171,18509],[9172,18316],[9173,18625],[9176,18362],[9177,18119],[9178,18384],[9179,18352],[9180,18124],[9181,18399],[9183,18304],[9184,18675],[9185,18517],[9186,18313],[9187,18140],[9188,18272],[9189,18147],[9191,18398],[9194,18204],[9195,18465],[9196,18108],[9198,18258],[9199,18540],[9200,18652],[9202,18536],[9203,18548],[9205,18670],[9206,18649],[9207,18521],[9209,18442],[9210,18489],[9211,18312],[9213,18155],[9217,18452],[9218,18453],[9219,18409],[9220,18376],[9221,18382],[9222,18495],[9223,18494],[9225,18664],[9226,18357],[9227,18444],[9229,18550],[9230,18193],[9231,18450],[9232,18410],[9233,18507],[9234,18583],[9235,18506],[9236,18589],[9238,18518],[9239,18491],[9241,18522],[9242,18557],[9244,18668],[9246,18340],[9247,18386],[9248,18616],[9249,18665],[9250,18554],[9253,18582],[9254,18199],[9257,18474],[9261,18478],[9265,18641],[9267,18567],[9269,18238],[9270,18385],[9272,18151],[9273,18219],[9276,18597],[9280,18496],[9282,18164],[9285,18289],[9288,18602],[9290,18622],[9291,18388],[9293,18679],[9297,18623],[9300,18640],[9303,18666],[9304,18125],[9306,18431],[9308,18255],[9311,18291],[9312,18638],[9315,18502],[9316,18611],[9318,18378],[9319,18349],[9320,18179],[9322,18614],[9324,18178],[9328,18424],[9342,18688],[9343,18720],[9344,18762],[9345,18734],[9346,18718],[9347,18794],[9348,19230],[9349,18797],[9350,19040],[9351,18982],[9352,18948],[9355,19114],[9356,18952],[9357,19110],[9358,18830],[9359,18832],[9360,19052],[9361,19066],[9362,19042],[9363,18990],[9364,19210],[9365,18816],[9366,18940],[9367,18914],[9368,19202],[9369,18792],[9370,19028],[9371,19049],[9372,19188],[9373,18778],[9374,18805],[9375,18758],[9376,19017],[9377,18988],[9378,19182],[9379,18755],[9381,19050],[9382,18689],[9383,19156],[9384,19072],[9385,18998],[9386,18917],[9389,19116],[9391,18838],[9392,18858],[9395,18739],[9396,19176],[9397,18860],[9398,18936],[9399,19190],[9400,19098],[9401,18866],[9403,18883],[9404,19097],[9406,18954],[9407,19178],[9408,18848],[9409,18932],[9410,18878],[9411,18900],[9413,18686],[9414,18716],[9415,18994],[9416,19243],[9417,19036],[9418,19046],[9419,18738],[9420,18870],[9421,18908],[9422,19264],[9423,18818],[9424,18933],[9426,19232],[9428,18768],[9429,18924],[9430,19128],[9431,18785],[9432,18925],[9434,18828],[9435,19242],[9438,18859],[9439,18927],[9440,18918],[9441,18708],[9443,18950],[9444,18986],[9446,19064],[9448,18847],[9449,18823],[9450,19194],[9451,18712],[9452,18874],[9453,19126],[9454,18946],[9455,19090],[9456,19195],[9458,19226],[9459,18872],[9461,18920],[9462,19091],[9463,18898],[9464,19207],[9467,18944],[9468,18701],[9469,18966],[9470,18934],[9471,18706],[9472,18981],[9474,18886],[9475,19257],[9476,19099],[9477,18895],[9478,18722],[9479,18854],[9480,18729],[9482,18980],[9485,18786],[9486,19047],[9487,18690],[9489,18840],[9490,19122],[9491,19234],[9493,19118],[9494,19130],[9496,19252],[9497,19231],[9498,19103],[9500,19024],[9501,19071],[9502,18894],[9504,18737],[9508,19034],[9509,19035],[9510,18991],[9511,18958],[9512,18964],[9513,19077],[9514,19076],[9516,19246],[9517,18939],[9518,19026],[9520,19132],[9521,18775],[9522,19032],[9523,18992],[9524,19089],[9525,19165],[9526,19088],[9527,19171],[9529,19100],[9530,19073],[9532,19104],[9533,19139],[9535,19250],[9537,18922],[9538,18968],[9539,19198],[9540,19247],[9541,19136],[9544,19164],[9545,18781],[9548,19056],[9552,19060],[9556,19223],[9558,19149],[9560,18820],[9561,18967],[9563,18733],[9564,18801],[9567,19179],[9571,19078],[9573,18746],[9576,18871],[9579,19184],[9581,19204],[9582,18970],[9584,19261],[9588,19205],[9591,19222],[9594,19248],[9595,18707],[9597,19013],[9599,18837],[9602,18873],[9603,19220],[9606,19084],[9607,19193],[9609,18960],[9610,18931],[9611,18761],[9613,19196],[9615,18760],[9619,19006],[9633,19270],[9634,19302],[9635,19344],[9636,19316],[9637,19300],[9638,19376],[9639,19812],[9640,19379],[9641,19622],[9642,19564],[9643,19530],[9646,19696],[9647,19534],[9648,19692],[9649,19412],[9650,19414],[9651,19634],[9652,19648],[9653,19624],[9654,19572],[9655,19792],[9656,19398],[9657,19522],[9658,19496],[9659,19784],[9660,19374],[9661,19610],[9662,19631],[9663,19770],[9664,19360],[9665,19387],[9666,19340],[9667,19599],[9668,19570],[9669,19764],[9670,19337],[9672,19632],[9673,19271],[9674,19738],[9675,19654],[9676,19580],[9677,19499],[9680,19698],[9682,19420],[9683,19440],[9686,19321],[9687,19758],[9688,19442],[9689,19518],[9690,19772],[9691,19680],[9692,19448],[9694,19465],[9695,19679],[9697,19536],[9698,19760],[9699,19430],[9700,19514],[9701,19460],[9702,19482],[9704,19268],[9705,19298],[9706,19576],[9707,19825],[9708,19618],[9709,19628],[9710,19320],[9711,19452],[9712,19490],[9713,19846],[9714,19400],[9715,19515],[9717,19814],[9719,19350],[9720,19506],[9721,19710],[9722,19367],[9723,19507],[9725,19410],[9726,19824],[9729,19441],[9730,19509],[9731,19500],[9732,19290],[9734,19532],[9735,19568],[9737,19646],[9739,19429],[9740,19405],[9741,19776],[9742,19294],[9743,19456],[9744,19708],[9745,19528],[9746,19672],[9747,19777],[9749,19808],[9750,19454],[9752,19502],[9753,19673],[9754,19480],[9755,19789],[9758,19526],[9759,19283],[9760,19548],[9761,19516],[9762,19288],[9763,19563],[9765,19468],[9766,19839],[9767,19681],[9768,19477],[9769,19304],[9770,19436],[9771,19311],[9773,19562],[9776,19368],[9777,19629],[9778,19272],[9780,19422],[9781,19704],[9782,19816],[9784,19700],[9785,19712],[9787,19834],[9788,19813],[9789,19685],[9791,19606],[9792,19653],[9793,19476],[9795,19319],[9799,19616],[9800,19617],[9801,19573],[9802,19540],[9803,19546],[9804,19659],[9805,19658],[9807,19828],[9808,19521],[9809,19608],[9811,19714],[9812,19357],[9813,19614],[9814,19574],[9815,19671],[9816,19747],[9817,19670],[9818,19753],[9820,19682],[9821,19655],[9823,19686],[9824,19721],[9826,19832],[9828,19504],[9829,19550],[9830,19780],[9831,19829],[9832,19718],[9835,19746],[9836,19363],[9839,19638],[9843,19642],[9847,19805],[9849,19731],[9851,19402],[9852,19549],[9854,19315],[9855,19383],[9858,19761],[9862,19660],[9864,19328],[9867,19453],[9870,19766],[9872,19786],[9873,19552],[9875,19843],[9879,19787],[9882,19804],[9885,19830],[9886,19289],[9888,19595],[9890,19419],[9893,19455],[9894,19802],[9897,19666],[9898,19775],[9900,19542],[9901,19513],[9902,19343],[9904,19778],[9906,19342],[9910,19588],[9924,19852],[9925,19884],[9926,19926],[9927,19898],[9928,19882],[9929,19958],[9930,20394],[9931,19961],[9932,20204],[9933,20146],[9934,20112],[9937,20278],[9938,20116],[9939,20274],[9940,19994],[9941,19996],[9942,20216],[9943,20230],[9944,20206],[9945,20154],[9946,20374],[9947,19980],[9948,20104],[9949,20078],[9950,20366],[9951,19956],[9952,20192],[9953,20213],[9954,20352],[9955,19942],[9956,19969],[9957,19922],[9958,20181],[9959,20152],[9960,20346],[9961,19919],[9963,20214],[9964,19853],[9965,20320],[9966,20236],[9967,20162],[9968,20081],[9971,20280],[9973,20002],[9974,20022],[9977,19903],[9978,20340],[9979,20024],[9980,20100],[9981,20354],[9982,20262],[9983,20030],[9985,20047],[9986,20261],[9988,20118],[9989,20342],[9990,20012],[9991,20096],[9992,20042],[9993,20064],[9995,19850],[9996,19880],[9997,20158],[9998,20407],[9999,20200],[10000,20210],[10001,19902],[10002,20034],[10003,20072],[10004,20428],[10005,19982],[10006,20097],[10008,20396],[10010,19932],[10011,20088],[10012,20292],[10013,19949],[10014,20089],[10016,19992],[10017,20406],[10020,20023],[10021,20091],[10022,20082],[10023,19872],[10025,20114],[10026,20150],[10028,20228],[10030,20011],[10031,19987],[10032,20358],[10033,19876],[10034,20038],[10035,20290],[10036,20110],[10037,20254],[10038,20359],[10040,20390],[10041,20036],[10043,20084],[10044,20255],[10045,20062],[10046,20371],[10049,20108],[10050,19865],[10051,20130],[10052,20098],[10053,19870],[10054,20145],[10056,20050],[10057,20421],[10058,20263],[10059,20059],[10060,19886],[10061,20018],[10062,19893],[10064,20144],[10067,19950],[10068,20211],[10069,19854],[10071,20004],[10072,20286],[10073,20398],[10075,20282],[10076,20294],[10078,20416],[10079,20395],[10080,20267],[10082,20188],[10083,20235],[10084,20058],[10086,19901],[10090,20198],[10091,20199],[10092,20155],[10093,20122],[10094,20128],[10095,20241],[10096,20240],[10098,20410],[10099,20103],[10100,20190],[10102,20296],[10103,19939],[10104,20196],[10105,20156],[10106,20253],[10107,20329],[10108,20252],[10109,20335],[10111,20264],[10112,20237],[10114,20268],[10115,20303],[10117,20414],[10119,20086],[10120,20132],[10121,20362],[10122,20411],[10123,20300],[10126,20328],[10127,19945],[10130,20220],[10134,20224],[10138,20387],[10140,20313],[10142,19984],[10143,20131],[10145,19897],[10146,19965],[10149,20343],[10153,20242],[10155,19910],[10158,20035],[10161,20348],[10163,20368],[10164,20134],[10166,20425],[10170,20369],[10173,20386],[10176,20412],[10177,19871],[10179,20177],[10181,20001],[10184,20037],[10185,20384],[10188,20248],[10189,20357],[10191,20124],[10192,20095],[10193,19925],[10195,20360],[10197,19924],[10201,20170],[10215,20434],[10216,20466],[10217,20508],[10218,20480],[10219,20464],[10220,20540],[10221,20976],[10222,20543],[10223,20786],[10224,20728],[10225,20694],[10228,20860],[10229,20698],[10230,20856],[10231,20576],[10232,20578],[10233,20798],[10234,20812],[10235,20788],[10236,20736],[10237,20956],[10238,20562],[10239,20686],[10240,20660],[10241,20948],[10242,20538],[10243,20774],[10244,20795],[10245,20934],[10246,20524],[10247,20551],[10248,20504],[10249,20763],[10250,20734],[10251,20928],[10252,20501],[10254,20796],[10255,20435],[10256,20902],[10257,20818],[10258,20744],[10259,20663],[10262,20862],[10264,20584],[10265,20604],[10268,20485],[10269,20922],[10270,20606],[10271,20682],[10272,20936],[10273,20844],[10274,20612],[10276,20629],[10277,20843],[10279,20700],[10280,20924],[10281,20594],[10282,20678],[10283,20624],[10284,20646],[10286,20432],[10287,20462],[10288,20740],[10289,20989],[10290,20782],[10291,20792],[10292,20484],[10293,20616],[10294,20654],[10295,21010],[10296,20564],[10297,20679],[10299,20978],[10301,20514],[10302,20670],[10303,20874],[10304,20531],[10305,20671],[10307,20574],[10308,20988],[10311,20605],[10312,20673],[10313,20664],[10314,20454],[10316,20696],[10317,20732],[10319,20810],[10321,20593],[10322,20569],[10323,20940],[10324,20458],[10325,20620],[10326,20872],[10327,20692],[10328,20836],[10329,20941],[10331,20972],[10332,20618],[10334,20666],[10335,20837],[10336,20644],[10337,20953],[10340,20690],[10341,20447],[10342,20712],[10343,20680],[10344,20452],[10345,20727],[10347,20632],[10348,21003],[10349,20845],[10350,20641],[10351,20468],[10352,20600],[10353,20475],[10355,20726],[10358,20532],[10359,20793],[10360,20436],[10362,20586],[10363,20868],[10364,20980],[10366,20864],[10367,20876],[10369,20998],[10370,20977],[10371,20849],[10373,20770],[10374,20817],[10375,20640],[10377,20483],[10381,20780],[10382,20781],[10383,20737],[10384,20704],[10385,20710],[10386,20823],[10387,20822],[10389,20992],[10390,20685],[10391,20772],[10393,20878],[10394,20521],[10395,20778],[10396,20738],[10397,20835],[10398,20911],[10399,20834],[10400,20917],[10402,20846],[10403,20819],[10405,20850],[10406,20885],[10408,20996],[10410,20668],[10411,20714],[10412,20944],[10413,20993],[10414,20882],[10417,20910],[10418,20527],[10421,20802],[10425,20806],[10429,20969],[10431,20895],[10433,20566],[10434,20713],[10436,20479],[10437,20547],[10440,20925],[10444,20824],[10446,20492],[10449,20617],[10452,20930],[10454,20950],[10455,20716],[10457,21007],[10461,20951],[10464,20968],[10467,20994],[10468,20453],[10470,20759],[10472,20583],[10475,20619],[10476,20966],[10479,20830],[10480,20939],[10482,20706],[10483,20677],[10484,20507],[10486,20942],[10488,20506],[10492,20752],[10506,21016],[10507,21048],[10508,21090],[10509,21062],[10510,21046],[10511,21122],[10512,21558],[10513,21125],[10514,21368],[10515,21310],[10516,21276],[10519,21442],[10520,21280],[10521,21438],[10522,21158],[10523,21160],[10524,21380],[10525,21394],[10526,21370],[10527,21318],[10528,21538],[10529,21144],[10530,21268],[10531,21242],[10532,21530],[10533,21120],[10534,21356],[10535,21377],[10536,21516],[10537,21106],[10538,21133],[10539,21086],[10540,21345],[10541,21316],[10542,21510],[10543,21083],[10545,21378],[10546,21017],[10547,21484],[10548,21400],[10549,21326],[10550,21245],[10553,21444],[10555,21166],[10556,21186],[10559,21067],[10560,21504],[10561,21188],[10562,21264],[10563,21518],[10564,21426],[10565,21194],[10567,21211],[10568,21425],[10570,21282],[10571,21506],[10572,21176],[10573,21260],[10574,21206],[10575,21228],[10577,21014],[10578,21044],[10579,21322],[10580,21571],[10581,21364],[10582,21374],[10583,21066],[10584,21198],[10585,21236],[10586,21592],[10587,21146],[10588,21261],[10590,21560],[10592,21096],[10593,21252],[10594,21456],[10595,21113],[10596,21253],[10598,21156],[10599,21570],[10602,21187],[10603,21255],[10604,21246],[10605,21036],[10607,21278],[10608,21314],[10610,21392],[10612,21175],[10613,21151],[10614,21522],[10615,21040],[10616,21202],[10617,21454],[10618,21274],[10619,21418],[10620,21523],[10622,21554],[10623,21200],[10625,21248],[10626,21419],[10627,21226],[10628,21535],[10631,21272],[10632,21029],[10633,21294],[10634,21262],[10635,21034],[10636,21309],[10638,21214],[10639,21585],[10640,21427],[10641,21223],[10642,21050],[10643,21182],[10644,21057],[10646,21308],[10649,21114],[10650,21375],[10651,21018],[10653,21168],[10654,21450],[10655,21562],[10657,21446],[10658,21458],[10660,21580],[10661,21559],[10662,21431],[10664,21352],[10665,21399],[10666,21222],[10668,21065],[10672,21362],[10673,21363],[10674,21319],[10675,21286],[10676,21292],[10677,21405],[10678,21404],[10680,21574],[10681,21267],[10682,21354],[10684,21460],[10685,21103],[10686,21360],[10687,21320],[10688,21417],[10689,21493],[10690,21416],[10691,21499],[10693,21428],[10694,21401],[10696,21432],[10697,21467],[10699,21578],[10701,21250],[10702,21296],[10703,21526],[10704,21575],[10705,21464],[10708,21492],[10709,21109],[10712,21384],[10716,21388],[10720,21551],[10722,21477],[10724,21148],[10725,21295],[10727,21061],[10728,21129],[10731,21507],[10735,21406],[10737,21074],[10740,21199],[10743,21512],[10745,21532],[10746,21298],[10748,21589],[10752,21533],[10755,21550],[10758,21576],[10759,21035],[10761,21341],[10763,21165],[10766,21201],[10767,21548],[10770,21412],[10771,21521],[10773,21288],[10774,21259],[10775,21089],[10777,21524],[10779,21088],[10783,21334],[10797,21598],[10798,21630],[10799,21672],[10800,21644],[10801,21628],[10802,21704],[10803,22140],[10804,21707],[10805,21950],[10806,21892],[10807,21858],[10810,22024],[10811,21862],[10812,22020],[10813,21740],[10814,21742],[10815,21962],[10816,21976],[10817,21952],[10818,21900],[10819,22120],[10820,21726],[10821,21850],[10822,21824],[10823,22112],[10824,21702],[10825,21938],[10826,21959],[10827,22098],[10828,21688],[10829,21715],[10830,21668],[10831,21927],[10832,21898],[10833,22092],[10834,21665],[10836,21960],[10837,21599],[10838,22066],[10839,21982],[10840,21908],[10841,21827],[10844,22026],[10846,21748],[10847,21768],[10850,21649],[10851,22086],[10852,21770],[10853,21846],[10854,22100],[10855,22008],[10856,21776],[10858,21793],[10859,22007],[10861,21864],[10862,22088],[10863,21758],[10864,21842],[10865,21788],[10866,21810],[10868,21596],[10869,21626],[10870,21904],[10871,22153],[10872,21946],[10873,21956],[10874,21648],[10875,21780],[10876,21818],[10877,22174],[10878,21728],[10879,21843],[10881,22142],[10883,21678],[10884,21834],[10885,22038],[10886,21695],[10887,21835],[10889,21738],[10890,22152],[10893,21769],[10894,21837],[10895,21828],[10896,21618],[10898,21860],[10899,21896],[10901,21974],[10903,21757],[10904,21733],[10905,22104],[10906,21622],[10907,21784],[10908,22036],[10909,21856],[10910,22000],[10911,22105],[10913,22136],[10914,21782],[10916,21830],[10917,22001],[10918,21808],[10919,22117],[10922,21854],[10923,21611],[10924,21876],[10925,21844],[10926,21616],[10927,21891],[10929,21796],[10930,22167],[10931,22009],[10932,21805],[10933,21632],[10934,21764],[10935,21639],[10937,21890],[10940,21696],[10941,21957],[10942,21600],[10944,21750],[10945,22032],[10946,22144],[10948,22028],[10949,22040],[10951,22162],[10952,22141],[10953,22013],[10955,21934],[10956,21981],[10957,21804],[10959,21647],[10963,21944],[10964,21945],[10965,21901],[10966,21868],[10967,21874],[10968,21987],[10969,21986],[10971,22156],[10972,21849],[10973,21936],[10975,22042],[10976,21685],[10977,21942],[10978,21902],[10979,21999],[10980,22075],[10981,21998],[10982,22081],[10984,22010],[10985,21983],[10987,22014],[10988,22049],[10990,22160],[10992,21832],[10993,21878],[10994,22108],[10995,22157],[10996,22046],[10999,22074],[11000,21691],[11003,21966],[11007,21970],[11011,22133],[11013,22059],[11015,21730],[11016,21877],[11018,21643],[11019,21711],[11022,22089],[11026,21988],[11028,21656],[11031,21781],[11034,22094],[11036,22114],[11037,21880],[11039,22171],[11043,22115],[11046,22132],[11049,22158],[11050,21617],[11052,21923],[11054,21747],[11057,21783],[11058,22130],[11061,21994],[11062,22103],[11064,21870],[11065,21841],[11066,21671],[11068,22106],[11070,21670],[11074,21916],[11088,22180],[11089,22212],[11090,22254],[11091,22226],[11092,22210],[11093,22286],[11094,22722],[11095,22289],[11096,22532],[11097,22474],[11098,22440],[11101,22606],[11102,22444],[11103,22602],[11104,22322],[11105,22324],[11106,22544],[11107,22558],[11108,22534],[11109,22482],[11110,22702],[11111,22308],[11112,22432],[11113,22406],[11114,22694],[11115,22284],[11116,22520],[11117,22541],[11118,22680],[11119,22270],[11120,22297],[11121,22250],[11122,22509],[11123,22480],[11124,22674],[11125,22247],[11127,22542],[11128,22181],[11129,22648],[11130,22564],[11131,22490],[11132,22409],[11135,22608],[11137,22330],[11138,22350],[11141,22231],[11142,22668],[11143,22352],[11144,22428],[11145,22682],[11146,22590],[11147,22358],[11149,22375],[11150,22589],[11152,22446],[11153,22670],[11154,22340],[11155,22424],[11156,22370],[11157,22392],[11159,22178],[11160,22208],[11161,22486],[11162,22735],[11163,22528],[11164,22538],[11165,22230],[11166,22362],[11167,22400],[11168,22756],[11169,22310],[11170,22425],[11172,22724],[11174,22260],[11175,22416],[11176,22620],[11177,22277],[11178,22417],[11180,22320],[11181,22734],[11184,22351],[11185,22419],[11186,22410],[11187,22200],[11189,22442],[11190,22478],[11192,22556],[11194,22339],[11195,22315],[11196,22686],[11197,22204],[11198,22366],[11199,22618],[11200,22438],[11201,22582],[11202,22687],[11204,22718],[11205,22364],[11207,22412],[11208,22583],[11209,22390],[11210,22699],[11213,22436],[11214,22193],[11215,22458],[11216,22426],[11217,22198],[11218,22473],[11220,22378],[11221,22749],[11222,22591],[11223,22387],[11224,22214],[11225,22346],[11226,22221],[11228,22472],[11231,22278],[11232,22539],[11233,22182],[11235,22332],[11236,22614],[11237,22726],[11239,22610],[11240,22622],[11242,22744],[11243,22723],[11244,22595],[11246,22516],[11247,22563],[11248,22386],[11250,22229],[11254,22526],[11255,22527],[11256,22483],[11257,22450],[11258,22456],[11259,22569],[11260,22568],[11262,22738],[11263,22431],[11264,22518],[11266,22624],[11267,22267],[11268,22524],[11269,22484],[11270,22581],[11271,22657],[11272,22580],[11273,22663],[11275,22592],[11276,22565],[11278,22596],[11279,22631],[11281,22742],[11283,22414],[11284,22460],[11285,22690],[11286,22739],[11287,22628],[11290,22656],[11291,22273],[11294,22548],[11298,22552],[11302,22715],[11304,22641],[11306,22312],[11307,22459],[11309,22225],[11310,22293],[11313,22671],[11317,22570],[11319,22238],[11322,22363],[11325,22676],[11327,22696],[11328,22462],[11330,22753],[11334,22697],[11337,22714],[11340,22740],[11341,22199],[11343,22505],[11345,22329],[11348,22365],[11349,22712],[11352,22576],[11353,22685],[11355,22452],[11356,22423],[11357,22253],[11359,22688],[11361,22252],[11365,22498],[11379,22762],[11380,22794],[11381,22836],[11382,22808],[11383,22792],[11384,22868],[11385,23304],[11386,22871],[11387,23114],[11388,23056],[11389,23022],[11392,23188],[11393,23026],[11394,23184],[11395,22904],[11396,22906],[11397,23126],[11398,23140],[11399,23116],[11400,23064],[11401,23284],[11402,22890],[11403,23014],[11404,22988],[11405,23276],[11406,22866],[11407,23102],[11408,23123],[11409,23262],[11410,22852],[11411,22879],[11412,22832],[11413,23091],[11414,23062],[11415,23256],[11416,22829],[11418,23124],[11419,22763],[11420,23230],[11421,23146],[11422,23072],[11423,22991],[11426,23190],[11428,22912],[11429,22932],[11432,22813],[11433,23250],[11434,22934],[11435,23010],[11436,23264],[11437,23172],[11438,22940],[11440,22957],[11441,23171],[11443,23028],[11444,23252],[11445,22922],[11446,23006],[11447,22952],[11448,22974],[11450,22760],[11451,22790],[11452,23068],[11453,23317],[11454,23110],[11455,23120],[11456,22812],[11457,22944],[11458,22982],[11459,23338],[11460,22892],[11461,23007],[11463,23306],[11465,22842],[11466,22998],[11467,23202],[11468,22859],[11469,22999],[11471,22902],[11472,23316],[11475,22933],[11476,23001],[11477,22992],[11478,22782],[11480,23024],[11481,23060],[11483,23138],[11485,22921],[11486,22897],[11487,23268],[11488,22786],[11489,22948],[11490,23200],[11491,23020],[11492,23164],[11493,23269],[11495,23300],[11496,22946],[11498,22994],[11499,23165],[11500,22972],[11501,23281],[11504,23018],[11505,22775],[11506,23040],[11507,23008],[11508,22780],[11509,23055],[11511,22960],[11512,23331],[11513,23173],[11514,22969],[11515,22796],[11516,22928],[11517,22803],[11519,23054],[11522,22860],[11523,23121],[11524,22764],[11526,22914],[11527,23196],[11528,23308],[11530,23192],[11531,23204],[11533,23326],[11534,23305],[11535,23177],[11537,23098],[11538,23145],[11539,22968],[11541,22811],[11545,23108],[11546,23109],[11547,23065],[11548,23032],[11549,23038],[11550,23151],[11551,23150],[11553,23320],[11554,23013],[11555,23100],[11557,23206],[11558,22849],[11559,23106],[11560,23066],[11561,23163],[11562,23239],[11563,23162],[11564,23245],[11566,23174],[11567,23147],[11569,23178],[11570,23213],[11572,23324],[11574,22996],[11575,23042],[11576,23272],[11577,23321],[11578,23210],[11581,23238],[11582,22855],[11585,23130],[11589,23134],[11593,23297],[11595,23223],[11597,22894],[11598,23041],[11600,22807],[11601,22875],[11604,23253],[11608,23152],[11610,22820],[11613,22945],[11616,23258],[11618,23278],[11619,23044],[11621,23335],[11625,23279],[11628,23296],[11631,23322],[11632,22781],[11634,23087],[11636,22911],[11639,22947],[11640,23294],[11643,23158],[11644,23267],[11646,23034],[11647,23005],[11648,22835],[11650,23270],[11652,22834],[11656,23080],[11670,23344],[11671,23376],[11672,23418],[11673,23390],[11674,23374],[11675,23450],[11676,23886],[11677,23453],[11678,23696],[11679,23638],[11680,23604],[11683,23770],[11684,23608],[11685,23766],[11686,23486],[11687,23488],[11688,23708],[11689,23722],[11690,23698],[11691,23646],[11692,23866],[11693,23472],[11694,23596],[11695,23570],[11696,23858],[11697,23448],[11698,23684],[11699,23705],[11700,23844],[11701,23434],[11702,23461],[11703,23414],[11704,23673],[11705,23644],[11706,23838],[11707,23411],[11709,23706],[11710,23345],[11711,23812],[11712,23728],[11713,23654],[11714,23573],[11717,23772],[11719,23494],[11720,23514],[11723,23395],[11724,23832],[11725,23516],[11726,23592],[11727,23846],[11728,23754],[11729,23522],[11731,23539],[11732,23753],[11734,23610],[11735,23834],[11736,23504],[11737,23588],[11738,23534],[11739,23556],[11741,23342],[11742,23372],[11743,23650],[11744,23899],[11745,23692],[11746,23702],[11747,23394],[11748,23526],[11749,23564],[11750,23920],[11751,23474],[11752,23589],[11754,23888],[11756,23424],[11757,23580],[11758,23784],[11759,23441],[11760,23581],[11762,23484],[11763,23898],[11766,23515],[11767,23583],[11768,23574],[11769,23364],[11771,23606],[11772,23642],[11774,23720],[11776,23503],[11777,23479],[11778,23850],[11779,23368],[11780,23530],[11781,23782],[11782,23602],[11783,23746],[11784,23851],[11786,23882],[11787,23528],[11789,23576],[11790,23747],[11791,23554],[11792,23863],[11795,23600],[11796,23357],[11797,23622],[11798,23590],[11799,23362],[11800,23637],[11802,23542],[11803,23913],[11804,23755],[11805,23551],[11806,23378],[11807,23510],[11808,23385],[11810,23636],[11813,23442],[11814,23703],[11815,23346],[11817,23496],[11818,23778],[11819,23890],[11821,23774],[11822,23786],[11824,23908],[11825,23887],[11826,23759],[11828,23680],[11829,23727],[11830,23550],[11832,23393],[11836,23690],[11837,23691],[11838,23647],[11839,23614],[11840,23620],[11841,23733],[11842,23732],[11844,23902],[11845,23595],[11846,23682],[11848,23788],[11849,23431],[11850,23688],[11851,23648],[11852,23745],[11853,23821],[11854,23744],[11855,23827],[11857,23756],[11858,23729],[11860,23760],[11861,23795],[11863,23906],[11865,23578],[11866,23624],[11867,23854],[11868,23903],[11869,23792],[11872,23820],[11873,23437],[11876,23712],[11880,23716],[11884,23879],[11886,23805],[11888,23476],[11889,23623],[11891,23389],[11892,23457],[11895,23835],[11899,23734],[11901,23402],[11904,23527],[11907,23840],[11909,23860],[11910,23626],[11912,23917],[11916,23861],[11919,23878],[11922,23904],[11923,23363],[11925,23669],[11927,23493],[11930,23529],[11931,23876],[11934,23740],[11935,23849],[11937,23616],[11938,23587],[11939,23417],[11941,23852],[11943,23416],[11947,23662],[11961,23926],[11962,23958],[11963,24000],[11964,23972],[11965,23956],[11966,24032],[11967,24468],[11968,24035],[11969,24278],[11970,24220],[11971,24186],[11974,24352],[11975,24190],[11976,24348],[11977,24068],[11978,24070],[11979,24290],[11980,24304],[11981,24280],[11982,24228],[11983,24448],[11984,24054],[11985,24178],[11986,24152],[11987,24440],[11988,24030],[11989,24266],[11990,24287],[11991,24426],[11992,24016],[11993,24043],[11994,23996],[11995,24255],[11996,24226],[11997,24420],[11998,23993],[12000,24288],[12001,23927],[12002,24394],[12003,24310],[12004,24236],[12005,24155],[12008,24354],[12010,24076],[12011,24096],[12014,23977],[12015,24414],[12016,24098],[12017,24174],[12018,24428],[12019,24336],[12020,24104],[12022,24121],[12023,24335],[12025,24192],[12026,24416],[12027,24086],[12028,24170],[12029,24116],[12030,24138],[12032,23924],[12033,23954],[12034,24232],[12035,24481],[12036,24274],[12037,24284],[12038,23976],[12039,24108],[12040,24146],[12041,24502],[12042,24056],[12043,24171],[12045,24470],[12047,24006],[12048,24162],[12049,24366],[12050,24023],[12051,24163],[12053,24066],[12054,24480],[12057,24097],[12058,24165],[12059,24156],[12060,23946],[12062,24188],[12063,24224],[12065,24302],[12067,24085],[12068,24061],[12069,24432],[12070,23950],[12071,24112],[12072,24364],[12073,24184],[12074,24328],[12075,24433],[12077,24464],[12078,24110],[12080,24158],[12081,24329],[12082,24136],[12083,24445],[12086,24182],[12087,23939],[12088,24204],[12089,24172],[12090,23944],[12091,24219],[12093,24124],[12094,24495],[12095,24337],[12096,24133],[12097,23960],[12098,24092],[12099,23967],[12101,24218],[12104,24024],[12105,24285],[12106,23928],[12108,24078],[12109,24360],[12110,24472],[12112,24356],[12113,24368],[12115,24490],[12116,24469],[12117,24341],[12119,24262],[12120,24309],[12121,24132],[12123,23975],[12127,24272],[12128,24273],[12129,24229],[12130,24196],[12131,24202],[12132,24315],[12133,24314],[12135,24484],[12136,24177],[12137,24264],[12139,24370],[12140,24013],[12141,24270],[12142,24230],[12143,24327],[12144,24403],[12145,24326],[12146,24409],[12148,24338],[12149,24311],[12151,24342],[12152,24377],[12154,24488],[12156,24160],[12157,24206],[12158,24436],[12159,24485],[12160,24374],[12163,24402],[12164,24019],[12167,24294],[12171,24298],[12175,24461],[12177,24387],[12179,24058],[12180,24205],[12182,23971],[12183,24039],[12186,24417],[12190,24316],[12192,23984],[12195,24109],[12198,24422],[12200,24442],[12201,24208],[12203,24499],[12207,24443],[12210,24460],[12213,24486],[12214,23945],[12216,24251],[12218,24075],[12221,24111],[12222,24458],[12225,24322],[12226,24431],[12228,24198],[12229,24169],[12230,23999],[12232,24434],[12234,23998],[12238,24244],[12252,24508],[12253,24540],[12254,24582],[12255,24554],[12256,24538],[12257,24614],[12258,25050],[12259,24617],[12260,24860],[12261,24802],[12262,24768],[12265,24934],[12266,24772],[12267,24930],[12268,24650],[12269,24652],[12270,24872],[12271,24886],[12272,24862],[12273,24810],[12274,25030],[12275,24636],[12276,24760],[12277,24734],[12278,25022],[12279,24612],[12280,24848],[12281,24869],[12282,25008],[12283,24598],[12284,24625],[12285,24578],[12286,24837],[12287,24808],[12288,25002],[12289,24575],[12291,24870],[12292,24509],[12293,24976],[12294,24892],[12295,24818],[12296,24737],[12299,24936],[12301,24658],[12302,24678],[12305,24559],[12306,24996],[12307,24680],[12308,24756],[12309,25010],[12310,24918],[12311,24686],[12313,24703],[12314,24917],[12316,24774],[12317,24998],[12318,24668],[12319,24752],[12320,24698],[12321,24720],[12323,24506],[12324,24536],[12325,24814],[12326,25063],[12327,24856],[12328,24866],[12329,24558],[12330,24690],[12331,24728],[12332,25084],[12333,24638],[12334,24753],[12336,25052],[12338,24588],[12339,24744],[12340,24948],[12341,24605],[12342,24745],[12344,24648],[12345,25062],[12348,24679],[12349,24747],[12350,24738],[12351,24528],[12353,24770],[12354,24806],[12356,24884],[12358,24667],[12359,24643],[12360,25014],[12361,24532],[12362,24694],[12363,24946],[12364,24766],[12365,24910],[12366,25015],[12368,25046],[12369,24692],[12371,24740],[12372,24911],[12373,24718],[12374,25027],[12377,24764],[12378,24521],[12379,24786],[12380,24754],[12381,24526],[12382,24801],[12384,24706],[12385,25077],[12386,24919],[12387,24715],[12388,24542],[12389,24674],[12390,24549],[12392,24800],[12395,24606],[12396,24867],[12397,24510],[12399,24660],[12400,24942],[12401,25054],[12403,24938],[12404,24950],[12406,25072],[12407,25051],[12408,24923],[12410,24844],[12411,24891],[12412,24714],[12414,24557],[12418,24854],[12419,24855],[12420,24811],[12421,24778],[12422,24784],[12423,24897],[12424,24896],[12426,25066],[12427,24759],[12428,24846],[12430,24952],[12431,24595],[12432,24852],[12433,24812],[12434,24909],[12435,24985],[12436,24908],[12437,24991],[12439,24920],[12440,24893],[12442,24924],[12443,24959],[12445,25070],[12447,24742],[12448,24788],[12449,25018],[12450,25067],[12451,24956],[12454,24984],[12455,24601],[12458,24876],[12462,24880],[12466,25043],[12468,24969],[12470,24640],[12471,24787],[12473,24553],[12474,24621],[12477,24999],[12481,24898],[12483,24566],[12486,24691],[12489,25004],[12491,25024],[12492,24790],[12494,25081],[12498,25025],[12501,25042],[12504,25068],[12505,24527],[12507,24833],[12509,24657],[12512,24693],[12513,25040],[12516,24904],[12517,25013],[12519,24780],[12520,24751],[12521,24581],[12523,25016],[12525,24580],[12529,24826],[12543,25089],[12544,25128],[12545,25118],[12546,25124],[12547,25120],[12548,25094],[12550,25109],[12551,25116],[12552,25130],[12553,25117],[12555,25102],[12556,25125],[12557,25108],[12560,25126],[12565,25127],[12567,25137],[12568,25176],[12569,25166],[12570,25172],[12571,25168],[12572,25142],[12574,25157],[12575,25164],[12576,25178],[12577,25165],[12579,25150],[12580,25173],[12581,25156],[12584,25174],[12589,25175],[12591,25185],[12592,25224],[12593,25214],[12594,25220],[12595,25216],[12596,25190],[12598,25205],[12599,25212],[12600,25226],[12601,25213],[12603,25198],[12604,25221],[12605,25204],[12608,25222],[12613,25223],[12615,25233],[12616,25272],[12617,25262],[12618,25268],[12619,25264],[12620,25238],[12622,25253],[12623,25260],[12624,25274],[12625,25261],[12627,25246],[12628,25269],[12629,25252],[12632,25270],[12637,25271],[12639,25281],[12640,25320],[12641,25310],[12642,25316],[12643,25312],[12644,25286],[12646,25301],[12647,25308],[12648,25322],[12649,25309],[12651,25294],[12652,25317],[12653,25300],[12656,25318],[12661,25319],[12663,25329],[12664,25368],[12665,25358],[12666,25364],[12667,25360],[12668,25334],[12670,25349],[12671,25356],[12672,25370],[12673,25357],[12675,25342],[12676,25365],[12677,25348],[12680,25366],[12685,25367],[12687,25377],[12688,25416],[12689,25406],[12690,25412],[12691,25408],[12692,25382],[12694,25397],[12695,25404],[12696,25418],[12697,25405],[12699,25390],[12700,25413],[12701,25396],[12704,25414],[12709,25415],[12711,25425],[12712,25464],[12713,25454],[12714,25460],[12715,25456],[12716,25430],[12718,25445],[12719,25452],[12720,25466],[12721,25453],[12723,25438],[12724,25461],[12725,25444],[12728,25462],[12733,25463],[12735,25473],[12736,25512],[12737,25502],[12738,25508],[12739,25504],[12740,25478],[12742,25493],[12743,25500],[12744,25514],[12745,25501],[12747,25486],[12748,25509],[12749,25492],[12752,25510],[12757,25511],[12759,25521],[12760,25560],[12761,25550],[12762,25556],[12763,25552],[12764,25526],[12766,25541],[12767,25548],[12768,25562],[12769,25549],[12771,25534],[12772,25557],[12773,25540],[12776,25558],[12781,25559],[12783,25569],[12784,25608],[12785,25598],[12786,25604],[12787,25600],[12788,25574],[12790,25589],[12791,25596],[12792,25610],[12793,25597],[12795,25582],[12796,25605],[12797,25588],[12800,25606],[12805,25607],[12807,25617],[12808,25656],[12809,25646],[12810,25652],[12811,25648],[12812,25622],[12814,25637],[12815,25644],[12816,25658],[12817,25645],[12819,25630],[12820,25653],[12821,25636],[12824,25654],[12829,25655],[12831,25665],[12832,25704],[12833,25694],[12834,25700],[12835,25696],[12836,25670],[12838,25685],[12839,25692],[12840,25706],[12841,25693],[12843,25678],[12844,25701],[12845,25684],[12848,25702],[12853,25703],[12855,25713],[12856,25752],[12857,25742],[12858,25748],[12859,25744],[12860,25718],[12862,25733],[12863,25740],[12864,25754],[12865,25741],[12867,25726],[12868,25749],[12869,25732],[12872,25750],[12877,25751],[12879,25761],[12880,25800],[12881,25790],[12882,25796],[12883,25792],[12884,25766],[12886,25781],[12887,25788],[12888,25802],[12889,25789],[12891,25774],[12892,25797],[12893,25780],[12896,25798],[12901,25799],[12903,25809],[12904,25848],[12905,25838],[12906,25844],[12907,25840],[12908,25814],[12910,25829],[12911,25836],[12912,25850],[12913,25837],[12915,25822],[12916,25845],[12917,25828],[12920,25846],[12925,25847],[12927,25857],[12928,25896],[12929,25886],[12930,25892],[12931,25888],[12932,25862],[12934,25877],[12935,25884],[12936,25898],[12937,25885],[12939,25870],[12940,25893],[12941,25876],[12944,25894],[12949,25895],[12951,25905],[12952,25944],[12953,25934],[12954,25940],[12955,25936],[12956,25910],[12958,25925],[12959,25932],[12960,25946],[12961,25933],[12963,25918],[12964,25941],[12965,25924],[12968,25942],[12973,25943],[12975,25953],[12976,25992],[12977,25982],[12978,25988],[12979,25984],[12980,25958],[12982,25973],[12983,25980],[12984,25994],[12985,25981],[12987,25966],[12988,25989],[12989,25972],[12992,25990],[12997,25991],[12999,26001],[13000,26040],[13001,26030],[13002,26036],[13003,26032],[13004,26006],[13006,26021],[13007,26028],[13008,26042],[13009,26029],[13011,26014],[13012,26037],[13013,26020],[13016,26038],[13021,26039],[13023,26049],[13024,26088],[13025,26078],[13026,26084],[13027,26080],[13028,26054],[13030,26069],[13031,26076],[13032,26090],[13033,26077],[13035,26062],[13036,26085],[13037,26068],[13040,26086],[13045,26087],[13047,26097],[13048,26136],[13049,26126],[13050,26132],[13051,26128],[13052,26102],[13054,26117],[13055,26124],[13056,26138],[13057,26125],[13059,26110],[13060,26133],[13061,26116],[13064,26134],[13069,26135],[13071,26145],[13072,26184],[13073,26174],[13074,26180],[13075,26176],[13076,26150],[13078,26165],[13079,26172],[13080,26186],[13081,26173],[13083,26158],[13084,26181],[13085,26164],[13088,26182],[13093,26183],[13095,26193],[13096,26232],[13097,26222],[13098,26228],[13099,26224],[13100,26198],[13102,26213],[13103,26220],[13104,26234],[13105,26221],[13107,26206],[13108,26229],[13109,26212],[13112,26230],[13117,26231],[13119,26241],[13120,26280],[13121,26270],[13122,26276],[13123,26272],[13124,26246],[13126,26261],[13127,26268],[13128,26282],[13129,26269],[13131,26254],[13132,26277],[13133,26260],[13136,26278],[13141,26279],[13143,26289],[13144,26328],[13145,26318],[13146,26324],[13147,26320],[13148,26294],[13150,26309],[13151,26316],[13152,26330],[13153,26317],[13155,26302],[13156,26325],[13157,26308],[13160,26326],[13165,26327],[13167,26337],[13168,26376],[13169,26366],[13170,26372],[13171,26368],[13172,26342],[13174,26357],[13175,26364],[13176,26378],[13177,26365],[13179,26350],[13180,26373],[13181,26356],[13184,26374],[13189,26375],[13191,26385],[13192,26424],[13193,26414],[13194,26420],[13195,26416],[13196,26390],[13198,26405],[13199,26412],[13200,26426],[13201,26413],[13203,26398],[13204,26421],[13205,26404],[13208,26422],[13213,26423],[13215,26433],[13216,26472],[13217,26462],[13218,26468],[13219,26464],[13220,26438],[13222,26453],[13223,26460],[13224,26474],[13225,26461],[13227,26446],[13228,26469],[13229,26452],[13232,26470],[13237,26471],[13239,26481],[13240,26520],[13241,26510],[13242,26516],[13243,26512],[13244,26486],[13246,26501],[13247,26508],[13248,26522],[13249,26509],[13251,26494],[13252,26517],[13253,26500],[13256,26518],[13261,26519],[13263,26529],[13264,26568],[13265,26558],[13266,26564],[13267,26560],[13268,26534],[13270,26549],[13271,26556],[13272,26570],[13273,26557],[13275,26542],[13276,26565],[13277,26548],[13280,26566],[13285,26567],[13287,26577],[13288,26616],[13289,26606],[13290,26612],[13291,26608],[13292,26582],[13294,26597],[13295,26604],[13296,26618],[13297,26605],[13299,26590],[13300,26613],[13301,26596],[13304,26614],[13309,26615],[13311,26625],[13312,26664],[13313,26654],[13314,26660],[13315,26656],[13316,26630],[13318,26645],[13319,26652],[13320,26666],[13321,26653],[13323,26638],[13324,26661],[13325,26644],[13328,26662],[13333,26663],[13335,26673],[13336,26712],[13337,26702],[13338,26708],[13339,26704],[13340,26678],[13342,26693],[13343,26700],[13344,26714],[13345,26701],[13347,26686],[13348,26709],[13349,26692],[13352,26710],[13357,26711],[13359,26721],[13360,26760],[13361,26750],[13362,26756],[13363,26752],[13364,26726],[13366,26741],[13367,26748],[13368,26762],[13369,26749],[13371,26734],[13372,26757],[13373,26740],[13376,26758],[13381,26759],[13383,26769],[13384,26808],[13385,26798],[13386,26804],[13387,26800],[13388,26774],[13390,26789],[13391,26796],[13392,26810],[13393,26797],[13395,26782],[13396,26805],[13397,26788],[13400,26806],[13405,26807],[13407,26817],[13408,26856],[13409,26846],[13410,26852],[13411,26848],[13412,26822],[13414,26837],[13415,26844],[13416,26858],[13417,26845],[13419,26830],[13420,26853],[13421,26836],[13424,26854],[13429,26855],[13431,26865],[13432,26904],[13433,26894],[13434,26900],[13435,26896],[13436,26870],[13438,26885],[13439,26892],[13440,26906],[13441,26893],[13443,26878],[13444,26901],[13445,26884],[13448,26902],[13453,26903],[13455,26913],[13456,26952],[13457,26942],[13458,26948],[13459,26944],[13460,26918],[13462,26933],[13463,26940],[13464,26954],[13465,26941],[13467,26926],[13468,26949],[13469,26932],[13472,26950],[13477,26951],[13479,26961],[13480,27000],[13481,26990],[13482,26996],[13483,26992],[13484,26966],[13486,26981],[13487,26988],[13488,27002],[13489,26989],[13491,26974],[13492,26997],[13493,26980],[13496,26998],[13501,26999],[13503,27009],[13504,27048],[13505,27038],[13506,27044],[13507,27040],[13508,27014],[13510,27029],[13511,27036],[13512,27050],[13513,27037],[13515,27022],[13516,27045],[13517,27028],[13520,27046],[13525,27047],[13527,27057],[13528,27096],[13529,27086],[13530,27092],[13531,27088],[13532,27062],[13534,27077],[13535,27084],[13536,27098],[13537,27085],[13539,27070],[13540,27093],[13541,27076],[13544,27094],[13549,27095],[13551,27105],[13552,27144],[13553,27134],[13554,27140],[13555,27136],[13556,27110],[13558,27125],[13559,27132],[13560,27146],[13561,27133],[13563,27118],[13564,27141],[13565,27124],[13568,27142],[13573,27143],[13575,27153],[13576,27192],[13577,27182],[13578,27188],[13579,27184],[13580,27158],[13582,27173],[13583,27180],[13584,27194],[13585,27181],[13587,27166],[13588,27189],[13589,27172],[13592,27190],[13597,27191],[13599,27201],[13600,27240],[13601,27230],[13602,27236],[13603,27232],[13604,27206],[13606,27221],[13607,27228],[13608,27242],[13609,27229],[13611,27214],[13612,27237],[13613,27220],[13616,27238],[13621,27239],[13623,27249],[13624,27288],[13625,27278],[13626,27284],[13627,27280],[13628,27254],[13630,27269],[13631,27276],[13632,27290],[13633,27277],[13635,27262],[13636,27285],[13637,27268],[13640,27286],[13645,27287],[13647,27297],[13648,27336],[13649,27326],[13650,27332],[13651,27328],[13652,27302],[13654,27317],[13655,27324],[13656,27338],[13657,27325],[13659,27310],[13660,27333],[13661,27316],[13664,27334],[13669,27335],[13671,27345],[13672,27384],[13673,27374],[13674,27380],[13675,27376],[13676,27350],[13678,27365],[13679,27372],[13680,27386],[13681,27373],[13683,27358],[13684,27381],[13685,27364],[13688,27382],[13693,27383],[13695,27393],[13696,27432],[13697,27422],[13698,27428],[13699,27424],[13700,27398],[13702,27413],[13703,27420],[13704,27434],[13705,27421],[13707,27406],[13708,27429],[13709,27412],[13712,27430],[13717,27431],[13719,27441],[13720,27480],[13721,27470],[13722,27476],[13723,27472],[13724,27446],[13726,27461],[13727,27468],[13728,27482],[13729,27469],[13731,27454],[13732,27477],[13733,27460],[13736,27478],[13741,27479],[13743,27489],[13744,27528],[13745,27518],[13746,27524],[13747,27520],[13748,27494],[13750,27509],[13751,27516],[13752,27530],[13753,27517],[13755,27502],[13756,27525],[13757,27508],[13760,27526],[13765,27527],[13767,27537],[13768,27576],[13769,27566],[13770,27572],[13771,27568],[13772,27542],[13774,27557],[13775,27564],[13776,27578],[13777,27565],[13779,27550],[13780,27573],[13781,27556],[13784,27574],[13789,27575],[13791,27585],[13792,27624],[13793,27614],[13794,27620],[13795,27616],[13796,27590],[13798,27605],[13799,27612],[13800,27626],[13801,27613],[13803,27598],[13804,27621],[13805,27604],[13808,27622],[13813,27623],[13815,27633],[13816,27672],[13817,27662],[13818,27668],[13819,27664],[13820,27638],[13822,27653],[13823,27660],[13824,27674],[13825,27661],[13827,27646],[13828,27669],[13829,27652],[13832,27670],[13837,27671],[13839,27681],[13840,27720],[13841,27710],[13842,27716],[13843,27712],[13844,27686],[13846,27701],[13847,27708],[13848,27722],[13849,27709],[13851,27694],[13852,27717],[13853,27700],[13856,27718],[13861,27719],[13863,27729],[13864,27768],[13865,27758],[13866,27764],[13867,27760],[13868,27734],[13870,27749],[13871,27756],[13872,27770],[13873,27757],[13875,27742],[13876,27765],[13877,27748],[13880,27766],[13885,27767],[13887,27777],[13888,27816],[13889,27806],[13890,27812],[13891,27808],[13892,27782],[13894,27797],[13895,27804],[13896,27818],[13897,27805],[13899,27790],[13900,27813],[13901,27796],[13904,27814],[13909,27815],[13911,27825],[13912,27864],[13913,27854],[13914,27860],[13915,27856],[13916,27830],[13918,27845],[13919,27852],[13920,27866],[13921,27853],[13923,27838],[13924,27861],[13925,27844],[13928,27862],[13933,27863],[13935,27873],[13936,27912],[13937,27902],[13938,27908],[13939,27904],[13940,27878],[13942,27893],[13943,27900],[13944,27914],[13945,27901],[13947,27886],[13948,27909],[13949,27892],[13952,27910],[13957,27911],[13959,27921],[13960,27960],[13961,27950],[13962,27956],[13963,27952],[13964,27926],[13966,27941],[13967,27948],[13968,27962],[13969,27949],[13971,27934],[13972,27957],[13973,27940],[13976,27958],[13981,27959],[13983,27969],[13984,28008],[13985,27998],[13986,28004],[13987,28000],[13988,27974],[13990,27989],[13991,27996],[13992,28010],[13993,27997],[13995,27982],[13996,28005],[13997,27988],[14000,28006],[14005,28007],[14007,28017],[14008,28056],[14009,28046],[14010,28052],[14011,28048],[14012,28022],[14014,28037],[14015,28044],[14016,28058],[14017,28045],[14019,28030],[14020,28053],[14021,28036],[14024,28054],[14029,28055],[14031,28065],[14032,28104],[14033,28094],[14034,28100],[14035,28096],[14036,28070],[14038,28085],[14039,28092],[14040,28106],[14041,28093],[14043,28078],[14044,28101],[14045,28084],[14048,28102],[14053,28103],[14055,28113],[14056,28152],[14057,28142],[14058,28148],[14059,28144],[14060,28118],[14062,28133],[14063,28140],[14064,28154],[14065,28141],[14067,28126],[14068,28149],[14069,28132],[14072,28150],[14077,28151],[14079,28161],[14080,28200],[14081,28190],[14082,28196],[14083,28192],[14084,28166],[14086,28181],[14087,28188],[14088,28202],[14089,28189],[14091,28174],[14092,28197],[14093,28180],[14096,28198],[14101,28199],[14103,28209],[14104,28248],[14105,28238],[14106,28244],[14107,28240],[14108,28214],[14110,28229],[14111,28236],[14112,28250],[14113,28237],[14115,28222],[14116,28245],[14117,28228],[14120,28246],[14125,28247],[14127,28257],[14128,28296],[14129,28286],[14130,28292],[14131,28288],[14132,28262],[14134,28277],[14135,28284],[14136,28298],[14137,28285],[14139,28270],[14140,28293],[14141,28276],[14144,28294],[14149,28295],[14151,28305],[14152,28344],[14153,28334],[14154,28340],[14155,28336],[14156,28310],[14158,28325],[14159,28332],[14160,28346],[14161,28333],[14163,28318],[14164,28341],[14165,28324],[14168,28342],[14173,28343],[14175,28353],[14176,28392],[14177,28382],[14178,28388],[14179,28384],[14180,28358],[14182,28373],[14183,28380],[14184,28394],[14185,28381],[14187,28366],[14188,28389],[14189,28372],[14192,28390],[14197,28391],[14199,28401],[14200,28440],[14201,28430],[14202,28436],[14203,28432],[14204,28406],[14206,28421],[14207,28428],[14208,28442],[14209,28429],[14211,28414],[14212,28437],[14213,28420],[14216,28438],[14221,28439],[14223,28449],[14224,28488],[14225,28478],[14226,28484],[14227,28480],[14228,28454],[14230,28469],[14231,28476],[14232,28490],[14233,28477],[14235,28462],[14236,28485],[14237,28468],[14240,28486],[14245,28487],[14247,28497],[14248,28536],[14249,28526],[14250,28532],[14251,28528],[14252,28502],[14254,28517],[14255,28524],[14256,28538],[14257,28525],[14259,28510],[14260,28533],[14261,28516],[14264,28534],[14269,28535],[14271,28545],[14272,28584],[14273,28574],[14274,28580],[14275,28576],[14276,28550],[14278,28565],[14279,28572],[14280,28586],[14281,28573],[14283,28558],[14284,28581],[14285,28564],[14288,28582],[14293,28583],[14295,28593],[14296,28632],[14297,28622],[14298,28628],[14299,28624],[14300,28598],[14302,28613],[14303,28620],[14304,28634],[14305,28621],[14307,28606],[14308,28629],[14309,28612],[14312,28630],[14317,28631],[14319,28641],[14320,28680],[14321,28670],[14322,28676],[14323,28672],[14324,28646],[14326,28661],[14327,28668],[14328,28682],[14329,28669],[14331,28654],[14332,28677],[14333,28660],[14336,28678],[14341,28679],[14343,28689],[14344,28728],[14345,28718],[14346,28724],[14347,28720],[14348,28694],[14350,28709],[14351,28716],[14352,28730],[14353,28717],[14355,28702],[14356,28725],[14357,28708],[14360,28726],[14365,28727],[14367,28737],[14368,28776],[14369,28766],[14370,28772],[14371,28768],[14372,28742],[14374,28757],[14375,28764],[14376,28778],[14377,28765],[14379,28750],[14380,28773],[14381,28756],[14384,28774],[14389,28775],[14391,28785],[14392,28824],[14393,28814],[14394,28820],[14395,28816],[14396,28790],[14398,28805],[14399,28812],[14400,28826],[14401,28813],[14403,28798],[14404,28821],[14405,28804],[14408,28822],[14413,28823],[14415,28833],[14416,28872],[14417,28862],[14418,28868],[14419,28864],[14420,28838],[14422,28853],[14423,28860],[14424,28874],[14425,28861],[14427,28846],[14428,28869],[14429,28852],[14432,28870],[14437,28871],[14439,28881],[14440,28920],[14441,28910],[14442,28916],[14443,28912],[14444,28886],[14446,28901],[14447,28908],[14448,28922],[14449,28909],[14451,28894],[14452,28917],[14453,28900],[14456,28918],[14461,28919],[14463,28929],[14464,28968],[14465,28958],[14466,28964],[14467,28960],[14468,28934],[14470,28949],[14471,28956],[14472,28970],[14473,28957],[14475,28942],[14476,28965],[14477,28948],[14480,28966],[14485,28967],[14487,28977],[14488,29016],[14489,29006],[14490,29012],[14491,29008],[14492,28982],[14494,28997],[14495,29004],[14496,29018],[14497,29005],[14499,28990],[14500,29013],[14501,28996],[14504,29014],[14509,29015],[14511,29025],[14512,29064],[14513,29054],[14514,29060],[14515,29056],[14516,29030],[14518,29045],[14519,29052],[14520,29066],[14521,29053],[14523,29038],[14524,29061],[14525,29044],[14528,29062],[14533,29063],[14535,29073],[14536,29112],[14537,29102],[14538,29108],[14539,29104],[14540,29078],[14542,29093],[14543,29100],[14544,29114],[14545,29101],[14547,29086],[14548,29109],[14549,29092],[14552,29110],[14557,29111],[14559,29121],[14560,29160],[14561,29150],[14562,29156],[14563,29152],[14564,29126],[14566,29141],[14567,29148],[14568,29162],[14569,29149],[14571,29134],[14572,29157],[14573,29140],[14576,29158],[14581,29159],[14583,29169],[14584,29208],[14585,29198],[14586,29204],[14587,29200],[14588,29174],[14590,29189],[14591,29196],[14592,29210],[14593,29197],[14595,29182],[14596,29205],[14597,29188],[14600,29206],[14605,29207],[14607,29217],[14608,29256],[14609,29246],[14610,29252],[14611,29248],[14612,29222],[14614,29237],[14615,29244],[14616,29258],[14617,29245],[14619,29230],[14620,29253],[14621,29236],[14624,29254],[14629,29255],[14631,29265],[14632,29304],[14633,29294],[14634,29300],[14635,29296],[14636,29270],[14638,29285],[14639,29292],[14640,29306],[14641,29293],[14643,29278],[14644,29301],[14645,29284],[14648,29302],[14653,29303],[14655,29313],[14656,29352],[14657,29342],[14658,29348],[14659,29344],[14660,29318],[14662,29333],[14663,29340],[14664,29354],[14665,29341],[14667,29326],[14668,29349],[14669,29332],[14672,29350],[14677,29351],[14679,29361],[14680,29400],[14681,29390],[14682,29396],[14683,29392],[14684,29366],[14686,29381],[14687,29388],[14688,29402],[14689,29389],[14691,29374],[14692,29397],[14693,29380],[14696,29398],[14701,29399],[14703,29417],[14705,29421],[14707,29432],[14709,29436],[14711,29409],[14713,29413],[14715,29424],[14717,29428],[14719,29449],[14721,29453],[14723,29464],[14725,29468],[14727,29441],[14729,29445],[14731,29456],[14733,29460],[14735,29481],[14737,29485],[14739,29496],[14741,29500],[14743,29473],[14745,29477],[14747,29488],[14749,29492],[14751,29513],[14753,29517],[14755,29528],[14757,29532],[14759,29505],[14761,29509],[14763,29520],[14765,29524],[14767,29545],[14769,29549],[14771,29560],[14773,29564],[14775,29537],[14777,29541],[14779,29552],[14781,29556],[14783,29577],[14785,29581],[14787,29592],[14789,29596],[14791,29569],[14793,29573],[14795,29584],[14797,29588],[14799,29609],[14801,29613],[14803,29624],[14805,29628],[14807,29601],[14809,29605],[14811,29616],[14813,29620],[14815,29641],[14817,29645],[14819,29656],[14821,29660],[14823,29633],[14825,29637],[14827,29648],[14829,29652],[14831,29673],[14833,29677],[14835,29688],[14837,29692],[14839,29665],[14841,29669],[14843,29680],[14845,29684],[14847,29705],[14849,29709],[14851,29720],[14853,29724],[14855,29697],[14857,29701],[14859,29712],[14861,29716],[14863,29737],[14865,29741],[14867,29752],[14869,29756],[14871,29729],[14873,29733],[14875,29744],[14877,29748],[14879,29769],[14881,29773],[14883,29784],[14885,29788],[14887,29761],[14889,29765],[14891,29776],[14893,29780],[14895,29801],[14897,29805],[14899,29816],[14901,29820],[14903,29793],[14905,29797],[14907,29808],[14909,29812],[14911,29833],[14913,29837],[14915,29848],[14917,29852],[14919,29825],[14921,29829],[14923,29840],[14925,29844],[14927,29865],[14929,29869],[14931,29880],[14933,29884],[14935,29857],[14937,29861],[14939,29872],[14941,29876],[14943,29897],[14945,29901],[14947,29912],[14949,29916],[14951,29889],[14953,29893],[14955,29904],[14957,29908],[14959,29929],[14961,29933],[14963,29944],[14965,29948],[14967,29921],[14969,29925],[14971,29936],[14973,29940],[14975,29961],[14977,29965],[14979,29976],[14981,29980],[14983,29953],[14985,29957],[14987,29968],[14989,29972],[14991,29993],[14993,29997],[14995,30008],[14997,30012],[14999,29985],[15001,29989],[15003,30000],[15005,30004],[15007,30025],[15009,30029],[15011,30040],[15013,30044],[15015,30017],[15017,30021],[15019,30032],[15021,30036],[15023,30057],[15025,30061],[15027,30072],[15029,30076],[15031,30049],[15033,30053],[15035,30064],[15037,30068],[15039,30089],[15041,30093],[15043,30104],[15045,30108],[15047,30081],[15049,30085],[15051,30096],[15053,30100],[15055,30121],[15057,30125],[15059,30136],[15061,30140],[15063,30113],[15065,30117],[15067,30128],[15069,30132],[15071,30153],[15073,30157],[15075,30168],[15077,30172],[15079,30145],[15081,30149],[15083,30160],[15085,30164],[15087,30185],[15089,30189],[15091,30200],[15093,30204],[15095,30177],[15097,30181],[15099,30192],[15101,30196],[15103,30217],[15105,30221],[15107,30232],[15109,30236],[15111,30209],[15113,30213],[15115,30224],[15117,30228],[15119,30249],[15121,30253],[15123,30264],[15125,30268],[15127,30241],[15129,30245],[15131,30256],[15133,30260],[15135,30281],[15137,30285],[15139,30296],[15141,30300],[15143,30273],[15145,30277],[15147,30288],[15149,30292],[15151,30313],[15153,30317],[15155,30328],[15157,30332],[15159,30305],[15161,30309],[15163,30320],[15165,30324],[15167,30345],[15169,30349],[15171,30360],[15173,30364],[15175,30337],[15177,30341],[15179,30352],[15181,30356],[15183,30377],[15185,30381],[15187,30392],[15189,30396],[15191,30369],[15193,30373],[15195,30384],[15197,30388],[15199,30409],[15201,30413],[15203,30424],[15205,30428],[15207,30401],[15209,30405],[15211,30416],[15213,30420],[15215,30441],[15217,30445],[15219,30456],[15221,30460],[15223,30433],[15225,30437],[15227,30448],[15229,30452],[15231,30473],[15233,30477],[15235,30488],[15237,30492],[15239,30465],[15241,30469],[15243,30480],[15245,30484],[15247,30505],[15249,30509],[15251,30520],[15253,30524],[15255,30497],[15257,30501],[15259,30512],[15261,30516],[15263,30537],[15265,30541],[15267,30552],[15269,30556],[15271,30529],[15273,30533],[15275,30544],[15277,30548],[15279,30569],[15281,30573],[15283,30584],[15285,30588],[15287,30561],[15289,30565],[15291,30576],[15293,30580],[15295,30601],[15297,30605],[15299,30616],[15301,30620],[15303,30593],[15305,30597],[15307,30608],[15309,30612],[15311,30633],[15313,30637],[15315,30648],[15317,30652],[15319,30625],[15321,30629],[15323,30640],[15325,30644],[15327,30665],[15329,30669],[15331,30680],[15333,30684],[15335,30657],[15337,30661],[15339,30672],[15341,30676],[15343,30697],[15345,30701],[15347,30712],[15349,30716],[15351,30689],[15353,30693],[15355,30704],[15357,30708],[15359,30729],[15361,30733],[15363,30744],[15365,30748],[15367,30721],[15369,30725],[15371,30736],[15373,30740],[15375,30761],[15377,30765],[15379,30776],[15381,30780],[15383,30753],[15385,30757],[15387,30768],[15389,30772],[15391,30793],[15393,30797],[15395,30808],[15397,30812],[15399,30785],[15401,30789],[15403,30800],[15405,30804],[15407,30825],[15409,30829],[15411,30840],[15413,30844],[15415,30817],[15417,30821],[15419,30832],[15421,30836],[15423,30857],[15425,30861],[15427,30872],[15429,30876],[15431,30849],[15433,30853],[15435,30864],[15437,30868],[15439,30889],[15441,30893],[15443,30904],[15445,30908],[15447,30881],[15449,30885],[15451,30896],[15453,30900],[15455,30921],[15457,30925],[15459,30936],[15461,30940],[15463,30913],[15465,30917],[15467,30928],[15469,30932],[15471,30953],[15473,30957],[15475,30968],[15477,30972],[15479,30945],[15481,30949],[15483,30960],[15485,30964],[15487,30985],[15489,30989],[15491,31000],[15493,31004],[15495,30977],[15497,30981],[15499,30992],[15501,30996],[15503,31017],[15505,31021],[15507,31032],[15509,31036],[15511,31009],[15513,31013],[15515,31024],[15517,31028],[15519,31049],[15521,31053],[15523,31064],[15525,31068],[15527,31041],[15529,31045],[15531,31056],[15533,31060],[15535,31081],[15537,31085],[15539,31096],[15541,31100],[15543,31073],[15545,31077],[15547,31088],[15549,31092],[15551,31113],[15553,31117],[15555,31128],[15557,31132],[15559,31105],[15561,31109],[15563,31120],[15565,31124],[15567,31145],[15569,31149],[15571,31160],[15573,31164],[15575,31137],[15577,31141],[15579,31152],[15581,31156],[15583,31177],[15585,31181],[15587,31192],[15589,31196],[15591,31169],[15593,31173],[15595,31184],[15597,31188],[15599,31209],[15601,31213],[15603,31224],[15605,31228],[15607,31201],[15609,31205],[15611,31216],[15613,31220],[15615,31241],[15617,31245],[15619,31256],[15621,31260],[15623,31233],[15625,31237],[15627,31248],[15629,31252],[15631,31273],[15633,31277],[15635,31288],[15637,31292],[15639,31265],[15641,31269],[15643,31280],[15645,31284],[15647,31305],[15649,31309],[15651,31320],[15653,31324],[15655,31297],[15657,31301],[15659,31312],[15661,31316],[15663,31337],[15665,31341],[15667,31352],[15669,31356],[15671,31329],[15673,31333],[15675,31344],[15677,31348],[15679,31369],[15681,31373],[15683,31384],[15685,31388],[15687,31361],[15689,31365],[15691,31376],[15693,31380],[15695,31401],[15697,31405],[15699,31416],[15701,31420],[15703,31393],[15705,31397],[15707,31408],[15709,31412],[15711,31433],[15713,31437],[15715,31448],[15717,31452],[15719,31425],[15721,31429],[15723,31440],[15725,31444],[15727,31465],[15729,31469],[15731,31480],[15733,31484],[15735,31457],[15737,31461],[15739,31472],[15741,31476],[15743,31497],[15745,31501],[15747,31512],[15749,31516],[15751,31489],[15753,31493],[15755,31504],[15757,31508],[15759,31529],[15761,31533],[15763,31544],[15765,31548],[15767,31521],[15769,31525],[15771,31536],[15773,31540],[15775,31561],[15777,31565],[15779,31576],[15781,31580],[15783,31553],[15785,31557],[15787,31568],[15789,31572],[15791,31593],[15793,31597],[15795,31608],[15797,31612],[15799,31585],[15801,31589],[15803,31600],[15805,31604],[15807,31625],[15809,31629],[15811,31640],[15813,31644],[15815,31617],[15817,31621],[15819,31632],[15821,31636],[15823,31657],[15825,31661],[15827,31672],[15829,31676],[15831,31649],[15833,31653],[15835,31664],[15837,31668],[15839,31689],[15841,31693],[15843,31704],[15845,31708],[15847,31681],[15849,31685],[15851,31696],[15853,31700],[15855,31721],[15857,31725],[15859,31736],[15861,31740],[15863,31713],[15865,31717],[15867,31728],[15869,31732],[15871,31753],[15873,31757],[15875,31768],[15877,31772],[15879,31745],[15881,31749],[15883,31760],[15885,31764],[15887,31785],[15889,31789],[15891,31800],[15893,31804],[15895,31777],[15897,31781],[15899,31792],[15901,31796],[15903,31817],[15905,31821],[15907,31832],[15909,31836],[15911,31809],[15913,31813],[15915,31824],[15917,31828],[15919,31849],[15921,31853],[15923,31864],[15925,31868],[15927,31841],[15929,31845],[15931,31856],[15933,31860],[15935,31881],[15937,31885],[15939,31896],[15941,31900],[15943,31873],[15945,31877],[15947,31888],[15949,31892],[15951,31913],[15953,31917],[15955,31928],[15957,31932],[15959,31905],[15961,31909],[15963,31920],[15965,31924],[15967,31945],[15969,31949],[15971,31960],[15973,31964],[15975,31937],[15977,31941],[15979,31952],[15981,31956],[15983,31977],[15985,31981],[15987,31992],[15989,31996],[15991,31969],[15993,31973],[15995,31984],[15997,31988],[15999,32009],[16001,32013],[16003,32024],[16005,32028],[16007,32001],[16009,32005],[16011,32016],[16013,32020],[16015,32041],[16017,32045],[16019,32056],[16021,32060],[16023,32033],[16025,32037],[16027,32048],[16029,32052],[16031,32073],[16033,32077],[16035,32088],[16037,32092],[16039,32065],[16041,32069],[16043,32080],[16045,32084],[16047,32105],[16049,32109],[16051,32120],[16053,32124],[16055,32097],[16057,32101],[16059,32112],[16061,32116],[16063,32137],[16065,32141],[16067,32152],[16069,32156],[16071,32129],[16073,32133],[16075,32144],[16077,32148],[16079,32169],[16081,32173],[16083,32184],[16085,32188],[16087,32161],[16089,32165],[16091,32176],[16093,32180],[16095,32201],[16097,32205],[16099,32216],[16101,32220],[16103,32193],[16105,32197],[16107,32208],[16109,32212],[16111,32233],[16113,32237],[16115,32248],[16117,32252],[16119,32225],[16121,32229],[16123,32240],[16125,32244],[16127,32265],[16129,32269],[16131,32280],[16133,32284],[16135,32257],[16137,32261],[16139,32272],[16141,32276],[16143,32297],[16145,32301],[16147,32312],[16149,32316],[16151,32289],[16153,32293],[16155,32304],[16157,32308],[16159,32329],[16161,32333],[16163,32344],[16165,32348],[16167,32321],[16169,32325],[16171,32336],[16173,32340],[16175,32361],[16177,32365],[16179,32376],[16181,32380],[16183,32353],[16185,32357],[16187,32368],[16189,32372],[16191,32393],[16193,32397],[16195,32408],[16197,32412],[16199,32385],[16201,32389],[16203,32400],[16205,32404],[16207,32425],[16209,32429],[16211,32440],[16213,32444],[16215,32417],[16217,32421],[16219,32432],[16221,32436],[16223,32457],[16225,32461],[16227,32472],[16229,32476],[16231,32449],[16233,32453],[16235,32464],[16237,32468],[16239,32489],[16241,32493],[16243,32504],[16245,32508],[16247,32481],[16249,32485],[16251,32496],[16253,32500],[16255,32521],[16257,32525],[16259,32536],[16261,32540],[16263,32513],[16265,32517],[16267,32528],[16269,32532],[16271,32553],[16273,32557],[16275,32568],[16277,32572],[16279,32545],[16281,32549],[16283,32560],[16285,32564],[16287,32585],[16289,32589],[16291,32600],[16293,32604],[16295,32577],[16297,32581],[16299,32592],[16301,32596],[16303,32617],[16305,32621],[16307,32632],[16309,32636],[16311,32609],[16313,32613],[16315,32624],[16317,32628],[16319,32649],[16321,32653],[16323,32664],[16325,32668],[16327,32641],[16329,32645],[16331,32656],[16333,32660],[16335,32681],[16337,32685],[16339,32696],[16341,32700],[16343,32673],[16345,32677],[16347,32688],[16349,32692],[16351,32713],[16353,32717],[16355,32728],[16357,32732],[16359,32705],[16361,32709],[16363,32720],[16365,32724],[16367,32745],[16369,32749],[16371,32760],[16373,32764],[16375,32737],[16377,32741],[16379,32752],[16381,32756],[16383,32777],[16385,32781],[16387,32792],[16389,32796],[16391,32769],[16393,32773],[16395,32784],[16397,32788],[16399,32809],[16401,32813],[16403,32824],[16405,32828],[16407,32801],[16409,32805],[16411,32816],[16413,32820],[16415,32841],[16417,32845],[16419,32856],[16421,32860],[16423,32833],[16425,32837],[16427,32848],[16429,32852],[16431,32873],[16433,32877],[16435,32888],[16437,32892],[16439,32865],[16441,32869],[16443,32880],[16445,32884],[16447,32905],[16449,32909],[16451,32920],[16453,32924],[16455,32897],[16457,32901],[16459,32912],[16461,32916],[16463,32937],[16465,32941],[16467,32952],[16469,32956],[16471,32929],[16473,32933],[16475,32944],[16477,32948],[16479,32969],[16481,32973],[16483,32984],[16485,32988],[16487,32961],[16489,32965],[16491,32976],[16493,32980],[16495,33001],[16497,33005],[16499,33016],[16501,33020],[16503,32993],[16505,32997],[16507,33008],[16509,33012],[16511,33033],[16513,33037],[16515,33048],[16517,33052],[16519,33025],[16521,33029],[16523,33040],[16525,33044],[16527,33065],[16529,33069],[16531,33080],[16533,33084],[16535,33057],[16537,33061],[16539,33072],[16541,33076],[16543,33097],[16545,33101],[16547,33112],[16549,33116],[16551,33089],[16553,33093],[16555,33104],[16557,33108],[16559,33129],[16561,33133],[16563,33144],[16565,33148],[16567,33121],[16569,33125],[16571,33136],[16573,33140],[16575,33161],[16577,33165],[16579,33176],[16581,33180],[16583,33153],[16585,33157],[16587,33168],[16589,33172],[16591,33193],[16593,33197],[16595,33208],[16597,33212],[16599,33185],[16601,33189],[16603,33200],[16605,33204],[16607,33225],[16609,33229],[16611,33240],[16613,33244],[16615,33217],[16617,33221],[16619,33232],[16621,33236]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-frames.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-frames.json new file mode 100644 index 0000000000..2f91551281 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-frames.json @@ -0,0 +1 @@ +{"description":"Frozen operation frames (source_aligned_local_v4.py canonical form: operations whose frame differs from the closure frame), from PR200 descent on the aligned word and the script's forward closure.","frames":[[4800,[21,15]],[4801,[22,15]],[4802,[21,12,3]],[4803,[21,12,3]],[4804,[21,12,3]],[4805,[21,12,3]],[4806,[37,15]],[4807,[38,15]],[4808,[37,12,3]],[4809,[37,12,3]],[4810,[37,12,3]],[4811,[37,12,3]],[4812,[69,15]],[4813,[70,15]],[4814,[69,12,3]],[4815,[69,12,3]],[4816,[69,12,3]],[4817,[69,12,3]],[4818,[133,15]],[4819,[134,15]],[4820,[133,12,3]],[4821,[133,12,3]],[4822,[133,12,3]],[4823,[133,12,3]],[4824,[261,15]],[4825,[262,15]],[4826,[261,12,3]],[4827,[261,12,3]],[4828,[261,12,3]],[4829,[261,12,3]],[4830,[517,15]],[4831,[518,15]],[4832,[517,12,3]],[4833,[517,12,3]],[4834,[517,12,3]],[4835,[517,12,3]],[4836,[1029,15]],[4837,[1030,15]],[4838,[1029,12,3]],[4839,[1029,12,3]],[4840,[1029,12,3]],[4841,[1029,12,3]],[4842,[2053,15]],[4843,[2054,15]],[4844,[2053,12,3]],[4845,[2053,12,3]],[4846,[2053,12,3]],[4847,[2053,12,3]],[4848,[4101,15]],[4849,[4102,15]],[4850,[4101,12,3]],[4851,[4101,12,3]],[4852,[4101,12,3]],[4853,[4101,12,3]],[4854,[8197,15]],[4855,[8198,15]],[4856,[8197,12,3]],[4857,[8197,12,3]],[4858,[8197,12,3]],[4859,[8197,12,3]],[4860,[16389,15]],[4861,[16390,15]],[4862,[16389,12,3]],[4863,[16389,12,3]],[4864,[16389,12,3]],[4865,[16389,12,3]],[4866,[32773,15]],[4867,[32774,15]],[4868,[32773,12,3]],[4869,[32773,12,3]],[4870,[32773,12,3]],[4871,[32773,12,3]],[4872,[65541,15]],[4873,[65542,15]],[4874,[65541,12,3]],[4875,[65541,12,3]],[4876,[65541,12,3]],[4877,[65541,12,3]],[4878,[131077,15]],[4879,[131078,15]],[4880,[131077,12,3]],[4881,[131077,12,3]],[4882,[131077,12,3]],[4883,[131077,12,3]],[4884,[262149,15]],[4885,[262150,15]],[4886,[262149,12,3]],[4887,[262149,12,3]],[4888,[262149,12,3]],[4889,[262149,12,3]],[4890,[524293,15]],[4891,[524294,15]],[4892,[524293,12,3]],[4893,[524293,12,3]],[4894,[524293,12,3]],[4895,[524293,12,3]],[4896,[81,51]],[4897,[82,51]],[4898,[81,48,3]],[4899,[81,48,3]],[4900,[81,48,3]],[4901,[81,48,3]],[4902,[145,51]],[4903,[146,51]],[4904,[145,48,3]],[4905,[145,48,3]],[4906,[145,48,3]],[4907,[145,48,3]],[4908,[273,51]],[4909,[274,51]],[4910,[273,48,3]],[4911,[273,48,3]],[4912,[273,48,3]],[4913,[273,48,3]],[4914,[529,51]],[4915,[530,51]],[4916,[529,48,3]],[4917,[529,48,3]],[4918,[529,48,3]],[4919,[529,48,3]],[4920,[1041,51]],[4921,[1042,51]],[4922,[1041,48,3]],[4923,[1041,48,3]],[4924,[1041,48,3]],[4925,[1041,48,3]],[4926,[2065,51]],[4927,[2066,51]],[4928,[2065,48,3]],[4929,[2065,48,3]],[4930,[2065,48,3]],[4931,[2065,48,3]],[4932,[4113,51]],[4933,[4114,51]],[4934,[4113,48,3]],[4935,[4113,48,3]],[4936,[4113,48,3]],[4937,[4113,48,3]],[4938,[8209,51]],[4939,[8210,51]],[4940,[8209,48,3]],[4941,[8209,48,3]],[4942,[8209,48,3]],[4943,[8209,48,3]],[4944,[16401,51]],[4945,[16402,51]],[4946,[16401,48,3]],[4947,[16401,48,3]],[4948,[16401,48,3]],[4949,[16401,48,3]],[4950,[32785,51]],[4951,[32786,51]],[4952,[32785,48,3]],[4953,[32785,48,3]],[4954,[32785,48,3]],[4955,[32785,48,3]],[4956,[65553,51]],[4957,[65554,51]],[4958,[65553,48,3]],[4959,[65553,48,3]],[4960,[65553,48,3]],[4961,[65553,48,3]],[4962,[131089,51]],[4963,[131090,51]],[4964,[131089,48,3]],[4965,[131089,48,3]],[4966,[131089,48,3]],[4967,[131089,48,3]],[4968,[262161,51]],[4969,[262162,51]],[4970,[262161,48,3]],[4971,[262161,48,3]],[4972,[262161,48,3]],[4973,[262161,48,3]],[4974,[524305,51]],[4975,[524306,51]],[4976,[524305,48,3]],[4977,[524305,48,3]],[4978,[524305,48,3]],[4979,[524305,48,3]],[4980,[321,195]],[4981,[322,195]],[4982,[321,192,3]],[4983,[321,192,3]],[4984,[321,192,3]],[4985,[321,192,3]],[4986,[577,195]],[4987,[578,195]],[4988,[577,192,3]],[4989,[577,192,3]],[4990,[577,192,3]],[4991,[577,192,3]],[4992,[1089,195]],[4993,[1090,195]],[4994,[1089,192,3]],[4995,[1089,192,3]],[4996,[1089,192,3]],[4997,[1089,192,3]],[4998,[2113,195]],[4999,[2114,195]],[5000,[2113,192,3]],[5001,[2113,192,3]],[5002,[2113,192,3]],[5003,[2113,192,3]],[5004,[4161,195]],[5005,[4162,195]],[5006,[4161,192,3]],[5007,[4161,192,3]],[5008,[4161,192,3]],[5009,[4161,192,3]],[5010,[8257,195]],[5011,[8258,195]],[5012,[8257,192,3]],[5013,[8257,192,3]],[5014,[8257,192,3]],[5015,[8257,192,3]],[5016,[16449,195]],[5017,[16450,195]],[5018,[16449,192,3]],[5019,[16449,192,3]],[5020,[16449,192,3]],[5021,[16449,192,3]],[5022,[32833,195]],[5023,[32834,195]],[5024,[32833,192,3]],[5025,[32833,192,3]],[5026,[32833,192,3]],[5027,[32833,192,3]],[5028,[65601,195]],[5029,[65602,195]],[5030,[65601,192,3]],[5031,[65601,192,3]],[5032,[65601,192,3]],[5033,[65601,192,3]],[5034,[131137,195]],[5035,[131138,195]],[5036,[131137,192,3]],[5037,[131137,192,3]],[5038,[131137,192,3]],[5039,[131137,192,3]],[5040,[262209,195]],[5041,[262210,195]],[5042,[262209,192,3]],[5043,[262209,192,3]],[5044,[262209,192,3]],[5045,[262209,192,3]],[5046,[524353,195]],[5047,[524354,195]],[5048,[524353,192,3]],[5049,[524353,192,3]],[5050,[524353,192,3]],[5051,[524353,192,3]],[5052,[1281,771]],[5053,[1282,771]],[5054,[1281,768,3]],[5055,[1281,768,3]],[5056,[1281,768,3]],[5057,[1281,768,3]],[5058,[2305,771]],[5059,[2306,771]],[5060,[2305,768,3]],[5061,[2305,768,3]],[5062,[2305,768,3]],[5063,[2305,768,3]],[5064,[4353,771]],[5065,[4354,771]],[5066,[4353,768,3]],[5067,[4353,768,3]],[5068,[4353,768,3]],[5069,[4353,768,3]],[5070,[8449,771]],[5071,[8450,771]],[5072,[8449,768,3]],[5073,[8449,768,3]],[5074,[8449,768,3]],[5075,[8449,768,3]],[5076,[16641,771]],[5077,[16642,771]],[5078,[16641,768,3]],[5079,[16641,768,3]],[5080,[16641,768,3]],[5081,[16641,768,3]],[5082,[33025,771]],[5083,[33026,771]],[5084,[33025,768,3]],[5085,[33025,768,3]],[5086,[33025,768,3]],[5087,[33025,768,3]],[5088,[65793,771]],[5089,[65794,771]],[5090,[65793,768,3]],[5091,[65793,768,3]],[5092,[65793,768,3]],[5093,[65793,768,3]],[5094,[131329,771]],[5095,[131330,771]],[5096,[131329,768,3]],[5097,[131329,768,3]],[5098,[131329,768,3]],[5099,[131329,768,3]],[5100,[262401,771]],[5101,[262402,771]],[5102,[262401,768,3]],[5103,[262401,768,3]],[5104,[262401,768,3]],[5105,[262401,768,3]],[5106,[524545,771]],[5107,[524546,771]],[5108,[524545,768,3]],[5109,[524545,768,3]],[5110,[524545,768,3]],[5111,[524545,768,3]],[5112,[5121,3075]],[5113,[5122,3075]],[5114,[5121,3072,3]],[5115,[5121,3072,3]],[5116,[5121,3072,3]],[5117,[5121,3072,3]],[5118,[9217,3075]],[5119,[9218,3075]],[5120,[9217,3072,3]],[5121,[9217,3072,3]],[5122,[9217,3072,3]],[5123,[9217,3072,3]],[5124,[17409,3075]],[5125,[17410,3075]],[5126,[17409,3072,3]],[5127,[17409,3072,3]],[5128,[17409,3072,3]],[5129,[17409,3072,3]],[5130,[33793,3075]],[5131,[33794,3075]],[5132,[33793,3072,3]],[5133,[33793,3072,3]],[5134,[33793,3072,3]],[5135,[33793,3072,3]],[5136,[66561,3075]],[5137,[66562,3075]],[5138,[66561,3072,3]],[5139,[66561,3072,3]],[5140,[66561,3072,3]],[5141,[66561,3072,3]],[5142,[132097,3075]],[5143,[132098,3075]],[5144,[132097,3072,3]],[5145,[132097,3072,3]],[5146,[132097,3072,3]],[5147,[132097,3072,3]],[5148,[263169,3075]],[5149,[263170,3075]],[5150,[263169,3072,3]],[5151,[263169,3072,3]],[5152,[263169,3072,3]],[5153,[263169,3072,3]],[5154,[525313,3075]],[5155,[525314,3075]],[5156,[525313,3072,3]],[5157,[525313,3072,3]],[5158,[525313,3072,3]],[5159,[525313,3072,3]],[5160,[20481,12291]],[5161,[20482,12291]],[5162,[20481,12288,3]],[5163,[20481,12288,3]],[5164,[20481,12288,3]],[5165,[20481,12288,3]],[5166,[36865,12291]],[5167,[36866,12291]],[5168,[36865,12288,3]],[5169,[36865,12288,3]],[5170,[36865,12288,3]],[5171,[36865,12288,3]],[5172,[69633,12291]],[5173,[69634,12291]],[5174,[69633,12288,3]],[5175,[69633,12288,3]],[5176,[69633,12288,3]],[5177,[69633,12288,3]],[5178,[135169,12291]],[5179,[135170,12291]],[5180,[135169,12288,3]],[5181,[135169,12288,3]],[5182,[135169,12288,3]],[5183,[135169,12288,3]],[5184,[266241,12291]],[5185,[266242,12291]],[5186,[266241,12288,3]],[5187,[266241,12288,3]],[5188,[266241,12288,3]],[5189,[266241,12288,3]],[5190,[528385,12291]],[5191,[528386,12291]],[5192,[528385,12288,3]],[5193,[528385,12288,3]],[5194,[528385,12288,3]],[5195,[528385,12288,3]],[5196,[81921,49155]],[5197,[81922,49155]],[5198,[81921,49152,3]],[5199,[81921,49152,3]],[5200,[81921,49152,3]],[5201,[81921,49152,3]],[5202,[147457,49155]],[5203,[147458,49155]],[5204,[147457,49152,3]],[5205,[147457,49152,3]],[5206,[147457,49152,3]],[5207,[147457,49152,3]],[5208,[278529,49155]],[5209,[278530,49155]],[5210,[278529,49152,3]],[5211,[278529,49152,3]],[5212,[278529,49152,3]],[5213,[278529,49152,3]],[5214,[540673,49155]],[5215,[540674,49155]],[5216,[540673,49152,3]],[5217,[540673,49152,3]],[5218,[540673,49152,3]],[5219,[540673,49152,3]],[5220,[327681,196611]],[5221,[327682,196611]],[5222,[327681,196608,3]],[5223,[327681,196608,3]],[5224,[327681,196608,3]],[5225,[327681,196608,3]],[5226,[589825,196611]],[5227,[589826,196611]],[5228,[589825,196608,3]],[5229,[589825,196608,3]],[5230,[589825,196608,3]],[5231,[589825,196608,3]],[5232,[84,60]],[5233,[88,60]],[5234,[84,48,12]],[5235,[84,48,12]],[5236,[84,48,12]],[5237,[84,48,12]],[5238,[148,60]],[5239,[152,60]],[5240,[148,48,12]],[5241,[148,48,12]],[5242,[148,48,12]],[5243,[148,48,12]],[5244,[276,60]],[5245,[280,60]],[5246,[276,48,12]],[5247,[276,48,12]],[5248,[276,48,12]],[5249,[276,48,12]],[5250,[532,60]],[5251,[536,60]],[5252,[532,48,12]],[5253,[532,48,12]],[5254,[532,48,12]],[5255,[532,48,12]],[5256,[1044,60]],[5257,[1048,60]],[5258,[1044,48,12]],[5259,[1044,48,12]],[5260,[1044,48,12]],[5261,[1044,48,12]],[5262,[2068,60]],[5263,[2072,60]],[5264,[2068,48,12]],[5265,[2068,48,12]],[5266,[2068,48,12]],[5267,[2068,48,12]],[5268,[4116,60]],[5269,[4120,60]],[5270,[4116,48,12]],[5271,[4116,48,12]],[5272,[4116,48,12]],[5273,[4116,48,12]],[5274,[8212,60]],[5275,[8216,60]],[5276,[8212,48,12]],[5277,[8212,48,12]],[5278,[8212,48,12]],[5279,[8212,48,12]],[5280,[16404,60]],[5281,[16408,60]],[5282,[16404,48,12]],[5283,[16404,48,12]],[5284,[16404,48,12]],[5285,[16404,48,12]],[5286,[32788,60]],[5287,[32792,60]],[5288,[32788,48,12]],[5289,[32788,48,12]],[5290,[32788,48,12]],[5291,[32788,48,12]],[5292,[65556,60]],[5293,[65560,60]],[5294,[65556,48,12]],[5295,[65556,48,12]],[5296,[65556,48,12]],[5297,[65556,48,12]],[5298,[131092,60]],[5299,[131096,60]],[5300,[131092,48,12]],[5301,[131092,48,12]],[5302,[131092,48,12]],[5303,[131092,48,12]],[5304,[262164,60]],[5305,[262168,60]],[5306,[262164,48,12]],[5307,[262164,48,12]],[5308,[262164,48,12]],[5309,[262164,48,12]],[5310,[524308,60]],[5311,[524312,60]],[5312,[524308,48,12]],[5313,[524308,48,12]],[5314,[524308,48,12]],[5315,[524308,48,12]],[5316,[324,204]],[5317,[328,204]],[5318,[324,192,12]],[5319,[324,192,12]],[5320,[324,192,12]],[5321,[324,192,12]],[5322,[580,204]],[5323,[584,204]],[5324,[580,192,12]],[5325,[580,192,12]],[5326,[580,192,12]],[5327,[580,192,12]],[5328,[1092,204]],[5329,[1096,204]],[5330,[1092,192,12]],[5331,[1092,192,12]],[5332,[1092,192,12]],[5333,[1092,192,12]],[5334,[2116,204]],[5335,[2120,204]],[5336,[2116,192,12]],[5337,[2116,192,12]],[5338,[2116,192,12]],[5339,[2116,192,12]],[5340,[4164,204]],[5341,[4168,204]],[5342,[4164,192,12]],[5343,[4164,192,12]],[5344,[4164,192,12]],[5345,[4164,192,12]],[5346,[8260,204]],[5347,[8264,204]],[5348,[8260,192,12]],[5349,[8260,192,12]],[5350,[8260,192,12]],[5351,[8260,192,12]],[5352,[16452,204]],[5353,[16456,204]],[5354,[16452,192,12]],[5355,[16452,192,12]],[5356,[16452,192,12]],[5357,[16452,192,12]],[5358,[32836,204]],[5359,[32840,204]],[5360,[32836,192,12]],[5361,[32836,192,12]],[5362,[32836,192,12]],[5363,[32836,192,12]],[5364,[65604,204]],[5365,[65608,204]],[5366,[65604,192,12]],[5367,[65604,192,12]],[5368,[65604,192,12]],[5369,[65604,192,12]],[5370,[131140,204]],[5371,[131144,204]],[5372,[131140,192,12]],[5373,[131140,192,12]],[5374,[131140,192,12]],[5375,[131140,192,12]],[5376,[262212,204]],[5377,[262216,204]],[5378,[262212,192,12]],[5379,[262212,192,12]],[5380,[262212,192,12]],[5381,[262212,192,12]],[5382,[524356,204]],[5383,[524360,204]],[5384,[524356,192,12]],[5385,[524356,192,12]],[5386,[524356,192,12]],[5387,[524356,192,12]],[5388,[1284,780]],[5389,[1288,780]],[5390,[1284,768,12]],[5391,[1284,768,12]],[5392,[1284,768,12]],[5393,[1284,768,12]],[5394,[2308,780]],[5395,[2312,780]],[5396,[2308,768,12]],[5397,[2308,768,12]],[5398,[2308,768,12]],[5399,[2308,768,12]],[5400,[4356,780]],[5401,[4360,780]],[5402,[4356,768,12]],[5403,[4356,768,12]],[5404,[4356,768,12]],[5405,[4356,768,12]],[5406,[8452,780]],[5407,[8456,780]],[5408,[8452,768,12]],[5409,[8452,768,12]],[5410,[8452,768,12]],[5411,[8452,768,12]],[5412,[16644,780]],[5413,[16648,780]],[5414,[16644,768,12]],[5415,[16644,768,12]],[5416,[16644,768,12]],[5417,[16644,768,12]],[5418,[33028,780]],[5419,[33032,780]],[5420,[33028,768,12]],[5421,[33028,768,12]],[5422,[33028,768,12]],[5423,[33028,768,12]],[5424,[65796,780]],[5425,[65800,780]],[5426,[65796,768,12]],[5427,[65796,768,12]],[5428,[65796,768,12]],[5429,[65796,768,12]],[5430,[131332,780]],[5431,[131336,780]],[5432,[131332,768,12]],[5433,[131332,768,12]],[5434,[131332,768,12]],[5435,[131332,768,12]],[5436,[262404,780]],[5437,[262408,780]],[5438,[262404,768,12]],[5439,[262404,768,12]],[5440,[262404,768,12]],[5441,[262404,768,12]],[5442,[524548,780]],[5443,[524552,780]],[5444,[524548,768,12]],[5445,[524548,768,12]],[5446,[524548,768,12]],[5447,[524548,768,12]],[5448,[5124,3084]],[5449,[5128,3084]],[5450,[5124,3072,12]],[5451,[5124,3072,12]],[5452,[5124,3072,12]],[5453,[5124,3072,12]],[5454,[9220,3084]],[5455,[9224,3084]],[5456,[9220,3072,12]],[5457,[9220,3072,12]],[5458,[9220,3072,12]],[5459,[9220,3072,12]],[5460,[17412,3084]],[5461,[17416,3084]],[5462,[17412,3072,12]],[5463,[17412,3072,12]],[5464,[17412,3072,12]],[5465,[17412,3072,12]],[5466,[33796,3084]],[5467,[33800,3084]],[5468,[33796,3072,12]],[5469,[33796,3072,12]],[5470,[33796,3072,12]],[5471,[33796,3072,12]],[5472,[66564,3084]],[5473,[66568,3084]],[5474,[66564,3072,12]],[5475,[66564,3072,12]],[5476,[66564,3072,12]],[5477,[66564,3072,12]],[5478,[132100,3084]],[5479,[132104,3084]],[5480,[132100,3072,12]],[5481,[132100,3072,12]],[5482,[132100,3072,12]],[5483,[132100,3072,12]],[5484,[263172,3084]],[5485,[263176,3084]],[5486,[263172,3072,12]],[5487,[263172,3072,12]],[5488,[263172,3072,12]],[5489,[263172,3072,12]],[5490,[525316,3084]],[5491,[525320,3084]],[5492,[525316,3072,12]],[5493,[525316,3072,12]],[5494,[525316,3072,12]],[5495,[525316,3072,12]],[5496,[20484,12300]],[5497,[20488,12300]],[5498,[20484,12288,12]],[5499,[20484,12288,12]],[5500,[20484,12288,12]],[5501,[20484,12288,12]],[5502,[36868,12300]],[5503,[36872,12300]],[5504,[36868,12288,12]],[5505,[36868,12288,12]],[5506,[36868,12288,12]],[5507,[36868,12288,12]],[5508,[69636,12300]],[5509,[69640,12300]],[5510,[69636,12288,12]],[5511,[69636,12288,12]],[5512,[69636,12288,12]],[5513,[69636,12288,12]],[5514,[135172,12300]],[5515,[135176,12300]],[5516,[135172,12288,12]],[5517,[135172,12288,12]],[5518,[135172,12288,12]],[5519,[135172,12288,12]],[5520,[266244,12300]],[5521,[266248,12300]],[5522,[266244,12288,12]],[5523,[266244,12288,12]],[5524,[266244,12288,12]],[5525,[266244,12288,12]],[5526,[528388,12300]],[5527,[528392,12300]],[5528,[528388,12288,12]],[5529,[528388,12288,12]],[5530,[528388,12288,12]],[5531,[528388,12288,12]],[5532,[81924,49164]],[5533,[81928,49164]],[5534,[81924,49152,12]],[5535,[81924,49152,12]],[5536,[81924,49152,12]],[5537,[81924,49152,12]],[5538,[147460,49164]],[5539,[147464,49164]],[5540,[147460,49152,12]],[5541,[147460,49152,12]],[5542,[147460,49152,12]],[5543,[147460,49152,12]],[5544,[278532,49164]],[5545,[278536,49164]],[5546,[278532,49152,12]],[5547,[278532,49152,12]],[5548,[278532,49152,12]],[5549,[278532,49152,12]],[5550,[540676,49164]],[5551,[540680,49164]],[5552,[540676,49152,12]],[5553,[540676,49152,12]],[5554,[540676,49152,12]],[5555,[540676,49152,12]],[5556,[327684,196620]],[5557,[327688,196620]],[5558,[327684,196608,12]],[5559,[327684,196608,12]],[5560,[327684,196608,12]],[5561,[327684,196608,12]],[5562,[589828,196620]],[5563,[589832,196620]],[5564,[589828,196608,12]],[5565,[589828,196608,12]],[5566,[589828,196608,12]],[5567,[589828,196608,12]],[5568,[336,240]],[5569,[352,240]],[5570,[336,192,48]],[5571,[336,192,48]],[5572,[336,192,48]],[5573,[336,192,48]],[5574,[592,240]],[5575,[608,240]],[5576,[592,192,48]],[5577,[592,192,48]],[5578,[592,192,48]],[5579,[592,192,48]],[5580,[1104,240]],[5581,[1120,240]],[5582,[1104,192,48]],[5583,[1104,192,48]],[5584,[1104,192,48]],[5585,[1104,192,48]],[5586,[2128,240]],[5587,[2144,240]],[5588,[2128,192,48]],[5589,[2128,192,48]],[5590,[2128,192,48]],[5591,[2128,192,48]],[5592,[4176,240]],[5593,[4192,240]],[5594,[4176,192,48]],[5595,[4176,192,48]],[5596,[4176,192,48]],[5597,[4176,192,48]],[5598,[8272,240]],[5599,[8288,240]],[5600,[8272,192,48]],[5601,[8272,192,48]],[5602,[8272,192,48]],[5603,[8272,192,48]],[5604,[16464,240]],[5605,[16480,240]],[5606,[16464,192,48]],[5607,[16464,192,48]],[5608,[16464,192,48]],[5609,[16464,192,48]],[5610,[32848,240]],[5611,[32864,240]],[5612,[32848,192,48]],[5613,[32848,192,48]],[5614,[32848,192,48]],[5615,[32848,192,48]],[5616,[65616,240]],[5617,[65632,240]],[5618,[65616,192,48]],[5619,[65616,192,48]],[5620,[65616,192,48]],[5621,[65616,192,48]],[5622,[131152,240]],[5623,[131168,240]],[5624,[131152,192,48]],[5625,[131152,192,48]],[5626,[131152,192,48]],[5627,[131152,192,48]],[5628,[262224,240]],[5629,[262240,240]],[5630,[262224,192,48]],[5631,[262224,192,48]],[5632,[262224,192,48]],[5633,[262224,192,48]],[5634,[524368,240]],[5635,[524384,240]],[5636,[524368,192,48]],[5637,[524368,192,48]],[5638,[524368,192,48]],[5639,[524368,192,48]],[5640,[1296,816]],[5641,[1312,816]],[5642,[1296,768,48]],[5643,[1296,768,48]],[5644,[1296,768,48]],[5645,[1296,768,48]],[5646,[2320,816]],[5647,[2336,816]],[5648,[2320,768,48]],[5649,[2320,768,48]],[5650,[2320,768,48]],[5651,[2320,768,48]],[5652,[4368,816]],[5653,[4384,816]],[5654,[4368,768,48]],[5655,[4368,768,48]],[5656,[4368,768,48]],[5657,[4368,768,48]],[5658,[8464,816]],[5659,[8480,816]],[5660,[8464,768,48]],[5661,[8464,768,48]],[5662,[8464,768,48]],[5663,[8464,768,48]],[5664,[16656,816]],[5665,[16672,816]],[5666,[16656,768,48]],[5667,[16656,768,48]],[5668,[16656,768,48]],[5669,[16656,768,48]],[5670,[33040,816]],[5671,[33056,816]],[5672,[33040,768,48]],[5673,[33040,768,48]],[5674,[33040,768,48]],[5675,[33040,768,48]],[5676,[65808,816]],[5677,[65824,816]],[5678,[65808,768,48]],[5679,[65808,768,48]],[5680,[65808,768,48]],[5681,[65808,768,48]],[5682,[131344,816]],[5683,[131360,816]],[5684,[131344,768,48]],[5685,[131344,768,48]],[5686,[131344,768,48]],[5687,[131344,768,48]],[5688,[262416,816]],[5689,[262432,816]],[5690,[262416,768,48]],[5691,[262416,768,48]],[5692,[262416,768,48]],[5693,[262416,768,48]],[5694,[524560,816]],[5695,[524576,816]],[5696,[524560,768,48]],[5697,[524560,768,48]],[5698,[524560,768,48]],[5699,[524560,768,48]],[5700,[5136,3120]],[5701,[5152,3120]],[5702,[5136,3072,48]],[5703,[5136,3072,48]],[5704,[5136,3072,48]],[5705,[5136,3072,48]],[5706,[9232,3120]],[5707,[9248,3120]],[5708,[9232,3072,48]],[5709,[9232,3072,48]],[5710,[9232,3072,48]],[5711,[9232,3072,48]],[5712,[17424,3120]],[5713,[17440,3120]],[5714,[17424,3072,48]],[5715,[17424,3072,48]],[5716,[17424,3072,48]],[5717,[17424,3072,48]],[5718,[33808,3120]],[5719,[33824,3120]],[5720,[33808,3072,48]],[5721,[33808,3072,48]],[5722,[33808,3072,48]],[5723,[33808,3072,48]],[5724,[66576,3120]],[5725,[66592,3120]],[5726,[66576,3072,48]],[5727,[66576,3072,48]],[5728,[66576,3072,48]],[5729,[66576,3072,48]],[5730,[132112,3120]],[5731,[132128,3120]],[5732,[132112,3072,48]],[5733,[132112,3072,48]],[5734,[132112,3072,48]],[5735,[132112,3072,48]],[5736,[263184,3120]],[5737,[263200,3120]],[5738,[263184,3072,48]],[5739,[263184,3072,48]],[5740,[263184,3072,48]],[5741,[263184,3072,48]],[5742,[525328,3120]],[5743,[525344,3120]],[5744,[525328,3072,48]],[5745,[525328,3072,48]],[5746,[525328,3072,48]],[5747,[525328,3072,48]],[5748,[20496,12336]],[5749,[20512,12336]],[5750,[20496,12288,48]],[5751,[20496,12288,48]],[5752,[20496,12288,48]],[5753,[20496,12288,48]],[5754,[36880,12336]],[5755,[36896,12336]],[5756,[36880,12288,48]],[5757,[36880,12288,48]],[5758,[36880,12288,48]],[5759,[36880,12288,48]],[5760,[69648,12336]],[5761,[69664,12336]],[5762,[69648,12288,48]],[5763,[69648,12288,48]],[5764,[69648,12288,48]],[5765,[69648,12288,48]],[5766,[135184,12336]],[5767,[135200,12336]],[5768,[135184,12288,48]],[5769,[135184,12288,48]],[5770,[135184,12288,48]],[5771,[135184,12288,48]],[5772,[266256,12336]],[5773,[266272,12336]],[5774,[266256,12288,48]],[5775,[266256,12288,48]],[5776,[266256,12288,48]],[5777,[266256,12288,48]],[5778,[528400,12336]],[5779,[528416,12336]],[5780,[528400,12288,48]],[5781,[528400,12288,48]],[5782,[528400,12288,48]],[5783,[528400,12288,48]],[5784,[81936,49200]],[5785,[81952,49200]],[5786,[81936,49152,48]],[5787,[81936,49152,48]],[5788,[81936,49152,48]],[5789,[81936,49152,48]],[5790,[147472,49200]],[5791,[147488,49200]],[5792,[147472,49152,48]],[5793,[147472,49152,48]],[5794,[147472,49152,48]],[5795,[147472,49152,48]],[5796,[278544,49200]],[5797,[278560,49200]],[5798,[278544,49152,48]],[5799,[278544,49152,48]],[5800,[278544,49152,48]],[5801,[278544,49152,48]],[5802,[540688,49200]],[5803,[540704,49200]],[5804,[540688,49152,48]],[5805,[540688,49152,48]],[5806,[540688,49152,48]],[5807,[540688,49152,48]],[5808,[327696,196656]],[5809,[327712,196656]],[5810,[327696,196608,48]],[5811,[327696,196608,48]],[5812,[327696,196608,48]],[5813,[327696,196608,48]],[5814,[589840,196656]],[5815,[589856,196656]],[5816,[589840,196608,48]],[5817,[589840,196608,48]],[5818,[589840,196608,48]],[5819,[589840,196608,48]],[5820,[1344,960]],[5821,[1408,960]],[5822,[1344,768,192]],[5823,[1344,768,192]],[5824,[1344,768,192]],[5825,[1344,768,192]],[5826,[2368,960]],[5827,[2432,960]],[5828,[2368,768,192]],[5829,[2368,768,192]],[5830,[2368,768,192]],[5831,[2368,768,192]],[5832,[4416,960]],[5833,[4480,960]],[5834,[4416,768,192]],[5835,[4416,768,192]],[5836,[4416,768,192]],[5837,[4416,768,192]],[5838,[8512,960]],[5839,[8576,960]],[5840,[8512,768,192]],[5841,[8512,768,192]],[5842,[8512,768,192]],[5843,[8512,768,192]],[5844,[16704,960]],[5845,[16768,960]],[5846,[16704,768,192]],[5847,[16704,768,192]],[5848,[16704,768,192]],[5849,[16704,768,192]],[5850,[33088,960]],[5851,[33152,960]],[5852,[33088,768,192]],[5853,[33088,768,192]],[5854,[33088,768,192]],[5855,[33088,768,192]],[5856,[65856,960]],[5857,[65920,960]],[5858,[65856,768,192]],[5859,[65856,768,192]],[5860,[65856,768,192]],[5861,[65856,768,192]],[5862,[131392,960]],[5863,[131456,960]],[5864,[131392,768,192]],[5865,[131392,768,192]],[5866,[131392,768,192]],[5867,[131392,768,192]],[5868,[262464,960]],[5869,[262528,960]],[5870,[262464,768,192]],[5871,[262464,768,192]],[5872,[262464,768,192]],[5873,[262464,768,192]],[5874,[524608,960]],[5875,[524672,960]],[5876,[524608,768,192]],[5877,[524608,768,192]],[5878,[524608,768,192]],[5879,[524608,768,192]],[5880,[5184,3264]],[5881,[5248,3264]],[5882,[5184,3072,192]],[5883,[5184,3072,192]],[5884,[5184,3072,192]],[5885,[5184,3072,192]],[5886,[9280,3264]],[5887,[9344,3264]],[5888,[9280,3072,192]],[5889,[9280,3072,192]],[5890,[9280,3072,192]],[5891,[9280,3072,192]],[5892,[17472,3264]],[5893,[17536,3264]],[5894,[17472,3072,192]],[5895,[17472,3072,192]],[5896,[17472,3072,192]],[5897,[17472,3072,192]],[5898,[33856,3264]],[5899,[33920,3264]],[5900,[33856,3072,192]],[5901,[33856,3072,192]],[5902,[33856,3072,192]],[5903,[33856,3072,192]],[5904,[66624,3264]],[5905,[66688,3264]],[5906,[66624,3072,192]],[5907,[66624,3072,192]],[5908,[66624,3072,192]],[5909,[66624,3072,192]],[5910,[132160,3264]],[5911,[132224,3264]],[5912,[132160,3072,192]],[5913,[132160,3072,192]],[5914,[132160,3072,192]],[5915,[132160,3072,192]],[5916,[263232,3264]],[5917,[263296,3264]],[5918,[263232,3072,192]],[5919,[263232,3072,192]],[5920,[263232,3072,192]],[5921,[263232,3072,192]],[5922,[525376,3264]],[5923,[525440,3264]],[5924,[525376,3072,192]],[5925,[525376,3072,192]],[5926,[525376,3072,192]],[5927,[525376,3072,192]],[5928,[20544,12480]],[5929,[20608,12480]],[5930,[20544,12288,192]],[5931,[20544,12288,192]],[5932,[20544,12288,192]],[5933,[20544,12288,192]],[5934,[20544,12288,192]],[5935,[36928,12480]],[5936,[36992,12480]],[5937,[36928,12288,192]],[5938,[36928,12288,192]],[5939,[36928,12288,192]],[5940,[36928,12288,192]],[5941,[36928,12288,192]],[5942,[69696,12480]],[5943,[69760,12480]],[5944,[69696,12288,192]],[5945,[69696,12288,192]],[5946,[69696,12288,192]],[5947,[69696,12288,192]],[5948,[69696,12288,192]],[5949,[135232,12480]],[5950,[135296,12480]],[5951,[135232,12288,192]],[5952,[135232,12288,192]],[5953,[135232,12288,192]],[5954,[135232,12288,192]],[5955,[135232,12288,192]],[5956,[266304,12480]],[5957,[266368,12480]],[5958,[266304,12288,192]],[5959,[266304,12288,192]],[5960,[266304,12288,192]],[5961,[266304,12288,192]],[5962,[266304,12288,192]],[5963,[528448,12480]],[5964,[528512,12480]],[5965,[528448,12288,192]],[5966,[528448,12288,192]],[5967,[528448,12288,192]],[5968,[528448,12288,192]],[5969,[528448,12288,192]],[5970,[81984,49344]],[5971,[82048,49344]],[5972,[81984,49152,192]],[5973,[81984,49152,192]],[5974,[81984,49152,192]],[5975,[81984,49152,192]],[5976,[147520,49344]],[5977,[147584,49344]],[5978,[147520,49152,192]],[5979,[147520,49152,192]],[5980,[147520,49152,192]],[5981,[147520,49152,192]],[5982,[278592,49344]],[5983,[278656,49344]],[5984,[278592,49152,192]],[5985,[278592,49152,192]],[5986,[278592,49152,192]],[5987,[278592,49152,192]],[5988,[540736,49344]],[5989,[540800,49344]],[5990,[540736,49152,192]],[5991,[540736,49152,192]],[5992,[540736,49152,192]],[5993,[540736,49152,192]],[5994,[327744,196800]],[5995,[327808,196800]],[5996,[327744,196608,192]],[5997,[327744,196608,192]],[5998,[327744,196608,192]],[5999,[327744,196608,192]],[6000,[589888,196800]],[6001,[589952,196800]],[6002,[589888,196608,192]],[6003,[589888,196608,192]],[6004,[589888,196608,192]],[6005,[589888,196608,192]],[6006,[5376,3840]],[6007,[5632,3840]],[6008,[5376,3072,768]],[6009,[5376,3072,768]],[6010,[5376,3072,768]],[6011,[5376,3072,768]],[6012,[9472,3840]],[6013,[9728,3840]],[6014,[9472,3072,768]],[6015,[9472,3072,768]],[6016,[9472,3072,768]],[6017,[9472,3072,768]],[6018,[17664,3840]],[6019,[17920,3840]],[6020,[17664,3072,768]],[6021,[17664,3072,768]],[6022,[17664,3072,768]],[6023,[17664,3072,768]],[6024,[34048,3840]],[6025,[34304,3840]],[6026,[34048,3072,768]],[6027,[34048,3072,768]],[6028,[34048,3072,768]],[6029,[34048,3072,768]],[6030,[66816,3840]],[6031,[67072,3840]],[6032,[66816,3072,768]],[6033,[66816,3072,768]],[6034,[66816,3072,768]],[6035,[66816,3072,768]],[6036,[132352,3840]],[6037,[132608,3840]],[6038,[132352,3072,768]],[6039,[132352,3072,768]],[6040,[132352,3072,768]],[6041,[132352,3072,768]],[6042,[263424,3840]],[6043,[263680,3840]],[6044,[263424,3072,768]],[6045,[263424,3072,768]],[6046,[263424,3072,768]],[6047,[263424,3072,768]],[6048,[525568,3840]],[6049,[525824,3840]],[6050,[525568,3072,768]],[6051,[525568,3072,768]],[6052,[525568,3072,768]],[6053,[525568,3072,768]],[6054,[20736,13056]],[6055,[20992,13056]],[6056,[20736,12288,768]],[6057,[20736,12288,768]],[6058,[20736,12288,768]],[6059,[20736,12288,768]],[6060,[37120,13056]],[6061,[37376,13056]],[6062,[37120,12288,768]],[6063,[37120,12288,768]],[6064,[37120,12288,768]],[6065,[37120,12288,768]],[6066,[69888,13056]],[6067,[70144,13056]],[6068,[69888,12288,768]],[6069,[69888,12288,768]],[6070,[69888,12288,768]],[6071,[69888,12288,768]],[6072,[135424,13056]],[6073,[135680,13056]],[6074,[135424,12288,768]],[6075,[135424,12288,768]],[6076,[135424,12288,768]],[6077,[135424,12288,768]],[6078,[266496,13056]],[6079,[266752,13056]],[6080,[266496,12288,768]],[6081,[266496,12288,768]],[6082,[266496,12288,768]],[6083,[266496,12288,768]],[6084,[528640,13056]],[6085,[528896,13056]],[6086,[528640,12288,768]],[6087,[528640,12288,768]],[6088,[528640,12288,768]],[6089,[528640,12288,768]],[6090,[82176,49920]],[6091,[82432,49920]],[6092,[82176,49152,768]],[6093,[82176,49152,768]],[6094,[82176,49152,768]],[6095,[82176,49152,768]],[6096,[147712,49920]],[6097,[147968,49920]],[6098,[147712,49152,768]],[6099,[147712,49152,768]],[6100,[147712,49152,768]],[6101,[147712,49152,768]],[6102,[278784,49920]],[6103,[279040,49920]],[6104,[278784,49152,768]],[6105,[278784,49152,768]],[6106,[278784,49152,768]],[6107,[278784,49152,768]],[6108,[540928,49920]],[6109,[541184,49920]],[6110,[540928,49152,768]],[6111,[540928,49152,768]],[6112,[540928,49152,768]],[6113,[540928,49152,768]],[6114,[327936,197376]],[6115,[328192,197376]],[6116,[327936,196608,768]],[6117,[327936,196608,768]],[6118,[327936,196608,768]],[6119,[327936,196608,768]],[6120,[590080,197376]],[6121,[590336,197376]],[6122,[590080,196608,768]],[6123,[590080,196608,768]],[6124,[590080,196608,768]],[6125,[590080,196608,768]],[6126,[21504,15360]],[6127,[22528,15360]],[6128,[21504,12288,3072]],[6129,[21504,12288,3072]],[6130,[21504,12288,3072]],[6131,[21504,12288,3072]],[6132,[37888,15360]],[6133,[38912,15360]],[6134,[37888,12288,3072]],[6135,[37888,12288,3072]],[6136,[37888,12288,3072]],[6137,[37888,12288,3072]],[6138,[70656,15360]],[6139,[71680,15360]],[6140,[70656,12288,3072]],[6141,[70656,12288,3072]],[6142,[70656,12288,3072]],[6143,[70656,12288,3072]],[6144,[136192,15360]],[6145,[137216,15360]],[6146,[136192,12288,3072]],[6147,[136192,12288,3072]],[6148,[136192,12288,3072]],[6149,[136192,12288,3072]],[6150,[267264,15360]],[6151,[268288,15360]],[6152,[267264,12288,3072]],[6153,[267264,12288,3072]],[6154,[267264,12288,3072]],[6155,[267264,12288,3072]],[6156,[529408,15360]],[6157,[530432,15360]],[6158,[529408,12288,3072]],[6159,[529408,12288,3072]],[6160,[529408,12288,3072]],[6161,[529408,12288,3072]],[6162,[82944,52224]],[6163,[83968,52224]],[6164,[82944,49152,3072]],[6165,[82944,49152,3072]],[6166,[82944,49152,3072]],[6167,[82944,49152,3072]],[6168,[148480,52224]],[6169,[149504,52224]],[6170,[148480,49152,3072]],[6171,[148480,49152,3072]],[6172,[148480,49152,3072]],[6173,[148480,49152,3072]],[6174,[279552,52224]],[6175,[280576,52224]],[6176,[279552,49152,3072]],[6177,[279552,49152,3072]],[6178,[279552,49152,3072]],[6179,[279552,49152,3072]],[6180,[541696,52224]],[6181,[542720,52224]],[6182,[541696,49152,3072]],[6183,[541696,49152,3072]],[6184,[541696,49152,3072]],[6185,[541696,49152,3072]],[6186,[328704,199680]],[6187,[329728,199680]],[6188,[328704,196608,3072]],[6189,[328704,196608,3072]],[6190,[328704,196608,3072]],[6191,[328704,196608,3072]],[6192,[590848,199680]],[6193,[591872,199680]],[6194,[590848,196608,3072]],[6195,[590848,196608,3072]],[6196,[590848,196608,3072]],[6197,[590848,196608,3072]],[6198,[86016,61440]],[6199,[90112,61440]],[6200,[86016,49152,12288]],[6201,[86016,49152,12288]],[6202,[86016,49152,12288]],[6203,[86016,49152,12288]],[6204,[151552,61440]],[6205,[155648,61440]],[6206,[151552,49152,12288]],[6207,[151552,49152,12288]],[6208,[151552,49152,12288]],[6209,[151552,49152,12288]],[6210,[282624,61440]],[6211,[286720,61440]],[6212,[282624,49152,12288]],[6213,[282624,49152,12288]],[6214,[282624,49152,12288]],[6215,[282624,49152,12288]],[6216,[544768,61440]],[6217,[548864,61440]],[6218,[544768,49152,12288]],[6219,[544768,49152,12288]],[6220,[544768,49152,12288]],[6221,[544768,49152,12288]],[6222,[331776,208896]],[6223,[335872,208896]],[6224,[331776,196608,12288]],[6225,[331776,196608,12288]],[6226,[331776,196608,12288]],[6227,[331776,196608,12288]],[6228,[593920,208896]],[6229,[598016,208896]],[6230,[593920,196608,12288]],[6231,[593920,196608,12288]],[6232,[593920,196608,12288]],[6233,[593920,196608,12288]],[6234,[344064,245760]],[6235,[360448,245760]],[6236,[344064,196608,49152]],[6237,[344064,196608,49152]],[6238,[344064,196608,49152]],[6239,[344064,196608,49152]],[6240,[606208,245760]],[6241,[622592,245760]],[6242,[606208,196608,49152]],[6243,[606208,196608,49152]],[6244,[606208,196608,49152]],[6245,[606208,196608,49152]],[6246,[21,15]],[6247,[37,15]],[6248,[37,21,15]],[6249,[37,21,15]],[6250,[22,15]],[6251,[38,15]],[6252,[38,22,15]],[6253,[38,22,15]],[6254,[38,21]],[6255,[42,25]],[6256,[38,21,12]],[6257,[38,21,12]],[6258,[37,22]],[6259,[41,26]],[6260,[37,22,12]],[6261,[37,22,12]],[6262,[41,21]],[6263,[42,22]],[6264,[41,21,3]],[6265,[41,21,3]],[6266,[37,25]],[6267,[38,26]],[6268,[37,25,3]],[6269,[37,25,3]],[6270,[41,21]],[6271,[37,25]],[6272,[37,21,12]],[6273,[37,21,12]],[6274,[37,21,12]],[6275,[42,22]],[6276,[38,26]],[6277,[38,22,12]],[6278,[38,22,12]],[6279,[38,22,12]],[6280,[38,21]],[6281,[37,22]],[6282,[37,21,3]],[6283,[37,21,3]],[6284,[37,21,3]],[6285,[42,25]],[6286,[41,26]],[6287,[41,25,3]],[6288,[41,25,3]],[6289,[41,25,3]],[6290,[69,15]],[6291,[133,15]],[6292,[133,69,15]],[6293,[133,69,15]],[6294,[70,15]],[6295,[134,15]],[6296,[134,70,15]],[6297,[134,70,15]],[6298,[134,69]],[6299,[138,73]],[6300,[134,69,12]],[6301,[134,69,12]],[6302,[133,70]],[6303,[137,74]],[6304,[133,70,12]],[6305,[133,70,12]],[6306,[137,69]],[6307,[138,70]],[6308,[137,69,3]],[6309,[137,69,3]],[6310,[133,73]],[6311,[134,74]],[6312,[133,73,3]],[6313,[133,73,3]],[6314,[137,69]],[6315,[133,73]],[6316,[133,69,12]],[6317,[133,69,12]],[6318,[133,69,12]],[6319,[138,70]],[6320,[134,74]],[6321,[134,70,12]],[6322,[134,70,12]],[6323,[134,70,12]],[6324,[134,69]],[6325,[133,70]],[6326,[133,69,3]],[6327,[133,69,3]],[6328,[133,69,3]],[6329,[138,73]],[6330,[137,74]],[6331,[137,73,3]],[6332,[137,73,3]],[6333,[137,73,3]],[6334,[261,15]],[6335,[517,15]],[6336,[517,261,15]],[6337,[517,261,15]],[6338,[262,15]],[6339,[518,15]],[6340,[518,262,15]],[6341,[518,262,15]],[6342,[518,261]],[6343,[522,265]],[6344,[518,261,12]],[6345,[518,261,12]],[6346,[517,262]],[6347,[521,266]],[6348,[517,262,12]],[6349,[517,262,12]],[6350,[521,261]],[6351,[522,262]],[6352,[521,261,3]],[6353,[521,261,3]],[6354,[517,265]],[6355,[518,266]],[6356,[517,265,3]],[6357,[517,265,3]],[6358,[521,261]],[6359,[517,265]],[6360,[517,261,12]],[6361,[517,261,12]],[6362,[517,261,12]],[6363,[522,262]],[6364,[518,266]],[6365,[518,262,12]],[6366,[518,262,12]],[6367,[518,262,12]],[6368,[518,261]],[6369,[517,262]],[6370,[517,261,3]],[6371,[517,261,3]],[6372,[517,261,3]],[6373,[522,265]],[6374,[521,266]],[6375,[521,265,3]],[6376,[521,265,3]],[6377,[521,265,3]],[6378,[1029,15]],[6379,[2053,15]],[6380,[2053,1029,15]],[6381,[2053,1029,15]],[6382,[1030,15]],[6383,[2054,15]],[6384,[2054,1030,15]],[6385,[2054,1030,15]],[6386,[2054,1029]],[6387,[2058,1033]],[6388,[2054,1029,12]],[6389,[2054,1029,12]],[6390,[2053,1030]],[6391,[2057,1034]],[6392,[2053,1030,12]],[6393,[2053,1030,12]],[6394,[2057,1029]],[6395,[2058,1030]],[6396,[2057,1029,3]],[6397,[2057,1029,3]],[6398,[2053,1033]],[6399,[2054,1034]],[6400,[2053,1033,3]],[6401,[2053,1033,3]],[6402,[2057,1029]],[6403,[2053,1033]],[6404,[2053,1029,12]],[6405,[2053,1029,12]],[6406,[2053,1029,12]],[6407,[2058,1030]],[6408,[2054,1034]],[6409,[2054,1030,12]],[6410,[2054,1030,12]],[6411,[2054,1030,12]],[6412,[2054,1029]],[6413,[2053,1030]],[6414,[2053,1029,3]],[6415,[2053,1029,3]],[6416,[2053,1029,3]],[6417,[2058,1033]],[6418,[2057,1034]],[6419,[2057,1033,3]],[6420,[2057,1033,3]],[6421,[2057,1033,3]],[6422,[4101,15]],[6423,[8197,15]],[6424,[8197,4101,15]],[6425,[8197,4101,15]],[6426,[4102,15]],[6427,[8198,15]],[6428,[8198,4102,15]],[6429,[8198,4102,15]],[6430,[8198,4101]],[6431,[8202,4105]],[6432,[8198,4101,12]],[6433,[8198,4101,12]],[6434,[8197,4102]],[6435,[8201,4106]],[6436,[8197,4102,12]],[6437,[8197,4102,12]],[6438,[8201,4101]],[6439,[8202,4102]],[6440,[8201,4101,3]],[6441,[8201,4101,3]],[6442,[8197,4105]],[6443,[8198,4106]],[6444,[8197,4105,3]],[6445,[8197,4105,3]],[6446,[8201,4101]],[6447,[8197,4105]],[6448,[8197,4101,12]],[6449,[8197,4101,12]],[6450,[8197,4101,12]],[6451,[8202,4102]],[6452,[8198,4106]],[6453,[8198,4102,12]],[6454,[8198,4102,12]],[6455,[8198,4102,12]],[6456,[8198,4101]],[6457,[8197,4102]],[6458,[8197,4101,3]],[6459,[8197,4101,3]],[6460,[8197,4101,3]],[6461,[8202,4105]],[6462,[8201,4106]],[6463,[8201,4105,3]],[6464,[8201,4105,3]],[6465,[8201,4105,3]],[6466,[16389,15]],[6467,[32773,15]],[6468,[32773,16389,15]],[6469,[32773,16389,15]],[6470,[16390,15]],[6471,[32774,15]],[6472,[32774,16390,15]],[6473,[32774,16390,15]],[6474,[32774,16389]],[6475,[32778,16393]],[6476,[32774,16389,12]],[6477,[32774,16389,12]],[6478,[32773,16390]],[6479,[32777,16394]],[6480,[32773,16390,12]],[6481,[32773,16390,12]],[6482,[32777,16389]],[6483,[32778,16390]],[6484,[32777,16389,3]],[6485,[32777,16389,3]],[6486,[32773,16393]],[6487,[32774,16394]],[6488,[32773,16393,3]],[6489,[32773,16393,3]],[6490,[32777,16389]],[6491,[32773,16393]],[6492,[32773,16389,12]],[6493,[32773,16389,12]],[6494,[32773,16389,12]],[6495,[32778,16390]],[6496,[32774,16394]],[6497,[32774,16390,12]],[6498,[32774,16390,12]],[6499,[32774,16390,12]],[6500,[32774,16389]],[6501,[32773,16390]],[6502,[32773,16389,3]],[6503,[32773,16389,3]],[6504,[32773,16389,3]],[6505,[32778,16393]],[6506,[32777,16394]],[6507,[32777,16393,3]],[6508,[32777,16393,3]],[6509,[32777,16393,3]],[6510,[65541,15]],[6511,[131077,15]],[6512,[131077,65541,15]],[6513,[131077,65541,15]],[6514,[65542,15]],[6515,[131078,15]],[6516,[131078,65542,15]],[6517,[131078,65542,15]],[6518,[131078,65541]],[6519,[131082,65545]],[6520,[131078,65541,12]],[6521,[131078,65541,12]],[6522,[131077,65542]],[6523,[131081,65546]],[6524,[131077,65542,12]],[6525,[131077,65542,12]],[6526,[131081,65541]],[6527,[131082,65542]],[6528,[131081,65541,3]],[6529,[131081,65541,3]],[6530,[131077,65545]],[6531,[131078,65546]],[6532,[131077,65545,3]],[6533,[131077,65545,3]],[6534,[131081,65541]],[6535,[131077,65545]],[6536,[131077,65541,12]],[6537,[131077,65541,12]],[6538,[131077,65541,12]],[6539,[131082,65542]],[6540,[131078,65546]],[6541,[131078,65542,12]],[6542,[131078,65542,12]],[6543,[131078,65542,12]],[6544,[131078,65541]],[6545,[131077,65542]],[6546,[131077,65541,3]],[6547,[131077,65541,3]],[6548,[131077,65541,3]],[6549,[131082,65545]],[6550,[131081,65546]],[6551,[131081,65545,3]],[6552,[131081,65545,3]],[6553,[131081,65545,3]],[6554,[262149,15]],[6555,[524293,15]],[6556,[524293,262149,15]],[6557,[524293,262149,15]],[6558,[262150,15]],[6559,[524294,15]],[6560,[524294,262150,15]],[6561,[524294,262150,15]],[6562,[524294,262149]],[6563,[524298,262153]],[6564,[524294,262149,12]],[6565,[524294,262149,12]],[6566,[524293,262150]],[6567,[524297,262154]],[6568,[524293,262150,12]],[6569,[524293,262150,12]],[6570,[524297,262149]],[6571,[524298,262150]],[6572,[524297,262149,3]],[6573,[524297,262149,3]],[6574,[524293,262153]],[6575,[524294,262154]],[6576,[524293,262153,3]],[6577,[524293,262153,3]],[6578,[524297,262149]],[6579,[524293,262153]],[6580,[524293,262149,12]],[6581,[524293,262149,12]],[6582,[524293,262149,12]],[6583,[524298,262150]],[6584,[524294,262154]],[6585,[524294,262150,12]],[6586,[524294,262150,12]],[6587,[524294,262150,12]],[6588,[524294,262149]],[6589,[524293,262150]],[6590,[524293,262149,3]],[6591,[524293,262149,3]],[6592,[524293,262149,3]],[6593,[524298,262153]],[6594,[524297,262154]],[6595,[524297,262153,3]],[6596,[524297,262153,3]],[6597,[524297,262153,3]],[6598,[81,51]],[6599,[145,51]],[6600,[145,81,51]],[6601,[145,81,51]],[6602,[82,51]],[6603,[146,51]],[6604,[146,82,51]],[6605,[146,82,51]],[6606,[146,81]],[6607,[162,97]],[6608,[146,81,48]],[6609,[146,81,48]],[6610,[145,82]],[6611,[161,98]],[6612,[145,82,48]],[6613,[145,82,48]],[6614,[161,81]],[6615,[162,82]],[6616,[161,81,3]],[6617,[161,81,3]],[6618,[145,97]],[6619,[146,98]],[6620,[145,97,3]],[6621,[145,97,3]],[6622,[161,81]],[6623,[145,97]],[6624,[145,81,48]],[6625,[145,81,48]],[6626,[145,81,48]],[6627,[162,82]],[6628,[146,98]],[6629,[146,82,48]],[6630,[146,82,48]],[6631,[146,82,48]],[6632,[146,81]],[6633,[145,82]],[6634,[145,81,3]],[6635,[145,81,3]],[6636,[145,81,3]],[6637,[162,97]],[6638,[161,98]],[6639,[161,97,3]],[6640,[161,97,3]],[6641,[161,97,3]],[6642,[273,51]],[6643,[529,51]],[6644,[529,273,51]],[6645,[529,273,51]],[6646,[274,51]],[6647,[530,51]],[6648,[530,274,51]],[6649,[530,274,51]],[6650,[530,273]],[6651,[546,289]],[6652,[530,273,48]],[6653,[530,273,48]],[6654,[529,274]],[6655,[545,290]],[6656,[529,274,48]],[6657,[529,274,48]],[6658,[545,273]],[6659,[546,274]],[6660,[545,273,3]],[6661,[545,273,3]],[6662,[529,289]],[6663,[530,290]],[6664,[529,289,3]],[6665,[529,289,3]],[6666,[545,273]],[6667,[529,289]],[6668,[529,273,48]],[6669,[529,273,48]],[6670,[529,273,48]],[6671,[546,274]],[6672,[530,290]],[6673,[530,274,48]],[6674,[530,274,48]],[6675,[530,274,48]],[6676,[530,273]],[6677,[529,274]],[6678,[529,273,3]],[6679,[529,273,3]],[6680,[529,273,3]],[6681,[546,289]],[6682,[545,290]],[6683,[545,289,3]],[6684,[545,289,3]],[6685,[545,289,3]],[6686,[1041,51]],[6687,[2065,51]],[6688,[2065,1041,51]],[6689,[2065,1041,51]],[6690,[1042,51]],[6691,[2066,51]],[6692,[2066,1042,51]],[6693,[2066,1042,51]],[6694,[2066,1041]],[6695,[2082,1057]],[6696,[2066,1041,48]],[6697,[2066,1041,48]],[6698,[2065,1042]],[6699,[2081,1058]],[6700,[2065,1042,48]],[6701,[2065,1042,48]],[6702,[2081,1041]],[6703,[2082,1042]],[6704,[2081,1041,3]],[6705,[2081,1041,3]],[6706,[2065,1057]],[6707,[2066,1058]],[6708,[2065,1057,3]],[6709,[2065,1057,3]],[6710,[2081,1041]],[6711,[2065,1057]],[6712,[2065,1041,48]],[6713,[2065,1041,48]],[6714,[2065,1041,48]],[6715,[2082,1042]],[6716,[2066,1058]],[6717,[2066,1042,48]],[6718,[2066,1042,48]],[6719,[2066,1042,48]],[6720,[2066,1041]],[6721,[2065,1042]],[6722,[2065,1041,3]],[6723,[2065,1041,3]],[6724,[2065,1041,3]],[6725,[2082,1057]],[6726,[2081,1058]],[6727,[2081,1057,3]],[6728,[2081,1057,3]],[6729,[2081,1057,3]],[6730,[4113,51]],[6731,[8209,51]],[6732,[8209,4113,51]],[6733,[8209,4113,51]],[6734,[4114,51]],[6735,[8210,51]],[6736,[8210,4114,51]],[6737,[8210,4114,51]],[6738,[8210,4113]],[6739,[8226,4129]],[6740,[8210,4113,48]],[6741,[8210,4113,48]],[6742,[8209,4114]],[6743,[8225,4130]],[6744,[8209,4114,48]],[6745,[8209,4114,48]],[6746,[8225,4113]],[6747,[8226,4114]],[6748,[8225,4113,3]],[6749,[8225,4113,3]],[6750,[8209,4129]],[6751,[8210,4130]],[6752,[8209,4129,3]],[6753,[8209,4129,3]],[6754,[8225,4113]],[6755,[8209,4129]],[6756,[8209,4113,48]],[6757,[8209,4113,48]],[6758,[8209,4113,48]],[6759,[8226,4114]],[6760,[8210,4130]],[6761,[8210,4114,48]],[6762,[8210,4114,48]],[6763,[8210,4114,48]],[6764,[8210,4113]],[6765,[8209,4114]],[6766,[8209,4113,3]],[6767,[8209,4113,3]],[6768,[8209,4113,3]],[6769,[8226,4129]],[6770,[8225,4130]],[6771,[8225,4129,3]],[6772,[8225,4129,3]],[6773,[8225,4129,3]],[6774,[16401,51]],[6775,[32785,51]],[6776,[32785,16401,51]],[6777,[32785,16401,51]],[6778,[16402,51]],[6779,[32786,51]],[6780,[32786,16402,51]],[6781,[32786,16402,51]],[6782,[32786,16401]],[6783,[32802,16417]],[6784,[32786,16401,48]],[6785,[32786,16401,48]],[6786,[32785,16402]],[6787,[32801,16418]],[6788,[32785,16402,48]],[6789,[32785,16402,48]],[6790,[32801,16401]],[6791,[32802,16402]],[6792,[32801,16401,3]],[6793,[32801,16401,3]],[6794,[32785,16417]],[6795,[32786,16418]],[6796,[32785,16417,3]],[6797,[32785,16417,3]],[6798,[32801,16401]],[6799,[32785,16417]],[6800,[32785,16401,48]],[6801,[32785,16401,48]],[6802,[32785,16401,48]],[6803,[32802,16402]],[6804,[32786,16418]],[6805,[32786,16402,48]],[6806,[32786,16402,48]],[6807,[32786,16402,48]],[6808,[32786,16401]],[6809,[32785,16402]],[6810,[32785,16401,3]],[6811,[32785,16401,3]],[6812,[32785,16401,3]],[6813,[32802,16417]],[6814,[32801,16418]],[6815,[32801,16417,3]],[6816,[32801,16417,3]],[6817,[32801,16417,3]],[6818,[65553,51]],[6819,[131089,51]],[6820,[131089,65553,51]],[6821,[131089,65553,51]],[6822,[65554,51]],[6823,[131090,51]],[6824,[131090,65554,51]],[6825,[131090,65554,51]],[6826,[131090,65553]],[6827,[131106,65569]],[6828,[131090,65553,48]],[6829,[131090,65553,48]],[6830,[131089,65554]],[6831,[131105,65570]],[6832,[131089,65554,48]],[6833,[131089,65554,48]],[6834,[131105,65553]],[6835,[131106,65554]],[6836,[131105,65553,3]],[6837,[131105,65553,3]],[6838,[131089,65569]],[6839,[131090,65570]],[6840,[131089,65569,3]],[6841,[131089,65569,3]],[6842,[131105,65553]],[6843,[131089,65569]],[6844,[131089,65553,48]],[6845,[131089,65553,48]],[6846,[131089,65553,48]],[6847,[131106,65554]],[6848,[131090,65570]],[6849,[131090,65554,48]],[6850,[131090,65554,48]],[6851,[131090,65554,48]],[6852,[131090,65553]],[6853,[131089,65554]],[6854,[131089,65553,3]],[6855,[131089,65553,3]],[6856,[131089,65553,3]],[6857,[131106,65569]],[6858,[131105,65570]],[6859,[131105,65569,3]],[6860,[131105,65569,3]],[6861,[131105,65569,3]],[6862,[262161,51]],[6863,[524305,51]],[6864,[524305,262161,51]],[6865,[524305,262161,51]],[6866,[262162,51]],[6867,[524306,51]],[6868,[524306,262162,51]],[6869,[524306,262162,51]],[6870,[524306,262161]],[6871,[524322,262177]],[6872,[524306,262161,48]],[6873,[524306,262161,48]],[6874,[524305,262162]],[6875,[524321,262178]],[6876,[524305,262162,48]],[6877,[524305,262162,48]],[6878,[524321,262161]],[6879,[524322,262162]],[6880,[524321,262161,3]],[6881,[524321,262161,3]],[6882,[524305,262177]],[6883,[524306,262178]],[6884,[524305,262177,3]],[6885,[524305,262177,3]],[6886,[524321,262161]],[6887,[524305,262177]],[6888,[524305,262161,48]],[6889,[524305,262161,48]],[6890,[524305,262161,48]],[6891,[524322,262162]],[6892,[524306,262178]],[6893,[524306,262162,48]],[6894,[524306,262162,48]],[6895,[524306,262162,48]],[6896,[524306,262161]],[6897,[524305,262162]],[6898,[524305,262161,3]],[6899,[524305,262161,3]],[6900,[524305,262161,3]],[6901,[524322,262177]],[6902,[524321,262178]],[6903,[524321,262177,3]],[6904,[524321,262177,3]],[6905,[524321,262177,3]],[6906,[321,195]],[6907,[577,195]],[6908,[577,321,195]],[6909,[577,321,195]],[6910,[322,195]],[6911,[578,195]],[6912,[578,322,195]],[6913,[578,322,195]],[6914,[578,321]],[6915,[642,385]],[6916,[578,321,192]],[6917,[578,321,192]],[6918,[577,322]],[6919,[641,386]],[6920,[577,322,192]],[6921,[577,322,192]],[6922,[641,321]],[6923,[642,322]],[6924,[641,321,3]],[6925,[641,321,3]],[6926,[577,385]],[6927,[578,386]],[6928,[577,385,3]],[6929,[577,385,3]],[6930,[641,321]],[6931,[577,385]],[6932,[577,321,192]],[6933,[577,321,192]],[6934,[577,321,192]],[6935,[642,322]],[6936,[578,386]],[6937,[578,322,192]],[6938,[578,322,192]],[6939,[578,322,192]],[6940,[578,321]],[6941,[577,322]],[6942,[577,321,3]],[6943,[577,321,3]],[6944,[577,321,3]],[6945,[642,385]],[6946,[641,386]],[6947,[641,385,3]],[6948,[641,385,3]],[6949,[641,385,3]],[6950,[1089,195]],[6951,[2113,195]],[6952,[2113,1089,195]],[6953,[2113,1089,195]],[6954,[1090,195]],[6955,[2114,195]],[6956,[2114,1090,195]],[6957,[2114,1090,195]],[6958,[2114,1089]],[6959,[2178,1153]],[6960,[2114,1089,192]],[6961,[2114,1089,192]],[6962,[2113,1090]],[6963,[2177,1154]],[6964,[2113,1090,192]],[6965,[2113,1090,192]],[6966,[2177,1089]],[6967,[2178,1090]],[6968,[2177,1089,3]],[6969,[2177,1089,3]],[6970,[2113,1153]],[6971,[2114,1154]],[6972,[2113,1153,3]],[6973,[2113,1153,3]],[6974,[2177,1089]],[6975,[2113,1153]],[6976,[2113,1089,192]],[6977,[2113,1089,192]],[6978,[2113,1089,192]],[6979,[2178,1090]],[6980,[2114,1154]],[6981,[2114,1090,192]],[6982,[2114,1090,192]],[6983,[2114,1090,192]],[6984,[2114,1089]],[6985,[2113,1090]],[6986,[2113,1089,3]],[6987,[2113,1089,3]],[6988,[2113,1089,3]],[6989,[2178,1153]],[6990,[2177,1154]],[6991,[2177,1153,3]],[6992,[2177,1153,3]],[6993,[2177,1153,3]],[6994,[4161,195]],[6995,[8257,195]],[6996,[8257,4161,195]],[6997,[8257,4161,195]],[6998,[4162,195]],[6999,[8258,195]],[7000,[8258,4162,195]],[7001,[8258,4162,195]],[7002,[8258,4161]],[7003,[8322,4225]],[7004,[8258,4161,192]],[7005,[8258,4161,192]],[7006,[8257,4162]],[7007,[8321,4226]],[7008,[8257,4162,192]],[7009,[8257,4162,192]],[7010,[8321,4161]],[7011,[8322,4162]],[7012,[8321,4161,3]],[7013,[8321,4161,3]],[7014,[8257,4225]],[7015,[8258,4226]],[7016,[8257,4225,3]],[7017,[8257,4225,3]],[7018,[8321,4161]],[7019,[8257,4225]],[7020,[8257,4161,192]],[7021,[8257,4161,192]],[7022,[8257,4161,192]],[7023,[8322,4162]],[7024,[8258,4226]],[7025,[8258,4162,192]],[7026,[8258,4162,192]],[7027,[8258,4162,192]],[7028,[8258,4161]],[7029,[8257,4162]],[7030,[8257,4161,3]],[7031,[8257,4161,3]],[7032,[8257,4161,3]],[7033,[8322,4225]],[7034,[8321,4226]],[7035,[8321,4225,3]],[7036,[8321,4225,3]],[7037,[8321,4225,3]],[7038,[16449,195]],[7039,[32833,195]],[7040,[32833,16449,195]],[7041,[32833,16449,195]],[7042,[16450,195]],[7043,[32834,195]],[7044,[32834,16450,195]],[7045,[32834,16450,195]],[7046,[32834,16449]],[7047,[32898,16513]],[7048,[32834,16449,192]],[7049,[32834,16449,192]],[7050,[32833,16450]],[7051,[32897,16514]],[7052,[32833,16450,192]],[7053,[32833,16450,192]],[7054,[32897,16449]],[7055,[32898,16450]],[7056,[32897,16449,3]],[7057,[32897,16449,3]],[7058,[32833,16513]],[7059,[32834,16514]],[7060,[32833,16513,3]],[7061,[32833,16513,3]],[7062,[32897,16449]],[7063,[32833,16513]],[7064,[32833,16449,192]],[7065,[32833,16449,192]],[7066,[32833,16449,192]],[7067,[32898,16450]],[7068,[32834,16514]],[7069,[32834,16450,192]],[7070,[32834,16450,192]],[7071,[32834,16450,192]],[7072,[32834,16449]],[7073,[32833,16450]],[7074,[32833,16449,3]],[7075,[32833,16449,3]],[7076,[32833,16449,3]],[7077,[32898,16513]],[7078,[32897,16514]],[7079,[32897,16513,3]],[7080,[32897,16513,3]],[7081,[32897,16513,3]],[7082,[65601,195]],[7083,[131137,195]],[7084,[131137,65601,195]],[7085,[131137,65601,195]],[7086,[65602,195]],[7087,[131138,195]],[7088,[131138,65602,195]],[7089,[131138,65602,195]],[7090,[131138,65601]],[7091,[131202,65665]],[7092,[131138,65601,192]],[7093,[131138,65601,192]],[7094,[131137,65602]],[7095,[131201,65666]],[7096,[131137,65602,192]],[7097,[131137,65602,192]],[7098,[131201,65601]],[7099,[131202,65602]],[7100,[131201,65601,3]],[7101,[131201,65601,3]],[7102,[131137,65665]],[7103,[131138,65666]],[7104,[131137,65665,3]],[7105,[131137,65665,3]],[7106,[131201,65601]],[7107,[131137,65665]],[7108,[131137,65601,192]],[7109,[131137,65601,192]],[7110,[131137,65601,192]],[7111,[131202,65602]],[7112,[131138,65666]],[7113,[131138,65602,192]],[7114,[131138,65602,192]],[7115,[131138,65602,192]],[7116,[131138,65601]],[7117,[131137,65602]],[7118,[131137,65601,3]],[7119,[131137,65601,3]],[7120,[131137,65601,3]],[7121,[131202,65665]],[7122,[131201,65666]],[7123,[131201,65665,3]],[7124,[131201,65665,3]],[7125,[131201,65665,3]],[7126,[262209,195]],[7127,[524353,195]],[7128,[524353,262209,195]],[7129,[524353,262209,195]],[7130,[262210,195]],[7131,[524354,195]],[7132,[524354,262210,195]],[7133,[524354,262210,195]],[7134,[524354,262209]],[7135,[524418,262273]],[7136,[524354,262209,192]],[7137,[524354,262209,192]],[7138,[524353,262210]],[7139,[524417,262274]],[7140,[524353,262210,192]],[7141,[524353,262210,192]],[7142,[524417,262209]],[7143,[524418,262210]],[7144,[524417,262209,3]],[7145,[524417,262209,3]],[7146,[524353,262273]],[7147,[524354,262274]],[7148,[524353,262273,3]],[7149,[524353,262273,3]],[7150,[524417,262209]],[7151,[524353,262273]],[7152,[524353,262209,192]],[7153,[524353,262209,192]],[7154,[524353,262209,192]],[7155,[524418,262210]],[7156,[524354,262274]],[7157,[524354,262210,192]],[7158,[524354,262210,192]],[7159,[524354,262210,192]],[7160,[524354,262209]],[7161,[524353,262210]],[7162,[524353,262209,3]],[7163,[524353,262209,3]],[7164,[524353,262209,3]],[7165,[524418,262273]],[7166,[524417,262274]],[7167,[524417,262273,3]],[7168,[524417,262273,3]],[7169,[524417,262273,3]],[7170,[1281,771]],[7171,[2305,771]],[7172,[2305,1281,771]],[7173,[2305,1281,771]],[7174,[1282,771]],[7175,[2306,771]],[7176,[2306,1282,771]],[7177,[2306,1282,771]],[7178,[2306,1281]],[7179,[2562,1537]],[7180,[2306,1281,768]],[7181,[2306,1281,768]],[7182,[2305,1282]],[7183,[2561,1538]],[7184,[2305,1282,768]],[7185,[2305,1282,768]],[7186,[2561,1281]],[7187,[2562,1282]],[7188,[2561,1281,3]],[7189,[2561,1281,3]],[7190,[2305,1537]],[7191,[2306,1538]],[7192,[2305,1537,3]],[7193,[2305,1537,3]],[7194,[2561,1281]],[7195,[2305,1537]],[7196,[2305,1281,768]],[7197,[2305,1281,768]],[7198,[2305,1281,768]],[7199,[2562,1282]],[7200,[2306,1538]],[7201,[2306,1282,768]],[7202,[2306,1282,768]],[7203,[2306,1282,768]],[7204,[2306,1281]],[7205,[2305,1282]],[7206,[2305,1281,3]],[7207,[2305,1281,3]],[7208,[2305,1281,3]],[7209,[2562,1537]],[7210,[2561,1538]],[7211,[2561,1537,3]],[7212,[2561,1537,3]],[7213,[2561,1537,3]],[7214,[4353,771]],[7215,[8449,771]],[7216,[8449,4353,771]],[7217,[8449,4353,771]],[7218,[4354,771]],[7219,[8450,771]],[7220,[8450,4354,771]],[7221,[8450,4354,771]],[7222,[8450,4353]],[7223,[8706,4609]],[7224,[8450,4353,768]],[7225,[8450,4353,768]],[7226,[8449,4354]],[7227,[8705,4610]],[7228,[8449,4354,768]],[7229,[8449,4354,768]],[7230,[8705,4353]],[7231,[8706,4354]],[7232,[8705,4353,3]],[7233,[8705,4353,3]],[7234,[8449,4609]],[7235,[8450,4610]],[7236,[8449,4609,3]],[7237,[8449,4609,3]],[7238,[8705,4353]],[7239,[8449,4609]],[7240,[8449,4353,768]],[7241,[8449,4353,768]],[7242,[8449,4353,768]],[7243,[8706,4354]],[7244,[8450,4610]],[7245,[8450,4354,768]],[7246,[8450,4354,768]],[7247,[8450,4354,768]],[7248,[8450,4353]],[7249,[8449,4354]],[7250,[8449,4353,3]],[7251,[8449,4353,3]],[7252,[8449,4353,3]],[7253,[8706,4609]],[7254,[8705,4610]],[7255,[8705,4609,3]],[7256,[8705,4609,3]],[7257,[8705,4609,3]],[7258,[16641,771]],[7259,[33025,771]],[7260,[33025,16641,771]],[7261,[33025,16641,771]],[7262,[16642,771]],[7263,[33026,771]],[7264,[33026,16642,771]],[7265,[33026,16642,771]],[7266,[33026,16641]],[7267,[33282,16897]],[7268,[33026,16641,768]],[7269,[33026,16641,768]],[7270,[33025,16642]],[7271,[33281,16898]],[7272,[33025,16642,768]],[7273,[33025,16642,768]],[7274,[33281,16641]],[7275,[33282,16642]],[7276,[33281,16641,3]],[7277,[33281,16641,3]],[7278,[33025,16897]],[7279,[33026,16898]],[7280,[33025,16897,3]],[7281,[33025,16897,3]],[7282,[33281,16641]],[7283,[33025,16897]],[7284,[33025,16641,768]],[7285,[33025,16641,768]],[7286,[33025,16641,768]],[7287,[33025,16641,768]],[7288,[33282,16642]],[7289,[33026,16898]],[7290,[33026,16642,768]],[7291,[33026,16642,768]],[7292,[33026,16642,768]],[7293,[33026,16642,768]],[7294,[33026,16641]],[7295,[33025,16642]],[7296,[33025,16641,3]],[7297,[33025,16641,3]],[7298,[33025,16641,3]],[7299,[33282,16897]],[7300,[33281,16898]],[7301,[33281,16897,3]],[7302,[33281,16897,3]],[7303,[33281,16897,3]],[7304,[65793,771]],[7305,[131329,771]],[7306,[131329,65793,771]],[7307,[131329,65793,771]],[7308,[65794,771]],[7309,[131330,771]],[7310,[131330,65794,771]],[7311,[131330,65794,771]],[7312,[131330,65793]],[7313,[131586,66049]],[7314,[131330,65793,768]],[7315,[131330,65793,768]],[7316,[131329,65794]],[7317,[131585,66050]],[7318,[131329,65794,768]],[7319,[131329,65794,768]],[7320,[131585,65793]],[7321,[131586,65794]],[7322,[131585,65793,3]],[7323,[131585,65793,3]],[7324,[131329,66049]],[7325,[131330,66050]],[7326,[131329,66049,3]],[7327,[131329,66049,3]],[7328,[131585,65793]],[7329,[131329,66049]],[7330,[131329,65793,768]],[7331,[131329,65793,768]],[7332,[131329,65793,768]],[7333,[131586,65794]],[7334,[131330,66050]],[7335,[131330,65794,768]],[7336,[131330,65794,768]],[7337,[131330,65794,768]],[7338,[131330,65793]],[7339,[131329,65794]],[7340,[131329,65793,3]],[7341,[131329,65793,3]],[7342,[131329,65793,3]],[7343,[131586,66049]],[7344,[131585,66050]],[7345,[131585,66049,3]],[7346,[131585,66049,3]],[7347,[131585,66049,3]],[7348,[262401,771]],[7349,[524545,771]],[7350,[524545,262401,771]],[7351,[524545,262401,771]],[7352,[262402,771]],[7353,[524546,771]],[7354,[524546,262402,771]],[7355,[524546,262402,771]],[7356,[524546,262401]],[7357,[524802,262657]],[7358,[524546,262401,768]],[7359,[524546,262401,768]],[7360,[524545,262402]],[7361,[524801,262658]],[7362,[524545,262402,768]],[7363,[524545,262402,768]],[7364,[524801,262401]],[7365,[524802,262402]],[7366,[524801,262401,3]],[7367,[524801,262401,3]],[7368,[524545,262657]],[7369,[524546,262658]],[7370,[524545,262657,3]],[7371,[524545,262657,3]],[7372,[524801,262401]],[7373,[524545,262657]],[7374,[524545,262401,768]],[7375,[524545,262401,768]],[7376,[524545,262401,768]],[7377,[524802,262402]],[7378,[524546,262658]],[7379,[524546,262402,768]],[7380,[524546,262402,768]],[7381,[524546,262402,768]],[7382,[524546,262401]],[7383,[524545,262402]],[7384,[524545,262401,3]],[7385,[524545,262401,3]],[7386,[524545,262401,3]],[7387,[524802,262657]],[7388,[524801,262658]],[7389,[524801,262657,3]],[7390,[524801,262657,3]],[7391,[524801,262657,3]],[7392,[5121,3075]],[7393,[9217,3075]],[7394,[9217,5121,3075]],[7395,[9217,5121,3075]],[7396,[5122,3075]],[7397,[9218,3075]],[7398,[9218,5122,3075]],[7399,[9218,5122,3075]],[7400,[9218,5121]],[7401,[10242,6145]],[7402,[9218,5121,3072]],[7403,[9218,5121,3072]],[7404,[9217,5122]],[7405,[10241,6146]],[7406,[9217,5122,3072]],[7407,[9217,5122,3072]],[7408,[10241,5121]],[7409,[10242,5122]],[7410,[10241,5121,3]],[7411,[10241,5121,3]],[7412,[9217,6145]],[7413,[9218,6146]],[7414,[9217,6145,3]],[7415,[9217,6145,3]],[7416,[10241,5121]],[7417,[9217,6145]],[7418,[9217,5121,3072]],[7419,[9217,5121,3072]],[7420,[9217,5121,3072]],[7421,[10242,5122]],[7422,[9218,6146]],[7423,[9218,5122,3072]],[7424,[9218,5122,3072]],[7425,[9218,5122,3072]],[7426,[9218,5121]],[7427,[9217,5122]],[7428,[9217,5121,3]],[7429,[9217,5121,3]],[7430,[9217,5121,3]],[7431,[10242,6145]],[7432,[10241,6146]],[7433,[10241,6145,3]],[7434,[10241,6145,3]],[7435,[10241,6145,3]],[7436,[17409,3075]],[7437,[33793,3075]],[7438,[33793,17409,3075]],[7439,[33793,17409,3075]],[7440,[17410,3075]],[7441,[33794,3075]],[7442,[33794,17410,3075]],[7443,[33794,17410,3075]],[7444,[33794,17409]],[7445,[34818,18433]],[7446,[33794,17409,3072]],[7447,[33794,17409,3072]],[7448,[33793,17410]],[7449,[34817,18434]],[7450,[33793,17410,3072]],[7451,[33793,17410,3072]],[7452,[34817,17409]],[7453,[34818,17410]],[7454,[34817,17409,3]],[7455,[34817,17409,3]],[7456,[33793,18433]],[7457,[33794,18434]],[7458,[33793,18433,3]],[7459,[33793,18433,3]],[7460,[34817,17409]],[7461,[33793,18433]],[7462,[33793,17409,3072]],[7463,[33793,17409,3072]],[7464,[33793,17409,3072]],[7465,[34818,17410]],[7466,[33794,18434]],[7467,[33794,17410,3072]],[7468,[33794,17410,3072]],[7469,[33794,17410,3072]],[7470,[33794,17409]],[7471,[33793,17410]],[7472,[33793,17409,3]],[7473,[33793,17409,3]],[7474,[33793,17409,3]],[7475,[34818,18433]],[7476,[34817,18434]],[7477,[34817,18433,3]],[7478,[34817,18433,3]],[7479,[34817,18433,3]],[7480,[66561,3075]],[7481,[132097,3075]],[7482,[132097,66561,3075]],[7483,[132097,66561,3075]],[7484,[66562,3075]],[7485,[132098,3075]],[7486,[132098,66562,3075]],[7487,[132098,66562,3075]],[7488,[132098,66561]],[7489,[133122,67585]],[7490,[132098,66561,3072]],[7491,[132098,66561,3072]],[7492,[132097,66562]],[7493,[133121,67586]],[7494,[132097,66562,3072]],[7495,[132097,66562,3072]],[7496,[133121,66561]],[7497,[133122,66562]],[7498,[133121,66561,3]],[7499,[133121,66561,3]],[7500,[132097,67585]],[7501,[132098,67586]],[7502,[132097,67585,3]],[7503,[132097,67585,3]],[7504,[133121,66561]],[7505,[132097,67585]],[7506,[132097,66561,3072]],[7507,[132097,66561,3072]],[7508,[132097,66561,3072]],[7509,[133122,66562]],[7510,[132098,67586]],[7511,[132098,66562,3072]],[7512,[132098,66562,3072]],[7513,[132098,66562,3072]],[7514,[132098,66561]],[7515,[132097,66562]],[7516,[132097,66561,3]],[7517,[132097,66561,3]],[7518,[132097,66561,3]],[7519,[133122,67585]],[7520,[133121,67586]],[7521,[133121,67585,3]],[7522,[133121,67585,3]],[7523,[133121,67585,3]],[7524,[263169,3075]],[7525,[525313,3075]],[7526,[525313,263169,3075]],[7527,[525313,263169,3075]],[7528,[263170,3075]],[7529,[525314,3075]],[7530,[525314,263170,3075]],[7531,[525314,263170,3075]],[7532,[525314,263169]],[7533,[526338,264193]],[7534,[525314,263169,3072]],[7535,[525314,263169,3072]],[7536,[525313,263170]],[7537,[526337,264194]],[7538,[525313,263170,3072]],[7539,[525313,263170,3072]],[7540,[526337,263169]],[7541,[526338,263170]],[7542,[526337,263169,3]],[7543,[526337,263169,3]],[7544,[525313,264193]],[7545,[525314,264194]],[7546,[525313,264193,3]],[7547,[525313,264193,3]],[7548,[526337,263169]],[7549,[525313,264193]],[7550,[525313,263169,3072]],[7551,[525313,263169,3072]],[7552,[525313,263169,3072]],[7553,[526338,263170]],[7554,[525314,264194]],[7555,[525314,263170,3072]],[7556,[525314,263170,3072]],[7557,[525314,263170,3072]],[7558,[525314,263169]],[7559,[525313,263170]],[7560,[525313,263169,3]],[7561,[525313,263169,3]],[7562,[525313,263169,3]],[7563,[526338,264193]],[7564,[526337,264194]],[7565,[526337,264193,3]],[7566,[526337,264193,3]],[7567,[526337,264193,3]],[7568,[20481,12291]],[7569,[36865,12291]],[7570,[36865,20481,12291]],[7571,[36865,20481,12291]],[7572,[20482,12291]],[7573,[36866,12291]],[7574,[36866,20482,12291]],[7575,[36866,20482,12291]],[7576,[36866,20481]],[7577,[40962,24577]],[7578,[36866,20481,12288]],[7579,[36866,20481,12288]],[7580,[36865,20482]],[7581,[40961,24578]],[7582,[36865,20482,12288]],[7583,[36865,20482,12288]],[7584,[40961,20481]],[7585,[40962,20482]],[7586,[40961,20481,3]],[7587,[40961,20481,3]],[7588,[36865,24577]],[7589,[36866,24578]],[7590,[36865,24577,3]],[7591,[36865,24577,3]],[7592,[40961,20481]],[7593,[36865,24577]],[7594,[36865,20481,12288]],[7595,[36865,20481,12288]],[7596,[36865,20481,12288]],[7597,[40962,20482]],[7598,[36866,24578]],[7599,[36866,20482,12288]],[7600,[36866,20482,12288]],[7601,[36866,20482,12288]],[7602,[36866,20481]],[7603,[36865,20482]],[7604,[36865,20481,3]],[7605,[36865,20481,3]],[7606,[36865,20481,3]],[7607,[40962,24577]],[7608,[40961,24578]],[7609,[40961,24577,3]],[7610,[40961,24577,3]],[7611,[40961,24577,3]],[7612,[69633,12291]],[7613,[135169,12291]],[7614,[135169,69633,12291]],[7615,[135169,69633,12291]],[7616,[69634,12291]],[7617,[135170,12291]],[7618,[135170,69634,12291]],[7619,[135170,69634,12291]],[7620,[135170,69633]],[7621,[139266,73729]],[7622,[135170,69633,12288]],[7623,[135170,69633,12288]],[7624,[135169,69634]],[7625,[139265,73730]],[7626,[135169,69634,12288]],[7627,[135169,69634,12288]],[7628,[139265,69633]],[7629,[139266,69634]],[7630,[139265,69633,3]],[7631,[139265,69633,3]],[7632,[135169,73729]],[7633,[135170,73730]],[7634,[135169,73729,3]],[7635,[135169,73729,3]],[7636,[139265,69633]],[7637,[135169,73729]],[7638,[135169,69633,12288]],[7639,[135169,69633,12288]],[7640,[135169,69633,12288]],[7641,[139266,69634]],[7642,[135170,73730]],[7643,[135170,69634,12288]],[7644,[135170,69634,12288]],[7645,[135170,69634,12288]],[7646,[135170,69633]],[7647,[135169,69634]],[7648,[135169,69633,3]],[7649,[135169,69633,3]],[7650,[135169,69633,3]],[7651,[139266,73729]],[7652,[139265,73730]],[7653,[139265,73729,3]],[7654,[139265,73729,3]],[7655,[139265,73729,3]],[7656,[266241,12291]],[7657,[528385,12291]],[7658,[528385,266241,12291]],[7659,[528385,266241,12291]],[7660,[266242,12291]],[7661,[528386,12291]],[7662,[528386,266242,12291]],[7663,[528386,266242,12291]],[7664,[528386,266241]],[7665,[532482,270337]],[7666,[528386,266241,12288]],[7667,[528386,266241,12288]],[7668,[528385,266242]],[7669,[532481,270338]],[7670,[528385,266242,12288]],[7671,[528385,266242,12288]],[7672,[532481,266241]],[7673,[532482,266242]],[7674,[532481,266241,3]],[7675,[532481,266241,3]],[7676,[528385,270337]],[7677,[528386,270338]],[7678,[528385,270337,3]],[7679,[528385,270337,3]],[7680,[532481,266241]],[7681,[528385,270337]],[7682,[528385,266241,12288]],[7683,[528385,266241,12288]],[7684,[528385,266241,12288]],[7685,[532482,266242]],[7686,[528386,270338]],[7687,[528386,266242,12288]],[7688,[528386,266242,12288]],[7689,[528386,266242,12288]],[7690,[528386,266241]],[7691,[528385,266242]],[7692,[528385,266241,3]],[7693,[528385,266241,3]],[7694,[528385,266241,3]],[7695,[532482,270337]],[7696,[532481,270338]],[7697,[532481,270337,3]],[7698,[532481,270337,3]],[7699,[532481,270337,3]],[7700,[81921,49155]],[7701,[147457,49155]],[7702,[147457,81921,49155]],[7703,[147457,81921,49155]],[7704,[81922,49155]],[7705,[147458,49155]],[7706,[147458,81922,49155]],[7707,[147458,81922,49155]],[7708,[147458,81921]],[7709,[163842,98305]],[7710,[147458,81921,49152]],[7711,[147458,81921,49152]],[7712,[147457,81922]],[7713,[163841,98306]],[7714,[147457,81922,49152]],[7715,[147457,81922,49152]],[7716,[163841,81921]],[7717,[163842,81922]],[7718,[163841,81921,3]],[7719,[163841,81921,3]],[7720,[147457,98305]],[7721,[147458,98306]],[7722,[147457,98305,3]],[7723,[147457,98305,3]],[7724,[163841,81921]],[7725,[147457,98305]],[7726,[147457,81921,49152]],[7727,[147457,81921,49152]],[7728,[147457,81921,49152]],[7729,[163842,81922]],[7730,[147458,98306]],[7731,[147458,81922,49152]],[7732,[147458,81922,49152]],[7733,[147458,81922,49152]],[7734,[147458,81921]],[7735,[147457,81922]],[7736,[147457,81921,3]],[7737,[147457,81921,3]],[7738,[147457,81921,3]],[7739,[163842,98305]],[7740,[163841,98306]],[7741,[163841,98305,3]],[7742,[163841,98305,3]],[7743,[163841,98305,3]],[7744,[278529,49155]],[7745,[540673,49155]],[7746,[540673,278529,49155]],[7747,[540673,278529,49155]],[7748,[278530,49155]],[7749,[540674,49155]],[7750,[540674,278530,49155]],[7751,[540674,278530,49155]],[7752,[540674,278529]],[7753,[557058,294913]],[7754,[540674,278529,49152]],[7755,[540674,278529,49152]],[7756,[540673,278530]],[7757,[557057,294914]],[7758,[540673,278530,49152]],[7759,[540673,278530,49152]],[7760,[557057,278529]],[7761,[557058,278530]],[7762,[557057,278529,3]],[7763,[557057,278529,3]],[7764,[540673,294913]],[7765,[540674,294914]],[7766,[540673,294913,3]],[7767,[540673,294913,3]],[7768,[557057,278529]],[7769,[540673,294913]],[7770,[540673,278529,49152]],[7771,[540673,278529,49152]],[7772,[540673,278529,49152]],[7773,[557058,278530]],[7774,[540674,294914]],[7775,[540674,278530,49152]],[7776,[540674,278530,49152]],[7777,[540674,278530,49152]],[7778,[540674,278529]],[7779,[540673,278530]],[7780,[540673,278529,3]],[7781,[540673,278529,3]],[7782,[540673,278529,3]],[7783,[557058,294913]],[7784,[557057,294914]],[7785,[557057,294913,3]],[7786,[557057,294913,3]],[7787,[557057,294913,3]],[7788,[327681,196611]],[7789,[589825,196611]],[7790,[589825,327681,196611]],[7791,[589825,327681,196611]],[7792,[327682,196611]],[7793,[589826,196611]],[7794,[589826,327682,196611]],[7795,[589826,327682,196611]],[7796,[589826,327681]],[7797,[655362,393217]],[7798,[589826,327681,196608]],[7799,[589826,327681,196608]],[7800,[589825,327682]],[7801,[655361,393218]],[7802,[589825,327682,196608]],[7803,[589825,327682,196608]],[7804,[655361,327681]],[7805,[655362,327682]],[7806,[655361,327681,3]],[7807,[655361,327681,3]],[7808,[589825,393217]],[7809,[589826,393218]],[7810,[589825,393217,3]],[7811,[589825,393217,3]],[7812,[655361,327681]],[7813,[589825,393217]],[7814,[589825,327681,196608]],[7815,[589825,327681,196608]],[7816,[589825,327681,196608]],[7817,[655362,327682]],[7818,[589826,393218]],[7819,[589826,327682,196608]],[7820,[589826,327682,196608]],[7821,[589826,327682,196608]],[7822,[589826,327681]],[7823,[589825,327682]],[7824,[589825,327681,3]],[7825,[589825,327681,3]],[7826,[589825,327681,3]],[7827,[655362,393217]],[7828,[655361,393218]],[7829,[655361,393217,3]],[7830,[655361,393217,3]],[7831,[655361,393217,3]],[7832,[84,60]],[7833,[148,60]],[7834,[148,84,60]],[7835,[148,84,60]],[7836,[88,60]],[7837,[152,60]],[7838,[152,88,60]],[7839,[152,88,60]],[7840,[152,84]],[7841,[168,100]],[7842,[152,84,48]],[7843,[152,84,48]],[7844,[148,88]],[7845,[164,104]],[7846,[148,88,48]],[7847,[148,88,48]],[7848,[164,84]],[7849,[168,88]],[7850,[164,84,12]],[7851,[164,84,12]],[7852,[148,100]],[7853,[152,104]],[7854,[148,100,12]],[7855,[148,100,12]],[7856,[164,84]],[7857,[148,100]],[7858,[148,84,48]],[7859,[148,84,48]],[7860,[148,84,48]],[7861,[168,88]],[7862,[152,104]],[7863,[152,88,48]],[7864,[152,88,48]],[7865,[152,88,48]],[7866,[152,84]],[7867,[148,88]],[7868,[148,84,12]],[7869,[148,84,12]],[7870,[148,84,12]],[7871,[168,100]],[7872,[164,104]],[7873,[164,100,12]],[7874,[164,100,12]],[7875,[164,100,12]],[7876,[276,60]],[7877,[532,60]],[7878,[532,276,60]],[7879,[532,276,60]],[7880,[280,60]],[7881,[536,60]],[7882,[536,280,60]],[7883,[536,280,60]],[7884,[536,276]],[7885,[552,292]],[7886,[536,276,48]],[7887,[536,276,48]],[7888,[532,280]],[7889,[548,296]],[7890,[532,280,48]],[7891,[532,280,48]],[7892,[548,276]],[7893,[552,280]],[7894,[548,276,12]],[7895,[548,276,12]],[7896,[532,292]],[7897,[536,296]],[7898,[532,292,12]],[7899,[532,292,12]],[7900,[548,276]],[7901,[532,292]],[7902,[532,276,48]],[7903,[532,276,48]],[7904,[532,276,48]],[7905,[552,280]],[7906,[536,296]],[7907,[536,280,48]],[7908,[536,280,48]],[7909,[536,280,48]],[7910,[536,276]],[7911,[532,280]],[7912,[532,276,12]],[7913,[532,276,12]],[7914,[532,276,12]],[7915,[552,292]],[7916,[548,296]],[7917,[548,292,12]],[7918,[548,292,12]],[7919,[548,292,12]],[7920,[1044,60]],[7921,[2068,60]],[7922,[2068,1044,60]],[7923,[2068,1044,60]],[7924,[1048,60]],[7925,[2072,60]],[7926,[2072,1048,60]],[7927,[2072,1048,60]],[7928,[2072,1044]],[7929,[2088,1060]],[7930,[2072,1044,48]],[7931,[2072,1044,48]],[7932,[2068,1048]],[7933,[2084,1064]],[7934,[2068,1048,48]],[7935,[2068,1048,48]],[7936,[2084,1044]],[7937,[2088,1048]],[7938,[2084,1044,12]],[7939,[2084,1044,12]],[7940,[2068,1060]],[7941,[2072,1064]],[7942,[2068,1060,12]],[7943,[2068,1060,12]],[7944,[2084,1044]],[7945,[2068,1060]],[7946,[2068,1044,48]],[7947,[2068,1044,48]],[7948,[2068,1044,48]],[7949,[2088,1048]],[7950,[2072,1064]],[7951,[2072,1048,48]],[7952,[2072,1048,48]],[7953,[2072,1048,48]],[7954,[2072,1044]],[7955,[2068,1048]],[7956,[2068,1044,12]],[7957,[2068,1044,12]],[7958,[2068,1044,12]],[7959,[2088,1060]],[7960,[2084,1064]],[7961,[2084,1060,12]],[7962,[2084,1060,12]],[7963,[2084,1060,12]],[7964,[4116,60]],[7965,[8212,60]],[7966,[8212,4116,60]],[7967,[8212,4116,60]],[7968,[4120,60]],[7969,[8216,60]],[7970,[8216,4120,60]],[7971,[8216,4120,60]],[7972,[8216,4116]],[7973,[8232,4132]],[7974,[8216,4116,48]],[7975,[8216,4116,48]],[7976,[8212,4120]],[7977,[8228,4136]],[7978,[8212,4120,48]],[7979,[8212,4120,48]],[7980,[8228,4116]],[7981,[8232,4120]],[7982,[8228,4116,12]],[7983,[8228,4116,12]],[7984,[8212,4132]],[7985,[8216,4136]],[7986,[8212,4132,12]],[7987,[8212,4132,12]],[7988,[8228,4116]],[7989,[8212,4132]],[7990,[8212,4116,48]],[7991,[8212,4116,48]],[7992,[8212,4116,48]],[7993,[8232,4120]],[7994,[8216,4136]],[7995,[8216,4120,48]],[7996,[8216,4120,48]],[7997,[8216,4120,48]],[7998,[8216,4116]],[7999,[8212,4120]],[8000,[8212,4116,12]],[8001,[8212,4116,12]],[8002,[8212,4116,12]],[8003,[8232,4132]],[8004,[8228,4136]],[8005,[8228,4132,12]],[8006,[8228,4132,12]],[8007,[8228,4132,12]],[8008,[16404,60]],[8009,[32788,60]],[8010,[32788,16404,60]],[8011,[32788,16404,60]],[8012,[16408,60]],[8013,[32792,60]],[8014,[32792,16408,60]],[8015,[32792,16408,60]],[8016,[32792,16404]],[8017,[32808,16420]],[8018,[32792,16404,48]],[8019,[32792,16404,48]],[8020,[32788,16408]],[8021,[32804,16424]],[8022,[32788,16408,48]],[8023,[32788,16408,48]],[8024,[32804,16404]],[8025,[32808,16408]],[8026,[32804,16404,12]],[8027,[32804,16404,12]],[8028,[32788,16420]],[8029,[32792,16424]],[8030,[32788,16420,12]],[8031,[32788,16420,12]],[8032,[32804,16404]],[8033,[32788,16420]],[8034,[32788,16404,48]],[8035,[32788,16404,48]],[8036,[32788,16404,48]],[8037,[32808,16408]],[8038,[32792,16424]],[8039,[32792,16408,48]],[8040,[32792,16408,48]],[8041,[32792,16408,48]],[8042,[32792,16404]],[8043,[32788,16408]],[8044,[32788,16404,12]],[8045,[32788,16404,12]],[8046,[32788,16404,12]],[8047,[32808,16420]],[8048,[32804,16424]],[8049,[32804,16420,12]],[8050,[32804,16420,12]],[8051,[32804,16420,12]],[8052,[65556,60]],[8053,[131092,60]],[8054,[131092,65556,60]],[8055,[131092,65556,60]],[8056,[65560,60]],[8057,[131096,60]],[8058,[131096,65560,60]],[8059,[131096,65560,60]],[8060,[131096,65556]],[8061,[131112,65572]],[8062,[131096,65556,48]],[8063,[131096,65556,48]],[8064,[131092,65560]],[8065,[131108,65576]],[8066,[131092,65560,48]],[8067,[131092,65560,48]],[8068,[131108,65556]],[8069,[131112,65560]],[8070,[131108,65556,12]],[8071,[131108,65556,12]],[8072,[131092,65572]],[8073,[131096,65576]],[8074,[131092,65572,12]],[8075,[131092,65572,12]],[8076,[131108,65556]],[8077,[131092,65572]],[8078,[131092,65556,48]],[8079,[131092,65556,48]],[8080,[131092,65556,48]],[8081,[131112,65560]],[8082,[131096,65576]],[8083,[131096,65560,48]],[8084,[131096,65560,48]],[8085,[131096,65560,48]],[8086,[131096,65556]],[8087,[131092,65560]],[8088,[131092,65556,12]],[8089,[131092,65556,12]],[8090,[131092,65556,12]],[8091,[131112,65572]],[8092,[131108,65576]],[8093,[131108,65572,12]],[8094,[131108,65572,12]],[8095,[131108,65572,12]],[8096,[262164,60]],[8097,[524308,60]],[8098,[524308,262164,60]],[8099,[524308,262164,60]],[8100,[262168,60]],[8101,[524312,60]],[8102,[524312,262168,60]],[8103,[524312,262168,60]],[8104,[524312,262164]],[8105,[524328,262180]],[8106,[524312,262164,48]],[8107,[524312,262164,48]],[8108,[524308,262168]],[8109,[524324,262184]],[8110,[524308,262168,48]],[8111,[524308,262168,48]],[8112,[524324,262164]],[8113,[524328,262168]],[8114,[524324,262164,12]],[8115,[524324,262164,12]],[8116,[524308,262180]],[8117,[524312,262184]],[8118,[524308,262180,12]],[8119,[524308,262180,12]],[8120,[524324,262164]],[8121,[524308,262180]],[8122,[524308,262164,48]],[8123,[524308,262164,48]],[8124,[524308,262164,48]],[8125,[524328,262168]],[8126,[524312,262184]],[8127,[524312,262168,48]],[8128,[524312,262168,48]],[8129,[524312,262168,48]],[8130,[524312,262164]],[8131,[524308,262168]],[8132,[524308,262164,12]],[8133,[524308,262164,12]],[8134,[524308,262164,12]],[8135,[524328,262180]],[8136,[524324,262184]],[8137,[524324,262180,12]],[8138,[524324,262180,12]],[8139,[524324,262180,12]],[8140,[324,204]],[8141,[580,204]],[8142,[580,324,204]],[8143,[580,324,204]],[8144,[328,204]],[8145,[584,204]],[8146,[584,328,204]],[8147,[584,328,204]],[8148,[584,324]],[8149,[648,388]],[8150,[584,324,192]],[8151,[584,324,192]],[8152,[580,328]],[8153,[644,392]],[8154,[580,328,192]],[8155,[580,328,192]],[8156,[644,324]],[8157,[648,328]],[8158,[644,324,12]],[8159,[644,324,12]],[8160,[580,388]],[8161,[584,392]],[8162,[580,388,12]],[8163,[580,388,12]],[8164,[644,324]],[8165,[580,388]],[8166,[580,324,192]],[8167,[580,324,192]],[8168,[580,324,192]],[8169,[648,328]],[8170,[584,392]],[8171,[584,328,192]],[8172,[584,328,192]],[8173,[584,328,192]],[8174,[584,324]],[8175,[580,328]],[8176,[580,324,12]],[8177,[580,324,12]],[8178,[580,324,12]],[8179,[648,388]],[8180,[644,392]],[8181,[644,388,12]],[8182,[644,388,12]],[8183,[644,388,12]],[8184,[1092,204]],[8185,[2116,204]],[8186,[2116,1092,204]],[8187,[2116,1092,204]],[8188,[1096,204]],[8189,[2120,204]],[8190,[2120,1096,204]],[8191,[2120,1096,204]],[8192,[2120,1092]],[8193,[2184,1156]],[8194,[2120,1092,192]],[8195,[2120,1092,192]],[8196,[2116,1096]],[8197,[2180,1160]],[8198,[2116,1096,192]],[8199,[2116,1096,192]],[8200,[2180,1092]],[8201,[2184,1096]],[8202,[2180,1092,12]],[8203,[2180,1092,12]],[8204,[2116,1156]],[8205,[2120,1160]],[8206,[2116,1156,12]],[8207,[2116,1156,12]],[8208,[2180,1092]],[8209,[2116,1156]],[8210,[2116,1092,192]],[8211,[2116,1092,192]],[8212,[2116,1092,192]],[8213,[2184,1096]],[8214,[2120,1160]],[8215,[2120,1096,192]],[8216,[2120,1096,192]],[8217,[2120,1096,192]],[8218,[2120,1092]],[8219,[2116,1096]],[8220,[2116,1092,12]],[8221,[2116,1092,12]],[8222,[2116,1092,12]],[8223,[2184,1156]],[8224,[2180,1160]],[8225,[2180,1156,12]],[8226,[2180,1156,12]],[8227,[2180,1156,12]],[8228,[4164,204]],[8229,[8260,204]],[8230,[8260,4164,204]],[8231,[8260,4164,204]],[8232,[4168,204]],[8233,[8264,204]],[8234,[8264,4168,204]],[8235,[8264,4168,204]],[8236,[8264,4164]],[8237,[8328,4228]],[8238,[8264,4164,192]],[8239,[8264,4164,192]],[8240,[8260,4168]],[8241,[8324,4232]],[8242,[8260,4168,192]],[8243,[8260,4168,192]],[8244,[8324,4164]],[8245,[8328,4168]],[8246,[8324,4164,12]],[8247,[8324,4164,12]],[8248,[8260,4228]],[8249,[8264,4232]],[8250,[8260,4228,12]],[8251,[8260,4228,12]],[8252,[8324,4164]],[8253,[8260,4228]],[8254,[8260,4164,192]],[8255,[8260,4164,192]],[8256,[8260,4164,192]],[8257,[8328,4168]],[8258,[8264,4232]],[8259,[8264,4168,192]],[8260,[8264,4168,192]],[8261,[8264,4168,192]],[8262,[8264,4164]],[8263,[8260,4168]],[8264,[8260,4164,12]],[8265,[8260,4164,12]],[8266,[8260,4164,12]],[8267,[8328,4228]],[8268,[8324,4232]],[8269,[8324,4228,12]],[8270,[8324,4228,12]],[8271,[8324,4228,12]],[8272,[16452,204]],[8273,[32836,204]],[8274,[32836,16452,204]],[8275,[32836,16452,204]],[8276,[16456,204]],[8277,[32840,204]],[8278,[32840,16456,204]],[8279,[32840,16456,204]],[8280,[32840,16452]],[8281,[32904,16516]],[8282,[32840,16452,192]],[8283,[32840,16452,192]],[8284,[32836,16456]],[8285,[32900,16520]],[8286,[32836,16456,192]],[8287,[32836,16456,192]],[8288,[32900,16452]],[8289,[32904,16456]],[8290,[32900,16452,12]],[8291,[32900,16452,12]],[8292,[32836,16516]],[8293,[32840,16520]],[8294,[32836,16516,12]],[8295,[32836,16516,12]],[8296,[32900,16452]],[8297,[32836,16516]],[8298,[32836,16452,192]],[8299,[32836,16452,192]],[8300,[32836,16452,192]],[8301,[32904,16456]],[8302,[32840,16520]],[8303,[32840,16456,192]],[8304,[32840,16456,192]],[8305,[32840,16456,192]],[8306,[32840,16452]],[8307,[32836,16456]],[8308,[32836,16452,12]],[8309,[32836,16452,12]],[8310,[32836,16452,12]],[8311,[32904,16516]],[8312,[32900,16520]],[8313,[32900,16516,12]],[8314,[32900,16516,12]],[8315,[32900,16516,12]],[8316,[65604,204]],[8317,[131140,204]],[8318,[131140,65604,204]],[8319,[131140,65604,204]],[8320,[65608,204]],[8321,[131144,204]],[8322,[131144,65608,204]],[8323,[131144,65608,204]],[8324,[131144,65604]],[8325,[131208,65668]],[8326,[131144,65604,192]],[8327,[131144,65604,192]],[8328,[131140,65608]],[8329,[131204,65672]],[8330,[131140,65608,192]],[8331,[131140,65608,192]],[8332,[131204,65604]],[8333,[131208,65608]],[8334,[131204,65604,12]],[8335,[131204,65604,12]],[8336,[131140,65668]],[8337,[131144,65672]],[8338,[131140,65668,12]],[8339,[131140,65668,12]],[8340,[131204,65604]],[8341,[131140,65668]],[8342,[131140,65604,192]],[8343,[131140,65604,192]],[8344,[131140,65604,192]],[8345,[131208,65608]],[8346,[131144,65672]],[8347,[131144,65608,192]],[8348,[131144,65608,192]],[8349,[131144,65608,192]],[8350,[131144,65604]],[8351,[131140,65608]],[8352,[131140,65604,12]],[8353,[131140,65604,12]],[8354,[131140,65604,12]],[8355,[131208,65668]],[8356,[131204,65672]],[8357,[131204,65668,12]],[8358,[131204,65668,12]],[8359,[131204,65668,12]],[8360,[262212,204]],[8361,[524356,204]],[8362,[524356,262212,204]],[8363,[524356,262212,204]],[8364,[262216,204]],[8365,[524360,204]],[8366,[524360,262216,204]],[8367,[524360,262216,204]],[8368,[524360,262212]],[8369,[524424,262276]],[8370,[524360,262212,192]],[8371,[524360,262212,192]],[8372,[524356,262216]],[8373,[524420,262280]],[8374,[524356,262216,192]],[8375,[524356,262216,192]],[8376,[524420,262212]],[8377,[524424,262216]],[8378,[524420,262212,12]],[8379,[524420,262212,12]],[8380,[524356,262276]],[8381,[524360,262280]],[8382,[524356,262276,12]],[8383,[524356,262276,12]],[8384,[524420,262212]],[8385,[524356,262276]],[8386,[524356,262212,192]],[8387,[524356,262212,192]],[8388,[524356,262212,192]],[8389,[524424,262216]],[8390,[524360,262280]],[8391,[524360,262216,192]],[8392,[524360,262216,192]],[8393,[524360,262216,192]],[8394,[524360,262212]],[8395,[524356,262216]],[8396,[524356,262212,12]],[8397,[524356,262212,12]],[8398,[524356,262212,12]],[8399,[524424,262276]],[8400,[524420,262280]],[8401,[524420,262276,12]],[8402,[524420,262276,12]],[8403,[524420,262276,12]],[8404,[1284,780]],[8405,[2308,780]],[8406,[2308,1284,780]],[8407,[2308,1284,780]],[8408,[1288,780]],[8409,[2312,780]],[8410,[2312,1288,780]],[8411,[2312,1288,780]],[8412,[2312,1284]],[8413,[2568,1540]],[8414,[2312,1284,768]],[8415,[2312,1284,768]],[8416,[2308,1288]],[8417,[2564,1544]],[8418,[2308,1288,768]],[8419,[2308,1288,768]],[8420,[2564,1284]],[8421,[2568,1288]],[8422,[2564,1284,12]],[8423,[2564,1284,12]],[8424,[2308,1540]],[8425,[2312,1544]],[8426,[2308,1540,12]],[8427,[2308,1540,12]],[8428,[2564,1284]],[8429,[2308,1540]],[8430,[2308,1284,768]],[8431,[2308,1284,768]],[8432,[2308,1284,768]],[8433,[2568,1288]],[8434,[2312,1544]],[8435,[2312,1288,768]],[8436,[2312,1288,768]],[8437,[2312,1288,768]],[8438,[2312,1284]],[8439,[2308,1288]],[8440,[2308,1284,12]],[8441,[2308,1284,12]],[8442,[2308,1284,12]],[8443,[2568,1540]],[8444,[2564,1544]],[8445,[2564,1540,12]],[8446,[2564,1540,12]],[8447,[2564,1540,12]],[8448,[4356,780]],[8449,[8452,780]],[8450,[8452,4356,780]],[8451,[8452,4356,780]],[8452,[4360,780]],[8453,[8456,780]],[8454,[8456,4360,780]],[8455,[8456,4360,780]],[8456,[8456,4356]],[8457,[8712,4612]],[8458,[8456,4356,768]],[8459,[8456,4356,768]],[8460,[8452,4360]],[8461,[8708,4616]],[8462,[8452,4360,768]],[8463,[8452,4360,768]],[8464,[8708,4356]],[8465,[8712,4360]],[8466,[8708,4356,12]],[8467,[8708,4356,12]],[8468,[8452,4612]],[8469,[8456,4616]],[8470,[8452,4612,12]],[8471,[8452,4612,12]],[8472,[8708,4356]],[8473,[8452,4612]],[8474,[8452,4356,768]],[8475,[8452,4356,768]],[8476,[8452,4356,768]],[8477,[8712,4360]],[8478,[8456,4616]],[8479,[8456,4360,768]],[8480,[8456,4360,768]],[8481,[8456,4360,768]],[8482,[8456,4356]],[8483,[8452,4360]],[8484,[8452,4356,12]],[8485,[8452,4356,12]],[8486,[8452,4356,12]],[8487,[8712,4612]],[8488,[8708,4616]],[8489,[8708,4612,12]],[8490,[8708,4612,12]],[8491,[8708,4612,12]],[8492,[16644,780]],[8493,[33028,780]],[8494,[33028,16644,780]],[8495,[33028,16644,780]],[8496,[16648,780]],[8497,[33032,780]],[8498,[33032,16648,780]],[8499,[33032,16648,780]],[8500,[33032,16644]],[8501,[33288,16900]],[8502,[33032,16644,768]],[8503,[33032,16644,768]],[8504,[33028,16648]],[8505,[33284,16904]],[8506,[33028,16648,768]],[8507,[33028,16648,768]],[8508,[33284,16644]],[8509,[33288,16648]],[8510,[33284,16644,12]],[8511,[33284,16644,12]],[8512,[33028,16900]],[8513,[33032,16904]],[8514,[33028,16900,12]],[8515,[33028,16900,12]],[8516,[33284,16644]],[8517,[33028,16900]],[8518,[33028,16644,768]],[8519,[33028,16644,768]],[8520,[33028,16644,768]],[8521,[33028,16644,768]],[8522,[33288,16648]],[8523,[33032,16904]],[8524,[33032,16648,768]],[8525,[33032,16648,768]],[8526,[33032,16648,768]],[8527,[33032,16648,768]],[8528,[33032,16644]],[8529,[33028,16648]],[8530,[33028,16644,12]],[8531,[33028,16644,12]],[8532,[33028,16644,12]],[8533,[33288,16900]],[8534,[33284,16904]],[8535,[33284,16900,12]],[8536,[33284,16900,12]],[8537,[33284,16900,12]],[8538,[65796,780]],[8539,[131332,780]],[8540,[131332,65796,780]],[8541,[131332,65796,780]],[8542,[65800,780]],[8543,[131336,780]],[8544,[131336,65800,780]],[8545,[131336,65800,780]],[8546,[131336,65796]],[8547,[131592,66052]],[8548,[131336,65796,768]],[8549,[131336,65796,768]],[8550,[131332,65800]],[8551,[131588,66056]],[8552,[131332,65800,768]],[8553,[131332,65800,768]],[8554,[131588,65796]],[8555,[131592,65800]],[8556,[131588,65796,12]],[8557,[131588,65796,12]],[8558,[131332,66052]],[8559,[131336,66056]],[8560,[131332,66052,12]],[8561,[131332,66052,12]],[8562,[131588,65796]],[8563,[131332,66052]],[8564,[131332,65796,768]],[8565,[131332,65796,768]],[8566,[131332,65796,768]],[8567,[131592,65800]],[8568,[131336,66056]],[8569,[131336,65800,768]],[8570,[131336,65800,768]],[8571,[131336,65800,768]],[8572,[131336,65796]],[8573,[131332,65800]],[8574,[131332,65796,12]],[8575,[131332,65796,12]],[8576,[131332,65796,12]],[8577,[131592,66052]],[8578,[131588,66056]],[8579,[131588,66052,12]],[8580,[131588,66052,12]],[8581,[131588,66052,12]],[8582,[262404,780]],[8583,[524548,780]],[8584,[524548,262404,780]],[8585,[524548,262404,780]],[8586,[262408,780]],[8587,[524552,780]],[8588,[524552,262408,780]],[8589,[524552,262408,780]],[8590,[524552,262404]],[8591,[524808,262660]],[8592,[524552,262404,768]],[8593,[524552,262404,768]],[8594,[524548,262408]],[8595,[524804,262664]],[8596,[524548,262408,768]],[8597,[524548,262408,768]],[8598,[524804,262404]],[8599,[524808,262408]],[8600,[524804,262404,12]],[8601,[524804,262404,12]],[8602,[524548,262660]],[8603,[524552,262664]],[8604,[524548,262660,12]],[8605,[524548,262660,12]],[8606,[524804,262404]],[8607,[524548,262660]],[8608,[524548,262404,768]],[8609,[524548,262404,768]],[8610,[524548,262404,768]],[8611,[524808,262408]],[8612,[524552,262664]],[8613,[524552,262408,768]],[8614,[524552,262408,768]],[8615,[524552,262408,768]],[8616,[524552,262404]],[8617,[524548,262408]],[8618,[524548,262404,12]],[8619,[524548,262404,12]],[8620,[524548,262404,12]],[8621,[524808,262660]],[8622,[524804,262664]],[8623,[524804,262660,12]],[8624,[524804,262660,12]],[8625,[524804,262660,12]],[8626,[5124,3084]],[8627,[9220,3084]],[8628,[9220,5124,3084]],[8629,[9220,5124,3084]],[8630,[5128,3084]],[8631,[9224,3084]],[8632,[9224,5128,3084]],[8633,[9224,5128,3084]],[8634,[9224,5124]],[8635,[10248,6148]],[8636,[9224,5124,3072]],[8637,[9224,5124,3072]],[8638,[9220,5128]],[8639,[10244,6152]],[8640,[9220,5128,3072]],[8641,[9220,5128,3072]],[8642,[10244,5124]],[8643,[10248,5128]],[8644,[10244,5124,12]],[8645,[10244,5124,12]],[8646,[9220,6148]],[8647,[9224,6152]],[8648,[9220,6148,12]],[8649,[9220,6148,12]],[8650,[10244,5124]],[8651,[9220,6148]],[8652,[9220,5124,3072]],[8653,[9220,5124,3072]],[8654,[9220,5124,3072]],[8655,[10248,5128]],[8656,[9224,6152]],[8657,[9224,5128,3072]],[8658,[9224,5128,3072]],[8659,[9224,5128,3072]],[8660,[9224,5124]],[8661,[9220,5128]],[8662,[9220,5124,12]],[8663,[9220,5124,12]],[8664,[9220,5124,12]],[8665,[10248,6148]],[8666,[10244,6152]],[8667,[10244,6148,12]],[8668,[10244,6148,12]],[8669,[10244,6148,12]],[8670,[17412,3084]],[8671,[33796,3084]],[8672,[33796,17412,3084]],[8673,[33796,17412,3084]],[8674,[17416,3084]],[8675,[33800,3084]],[8676,[33800,17416,3084]],[8677,[33800,17416,3084]],[8678,[33800,17412]],[8679,[34824,18436]],[8680,[33800,17412,3072]],[8681,[33800,17412,3072]],[8682,[33796,17416]],[8683,[34820,18440]],[8684,[33796,17416,3072]],[8685,[33796,17416,3072]],[8686,[34820,17412]],[8687,[34824,17416]],[8688,[34820,17412,12]],[8689,[34820,17412,12]],[8690,[33796,18436]],[8691,[33800,18440]],[8692,[33796,18436,12]],[8693,[33796,18436,12]],[8694,[34820,17412]],[8695,[33796,18436]],[8696,[33796,17412,3072]],[8697,[33796,17412,3072]],[8698,[33796,17412,3072]],[8699,[34824,17416]],[8700,[33800,18440]],[8701,[33800,17416,3072]],[8702,[33800,17416,3072]],[8703,[33800,17416,3072]],[8704,[33800,17412]],[8705,[33796,17416]],[8706,[33796,17412,12]],[8707,[33796,17412,12]],[8708,[33796,17412,12]],[8709,[34824,18436]],[8710,[34820,18440]],[8711,[34820,18436,12]],[8712,[34820,18436,12]],[8713,[34820,18436,12]],[8714,[66564,3084]],[8715,[132100,3084]],[8716,[132100,66564,3084]],[8717,[132100,66564,3084]],[8718,[66568,3084]],[8719,[132104,3084]],[8720,[132104,66568,3084]],[8721,[132104,66568,3084]],[8722,[132104,66564]],[8723,[133128,67588]],[8724,[132104,66564,3072]],[8725,[132104,66564,3072]],[8726,[132100,66568]],[8727,[133124,67592]],[8728,[132100,66568,3072]],[8729,[132100,66568,3072]],[8730,[133124,66564]],[8731,[133128,66568]],[8732,[133124,66564,12]],[8733,[133124,66564,12]],[8734,[132100,67588]],[8735,[132104,67592]],[8736,[132100,67588,12]],[8737,[132100,67588,12]],[8738,[133124,66564]],[8739,[132100,67588]],[8740,[132100,66564,3072]],[8741,[132100,66564,3072]],[8742,[132100,66564,3072]],[8743,[133128,66568]],[8744,[132104,67592]],[8745,[132104,66568,3072]],[8746,[132104,66568,3072]],[8747,[132104,66568,3072]],[8748,[132104,66564]],[8749,[132100,66568]],[8750,[132100,66564,12]],[8751,[132100,66564,12]],[8752,[132100,66564,12]],[8753,[133128,67588]],[8754,[133124,67592]],[8755,[133124,67588,12]],[8756,[133124,67588,12]],[8757,[133124,67588,12]],[8758,[263172,3084]],[8759,[525316,3084]],[8760,[525316,263172,3084]],[8761,[525316,263172,3084]],[8762,[263176,3084]],[8763,[525320,3084]],[8764,[525320,263176,3084]],[8765,[525320,263176,3084]],[8766,[525320,263172]],[8767,[526344,264196]],[8768,[525320,263172,3072]],[8769,[525320,263172,3072]],[8770,[525316,263176]],[8771,[526340,264200]],[8772,[525316,263176,3072]],[8773,[525316,263176,3072]],[8774,[526340,263172]],[8775,[526344,263176]],[8776,[526340,263172,12]],[8777,[526340,263172,12]],[8778,[525316,264196]],[8779,[525320,264200]],[8780,[525316,264196,12]],[8781,[525316,264196,12]],[8782,[526340,263172]],[8783,[525316,264196]],[8784,[525316,263172,3072]],[8785,[525316,263172,3072]],[8786,[525316,263172,3072]],[8787,[526344,263176]],[8788,[525320,264200]],[8789,[525320,263176,3072]],[8790,[525320,263176,3072]],[8791,[525320,263176,3072]],[8792,[525320,263172]],[8793,[525316,263176]],[8794,[525316,263172,12]],[8795,[525316,263172,12]],[8796,[525316,263172,12]],[8797,[526344,264196]],[8798,[526340,264200]],[8799,[526340,264196,12]],[8800,[526340,264196,12]],[8801,[526340,264196,12]],[8802,[20484,12300]],[8803,[36868,12300]],[8804,[36868,20484,12300]],[8805,[36868,20484,12300]],[8806,[20488,12300]],[8807,[36872,12300]],[8808,[36872,20488,12300]],[8809,[36872,20488,12300]],[8810,[36872,20484]],[8811,[40968,24580]],[8812,[36872,20484,12288]],[8813,[36872,20484,12288]],[8814,[36868,20488]],[8815,[40964,24584]],[8816,[36868,20488,12288]],[8817,[36868,20488,12288]],[8818,[40964,20484]],[8819,[40968,20488]],[8820,[40964,20484,12]],[8821,[40964,20484,12]],[8822,[36868,24580]],[8823,[36872,24584]],[8824,[36868,24580,12]],[8825,[36868,24580,12]],[8826,[40964,20484]],[8827,[36868,24580]],[8828,[36868,20484,12288]],[8829,[36868,20484,12288]],[8830,[36868,20484,12288]],[8831,[40968,20488]],[8832,[36872,24584]],[8833,[36872,20488,12288]],[8834,[36872,20488,12288]],[8835,[36872,20488,12288]],[8836,[36872,20484]],[8837,[36868,20488]],[8838,[36868,20484,12]],[8839,[36868,20484,12]],[8840,[36868,20484,12]],[8841,[40968,24580]],[8842,[40964,24584]],[8843,[40964,24580,12]],[8844,[40964,24580,12]],[8845,[40964,24580,12]],[8846,[69636,12300]],[8847,[135172,12300]],[8848,[135172,69636,12300]],[8849,[135172,69636,12300]],[8850,[69640,12300]],[8851,[135176,12300]],[8852,[135176,69640,12300]],[8853,[135176,69640,12300]],[8854,[135176,69636]],[8855,[139272,73732]],[8856,[135176,69636,12288]],[8857,[135176,69636,12288]],[8858,[135172,69640]],[8859,[139268,73736]],[8860,[135172,69640,12288]],[8861,[135172,69640,12288]],[8862,[139268,69636]],[8863,[139272,69640]],[8864,[139268,69636,12]],[8865,[139268,69636,12]],[8866,[135172,73732]],[8867,[135176,73736]],[8868,[135172,73732,12]],[8869,[135172,73732,12]],[8870,[139268,69636]],[8871,[135172,73732]],[8872,[135172,69636,12288]],[8873,[135172,69636,12288]],[8874,[135172,69636,12288]],[8875,[139272,69640]],[8876,[135176,73736]],[8877,[135176,69640,12288]],[8878,[135176,69640,12288]],[8879,[135176,69640,12288]],[8880,[135176,69636]],[8881,[135172,69640]],[8882,[135172,69636,12]],[8883,[135172,69636,12]],[8884,[135172,69636,12]],[8885,[139272,73732]],[8886,[139268,73736]],[8887,[139268,73732,12]],[8888,[139268,73732,12]],[8889,[139268,73732,12]],[8890,[266244,12300]],[8891,[528388,12300]],[8892,[528388,266244,12300]],[8893,[528388,266244,12300]],[8894,[266248,12300]],[8895,[528392,12300]],[8896,[528392,266248,12300]],[8897,[528392,266248,12300]],[8898,[528392,266244]],[8899,[532488,270340]],[8900,[528392,266244,12288]],[8901,[528392,266244,12288]],[8902,[528388,266248]],[8903,[532484,270344]],[8904,[528388,266248,12288]],[8905,[528388,266248,12288]],[8906,[532484,266244]],[8907,[532488,266248]],[8908,[532484,266244,12]],[8909,[532484,266244,12]],[8910,[528388,270340]],[8911,[528392,270344]],[8912,[528388,270340,12]],[8913,[528388,270340,12]],[8914,[532484,266244]],[8915,[528388,270340]],[8916,[528388,266244,12288]],[8917,[528388,266244,12288]],[8918,[528388,266244,12288]],[8919,[532488,266248]],[8920,[528392,270344]],[8921,[528392,266248,12288]],[8922,[528392,266248,12288]],[8923,[528392,266248,12288]],[8924,[528392,266244]],[8925,[528388,266248]],[8926,[528388,266244,12]],[8927,[528388,266244,12]],[8928,[528388,266244,12]],[8929,[532488,270340]],[8930,[532484,270344]],[8931,[532484,270340,12]],[8932,[532484,270340,12]],[8933,[532484,270340,12]],[8934,[81924,49164]],[8935,[147460,49164]],[8936,[147460,81924,49164]],[8937,[147460,81924,49164]],[8938,[81928,49164]],[8939,[147464,49164]],[8940,[147464,81928,49164]],[8941,[147464,81928,49164]],[8942,[147464,81924]],[8943,[163848,98308]],[8944,[147464,81924,49152]],[8945,[147464,81924,49152]],[8946,[147460,81928]],[8947,[163844,98312]],[8948,[147460,81928,49152]],[8949,[147460,81928,49152]],[8950,[163844,81924]],[8951,[163848,81928]],[8952,[163844,81924,12]],[8953,[163844,81924,12]],[8954,[147460,98308]],[8955,[147464,98312]],[8956,[147460,98308,12]],[8957,[147460,98308,12]],[8958,[163844,81924]],[8959,[147460,98308]],[8960,[147460,81924,49152]],[8961,[147460,81924,49152]],[8962,[147460,81924,49152]],[8963,[163848,81928]],[8964,[147464,98312]],[8965,[147464,81928,49152]],[8966,[147464,81928,49152]],[8967,[147464,81928,49152]],[8968,[147464,81924]],[8969,[147460,81928]],[8970,[147460,81924,12]],[8971,[147460,81924,12]],[8972,[147460,81924,12]],[8973,[163848,98308]],[8974,[163844,98312]],[8975,[163844,98308,12]],[8976,[163844,98308,12]],[8977,[163844,98308,12]],[8978,[278532,49164]],[8979,[540676,49164]],[8980,[540676,278532,49164]],[8981,[540676,278532,49164]],[8982,[278536,49164]],[8983,[540680,49164]],[8984,[540680,278536,49164]],[8985,[540680,278536,49164]],[8986,[540680,278532]],[8987,[557064,294916]],[8988,[540680,278532,49152]],[8989,[540680,278532,49152]],[8990,[540676,278536]],[8991,[557060,294920]],[8992,[540676,278536,49152]],[8993,[540676,278536,49152]],[8994,[557060,278532]],[8995,[557064,278536]],[8996,[557060,278532,12]],[8997,[557060,278532,12]],[8998,[540676,294916]],[8999,[540680,294920]],[9000,[540676,294916,12]],[9001,[540676,294916,12]],[9002,[557060,278532]],[9003,[540676,294916]],[9004,[540676,278532,49152]],[9005,[540676,278532,49152]],[9006,[540676,278532,49152]],[9007,[557064,278536]],[9008,[540680,294920]],[9009,[540680,278536,49152]],[9010,[540680,278536,49152]],[9011,[540680,278536,49152]],[9012,[540680,278532]],[9013,[540676,278536]],[9014,[540676,278532,12]],[9015,[540676,278532,12]],[9016,[540676,278532,12]],[9017,[557064,294916]],[9018,[557060,294920]],[9019,[557060,294916,12]],[9020,[557060,294916,12]],[9021,[557060,294916,12]],[9022,[327684,196620]],[9023,[589828,196620]],[9024,[589828,327684,196620]],[9025,[589828,327684,196620]],[9026,[327688,196620]],[9027,[589832,196620]],[9028,[589832,327688,196620]],[9029,[589832,327688,196620]],[9030,[589832,327684]],[9031,[655368,393220]],[9032,[589832,327684,196608]],[9033,[589832,327684,196608]],[9034,[589828,327688]],[9035,[655364,393224]],[9036,[589828,327688,196608]],[9037,[589828,327688,196608]],[9038,[655364,327684]],[9039,[655368,327688]],[9040,[655364,327684,12]],[9041,[655364,327684,12]],[9042,[589828,393220]],[9043,[589832,393224]],[9044,[589828,393220,12]],[9045,[589828,393220,12]],[9046,[655364,327684]],[9047,[589828,393220]],[9048,[589828,327684,196608]],[9049,[589828,327684,196608]],[9050,[589828,327684,196608]],[9051,[655368,327688]],[9052,[589832,393224]],[9053,[589832,327688,196608]],[9054,[589832,327688,196608]],[9055,[589832,327688,196608]],[9056,[589832,327684]],[9057,[589828,327688]],[9058,[589828,327684,12]],[9059,[589828,327684,12]],[9060,[589828,327684,12]],[9061,[655368,393220]],[9062,[655364,393224]],[9063,[655364,393220,12]],[9064,[655364,393220,12]],[9065,[655364,393220,12]],[9066,[336,240]],[9067,[592,240]],[9068,[592,336,240]],[9069,[592,336,240]],[9070,[352,240]],[9071,[608,240]],[9072,[608,352,240]],[9073,[608,352,240]],[9074,[608,336]],[9075,[672,400]],[9076,[608,336,192]],[9077,[608,336,192]],[9078,[592,352]],[9079,[656,416]],[9080,[592,352,192]],[9081,[592,352,192]],[9082,[656,336]],[9083,[672,352]],[9084,[656,336,48]],[9085,[656,336,48]],[9086,[592,400]],[9087,[608,416]],[9088,[592,400,48]],[9089,[592,400,48]],[9090,[656,336]],[9091,[592,400]],[9092,[592,336,192]],[9093,[592,336,192]],[9094,[592,336,192]],[9095,[672,352]],[9096,[608,416]],[9097,[608,352,192]],[9098,[608,352,192]],[9099,[608,352,192]],[9100,[608,336]],[9101,[592,352]],[9102,[592,336,48]],[9103,[592,336,48]],[9104,[592,336,48]],[9105,[672,400]],[9106,[656,416]],[9107,[656,400,48]],[9108,[656,400,48]],[9109,[656,400,48]],[9110,[1104,240]],[9111,[2128,240]],[9112,[2128,1104,240]],[9113,[2128,1104,240]],[9114,[1120,240]],[9115,[2144,240]],[9116,[2144,1120,240]],[9117,[2144,1120,240]],[9118,[2144,1104]],[9119,[2208,1168]],[9120,[2144,1104,192]],[9121,[2144,1104,192]],[9122,[2128,1120]],[9123,[2192,1184]],[9124,[2128,1120,192]],[9125,[2128,1120,192]],[9126,[2192,1104]],[9127,[2208,1120]],[9128,[2192,1104,48]],[9129,[2192,1104,48]],[9130,[2128,1168]],[9131,[2144,1184]],[9132,[2128,1168,48]],[9133,[2128,1168,48]],[9134,[2192,1104]],[9135,[2128,1168]],[9136,[2128,1104,192]],[9137,[2128,1104,192]],[9138,[2128,1104,192]],[9139,[2208,1120]],[9140,[2144,1184]],[9141,[2144,1120,192]],[9142,[2144,1120,192]],[9143,[2144,1120,192]],[9144,[2144,1104]],[9145,[2128,1120]],[9146,[2128,1104,48]],[9147,[2128,1104,48]],[9148,[2128,1104,48]],[9149,[2208,1168]],[9150,[2192,1184]],[9151,[2192,1168,48]],[9152,[2192,1168,48]],[9153,[2192,1168,48]],[9154,[4176,240]],[9155,[8272,240]],[9156,[8272,4176,240]],[9157,[8272,4176,240]],[9158,[4192,240]],[9159,[8288,240]],[9160,[8288,4192,240]],[9161,[8288,4192,240]],[9162,[8288,4176]],[9163,[8352,4240]],[9164,[8288,4176,192]],[9165,[8288,4176,192]],[9166,[8272,4192]],[9167,[8336,4256]],[9168,[8272,4192,192]],[9169,[8272,4192,192]],[9170,[8336,4176]],[9171,[8352,4192]],[9172,[8336,4176,48]],[9173,[8336,4176,48]],[9174,[8272,4240]],[9175,[8288,4256]],[9176,[8272,4240,48]],[9177,[8272,4240,48]],[9178,[8336,4176]],[9179,[8272,4240]],[9180,[8272,4176,192]],[9181,[8272,4176,192]],[9182,[8272,4176,192]],[9183,[8352,4192]],[9184,[8288,4256]],[9185,[8288,4192,192]],[9186,[8288,4192,192]],[9187,[8288,4192,192]],[9188,[8288,4176]],[9189,[8272,4192]],[9190,[8272,4176,48]],[9191,[8272,4176,48]],[9192,[8272,4176,48]],[9193,[8352,4240]],[9194,[8336,4256]],[9195,[8336,4240,48]],[9196,[8336,4240,48]],[9197,[8336,4240,48]],[9198,[16464,240]],[9199,[32848,240]],[9200,[32848,16464,240]],[9201,[32848,16464,240]],[9202,[16480,240]],[9203,[32864,240]],[9204,[32864,16480,240]],[9205,[32864,16480,240]],[9206,[32864,16464]],[9207,[32928,16528]],[9208,[32864,16464,192]],[9209,[32864,16464,192]],[9210,[32848,16480]],[9211,[32912,16544]],[9212,[32848,16480,192]],[9213,[32848,16480,192]],[9214,[32912,16464]],[9215,[32928,16480]],[9216,[32912,16464,48]],[9217,[32912,16464,48]],[9218,[32848,16528]],[9219,[32864,16544]],[9220,[32848,16528,48]],[9221,[32848,16528,48]],[9222,[32912,16464]],[9223,[32848,16528]],[9224,[32848,16464,192]],[9225,[32848,16464,192]],[9226,[32848,16464,192]],[9227,[32928,16480]],[9228,[32864,16544]],[9229,[32864,16480,192]],[9230,[32864,16480,192]],[9231,[32864,16480,192]],[9232,[32864,16464]],[9233,[32848,16480]],[9234,[32848,16464,48]],[9235,[32848,16464,48]],[9236,[32848,16464,48]],[9237,[32928,16528]],[9238,[32912,16544]],[9239,[32912,16528,48]],[9240,[32912,16528,48]],[9241,[32912,16528,48]],[9242,[65616,240]],[9243,[131152,240]],[9244,[131152,65616,240]],[9245,[131152,65616,240]],[9246,[65632,240]],[9247,[131168,240]],[9248,[131168,65632,240]],[9249,[131168,65632,240]],[9250,[131168,65616]],[9251,[131232,65680]],[9252,[131168,65616,192]],[9253,[131168,65616,192]],[9254,[131152,65632]],[9255,[131216,65696]],[9256,[131152,65632,192]],[9257,[131152,65632,192]],[9258,[131216,65616]],[9259,[131232,65632]],[9260,[131216,65616,48]],[9261,[131216,65616,48]],[9262,[131152,65680]],[9263,[131168,65696]],[9264,[131152,65680,48]],[9265,[131152,65680,48]],[9266,[131216,65616]],[9267,[131152,65680]],[9268,[131152,65616,192]],[9269,[131152,65616,192]],[9270,[131152,65616,192]],[9271,[131232,65632]],[9272,[131168,65696]],[9273,[131168,65632,192]],[9274,[131168,65632,192]],[9275,[131168,65632,192]],[9276,[131168,65616]],[9277,[131152,65632]],[9278,[131152,65616,48]],[9279,[131152,65616,48]],[9280,[131152,65616,48]],[9281,[131232,65680]],[9282,[131216,65696]],[9283,[131216,65680,48]],[9284,[131216,65680,48]],[9285,[131216,65680,48]],[9286,[262224,240]],[9287,[524368,240]],[9288,[524368,262224,240]],[9289,[524368,262224,240]],[9290,[262240,240]],[9291,[524384,240]],[9292,[524384,262240,240]],[9293,[524384,262240,240]],[9294,[524384,262224]],[9295,[524448,262288]],[9296,[524384,262224,192]],[9297,[524384,262224,192]],[9298,[524368,262240]],[9299,[524432,262304]],[9300,[524368,262240,192]],[9301,[524368,262240,192]],[9302,[524432,262224]],[9303,[524448,262240]],[9304,[524432,262224,48]],[9305,[524432,262224,48]],[9306,[524368,262288]],[9307,[524384,262304]],[9308,[524368,262288,48]],[9309,[524368,262288,48]],[9310,[524432,262224]],[9311,[524368,262288]],[9312,[524368,262224,192]],[9313,[524368,262224,192]],[9314,[524368,262224,192]],[9315,[524448,262240]],[9316,[524384,262304]],[9317,[524384,262240,192]],[9318,[524384,262240,192]],[9319,[524384,262240,192]],[9320,[524384,262224]],[9321,[524368,262240]],[9322,[524368,262224,48]],[9323,[524368,262224,48]],[9324,[524368,262224,48]],[9325,[524448,262288]],[9326,[524432,262304]],[9327,[524432,262288,48]],[9328,[524432,262288,48]],[9329,[524432,262288,48]],[9330,[1296,816]],[9331,[2320,816]],[9332,[2320,1296,816]],[9333,[2320,1296,816]],[9334,[1312,816]],[9335,[2336,816]],[9336,[2336,1312,816]],[9337,[2336,1312,816]],[9338,[2336,1296]],[9339,[2592,1552]],[9340,[2336,1296,768]],[9341,[2336,1296,768]],[9342,[2320,1312]],[9343,[2576,1568]],[9344,[2320,1312,768]],[9345,[2320,1312,768]],[9346,[2576,1296]],[9347,[2592,1312]],[9348,[2576,1296,48]],[9349,[2576,1296,48]],[9350,[2320,1552]],[9351,[2336,1568]],[9352,[2320,1552,48]],[9353,[2320,1552,48]],[9354,[2576,1296]],[9355,[2320,1552]],[9356,[2320,1296,768]],[9357,[2320,1296,768]],[9358,[2320,1296,768]],[9359,[2592,1312]],[9360,[2336,1568]],[9361,[2336,1312,768]],[9362,[2336,1312,768]],[9363,[2336,1312,768]],[9364,[2336,1296]],[9365,[2320,1312]],[9366,[2320,1296,48]],[9367,[2320,1296,48]],[9368,[2320,1296,48]],[9369,[2592,1552]],[9370,[2576,1568]],[9371,[2576,1552,48]],[9372,[2576,1552,48]],[9373,[2576,1552,48]],[9374,[4368,816]],[9375,[8464,816]],[9376,[8464,4368,816]],[9377,[8464,4368,816]],[9378,[4384,816]],[9379,[8480,816]],[9380,[8480,4384,816]],[9381,[8480,4384,816]],[9382,[8480,4368]],[9383,[8736,4624]],[9384,[8480,4368,768]],[9385,[8480,4368,768]],[9386,[8464,4384]],[9387,[8720,4640]],[9388,[8464,4384,768]],[9389,[8464,4384,768]],[9390,[8720,4368]],[9391,[8736,4384]],[9392,[8720,4368,48]],[9393,[8720,4368,48]],[9394,[8464,4624]],[9395,[8480,4640]],[9396,[8464,4624,48]],[9397,[8464,4624,48]],[9398,[8720,4368]],[9399,[8464,4624]],[9400,[8464,4368,768]],[9401,[8464,4368,768]],[9402,[8464,4368,768]],[9403,[8736,4384]],[9404,[8480,4640]],[9405,[8480,4384,768]],[9406,[8480,4384,768]],[9407,[8480,4384,768]],[9408,[8480,4368]],[9409,[8464,4384]],[9410,[8464,4368,48]],[9411,[8464,4368,48]],[9412,[8464,4368,48]],[9413,[8736,4624]],[9414,[8720,4640]],[9415,[8720,4624,48]],[9416,[8720,4624,48]],[9417,[8720,4624,48]],[9418,[16656,816]],[9419,[33040,816]],[9420,[33040,16656,816]],[9421,[33040,16656,816]],[9422,[16672,816]],[9423,[33056,816]],[9424,[33056,16672,816]],[9425,[33056,16672,816]],[9426,[33056,16656]],[9427,[33312,16912]],[9428,[33056,16656,768]],[9429,[33056,16656,768]],[9430,[33040,16672]],[9431,[33296,16928]],[9432,[33040,16672,768]],[9433,[33040,16672,768]],[9434,[33296,16656]],[9435,[33312,16672]],[9436,[33296,16656,48]],[9437,[33296,16656,48]],[9438,[33040,16912]],[9439,[33056,16928]],[9440,[33040,16912,48]],[9441,[33040,16912,48]],[9442,[33296,16656]],[9443,[33040,16912]],[9444,[33040,16656,768]],[9445,[33040,16656,768]],[9446,[33040,16656,768]],[9447,[33040,16656,768]],[9448,[33312,16672]],[9449,[33056,16928]],[9450,[33056,16672,768]],[9451,[33056,16672,768]],[9452,[33056,16672,768]],[9453,[33056,16672,768]],[9454,[33056,16656]],[9455,[33040,16672]],[9456,[33040,16656,48]],[9457,[33040,16656,48]],[9458,[33040,16656,48]],[9459,[33312,16912]],[9460,[33296,16928]],[9461,[33296,16912,48]],[9462,[33296,16912,48]],[9463,[33296,16912,48]],[9464,[65808,816]],[9465,[131344,816]],[9466,[131344,65808,816]],[9467,[131344,65808,816]],[9468,[65824,816]],[9469,[131360,816]],[9470,[131360,65824,816]],[9471,[131360,65824,816]],[9472,[131360,65808]],[9473,[131616,66064]],[9474,[131360,65808,768]],[9475,[131360,65808,768]],[9476,[131344,65824]],[9477,[131600,66080]],[9478,[131344,65824,768]],[9479,[131344,65824,768]],[9480,[131600,65808]],[9481,[131616,65824]],[9482,[131600,65808,48]],[9483,[131600,65808,48]],[9484,[131344,66064]],[9485,[131360,66080]],[9486,[131344,66064,48]],[9487,[131344,66064,48]],[9488,[131600,65808]],[9489,[131344,66064]],[9490,[131344,65808,768]],[9491,[131344,65808,768]],[9492,[131344,65808,768]],[9493,[131616,65824]],[9494,[131360,66080]],[9495,[131360,65824,768]],[9496,[131360,65824,768]],[9497,[131360,65824,768]],[9498,[131360,65808]],[9499,[131344,65824]],[9500,[131344,65808,48]],[9501,[131344,65808,48]],[9502,[131344,65808,48]],[9503,[131616,66064]],[9504,[131600,66080]],[9505,[131600,66064,48]],[9506,[131600,66064,48]],[9507,[131600,66064,48]],[9508,[262416,816]],[9509,[524560,816]],[9510,[524560,262416,816]],[9511,[524560,262416,816]],[9512,[262432,816]],[9513,[524576,816]],[9514,[524576,262432,816]],[9515,[524576,262432,816]],[9516,[524576,262416]],[9517,[524832,262672]],[9518,[524576,262416,768]],[9519,[524576,262416,768]],[9520,[524560,262432]],[9521,[524816,262688]],[9522,[524560,262432,768]],[9523,[524560,262432,768]],[9524,[524816,262416]],[9525,[524832,262432]],[9526,[524816,262416,48]],[9527,[524816,262416,48]],[9528,[524560,262672]],[9529,[524576,262688]],[9530,[524560,262672,48]],[9531,[524560,262672,48]],[9532,[524816,262416]],[9533,[524560,262672]],[9534,[524560,262416,768]],[9535,[524560,262416,768]],[9536,[524560,262416,768]],[9537,[524832,262432]],[9538,[524576,262688]],[9539,[524576,262432,768]],[9540,[524576,262432,768]],[9541,[524576,262432,768]],[9542,[524576,262416]],[9543,[524560,262432]],[9544,[524560,262416,48]],[9545,[524560,262416,48]],[9546,[524560,262416,48]],[9547,[524832,262672]],[9548,[524816,262688]],[9549,[524816,262672,48]],[9550,[524816,262672,48]],[9551,[524816,262672,48]],[9552,[5136,3120]],[9553,[9232,3120]],[9554,[9232,5136,3120]],[9555,[9232,5136,3120]],[9556,[5152,3120]],[9557,[9248,3120]],[9558,[9248,5152,3120]],[9559,[9248,5152,3120]],[9560,[9248,5136]],[9561,[10272,6160]],[9562,[9248,5136,3072]],[9563,[9248,5136,3072]],[9564,[9232,5152]],[9565,[10256,6176]],[9566,[9232,5152,3072]],[9567,[9232,5152,3072]],[9568,[10256,5136]],[9569,[10272,5152]],[9570,[10256,5136,48]],[9571,[10256,5136,48]],[9572,[9232,6160]],[9573,[9248,6176]],[9574,[9232,6160,48]],[9575,[9232,6160,48]],[9576,[10256,5136]],[9577,[9232,6160]],[9578,[9232,5136,3072]],[9579,[9232,5136,3072]],[9580,[9232,5136,3072]],[9581,[10272,5152]],[9582,[9248,6176]],[9583,[9248,5152,3072]],[9584,[9248,5152,3072]],[9585,[9248,5152,3072]],[9586,[9248,5136]],[9587,[9232,5152]],[9588,[9232,5136,48]],[9589,[9232,5136,48]],[9590,[9232,5136,48]],[9591,[10272,6160]],[9592,[10256,6176]],[9593,[10256,6160,48]],[9594,[10256,6160,48]],[9595,[10256,6160,48]],[9596,[17424,3120]],[9597,[33808,3120]],[9598,[33808,17424,3120]],[9599,[33808,17424,3120]],[9600,[17440,3120]],[9601,[33824,3120]],[9602,[33824,17440,3120]],[9603,[33824,17440,3120]],[9604,[33824,17424]],[9605,[34848,18448]],[9606,[33824,17424,3072]],[9607,[33824,17424,3072]],[9608,[33808,17440]],[9609,[34832,18464]],[9610,[33808,17440,3072]],[9611,[33808,17440,3072]],[9612,[34832,17424]],[9613,[34848,17440]],[9614,[34832,17424,48]],[9615,[34832,17424,48]],[9616,[33808,18448]],[9617,[33824,18464]],[9618,[33808,18448,48]],[9619,[33808,18448,48]],[9620,[34832,17424]],[9621,[33808,18448]],[9622,[33808,17424,3072]],[9623,[33808,17424,3072]],[9624,[33808,17424,3072]],[9625,[34848,17440]],[9626,[33824,18464]],[9627,[33824,17440,3072]],[9628,[33824,17440,3072]],[9629,[33824,17440,3072]],[9630,[33824,17424]],[9631,[33808,17440]],[9632,[33808,17424,48]],[9633,[33808,17424,48]],[9634,[33808,17424,48]],[9635,[34848,18448]],[9636,[34832,18464]],[9637,[34832,18448,48]],[9638,[34832,18448,48]],[9639,[34832,18448,48]],[9640,[66576,3120]],[9641,[132112,3120]],[9642,[132112,66576,3120]],[9643,[132112,66576,3120]],[9644,[66592,3120]],[9645,[132128,3120]],[9646,[132128,66592,3120]],[9647,[132128,66592,3120]],[9648,[132128,66576]],[9649,[133152,67600]],[9650,[132128,66576,3072]],[9651,[132128,66576,3072]],[9652,[132112,66592]],[9653,[133136,67616]],[9654,[132112,66592,3072]],[9655,[132112,66592,3072]],[9656,[133136,66576]],[9657,[133152,66592]],[9658,[133136,66576,48]],[9659,[133136,66576,48]],[9660,[132112,67600]],[9661,[132128,67616]],[9662,[132112,67600,48]],[9663,[132112,67600,48]],[9664,[133136,66576]],[9665,[132112,67600]],[9666,[132112,66576,3072]],[9667,[132112,66576,3072]],[9668,[132112,66576,3072]],[9669,[133152,66592]],[9670,[132128,67616]],[9671,[132128,66592,3072]],[9672,[132128,66592,3072]],[9673,[132128,66592,3072]],[9674,[132128,66576]],[9675,[132112,66592]],[9676,[132112,66576,48]],[9677,[132112,66576,48]],[9678,[132112,66576,48]],[9679,[133152,67600]],[9680,[133136,67616]],[9681,[133136,67600,48]],[9682,[133136,67600,48]],[9683,[133136,67600,48]],[9684,[263184,3120]],[9685,[525328,3120]],[9686,[525328,263184,3120]],[9687,[525328,263184,3120]],[9688,[263200,3120]],[9689,[525344,3120]],[9690,[525344,263200,3120]],[9691,[525344,263200,3120]],[9692,[525344,263184]],[9693,[526368,264208]],[9694,[525344,263184,3072]],[9695,[525344,263184,3072]],[9696,[525328,263200]],[9697,[526352,264224]],[9698,[525328,263200,3072]],[9699,[525328,263200,3072]],[9700,[526352,263184]],[9701,[526368,263200]],[9702,[526352,263184,48]],[9703,[526352,263184,48]],[9704,[525328,264208]],[9705,[525344,264224]],[9706,[525328,264208,48]],[9707,[525328,264208,48]],[9708,[526352,263184]],[9709,[525328,264208]],[9710,[525328,263184,3072]],[9711,[525328,263184,3072]],[9712,[525328,263184,3072]],[9713,[526368,263200]],[9714,[525344,264224]],[9715,[525344,263200,3072]],[9716,[525344,263200,3072]],[9717,[525344,263200,3072]],[9718,[525344,263184]],[9719,[525328,263200]],[9720,[525328,263184,48]],[9721,[525328,263184,48]],[9722,[525328,263184,48]],[9723,[526368,264208]],[9724,[526352,264224]],[9725,[526352,264208,48]],[9726,[526352,264208,48]],[9727,[526352,264208,48]],[9728,[20496,12336]],[9729,[36880,12336]],[9730,[36880,20496,12336]],[9731,[36880,20496,12336]],[9732,[20512,12336]],[9733,[36896,12336]],[9734,[36896,20512,12336]],[9735,[36896,20512,12336]],[9736,[36896,20496]],[9737,[40992,24592]],[9738,[36896,20496,12288]],[9739,[36896,20496,12288]],[9740,[36880,20512]],[9741,[40976,24608]],[9742,[36880,20512,12288]],[9743,[36880,20512,12288]],[9744,[40976,20496]],[9745,[40992,20512]],[9746,[40976,20496,48]],[9747,[40976,20496,48]],[9748,[36880,24592]],[9749,[36896,24608]],[9750,[36880,24592,48]],[9751,[36880,24592,48]],[9752,[40976,20496]],[9753,[36880,24592]],[9754,[36880,20496,12288]],[9755,[36880,20496,12288]],[9756,[36880,20496,12288]],[9757,[40992,20512]],[9758,[36896,24608]],[9759,[36896,20512,12288]],[9760,[36896,20512,12288]],[9761,[36896,20512,12288]],[9762,[36896,20496]],[9763,[36880,20512]],[9764,[36880,20496,48]],[9765,[36880,20496,48]],[9766,[36880,20496,48]],[9767,[40992,24592]],[9768,[40976,24608]],[9769,[40976,24592,48]],[9770,[40976,24592,48]],[9771,[40976,24592,48]],[9772,[69648,12336]],[9773,[135184,12336]],[9774,[135184,69648,12336]],[9775,[135184,69648,12336]],[9776,[69664,12336]],[9777,[135200,12336]],[9778,[135200,69664,12336]],[9779,[135200,69664,12336]],[9780,[135200,69648]],[9781,[139296,73744]],[9782,[135200,69648,12288]],[9783,[135200,69648,12288]],[9784,[135184,69664]],[9785,[139280,73760]],[9786,[135184,69664,12288]],[9787,[135184,69664,12288]],[9788,[139280,69648]],[9789,[139296,69664]],[9790,[139280,69648,48]],[9791,[139280,69648,48]],[9792,[135184,73744]],[9793,[135200,73760]],[9794,[135184,73744,48]],[9795,[135184,73744,48]],[9796,[139280,69648]],[9797,[135184,73744]],[9798,[135184,69648,12288]],[9799,[135184,69648,12288]],[9800,[135184,69648,12288]],[9801,[139296,69664]],[9802,[135200,73760]],[9803,[135200,69664,12288]],[9804,[135200,69664,12288]],[9805,[135200,69664,12288]],[9806,[135200,69648]],[9807,[135184,69664]],[9808,[135184,69648,48]],[9809,[135184,69648,48]],[9810,[135184,69648,48]],[9811,[139296,73744]],[9812,[139280,73760]],[9813,[139280,73744,48]],[9814,[139280,73744,48]],[9815,[139280,73744,48]],[9816,[266256,12336]],[9817,[528400,12336]],[9818,[528400,266256,12336]],[9819,[528400,266256,12336]],[9820,[266272,12336]],[9821,[528416,12336]],[9822,[528416,266272,12336]],[9823,[528416,266272,12336]],[9824,[528416,266256]],[9825,[532512,270352]],[9826,[528416,266256,12288]],[9827,[528416,266256,12288]],[9828,[528400,266272]],[9829,[532496,270368]],[9830,[528400,266272,12288]],[9831,[528400,266272,12288]],[9832,[532496,266256]],[9833,[532512,266272]],[9834,[532496,266256,48]],[9835,[532496,266256,48]],[9836,[528400,270352]],[9837,[528416,270368]],[9838,[528400,270352,48]],[9839,[528400,270352,48]],[9840,[532496,266256]],[9841,[528400,270352]],[9842,[528400,266256,12288]],[9843,[528400,266256,12288]],[9844,[528400,266256,12288]],[9845,[532512,266272]],[9846,[528416,270368]],[9847,[528416,266272,12288]],[9848,[528416,266272,12288]],[9849,[528416,266272,12288]],[9850,[528416,266256]],[9851,[528400,266272]],[9852,[528400,266256,48]],[9853,[528400,266256,48]],[9854,[528400,266256,48]],[9855,[532512,270352]],[9856,[532496,270368]],[9857,[532496,270352,48]],[9858,[532496,270352,48]],[9859,[532496,270352,48]],[9860,[81936,49200]],[9861,[147472,49200]],[9862,[147472,81936,49200]],[9863,[147472,81936,49200]],[9864,[81952,49200]],[9865,[147488,49200]],[9866,[147488,81952,49200]],[9867,[147488,81952,49200]],[9868,[147488,81936]],[9869,[163872,98320]],[9870,[147488,81936,49152]],[9871,[147488,81936,49152]],[9872,[147472,81952]],[9873,[163856,98336]],[9874,[147472,81952,49152]],[9875,[147472,81952,49152]],[9876,[163856,81936]],[9877,[163872,81952]],[9878,[163856,81936,48]],[9879,[163856,81936,48]],[9880,[147472,98320]],[9881,[147488,98336]],[9882,[147472,98320,48]],[9883,[147472,98320,48]],[9884,[163856,81936]],[9885,[147472,98320]],[9886,[147472,81936,49152]],[9887,[147472,81936,49152]],[9888,[147472,81936,49152]],[9889,[163872,81952]],[9890,[147488,98336]],[9891,[147488,81952,49152]],[9892,[147488,81952,49152]],[9893,[147488,81952,49152]],[9894,[147488,81936]],[9895,[147472,81952]],[9896,[147472,81936,48]],[9897,[147472,81936,48]],[9898,[147472,81936,48]],[9899,[163872,98320]],[9900,[163856,98336]],[9901,[163856,98320,48]],[9902,[163856,98320,48]],[9903,[163856,98320,48]],[9904,[278544,49200]],[9905,[540688,49200]],[9906,[540688,278544,49200]],[9907,[540688,278544,49200]],[9908,[278560,49200]],[9909,[540704,49200]],[9910,[540704,278560,49200]],[9911,[540704,278560,49200]],[9912,[540704,278544]],[9913,[557088,294928]],[9914,[540704,278544,49152]],[9915,[540704,278544,49152]],[9916,[540688,278560]],[9917,[557072,294944]],[9918,[540688,278560,49152]],[9919,[540688,278560,49152]],[9920,[557072,278544]],[9921,[557088,278560]],[9922,[557072,278544,48]],[9923,[557072,278544,48]],[9924,[540688,294928]],[9925,[540704,294944]],[9926,[540688,294928,48]],[9927,[540688,294928,48]],[9928,[557072,278544]],[9929,[540688,294928]],[9930,[540688,278544,49152]],[9931,[540688,278544,49152]],[9932,[540688,278544,49152]],[9933,[557088,278560]],[9934,[540704,294944]],[9935,[540704,278560,49152]],[9936,[540704,278560,49152]],[9937,[540704,278560,49152]],[9938,[540704,278544]],[9939,[540688,278560]],[9940,[540688,278544,48]],[9941,[540688,278544,48]],[9942,[540688,278544,48]],[9943,[557088,294928]],[9944,[557072,294944]],[9945,[557072,294928,48]],[9946,[557072,294928,48]],[9947,[557072,294928,48]],[9948,[327696,196656]],[9949,[589840,196656]],[9950,[589840,327696,196656]],[9951,[589840,327696,196656]],[9952,[327712,196656]],[9953,[589856,196656]],[9954,[589856,327712,196656]],[9955,[589856,327712,196656]],[9956,[589856,327696]],[9957,[655392,393232]],[9958,[589856,327696,196608]],[9959,[589856,327696,196608]],[9960,[589840,327712]],[9961,[655376,393248]],[9962,[589840,327712,196608]],[9963,[589840,327712,196608]],[9964,[655376,327696]],[9965,[655392,327712]],[9966,[655376,327696,48]],[9967,[655376,327696,48]],[9968,[589840,393232]],[9969,[589856,393248]],[9970,[589840,393232,48]],[9971,[589840,393232,48]],[9972,[655376,327696]],[9973,[589840,393232]],[9974,[589840,327696,196608]],[9975,[589840,327696,196608]],[9976,[589840,327696,196608]],[9977,[655392,327712]],[9978,[589856,393248]],[9979,[589856,327712,196608]],[9980,[589856,327712,196608]],[9981,[589856,327712,196608]],[9982,[589856,327696]],[9983,[589840,327712]],[9984,[589840,327696,48]],[9985,[589840,327696,48]],[9986,[589840,327696,48]],[9987,[655392,393232]],[9988,[655376,393248]],[9989,[655376,393232,48]],[9990,[655376,393232,48]],[9991,[655376,393232,48]],[9992,[1344,960]],[9993,[2368,960]],[9994,[2368,1344,960]],[9995,[2368,1344,960]],[9996,[1408,960]],[9997,[2432,960]],[9998,[2432,1408,960]],[9999,[2432,1408,960]],[10000,[2432,1344]],[10001,[2688,1600]],[10002,[2432,1344,768]],[10003,[2432,1344,768]],[10004,[2368,1408]],[10005,[2624,1664]],[10006,[2368,1408,768]],[10007,[2368,1408,768]],[10008,[2624,1344]],[10009,[2688,1408]],[10010,[2624,1344,192]],[10011,[2624,1344,192]],[10012,[2368,1600]],[10013,[2432,1664]],[10014,[2368,1600,192]],[10015,[2368,1600,192]],[10016,[2624,1344]],[10017,[2368,1600]],[10018,[2368,1344,768]],[10019,[2368,1344,768]],[10020,[2368,1344,768]],[10021,[2688,1408]],[10022,[2432,1664]],[10023,[2432,1408,768]],[10024,[2432,1408,768]],[10025,[2432,1408,768]],[10026,[2432,1344]],[10027,[2368,1408]],[10028,[2368,1344,192]],[10029,[2368,1344,192]],[10030,[2368,1344,192]],[10031,[2688,1600]],[10032,[2624,1664]],[10033,[2624,1600,192]],[10034,[2624,1600,192]],[10035,[2624,1600,192]],[10036,[4416,960]],[10037,[8512,960]],[10038,[8512,4416,960]],[10039,[8512,4416,960]],[10040,[4480,960]],[10041,[8576,960]],[10042,[8576,4480,960]],[10043,[8576,4480,960]],[10044,[8576,4416]],[10045,[8832,4672]],[10046,[8576,4416,768]],[10047,[8576,4416,768]],[10048,[8512,4480]],[10049,[8768,4736]],[10050,[8512,4480,768]],[10051,[8512,4480,768]],[10052,[8768,4416]],[10053,[8832,4480]],[10054,[8768,4416,192]],[10055,[8768,4416,192]],[10056,[8512,4672]],[10057,[8576,4736]],[10058,[8512,4672,192]],[10059,[8512,4672,192]],[10060,[8768,4416]],[10061,[8512,4672]],[10062,[8512,4416,768]],[10063,[8512,4416,768]],[10064,[8512,4416,768]],[10065,[8832,4480]],[10066,[8576,4736]],[10067,[8576,4480,768]],[10068,[8576,4480,768]],[10069,[8576,4480,768]],[10070,[8576,4416]],[10071,[8512,4480]],[10072,[8512,4416,192]],[10073,[8512,4416,192]],[10074,[8512,4416,192]],[10075,[8832,4672]],[10076,[8768,4736]],[10077,[8768,4672,192]],[10078,[8768,4672,192]],[10079,[8768,4672,192]],[10080,[16704,960]],[10081,[33088,960]],[10082,[33088,16704,960]],[10083,[33088,16704,960]],[10084,[16768,960]],[10085,[33152,960]],[10086,[33152,16768,960]],[10087,[33152,16768,960]],[10088,[33152,16704]],[10089,[33408,16960]],[10090,[33152,16704,768]],[10091,[33152,16704,768]],[10092,[33088,16768]],[10093,[33344,17024]],[10094,[33088,16768,768]],[10095,[33088,16768,768]],[10096,[33344,16704]],[10097,[33408,16768]],[10098,[33344,16704,192]],[10099,[33344,16704,192]],[10100,[33088,16960]],[10101,[33152,17024]],[10102,[33088,16960,192]],[10103,[33088,16960,192]],[10104,[33344,16704]],[10105,[33088,16960]],[10106,[33088,16704,768]],[10107,[33088,16704,768]],[10108,[33088,16704,768]],[10109,[33088,16704,768]],[10110,[33408,16768]],[10111,[33152,17024]],[10112,[33152,16768,768]],[10113,[33152,16768,768]],[10114,[33152,16768,768]],[10115,[33152,16768,768]],[10116,[33152,16704]],[10117,[33088,16768]],[10118,[33088,16704,192]],[10119,[33088,16704,192]],[10120,[33088,16704,192]],[10121,[33088,16704,192]],[10122,[33408,16960]],[10123,[33344,17024]],[10124,[33344,16960,192]],[10125,[33344,16960,192]],[10126,[33344,16960,192]],[10127,[33344,16960,192]],[10128,[65856,960]],[10129,[131392,960]],[10130,[131392,65856,960]],[10131,[131392,65856,960]],[10132,[65920,960]],[10133,[131456,960]],[10134,[131456,65920,960]],[10135,[131456,65920,960]],[10136,[131456,65856]],[10137,[131712,66112]],[10138,[131456,65856,768]],[10139,[131456,65856,768]],[10140,[131392,65920]],[10141,[131648,66176]],[10142,[131392,65920,768]],[10143,[131392,65920,768]],[10144,[131648,65856]],[10145,[131712,65920]],[10146,[131648,65856,192]],[10147,[131648,65856,192]],[10148,[131392,66112]],[10149,[131456,66176]],[10150,[131392,66112,192]],[10151,[131392,66112,192]],[10152,[131648,65856]],[10153,[131392,66112]],[10154,[131392,65856,768]],[10155,[131392,65856,768]],[10156,[131392,65856,768]],[10157,[131712,65920]],[10158,[131456,66176]],[10159,[131456,65920,768]],[10160,[131456,65920,768]],[10161,[131456,65920,768]],[10162,[131456,65856]],[10163,[131392,65920]],[10164,[131392,65856,192]],[10165,[131392,65856,192]],[10166,[131392,65856,192]],[10167,[131712,66112]],[10168,[131648,66176]],[10169,[131648,66112,192]],[10170,[131648,66112,192]],[10171,[131648,66112,192]],[10172,[262464,960]],[10173,[524608,960]],[10174,[524608,262464,960]],[10175,[524608,262464,960]],[10176,[262528,960]],[10177,[524672,960]],[10178,[524672,262528,960]],[10179,[524672,262528,960]],[10180,[524672,262464]],[10181,[524928,262720]],[10182,[524672,262464,768]],[10183,[524672,262464,768]],[10184,[524608,262528]],[10185,[524864,262784]],[10186,[524608,262528,768]],[10187,[524608,262528,768]],[10188,[524864,262464]],[10189,[524928,262528]],[10190,[524864,262464,192]],[10191,[524864,262464,192]],[10192,[524608,262720]],[10193,[524672,262784]],[10194,[524608,262720,192]],[10195,[524608,262720,192]],[10196,[524864,262464]],[10197,[524608,262720]],[10198,[524608,262464,768]],[10199,[524608,262464,768]],[10200,[524608,262464,768]],[10201,[524928,262528]],[10202,[524672,262784]],[10203,[524672,262528,768]],[10204,[524672,262528,768]],[10205,[524672,262528,768]],[10206,[524672,262464]],[10207,[524608,262528]],[10208,[524608,262464,192]],[10209,[524608,262464,192]],[10210,[524608,262464,192]],[10211,[524928,262720]],[10212,[524864,262784]],[10213,[524864,262720,192]],[10214,[524864,262720,192]],[10215,[524864,262720,192]],[10216,[5184,3264]],[10217,[9280,3264]],[10218,[9280,5184,3264]],[10219,[9280,5184,3264]],[10220,[5248,3264]],[10221,[9344,3264]],[10222,[9344,5248,3264]],[10223,[9344,5248,3264]],[10224,[9344,5184]],[10225,[10368,6208]],[10226,[9344,5184,3072]],[10227,[9344,5184,3072]],[10228,[9280,5248]],[10229,[10304,6272]],[10230,[9280,5248,3072]],[10231,[9280,5248,3072]],[10232,[10304,5184]],[10233,[10368,5248]],[10234,[10304,5184,192]],[10235,[10304,5184,192]],[10236,[9280,6208]],[10237,[9344,6272]],[10238,[9280,6208,192]],[10239,[9280,6208,192]],[10240,[10304,5184]],[10241,[9280,6208]],[10242,[9280,5184,3072]],[10243,[9280,5184,3072]],[10244,[9280,5184,3072]],[10245,[10368,5248]],[10246,[9344,6272]],[10247,[9344,5248,3072]],[10248,[9344,5248,3072]],[10249,[9344,5248,3072]],[10250,[9344,5184]],[10251,[9280,5248]],[10252,[9280,5184,192]],[10253,[9280,5184,192]],[10254,[9280,5184,192]],[10255,[10368,6208]],[10256,[10304,6272]],[10257,[10304,6208,192]],[10258,[10304,6208,192]],[10259,[10304,6208,192]],[10260,[17472,3264]],[10261,[33856,3264]],[10262,[33856,17472,3264]],[10263,[33856,17472,3264]],[10264,[17536,3264]],[10265,[33920,3264]],[10266,[33920,17536,3264]],[10267,[33920,17536,3264]],[10268,[33920,17472]],[10269,[34944,18496]],[10270,[33920,17472,3072]],[10271,[33920,17472,3072]],[10272,[33856,17536]],[10273,[34880,18560]],[10274,[33856,17536,3072]],[10275,[33856,17536,3072]],[10276,[34880,17472]],[10277,[34944,17536]],[10278,[34880,17472,192]],[10279,[34880,17472,192]],[10280,[33856,18496]],[10281,[33920,18560]],[10282,[33856,18496,192]],[10283,[33856,18496,192]],[10284,[34880,17472]],[10285,[33856,18496]],[10286,[33856,17472,3072]],[10287,[33856,17472,3072]],[10288,[33856,17472,3072]],[10289,[34944,17536]],[10290,[33920,18560]],[10291,[33920,17536,3072]],[10292,[33920,17536,3072]],[10293,[33920,17536,3072]],[10294,[33920,17472]],[10295,[33856,17536]],[10296,[33856,17472,192]],[10297,[33856,17472,192]],[10298,[33856,17472,192]],[10299,[33856,17472,192]],[10300,[34944,18496]],[10301,[34880,18560]],[10302,[34880,18496,192]],[10303,[34880,18496,192]],[10304,[34880,18496,192]],[10305,[34880,18496,192]],[10306,[66624,3264]],[10307,[132160,3264]],[10308,[132160,66624,3264]],[10309,[132160,66624,3264]],[10310,[66688,3264]],[10311,[132224,3264]],[10312,[132224,66688,3264]],[10313,[132224,66688,3264]],[10314,[132224,66624]],[10315,[133248,67648]],[10316,[132224,66624,3072]],[10317,[132224,66624,3072]],[10318,[132160,66688]],[10319,[133184,67712]],[10320,[132160,66688,3072]],[10321,[132160,66688,3072]],[10322,[133184,66624]],[10323,[133248,66688]],[10324,[133184,66624,192]],[10325,[133184,66624,192]],[10326,[132160,67648]],[10327,[132224,67712]],[10328,[132160,67648,192]],[10329,[132160,67648,192]],[10330,[133184,66624]],[10331,[132160,67648]],[10332,[132160,66624,3072]],[10333,[132160,66624,3072]],[10334,[132160,66624,3072]],[10335,[133248,66688]],[10336,[132224,67712]],[10337,[132224,66688,3072]],[10338,[132224,66688,3072]],[10339,[132224,66688,3072]],[10340,[132224,66624]],[10341,[132160,66688]],[10342,[132160,66624,192]],[10343,[132160,66624,192]],[10344,[132160,66624,192]],[10345,[133248,67648]],[10346,[133184,67712]],[10347,[133184,67648,192]],[10348,[133184,67648,192]],[10349,[133184,67648,192]],[10350,[263232,3264]],[10351,[525376,3264]],[10352,[525376,263232,3264]],[10353,[525376,263232,3264]],[10354,[263296,3264]],[10355,[525440,3264]],[10356,[525440,263296,3264]],[10357,[525440,263296,3264]],[10358,[525440,263232]],[10359,[526464,264256]],[10360,[525440,263232,3072]],[10361,[525440,263232,3072]],[10362,[525376,263296]],[10363,[526400,264320]],[10364,[525376,263296,3072]],[10365,[525376,263296,3072]],[10366,[526400,263232]],[10367,[526464,263296]],[10368,[526400,263232,192]],[10369,[526400,263232,192]],[10370,[525376,264256]],[10371,[525440,264320]],[10372,[525376,264256,192]],[10373,[525376,264256,192]],[10374,[526400,263232]],[10375,[525376,264256]],[10376,[525376,263232,3072]],[10377,[525376,263232,3072]],[10378,[525376,263232,3072]],[10379,[526464,263296]],[10380,[525440,264320]],[10381,[525440,263296,3072]],[10382,[525440,263296,3072]],[10383,[525440,263296,3072]],[10384,[525440,263232]],[10385,[525376,263296]],[10386,[525376,263232,192]],[10387,[525376,263232,192]],[10388,[525376,263232,192]],[10389,[526464,264256]],[10390,[526400,264320]],[10391,[526400,264256,192]],[10392,[526400,264256,192]],[10393,[526400,264256,192]],[10394,[20544,12480]],[10395,[36928,12480]],[10396,[36928,20544,12480]],[10397,[36928,20544,12480]],[10398,[20608,12480]],[10399,[36992,12480]],[10400,[36992,20608,12480]],[10401,[36992,20608,12480]],[10402,[36992,20544]],[10403,[41088,24640]],[10404,[36992,20544,12288]],[10405,[36992,20544,12288]],[10406,[36928,20608]],[10407,[41024,24704]],[10408,[36928,20608,12288]],[10409,[36928,20608,12288]],[10410,[41024,20544]],[10411,[41088,20608]],[10412,[41024,20544,192]],[10413,[41024,20544,192]],[10414,[36928,24640]],[10415,[36992,24704]],[10416,[36928,24640,192]],[10417,[36928,24640,192]],[10418,[41024,20544]],[10419,[36928,24640]],[10420,[36928,20544,12288]],[10421,[36928,20544,12288]],[10422,[36928,20544,12288]],[10423,[41088,20608]],[10424,[36992,24704]],[10425,[36992,20608,12288]],[10426,[36992,20608,12288]],[10427,[36992,20608,12288]],[10428,[36992,20544]],[10429,[36928,20608]],[10430,[36928,20544,192]],[10431,[36928,20544,192]],[10432,[36928,20544,192]],[10433,[36928,20544,192]],[10434,[41088,24640]],[10435,[41024,24704]],[10436,[41024,24640,192]],[10437,[41024,24640,192]],[10438,[41024,24640,192]],[10439,[41024,24640,192]],[10440,[69696,12480]],[10441,[135232,12480]],[10442,[135232,69696,12480]],[10443,[135232,69696,12480]],[10444,[69760,12480]],[10445,[135296,12480]],[10446,[135296,69760,12480]],[10447,[135296,69760,12480]],[10448,[135296,69696]],[10449,[139392,73792]],[10450,[135296,69696,12288]],[10451,[135296,69696,12288]],[10452,[135232,69760]],[10453,[139328,73856]],[10454,[135232,69760,12288]],[10455,[135232,69760,12288]],[10456,[139328,69696]],[10457,[139392,69760]],[10458,[139328,69696,192]],[10459,[139328,69696,192]],[10460,[135232,73792]],[10461,[135296,73856]],[10462,[135232,73792,192]],[10463,[135232,73792,192]],[10464,[139328,69696]],[10465,[135232,73792]],[10466,[135232,69696,12288]],[10467,[135232,69696,12288]],[10468,[135232,69696,12288]],[10469,[139392,69760]],[10470,[135296,73856]],[10471,[135296,69760,12288]],[10472,[135296,69760,12288]],[10473,[135296,69760,12288]],[10474,[135296,69696]],[10475,[135232,69760]],[10476,[135232,69696,192]],[10477,[135232,69696,192]],[10478,[135232,69696,192]],[10479,[139392,73792]],[10480,[139328,73856]],[10481,[139328,73792,192]],[10482,[139328,73792,192]],[10483,[139328,73792,192]],[10484,[266304,12480]],[10485,[528448,12480]],[10486,[528448,266304,12480]],[10487,[528448,266304,12480]],[10488,[266368,12480]],[10489,[528512,12480]],[10490,[528512,266368,12480]],[10491,[528512,266368,12480]],[10492,[528512,266304]],[10493,[532608,270400]],[10494,[528512,266304,12288]],[10495,[528512,266304,12288]],[10496,[528448,266368]],[10497,[532544,270464]],[10498,[528448,266368,12288]],[10499,[528448,266368,12288]],[10500,[532544,266304]],[10501,[532608,266368]],[10502,[532544,266304,192]],[10503,[532544,266304,192]],[10504,[528448,270400]],[10505,[528512,270464]],[10506,[528448,270400,192]],[10507,[528448,270400,192]],[10508,[532544,266304]],[10509,[528448,270400]],[10510,[528448,266304,12288]],[10511,[528448,266304,12288]],[10512,[528448,266304,12288]],[10513,[532608,266368]],[10514,[528512,270464]],[10515,[528512,266368,12288]],[10516,[528512,266368,12288]],[10517,[528512,266368,12288]],[10518,[528512,266304]],[10519,[528448,266368]],[10520,[528448,266304,192]],[10521,[528448,266304,192]],[10522,[528448,266304,192]],[10523,[532608,270400]],[10524,[532544,270464]],[10525,[532544,270400,192]],[10526,[532544,270400,192]],[10527,[532544,270400,192]],[10528,[81984,49344]],[10529,[147520,49344]],[10530,[147520,81984,49344]],[10531,[147520,81984,49344]],[10532,[82048,49344]],[10533,[147584,49344]],[10534,[147584,82048,49344]],[10535,[147584,82048,49344]],[10536,[147584,81984]],[10537,[163968,98368]],[10538,[147584,81984,49152]],[10539,[147584,81984,49152]],[10540,[147520,82048]],[10541,[163904,98432]],[10542,[147520,82048,49152]],[10543,[147520,82048,49152]],[10544,[163904,81984]],[10545,[163968,82048]],[10546,[163904,81984,192]],[10547,[163904,81984,192]],[10548,[147520,98368]],[10549,[147584,98432]],[10550,[147520,98368,192]],[10551,[147520,98368,192]],[10552,[163904,81984]],[10553,[147520,98368]],[10554,[147520,81984,49152]],[10555,[147520,81984,49152]],[10556,[147520,81984,49152]],[10557,[163968,82048]],[10558,[147584,98432]],[10559,[147584,82048,49152]],[10560,[147584,82048,49152]],[10561,[147584,82048,49152]],[10562,[147584,81984]],[10563,[147520,82048]],[10564,[147520,81984,192]],[10565,[147520,81984,192]],[10566,[147520,81984,192]],[10567,[163968,98368]],[10568,[163904,98432]],[10569,[163904,98368,192]],[10570,[163904,98368,192]],[10571,[163904,98368,192]],[10572,[278592,49344]],[10573,[540736,49344]],[10574,[540736,278592,49344]],[10575,[540736,278592,49344]],[10576,[278656,49344]],[10577,[540800,49344]],[10578,[540800,278656,49344]],[10579,[540800,278656,49344]],[10580,[540800,278592]],[10581,[557184,294976]],[10582,[540800,278592,49152]],[10583,[540800,278592,49152]],[10584,[540736,278656]],[10585,[557120,295040]],[10586,[540736,278656,49152]],[10587,[540736,278656,49152]],[10588,[557120,278592]],[10589,[557184,278656]],[10590,[557120,278592,192]],[10591,[557120,278592,192]],[10592,[540736,294976]],[10593,[540800,295040]],[10594,[540736,294976,192]],[10595,[540736,294976,192]],[10596,[557120,278592]],[10597,[540736,294976]],[10598,[540736,278592,49152]],[10599,[540736,278592,49152]],[10600,[540736,278592,49152]],[10601,[557184,278656]],[10602,[540800,295040]],[10603,[540800,278656,49152]],[10604,[540800,278656,49152]],[10605,[540800,278656,49152]],[10606,[540800,278592]],[10607,[540736,278656]],[10608,[540736,278592,192]],[10609,[540736,278592,192]],[10610,[540736,278592,192]],[10611,[557184,294976]],[10612,[557120,295040]],[10613,[557120,294976,192]],[10614,[557120,294976,192]],[10615,[557120,294976,192]],[10616,[327744,196800]],[10617,[589888,196800]],[10618,[589888,327744,196800]],[10619,[589888,327744,196800]],[10620,[327808,196800]],[10621,[589952,196800]],[10622,[589952,327808,196800]],[10623,[589952,327808,196800]],[10624,[589952,327744]],[10625,[655488,393280]],[10626,[589952,327744,196608]],[10627,[589952,327744,196608]],[10628,[589888,327808]],[10629,[655424,393344]],[10630,[589888,327808,196608]],[10631,[589888,327808,196608]],[10632,[655424,327744]],[10633,[655488,327808]],[10634,[655424,327744,192]],[10635,[655424,327744,192]],[10636,[589888,393280]],[10637,[589952,393344]],[10638,[589888,393280,192]],[10639,[589888,393280,192]],[10640,[655424,327744]],[10641,[589888,393280]],[10642,[589888,327744,196608]],[10643,[589888,327744,196608]],[10644,[589888,327744,196608]],[10645,[655488,327808]],[10646,[589952,393344]],[10647,[589952,327808,196608]],[10648,[589952,327808,196608]],[10649,[589952,327808,196608]],[10650,[589952,327744]],[10651,[589888,327808]],[10652,[589888,327744,192]],[10653,[589888,327744,192]],[10654,[589888,327744,192]],[10655,[655488,393280]],[10656,[655424,393344]],[10657,[655424,393280,192]],[10658,[655424,393280,192]],[10659,[655424,393280,192]],[10660,[5376,3840]],[10661,[9472,3840]],[10662,[9472,5376,3840]],[10663,[9472,5376,3840]],[10664,[5632,3840]],[10665,[9728,3840]],[10666,[9728,5632,3840]],[10667,[9728,5632,3840]],[10668,[9728,5376]],[10669,[10752,6400]],[10670,[9728,5376,3072]],[10671,[9728,5376,3072]],[10672,[9472,5632]],[10673,[10496,6656]],[10674,[9472,5632,3072]],[10675,[9472,5632,3072]],[10676,[10496,5376]],[10677,[10752,5632]],[10678,[10496,5376,768]],[10679,[10496,5376,768]],[10680,[9472,6400]],[10681,[9728,6656]],[10682,[9472,6400,768]],[10683,[9472,6400,768]],[10684,[10496,5376]],[10685,[9472,6400]],[10686,[9472,5376,3072]],[10687,[9472,5376,3072]],[10688,[9472,5376,3072]],[10689,[10752,5632]],[10690,[9728,6656]],[10691,[9728,5632,3072]],[10692,[9728,5632,3072]],[10693,[9728,5632,3072]],[10694,[9728,5376]],[10695,[9472,5632]],[10696,[9472,5376,768]],[10697,[9472,5376,768]],[10698,[9472,5376,768]],[10699,[10752,6400]],[10700,[10496,6656]],[10701,[10496,6400,768]],[10702,[10496,6400,768]],[10703,[10496,6400,768]],[10704,[17664,3840]],[10705,[34048,3840]],[10706,[34048,17664,3840]],[10707,[34048,17664,3840]],[10708,[17920,3840]],[10709,[34304,3840]],[10710,[34304,17920,3840]],[10711,[34304,17920,3840]],[10712,[34304,17664]],[10713,[35328,18688]],[10714,[34304,17664,3072]],[10715,[34304,17664,3072]],[10716,[34048,17920]],[10717,[35072,18944]],[10718,[34048,17920,3072]],[10719,[34048,17920,3072]],[10720,[35072,17664]],[10721,[35328,17920]],[10722,[35072,17664,768]],[10723,[35072,17664,768]],[10724,[34048,18688]],[10725,[34304,18944]],[10726,[34048,18688,768]],[10727,[34048,18688,768]],[10728,[35072,17664]],[10729,[34048,18688]],[10730,[34048,17664,3072]],[10731,[34048,17664,3072]],[10732,[34048,17664,3072]],[10733,[35328,17920]],[10734,[34304,18944]],[10735,[34304,17920,3072]],[10736,[34304,17920,3072]],[10737,[34304,17920,3072]],[10738,[34304,17664]],[10739,[34048,17920]],[10740,[34048,17664,768]],[10741,[34048,17664,768]],[10742,[34048,17664,768]],[10743,[35328,18688]],[10744,[35072,18944]],[10745,[35072,18688,768]],[10746,[35072,18688,768]],[10747,[35072,18688,768]],[10748,[66816,3840]],[10749,[132352,3840]],[10750,[132352,66816,3840]],[10751,[132352,66816,3840]],[10752,[67072,3840]],[10753,[132608,3840]],[10754,[132608,67072,3840]],[10755,[132608,67072,3840]],[10756,[132608,66816]],[10757,[133632,67840]],[10758,[132608,66816,3072]],[10759,[132608,66816,3072]],[10760,[132352,67072]],[10761,[133376,68096]],[10762,[132352,67072,3072]],[10763,[132352,67072,3072]],[10764,[133376,66816]],[10765,[133632,67072]],[10766,[133376,66816,768]],[10767,[133376,66816,768]],[10768,[132352,67840]],[10769,[132608,68096]],[10770,[132352,67840,768]],[10771,[132352,67840,768]],[10772,[133376,66816]],[10773,[132352,67840]],[10774,[132352,66816,3072]],[10775,[132352,66816,3072]],[10776,[132352,66816,3072]],[10777,[133632,67072]],[10778,[132608,68096]],[10779,[132608,67072,3072]],[10780,[132608,67072,3072]],[10781,[132608,67072,3072]],[10782,[132608,66816]],[10783,[132352,67072]],[10784,[132352,66816,768]],[10785,[132352,66816,768]],[10786,[132352,66816,768]],[10787,[133632,67840]],[10788,[133376,68096]],[10789,[133376,67840,768]],[10790,[133376,67840,768]],[10791,[133376,67840,768]],[10792,[263424,3840]],[10793,[525568,3840]],[10794,[525568,263424,3840]],[10795,[525568,263424,3840]],[10796,[263680,3840]],[10797,[525824,3840]],[10798,[525824,263680,3840]],[10799,[525824,263680,3840]],[10800,[525824,263424]],[10801,[526848,264448]],[10802,[525824,263424,3072]],[10803,[525824,263424,3072]],[10804,[525568,263680]],[10805,[526592,264704]],[10806,[525568,263680,3072]],[10807,[525568,263680,3072]],[10808,[526592,263424]],[10809,[526848,263680]],[10810,[526592,263424,768]],[10811,[526592,263424,768]],[10812,[525568,264448]],[10813,[525824,264704]],[10814,[525568,264448,768]],[10815,[525568,264448,768]],[10816,[526592,263424]],[10817,[525568,264448]],[10818,[525568,263424,3072]],[10819,[525568,263424,3072]],[10820,[525568,263424,3072]],[10821,[526848,263680]],[10822,[525824,264704]],[10823,[525824,263680,3072]],[10824,[525824,263680,3072]],[10825,[525824,263680,3072]],[10826,[525824,263424]],[10827,[525568,263680]],[10828,[525568,263424,768]],[10829,[525568,263424,768]],[10830,[525568,263424,768]],[10831,[526848,264448]],[10832,[526592,264704]],[10833,[526592,264448,768]],[10834,[526592,264448,768]],[10835,[526592,264448,768]],[10836,[20736,13056]],[10837,[37120,13056]],[10838,[37120,20736,13056]],[10839,[37120,20736,13056]],[10840,[20992,13056]],[10841,[37376,13056]],[10842,[37376,20992,13056]],[10843,[37376,20992,13056]],[10844,[37376,20736]],[10845,[41472,24832]],[10846,[37376,20736,12288]],[10847,[37376,20736,12288]],[10848,[37120,20992]],[10849,[41216,25088]],[10850,[37120,20992,12288]],[10851,[37120,20992,12288]],[10852,[41216,20736]],[10853,[41472,20992]],[10854,[41216,20736,768]],[10855,[41216,20736,768]],[10856,[37120,24832]],[10857,[37376,25088]],[10858,[37120,24832,768]],[10859,[37120,24832,768]],[10860,[41216,20736]],[10861,[37120,24832]],[10862,[37120,20736,12288]],[10863,[37120,20736,12288]],[10864,[37120,20736,12288]],[10865,[41472,20992]],[10866,[37376,25088]],[10867,[37376,20992,12288]],[10868,[37376,20992,12288]],[10869,[37376,20992,12288]],[10870,[37376,20736]],[10871,[37120,20992]],[10872,[37120,20736,768]],[10873,[37120,20736,768]],[10874,[37120,20736,768]],[10875,[41472,24832]],[10876,[41216,25088]],[10877,[41216,24832,768]],[10878,[41216,24832,768]],[10879,[41216,24832,768]],[10880,[69888,13056]],[10881,[135424,13056]],[10882,[135424,69888,13056]],[10883,[135424,69888,13056]],[10884,[70144,13056]],[10885,[135680,13056]],[10886,[135680,70144,13056]],[10887,[135680,70144,13056]],[10888,[135680,69888]],[10889,[139776,73984]],[10890,[135680,69888,12288]],[10891,[135680,69888,12288]],[10892,[135424,70144]],[10893,[139520,74240]],[10894,[135424,70144,12288]],[10895,[135424,70144,12288]],[10896,[139520,69888]],[10897,[139776,70144]],[10898,[139520,69888,768]],[10899,[139520,69888,768]],[10900,[135424,73984]],[10901,[135680,74240]],[10902,[135424,73984,768]],[10903,[135424,73984,768]],[10904,[139520,69888]],[10905,[135424,73984]],[10906,[135424,69888,12288]],[10907,[135424,69888,12288]],[10908,[135424,69888,12288]],[10909,[139776,70144]],[10910,[135680,74240]],[10911,[135680,70144,12288]],[10912,[135680,70144,12288]],[10913,[135680,70144,12288]],[10914,[135680,69888]],[10915,[135424,70144]],[10916,[135424,69888,768]],[10917,[135424,69888,768]],[10918,[135424,69888,768]],[10919,[139776,73984]],[10920,[139520,74240]],[10921,[139520,73984,768]],[10922,[139520,73984,768]],[10923,[139520,73984,768]],[10924,[266496,13056]],[10925,[528640,13056]],[10926,[528640,266496,13056]],[10927,[528640,266496,13056]],[10928,[266752,13056]],[10929,[528896,13056]],[10930,[528896,266752,13056]],[10931,[528896,266752,13056]],[10932,[528896,266496]],[10933,[532992,270592]],[10934,[528896,266496,12288]],[10935,[528896,266496,12288]],[10936,[528640,266752]],[10937,[532736,270848]],[10938,[528640,266752,12288]],[10939,[528640,266752,12288]],[10940,[532736,266496]],[10941,[532992,266752]],[10942,[532736,266496,768]],[10943,[532736,266496,768]],[10944,[528640,270592]],[10945,[528896,270848]],[10946,[528640,270592,768]],[10947,[528640,270592,768]],[10948,[532736,266496]],[10949,[528640,270592]],[10950,[528640,266496,12288]],[10951,[528640,266496,12288]],[10952,[528640,266496,12288]],[10953,[532992,266752]],[10954,[528896,270848]],[10955,[528896,266752,12288]],[10956,[528896,266752,12288]],[10957,[528896,266752,12288]],[10958,[528896,266496]],[10959,[528640,266752]],[10960,[528640,266496,768]],[10961,[528640,266496,768]],[10962,[528640,266496,768]],[10963,[532992,270592]],[10964,[532736,270848]],[10965,[532736,270592,768]],[10966,[532736,270592,768]],[10967,[532736,270592,768]],[10968,[82176,49920]],[10969,[147712,49920]],[10970,[147712,82176,49920]],[10971,[147712,82176,49920]],[10972,[82432,49920]],[10973,[147968,49920]],[10974,[147968,82432,49920]],[10975,[147968,82432,49920]],[10976,[147968,82176]],[10977,[164352,98560]],[10978,[147968,82176,49152]],[10979,[147968,82176,49152]],[10980,[147712,82432]],[10981,[164096,98816]],[10982,[147712,82432,49152]],[10983,[147712,82432,49152]],[10984,[164096,82176]],[10985,[164352,82432]],[10986,[164096,82176,768]],[10987,[164096,82176,768]],[10988,[147712,98560]],[10989,[147968,98816]],[10990,[147712,98560,768]],[10991,[147712,98560,768]],[10992,[164096,82176]],[10993,[147712,98560]],[10994,[147712,82176,49152]],[10995,[147712,82176,49152]],[10996,[147712,82176,49152]],[10997,[164352,82432]],[10998,[147968,98816]],[10999,[147968,82432,49152]],[11000,[147968,82432,49152]],[11001,[147968,82432,49152]],[11002,[147968,82176]],[11003,[147712,82432]],[11004,[147712,82176,768]],[11005,[147712,82176,768]],[11006,[147712,82176,768]],[11007,[164352,98560]],[11008,[164096,98816]],[11009,[164096,98560,768]],[11010,[164096,98560,768]],[11011,[164096,98560,768]],[11012,[278784,49920]],[11013,[540928,49920]],[11014,[540928,278784,49920]],[11015,[540928,278784,49920]],[11016,[279040,49920]],[11017,[541184,49920]],[11018,[541184,279040,49920]],[11019,[541184,279040,49920]],[11020,[541184,278784]],[11021,[557568,295168]],[11022,[541184,278784,49152]],[11023,[541184,278784,49152]],[11024,[540928,279040]],[11025,[557312,295424]],[11026,[540928,279040,49152]],[11027,[540928,279040,49152]],[11028,[557312,278784]],[11029,[557568,279040]],[11030,[557312,278784,768]],[11031,[557312,278784,768]],[11032,[540928,295168]],[11033,[541184,295424]],[11034,[540928,295168,768]],[11035,[540928,295168,768]],[11036,[557312,278784]],[11037,[540928,295168]],[11038,[540928,278784,49152]],[11039,[540928,278784,49152]],[11040,[540928,278784,49152]],[11041,[557568,279040]],[11042,[541184,295424]],[11043,[541184,279040,49152]],[11044,[541184,279040,49152]],[11045,[541184,279040,49152]],[11046,[541184,278784]],[11047,[540928,279040]],[11048,[540928,278784,768]],[11049,[540928,278784,768]],[11050,[540928,278784,768]],[11051,[557568,295168]],[11052,[557312,295424]],[11053,[557312,295168,768]],[11054,[557312,295168,768]],[11055,[557312,295168,768]],[11056,[327936,197376]],[11057,[590080,197376]],[11058,[590080,327936,197376]],[11059,[590080,327936,197376]],[11060,[328192,197376]],[11061,[590336,197376]],[11062,[590336,328192,197376]],[11063,[590336,328192,197376]],[11064,[590336,327936]],[11065,[655872,393472]],[11066,[590336,327936,196608]],[11067,[590336,327936,196608]],[11068,[590080,328192]],[11069,[655616,393728]],[11070,[590080,328192,196608]],[11071,[590080,328192,196608]],[11072,[655616,327936]],[11073,[655872,328192]],[11074,[655616,327936,768]],[11075,[655616,327936,768]],[11076,[590080,393472]],[11077,[590336,393728]],[11078,[590080,393472,768]],[11079,[590080,393472,768]],[11080,[655616,327936]],[11081,[590080,393472]],[11082,[590080,327936,196608]],[11083,[590080,327936,196608]],[11084,[590080,327936,196608]],[11085,[655872,328192]],[11086,[590336,393728]],[11087,[590336,328192,196608]],[11088,[590336,328192,196608]],[11089,[590336,328192,196608]],[11090,[590336,327936]],[11091,[590080,328192]],[11092,[590080,327936,768]],[11093,[590080,327936,768]],[11094,[590080,327936,768]],[11095,[655872,393472]],[11096,[655616,393728]],[11097,[655616,393472,768]],[11098,[655616,393472,768]],[11099,[655616,393472,768]],[11100,[21504,15360]],[11101,[37888,15360]],[11102,[37888,21504,15360]],[11103,[37888,21504,15360]],[11104,[22528,15360]],[11105,[38912,15360]],[11106,[38912,22528,15360]],[11107,[38912,22528,15360]],[11108,[38912,21504]],[11109,[43008,25600]],[11110,[38912,21504,12288]],[11111,[38912,21504,12288]],[11112,[37888,22528]],[11113,[41984,26624]],[11114,[37888,22528,12288]],[11115,[37888,22528,12288]],[11116,[41984,21504]],[11117,[43008,22528]],[11118,[41984,21504,3072]],[11119,[41984,21504,3072]],[11120,[37888,25600]],[11121,[38912,26624]],[11122,[37888,25600,3072]],[11123,[37888,25600,3072]],[11124,[41984,21504]],[11125,[37888,25600]],[11126,[37888,21504,12288]],[11127,[37888,21504,12288]],[11128,[37888,21504,12288]],[11129,[43008,22528]],[11130,[38912,26624]],[11131,[38912,22528,12288]],[11132,[38912,22528,12288]],[11133,[38912,22528,12288]],[11134,[38912,21504]],[11135,[37888,22528]],[11136,[37888,21504,3072]],[11137,[37888,21504,3072]],[11138,[37888,21504,3072]],[11139,[43008,25600]],[11140,[41984,26624]],[11141,[41984,25600,3072]],[11142,[41984,25600,3072]],[11143,[41984,25600,3072]],[11144,[70656,15360]],[11145,[136192,15360]],[11146,[136192,70656,15360]],[11147,[136192,70656,15360]],[11148,[71680,15360]],[11149,[137216,15360]],[11150,[137216,71680,15360]],[11151,[137216,71680,15360]],[11152,[137216,70656]],[11153,[141312,74752]],[11154,[137216,70656,12288]],[11155,[137216,70656,12288]],[11156,[136192,71680]],[11157,[140288,75776]],[11158,[136192,71680,12288]],[11159,[136192,71680,12288]],[11160,[140288,70656]],[11161,[141312,71680]],[11162,[140288,70656,3072]],[11163,[140288,70656,3072]],[11164,[136192,74752]],[11165,[137216,75776]],[11166,[136192,74752,3072]],[11167,[136192,74752,3072]],[11168,[140288,70656]],[11169,[136192,74752]],[11170,[136192,70656,12288]],[11171,[136192,70656,12288]],[11172,[136192,70656,12288]],[11173,[141312,71680]],[11174,[137216,75776]],[11175,[137216,71680,12288]],[11176,[137216,71680,12288]],[11177,[137216,71680,12288]],[11178,[137216,70656]],[11179,[136192,71680]],[11180,[136192,70656,3072]],[11181,[136192,70656,3072]],[11182,[136192,70656,3072]],[11183,[141312,74752]],[11184,[140288,75776]],[11185,[140288,74752,3072]],[11186,[140288,74752,3072]],[11187,[140288,74752,3072]],[11188,[267264,15360]],[11189,[529408,15360]],[11190,[529408,267264,15360]],[11191,[529408,267264,15360]],[11192,[268288,15360]],[11193,[530432,15360]],[11194,[530432,268288,15360]],[11195,[530432,268288,15360]],[11196,[530432,267264]],[11197,[534528,271360]],[11198,[530432,267264,12288]],[11199,[530432,267264,12288]],[11200,[529408,268288]],[11201,[533504,272384]],[11202,[529408,268288,12288]],[11203,[529408,268288,12288]],[11204,[533504,267264]],[11205,[534528,268288]],[11206,[533504,267264,3072]],[11207,[533504,267264,3072]],[11208,[529408,271360]],[11209,[530432,272384]],[11210,[529408,271360,3072]],[11211,[529408,271360,3072]],[11212,[533504,267264]],[11213,[529408,271360]],[11214,[529408,267264,12288]],[11215,[529408,267264,12288]],[11216,[529408,267264,12288]],[11217,[534528,268288]],[11218,[530432,272384]],[11219,[530432,268288,12288]],[11220,[530432,268288,12288]],[11221,[530432,268288,12288]],[11222,[530432,267264]],[11223,[529408,268288]],[11224,[529408,267264,3072]],[11225,[529408,267264,3072]],[11226,[529408,267264,3072]],[11227,[534528,271360]],[11228,[533504,272384]],[11229,[533504,271360,3072]],[11230,[533504,271360,3072]],[11231,[533504,271360,3072]],[11232,[82944,52224]],[11233,[148480,52224]],[11234,[148480,82944,52224]],[11235,[148480,82944,52224]],[11236,[83968,52224]],[11237,[149504,52224]],[11238,[149504,83968,52224]],[11239,[149504,83968,52224]],[11240,[149504,82944]],[11241,[165888,99328]],[11242,[149504,82944,49152]],[11243,[149504,82944,49152]],[11244,[148480,83968]],[11245,[164864,100352]],[11246,[148480,83968,49152]],[11247,[148480,83968,49152]],[11248,[164864,82944]],[11249,[165888,83968]],[11250,[164864,82944,3072]],[11251,[164864,82944,3072]],[11252,[148480,99328]],[11253,[149504,100352]],[11254,[148480,99328,3072]],[11255,[148480,99328,3072]],[11256,[164864,82944]],[11257,[148480,99328]],[11258,[148480,82944,49152]],[11259,[148480,82944,49152]],[11260,[148480,82944,49152]],[11261,[165888,83968]],[11262,[149504,100352]],[11263,[149504,83968,49152]],[11264,[149504,83968,49152]],[11265,[149504,83968,49152]],[11266,[149504,82944]],[11267,[148480,83968]],[11268,[148480,82944,3072]],[11269,[148480,82944,3072]],[11270,[148480,82944,3072]],[11271,[165888,99328]],[11272,[164864,100352]],[11273,[164864,99328,3072]],[11274,[164864,99328,3072]],[11275,[164864,99328,3072]],[11276,[279552,52224]],[11277,[541696,52224]],[11278,[541696,279552,52224]],[11279,[541696,279552,52224]],[11280,[280576,52224]],[11281,[542720,52224]],[11282,[542720,280576,52224]],[11283,[542720,280576,52224]],[11284,[542720,279552]],[11285,[559104,295936]],[11286,[542720,279552,49152]],[11287,[542720,279552,49152]],[11288,[541696,280576]],[11289,[558080,296960]],[11290,[541696,280576,49152]],[11291,[541696,280576,49152]],[11292,[558080,279552]],[11293,[559104,280576]],[11294,[558080,279552,3072]],[11295,[558080,279552,3072]],[11296,[541696,295936]],[11297,[542720,296960]],[11298,[541696,295936,3072]],[11299,[541696,295936,3072]],[11300,[558080,279552]],[11301,[541696,295936]],[11302,[541696,279552,49152]],[11303,[541696,279552,49152]],[11304,[541696,279552,49152]],[11305,[559104,280576]],[11306,[542720,296960]],[11307,[542720,280576,49152]],[11308,[542720,280576,49152]],[11309,[542720,280576,49152]],[11310,[542720,279552]],[11311,[541696,280576]],[11312,[541696,279552,3072]],[11313,[541696,279552,3072]],[11314,[541696,279552,3072]],[11315,[559104,295936]],[11316,[558080,296960]],[11317,[558080,295936,3072]],[11318,[558080,295936,3072]],[11319,[558080,295936,3072]],[11320,[328704,199680]],[11321,[590848,199680]],[11322,[590848,328704,199680]],[11323,[590848,328704,199680]],[11324,[329728,199680]],[11325,[591872,199680]],[11326,[591872,329728,199680]],[11327,[591872,329728,199680]],[11328,[591872,328704]],[11329,[657408,394240]],[11330,[591872,328704,196608]],[11331,[591872,328704,196608]],[11332,[590848,329728]],[11333,[656384,395264]],[11334,[590848,329728,196608]],[11335,[590848,329728,196608]],[11336,[656384,328704]],[11337,[657408,329728]],[11338,[656384,328704,3072]],[11339,[656384,328704,3072]],[11340,[590848,394240]],[11341,[591872,395264]],[11342,[590848,394240,3072]],[11343,[590848,394240,3072]],[11344,[656384,328704]],[11345,[590848,394240]],[11346,[590848,328704,196608]],[11347,[590848,328704,196608]],[11348,[590848,328704,196608]],[11349,[657408,329728]],[11350,[591872,395264]],[11351,[591872,329728,196608]],[11352,[591872,329728,196608]],[11353,[591872,329728,196608]],[11354,[591872,328704]],[11355,[590848,329728]],[11356,[590848,328704,3072]],[11357,[590848,328704,3072]],[11358,[590848,328704,3072]],[11359,[657408,394240]],[11360,[656384,395264]],[11361,[656384,394240,3072]],[11362,[656384,394240,3072]],[11363,[656384,394240,3072]],[11364,[86016,61440]],[11365,[151552,61440]],[11366,[151552,86016,61440]],[11367,[151552,86016,61440]],[11368,[90112,61440]],[11369,[155648,61440]],[11370,[155648,90112,61440]],[11371,[155648,90112,61440]],[11372,[155648,86016]],[11373,[172032,102400]],[11374,[155648,86016,49152]],[11375,[155648,86016,49152]],[11376,[151552,90112]],[11377,[167936,106496]],[11378,[151552,90112,49152]],[11379,[151552,90112,49152]],[11380,[167936,86016]],[11381,[172032,90112]],[11382,[167936,86016,12288]],[11383,[167936,86016,12288]],[11384,[151552,102400]],[11385,[155648,106496]],[11386,[151552,102400,12288]],[11387,[151552,102400,12288]],[11388,[167936,86016]],[11389,[151552,102400]],[11390,[151552,86016,49152]],[11391,[151552,86016,49152]],[11392,[151552,86016,49152]],[11393,[172032,90112]],[11394,[155648,106496]],[11395,[155648,90112,49152]],[11396,[155648,90112,49152]],[11397,[155648,90112,49152]],[11398,[155648,86016]],[11399,[151552,90112]],[11400,[151552,86016,12288]],[11401,[151552,86016,12288]],[11402,[151552,86016,12288]],[11403,[172032,102400]],[11404,[167936,106496]],[11405,[167936,102400,12288]],[11406,[167936,102400,12288]],[11407,[167936,102400,12288]],[11408,[282624,61440]],[11409,[544768,61440]],[11410,[544768,282624,61440]],[11411,[544768,282624,61440]],[11412,[286720,61440]],[11413,[548864,61440]],[11414,[548864,286720,61440]],[11415,[548864,286720,61440]],[11416,[548864,282624]],[11417,[565248,299008]],[11418,[548864,282624,49152]],[11419,[548864,282624,49152]],[11420,[544768,286720]],[11421,[561152,303104]],[11422,[544768,286720,49152]],[11423,[544768,286720,49152]],[11424,[561152,282624]],[11425,[565248,286720]],[11426,[561152,282624,12288]],[11427,[561152,282624,12288]],[11428,[544768,299008]],[11429,[548864,303104]],[11430,[544768,299008,12288]],[11431,[544768,299008,12288]],[11432,[561152,282624]],[11433,[544768,299008]],[11434,[544768,282624,49152]],[11435,[544768,282624,49152]],[11436,[544768,282624,49152]],[11437,[565248,286720]],[11438,[548864,303104]],[11439,[548864,286720,49152]],[11440,[548864,286720,49152]],[11441,[548864,286720,49152]],[11442,[548864,282624]],[11443,[544768,286720]],[11444,[544768,282624,12288]],[11445,[544768,282624,12288]],[11446,[544768,282624,12288]],[11447,[565248,299008]],[11448,[561152,303104]],[11449,[561152,299008,12288]],[11450,[561152,299008,12288]],[11451,[561152,299008,12288]],[11452,[331776,208896]],[11453,[593920,208896]],[11454,[593920,331776,208896]],[11455,[593920,331776,208896]],[11456,[335872,208896]],[11457,[598016,208896]],[11458,[598016,335872,208896]],[11459,[598016,335872,208896]],[11460,[598016,331776]],[11461,[663552,397312]],[11462,[598016,331776,196608]],[11463,[598016,331776,196608]],[11464,[593920,335872]],[11465,[659456,401408]],[11466,[593920,335872,196608]],[11467,[593920,335872,196608]],[11468,[659456,331776]],[11469,[663552,335872]],[11470,[659456,331776,12288]],[11471,[659456,331776,12288]],[11472,[593920,397312]],[11473,[598016,401408]],[11474,[593920,397312,12288]],[11475,[593920,397312,12288]],[11476,[659456,331776]],[11477,[593920,397312]],[11478,[593920,331776,196608]],[11479,[593920,331776,196608]],[11480,[593920,331776,196608]],[11481,[663552,335872]],[11482,[598016,401408]],[11483,[598016,335872,196608]],[11484,[598016,335872,196608]],[11485,[598016,335872,196608]],[11486,[598016,331776]],[11487,[593920,335872]],[11488,[593920,331776,12288]],[11489,[593920,331776,12288]],[11490,[593920,331776,12288]],[11491,[663552,397312]],[11492,[659456,401408]],[11493,[659456,397312,12288]],[11494,[659456,397312,12288]],[11495,[659456,397312,12288]],[11496,[344064,245760]],[11497,[606208,245760]],[11498,[606208,344064,245760]],[11499,[606208,344064,245760]],[11500,[360448,245760]],[11501,[622592,245760]],[11502,[622592,360448,245760]],[11503,[622592,360448,245760]],[11504,[622592,344064]],[11505,[688128,409600]],[11506,[622592,344064,196608]],[11507,[622592,344064,196608]],[11508,[606208,360448]],[11509,[671744,425984]],[11510,[606208,360448,196608]],[11511,[606208,360448,196608]],[11512,[671744,344064]],[11513,[688128,360448]],[11514,[671744,344064,49152]],[11515,[671744,344064,49152]],[11516,[606208,409600]],[11517,[622592,425984]],[11518,[606208,409600,49152]],[11519,[606208,409600,49152]],[11520,[671744,344064]],[11521,[606208,409600]],[11522,[606208,344064,196608]],[11523,[606208,344064,196608]],[11524,[606208,344064,196608]],[11525,[688128,360448]],[11526,[622592,425984]],[11527,[622592,360448,196608]],[11528,[622592,360448,196608]],[11529,[622592,360448,196608]],[11530,[622592,344064]],[11531,[606208,360448]],[11532,[606208,344064,49152]],[11533,[606208,344064,49152]],[11534,[606208,344064,49152]],[11535,[688128,409600]],[11536,[671744,425984]],[11537,[671744,409600,49152]],[11538,[671744,409600,49152]],[11539,[671744,409600,49152]],[11540,[37,21,12,3]],[11541,[37,21,12,3]],[11542,[37,21,12,3]],[11543,[37,21,12,3]],[11544,[133,69,12,3]],[11545,[133,69,12,3]],[11546,[133,69,12,3]],[11547,[133,69,12,3]],[11548,[517,261,12,3]],[11549,[517,261,12,3]],[11550,[517,261,12,3]],[11551,[517,261,12,3]],[11552,[2053,1029,12,3]],[11553,[2053,1029,12,3]],[11554,[2053,1029,12,3]],[11555,[2053,1029,12,3]],[11556,[8197,4101,12,3]],[11557,[8197,4101,12,3]],[11558,[8197,4101,12,3]],[11559,[8197,4101,12,3]],[11560,[32773,16389,12,3]],[11561,[32773,16389,12,3]],[11562,[32773,16389,12,3]],[11563,[32773,16389,12,3]],[11564,[131077,65541,12,3]],[11565,[131077,65541,12,3]],[11566,[131077,65541,12,3]],[11567,[131077,65541,12,3]],[11568,[524293,262149,12,3]],[11569,[524293,262149,12,3]],[11570,[524293,262149,12,3]],[11571,[524293,262149,12,3]],[11572,[145,81,48,3]],[11573,[145,81,48,3]],[11574,[145,81,48,3]],[11575,[145,81,48,3]],[11576,[529,273,48,3]],[11577,[529,273,48,3]],[11578,[529,273,48,3]],[11579,[529,273,48,3]],[11580,[2065,1041,48,3]],[11581,[2065,1041,48,3]],[11582,[2065,1041,48,3]],[11583,[2065,1041,48,3]],[11584,[8209,4113,48,3]],[11585,[8209,4113,48,3]],[11586,[8209,4113,48,3]],[11587,[8209,4113,48,3]],[11588,[32785,16401,48,3]],[11589,[32785,16401,48,3]],[11590,[32785,16401,48,3]],[11591,[32785,16401,48,3]],[11592,[32785,16401,48,3]],[11593,[131089,65553,48,3]],[11594,[131089,65553,48,3]],[11595,[131089,65553,48,3]],[11596,[131089,65553,48,3]],[11597,[524305,262161,48,3]],[11598,[524305,262161,48,3]],[11599,[524305,262161,48,3]],[11600,[524305,262161,48,3]],[11601,[577,321,192,3]],[11602,[577,321,192,3]],[11603,[577,321,192,3]],[11604,[577,321,192,3]],[11605,[2113,1089,192,3]],[11606,[2113,1089,192,3]],[11607,[2113,1089,192,3]],[11608,[2113,1089,192,3]],[11609,[8257,4161,192,3]],[11610,[8257,4161,192,3]],[11611,[8257,4161,192,3]],[11612,[8257,4161,192,3]],[11613,[32833,16449,192,3]],[11614,[32833,16449,192,3]],[11615,[32833,16449,192,3]],[11616,[32833,16449,192,3]],[11617,[131137,65601,192,3]],[11618,[131137,65601,192,3]],[11619,[131137,65601,192,3]],[11620,[131137,65601,192,3]],[11621,[524353,262209,192,3]],[11622,[524353,262209,192,3]],[11623,[524353,262209,192,3]],[11624,[524353,262209,192,3]],[11625,[2305,1281,768,3]],[11626,[2305,1281,768,3]],[11627,[2305,1281,768,3]],[11628,[2305,1281,768,3]],[11629,[8449,4353,768,3]],[11630,[8449,4353,768,3]],[11631,[8449,4353,768,3]],[11632,[8449,4353,768,3]],[11633,[33025,16641,768,3]],[11634,[33025,16641,768,3]],[11635,[33025,16641,768,3]],[11636,[33025,16641,768,3]],[11637,[131329,65793,768,3]],[11638,[131329,65793,768,3]],[11639,[131329,65793,768,3]],[11640,[131329,65793,768,3]],[11641,[524545,262401,768,3]],[11642,[524545,262401,768,3]],[11643,[524545,262401,768,3]],[11644,[524545,262401,768,3]],[11645,[9217,5121,3072,3]],[11646,[9217,5121,3072,3]],[11647,[9217,5121,3072,3]],[11648,[9217,5121,3072,3]],[11649,[33793,17409,3072,3]],[11650,[33793,17409,3072,3]],[11651,[33793,17409,3072,3]],[11652,[33793,17409,3072,3]],[11653,[132097,66561,3072,3]],[11654,[132097,66561,3072,3]],[11655,[132097,66561,3072,3]],[11656,[132097,66561,3072,3]],[11657,[525313,263169,3072,3]],[11658,[525313,263169,3072,3]],[11659,[525313,263169,3072,3]],[11660,[525313,263169,3072,3]],[11661,[525313,263169,3072,3]],[11662,[36865,20481,12288,3]],[11663,[36865,20481,12288,3]],[11664,[36865,20481,12288,3]],[11665,[36865,20481,12288,3]],[11666,[135169,69633,12288,3]],[11667,[135169,69633,12288,3]],[11668,[135169,69633,12288,3]],[11669,[135169,69633,12288,3]],[11670,[528385,266241,12288,3]],[11671,[528385,266241,12288,3]],[11672,[528385,266241,12288,3]],[11673,[528385,266241,12288,3]],[11674,[147457,81921,49152,3]],[11675,[147457,81921,49152,3]],[11676,[147457,81921,49152,3]],[11677,[147457,81921,49152,3]],[11678,[540673,278529,49152,3]],[11679,[540673,278529,49152,3]],[11680,[540673,278529,49152,3]],[11681,[540673,278529,49152,3]],[11682,[589825,327681,196608,3]],[11683,[589825,327681,196608,3]],[11684,[589825,327681,196608,3]],[11685,[589825,327681,196608,3]],[11686,[148,84,48,12]],[11687,[148,84,48,12]],[11688,[148,84,48,12]],[11689,[148,84,48,12]],[11690,[532,276,48,12]],[11691,[532,276,48,12]],[11692,[532,276,48,12]],[11693,[532,276,48,12]],[11694,[2068,1044,48,12]],[11695,[2068,1044,48,12]],[11696,[2068,1044,48,12]],[11697,[2068,1044,48,12]],[11698,[8212,4116,48,12]],[11699,[8212,4116,48,12]],[11700,[8212,4116,48,12]],[11701,[8212,4116,48,12]],[11702,[32788,16404,48,12]],[11703,[32788,16404,48,12]],[11704,[32788,16404,48,12]],[11705,[32788,16404,48,12]],[11706,[131092,65556,48,12]],[11707,[131092,65556,48,12]],[11708,[131092,65556,48,12]],[11709,[131092,65556,48,12]],[11710,[524308,262164,48,12]],[11711,[524308,262164,48,12]],[11712,[524308,262164,48,12]],[11713,[524308,262164,48,12]],[11714,[580,324,192,12]],[11715,[580,324,192,12]],[11716,[580,324,192,12]],[11717,[580,324,192,12]],[11718,[2116,1092,192,12]],[11719,[2116,1092,192,12]],[11720,[2116,1092,192,12]],[11721,[2116,1092,192,12]],[11722,[8260,4164,192,12]],[11723,[8260,4164,192,12]],[11724,[8260,4164,192,12]],[11725,[8260,4164,192,12]],[11726,[32836,16452,192,12]],[11727,[32836,16452,192,12]],[11728,[32836,16452,192,12]],[11729,[32836,16452,192,12]],[11730,[131140,65604,192,12]],[11731,[131140,65604,192,12]],[11732,[131140,65604,192,12]],[11733,[131140,65604,192,12]],[11734,[524356,262212,192,12]],[11735,[524356,262212,192,12]],[11736,[524356,262212,192,12]],[11737,[524356,262212,192,12]],[11738,[2308,1284,768,12]],[11739,[2308,1284,768,12]],[11740,[2308,1284,768,12]],[11741,[2308,1284,768,12]],[11742,[8452,4356,768,12]],[11743,[8452,4356,768,12]],[11744,[8452,4356,768,12]],[11745,[8452,4356,768,12]],[11746,[33028,16644,768,12]],[11747,[33028,16644,768,12]],[11748,[33028,16644,768,12]],[11749,[33028,16644,768,12]],[11750,[131332,65796,768,12]],[11751,[131332,65796,768,12]],[11752,[131332,65796,768,12]],[11753,[131332,65796,768,12]],[11754,[524548,262404,768,12]],[11755,[524548,262404,768,12]],[11756,[524548,262404,768,12]],[11757,[524548,262404,768,12]],[11758,[9220,5124,3072,12]],[11759,[9220,5124,3072,12]],[11760,[9220,5124,3072,12]],[11761,[9220,5124,3072,12]],[11762,[33796,17412,3072,12]],[11763,[33796,17412,3072,12]],[11764,[33796,17412,3072,12]],[11765,[33796,17412,3072,12]],[11766,[132100,66564,3072,12]],[11767,[132100,66564,3072,12]],[11768,[132100,66564,3072,12]],[11769,[132100,66564,3072,12]],[11770,[525316,263172,3072,12]],[11771,[525316,263172,3072,12]],[11772,[525316,263172,3072,12]],[11773,[525316,263172,3072,12]],[11774,[525316,263172,3072,12]],[11775,[36868,20484,12288,12]],[11776,[36868,20484,12288,12]],[11777,[36868,20484,12288,12]],[11778,[36868,20484,12288,12]],[11779,[135172,69636,12288,12]],[11780,[135172,69636,12288,12]],[11781,[135172,69636,12288,12]],[11782,[135172,69636,12288,12]],[11783,[528388,266244,12288,12]],[11784,[528388,266244,12288,12]],[11785,[528388,266244,12288,12]],[11786,[528388,266244,12288,12]],[11787,[147460,81924,49152,12]],[11788,[147460,81924,49152,12]],[11789,[147460,81924,49152,12]],[11790,[147460,81924,49152,12]],[11791,[540676,278532,49152,12]],[11792,[540676,278532,49152,12]],[11793,[540676,278532,49152,12]],[11794,[540676,278532,49152,12]],[11795,[589828,327684,196608,12]],[11796,[589828,327684,196608,12]],[11797,[589828,327684,196608,12]],[11798,[589828,327684,196608,12]],[11799,[589828,327684,196608,12]],[11800,[592,336,192,48]],[11801,[592,336,192,48]],[11802,[592,336,192,48]],[11803,[592,336,192,48]],[11804,[2128,1104,192,48]],[11805,[2128,1104,192,48]],[11806,[2128,1104,192,48]],[11807,[2128,1104,192,48]],[11808,[8272,4176,192,48]],[11809,[8272,4176,192,48]],[11810,[8272,4176,192,48]],[11811,[8272,4176,192,48]],[11812,[32848,16464,192,48]],[11813,[32848,16464,192,48]],[11814,[32848,16464,192,48]],[11815,[32848,16464,192,48]],[11816,[131152,65616,192,48]],[11817,[131152,65616,192,48]],[11818,[131152,65616,192,48]],[11819,[131152,65616,192,48]],[11820,[524368,262224,192,48]],[11821,[524368,262224,192,48]],[11822,[524368,262224,192,48]],[11823,[524368,262224,192,48]],[11824,[2320,1296,768,48]],[11825,[2320,1296,768,48]],[11826,[2320,1296,768,48]],[11827,[2320,1296,768,48]],[11828,[8464,4368,768,48]],[11829,[8464,4368,768,48]],[11830,[8464,4368,768,48]],[11831,[8464,4368,768,48]],[11832,[33040,16656,768,48]],[11833,[33040,16656,768,48]],[11834,[33040,16656,768,48]],[11835,[33040,16656,768,48]],[11836,[131344,65808,768,48]],[11837,[131344,65808,768,48]],[11838,[131344,65808,768,48]],[11839,[131344,65808,768,48]],[11840,[524560,262416,768,48]],[11841,[524560,262416,768,48]],[11842,[524560,262416,768,48]],[11843,[524560,262416,768,48]],[11844,[9232,5136,3072,48]],[11845,[9232,5136,3072,48]],[11846,[9232,5136,3072,48]],[11847,[9232,5136,3072,48]],[11848,[33808,17424,3072,48]],[11849,[33808,17424,3072,48]],[11850,[33808,17424,3072,48]],[11851,[33808,17424,3072,48]],[11852,[132112,66576,3072,48]],[11853,[132112,66576,3072,48]],[11854,[132112,66576,3072,48]],[11855,[132112,66576,3072,48]],[11856,[525328,263184,3072,48]],[11857,[525328,263184,3072,48]],[11858,[525328,263184,3072,48]],[11859,[525328,263184,3072,48]],[11860,[36880,20496,12288,48]],[11861,[36880,20496,12288,48]],[11862,[36880,20496,12288,48]],[11863,[36880,20496,12288,48]],[11864,[135184,69648,12288,48]],[11865,[135184,69648,12288,48]],[11866,[135184,69648,12288,48]],[11867,[135184,69648,12288,48]],[11868,[528400,266256,12288,48]],[11869,[528400,266256,12288,48]],[11870,[528400,266256,12288,48]],[11871,[528400,266256,12288,48]],[11872,[147472,81936,49152,48]],[11873,[147472,81936,49152,48]],[11874,[147472,81936,49152,48]],[11875,[147472,81936,49152,48]],[11876,[540688,278544,49152,48]],[11877,[540688,278544,49152,48]],[11878,[540688,278544,49152,48]],[11879,[540688,278544,49152,48]],[11880,[540688,278544,49152,48]],[11881,[589840,327696,196608,48]],[11882,[589840,327696,196608,48]],[11883,[589840,327696,196608,48]],[11884,[589840,327696,196608,48]],[11885,[2368,1344,768,192]],[11886,[2368,1344,768,192]],[11887,[2368,1344,768,192]],[11888,[2368,1344,768,192]],[11889,[8512,4416,768,192]],[11890,[8512,4416,768,192]],[11891,[8512,4416,768,192]],[11892,[8512,4416,768,192]],[11893,[33088,16704,768,192]],[11894,[33088,16704,768,192]],[11895,[33088,16704,768,192]],[11896,[33088,16704,768,192]],[11897,[131392,65856,768,192]],[11898,[131392,65856,768,192]],[11899,[131392,65856,768,192]],[11900,[131392,65856,768,192]],[11901,[524608,262464,768,192]],[11902,[524608,262464,768,192]],[11903,[524608,262464,768,192]],[11904,[524608,262464,768,192]],[11905,[9280,5184,3072,192]],[11906,[9280,5184,3072,192]],[11907,[9280,5184,3072,192]],[11908,[9280,5184,3072,192]],[11909,[33856,17472,3072,192]],[11910,[33856,17472,3072,192]],[11911,[33856,17472,3072,192]],[11912,[33856,17472,3072,192]],[11913,[132160,66624,3072,192]],[11914,[132160,66624,3072,192]],[11915,[132160,66624,3072,192]],[11916,[132160,66624,3072,192]],[11917,[525376,263232,3072,192]],[11918,[525376,263232,3072,192]],[11919,[525376,263232,3072,192]],[11920,[525376,263232,3072,192]],[11921,[36928,20544,12288,192]],[11922,[36928,20544,12288,192]],[11923,[36928,20544,12288,192]],[11924,[36928,20544,12288,192]],[11925,[135232,69696,12288,192]],[11926,[135232,69696,12288,192]],[11927,[135232,69696,12288,192]],[11928,[135232,69696,12288,192]],[11929,[528448,266304,12288,192]],[11930,[528448,266304,12288,192]],[11931,[528448,266304,12288,192]],[11932,[528448,266304,12288,192]],[11933,[147520,81984,49152,192]],[11934,[147520,81984,49152,192]],[11935,[147520,81984,49152,192]],[11936,[147520,81984,49152,192]],[11937,[540736,278592,49152,192]],[11938,[540736,278592,49152,192]],[11939,[540736,278592,49152,192]],[11940,[540736,278592,49152,192]],[11941,[589888,327744,196608,192]],[11942,[589888,327744,196608,192]],[11943,[589888,327744,196608,192]],[11944,[589888,327744,196608,192]],[11945,[9472,5376,3072,768]],[11946,[9472,5376,3072,768]],[11947,[9472,5376,3072,768]],[11948,[9472,5376,3072,768]],[11949,[34048,17664,3072,768]],[11950,[34048,17664,3072,768]],[11951,[34048,17664,3072,768]],[11952,[34048,17664,3072,768]],[11953,[132352,66816,3072,768]],[11954,[132352,66816,3072,768]],[11955,[132352,66816,3072,768]],[11956,[132352,66816,3072,768]],[11957,[525568,263424,3072,768]],[11958,[525568,263424,3072,768]],[11959,[525568,263424,3072,768]],[11960,[525568,263424,3072,768]],[11961,[37120,20736,12288,768]],[11962,[37120,20736,12288,768]],[11963,[37120,20736,12288,768]],[11964,[37120,20736,12288,768]],[11965,[135424,69888,12288,768]],[11966,[135424,69888,12288,768]],[11967,[135424,69888,12288,768]],[11968,[135424,69888,12288,768]],[11969,[528640,266496,12288,768]],[11970,[528640,266496,12288,768]],[11971,[528640,266496,12288,768]],[11972,[528640,266496,12288,768]],[11973,[147712,82176,49152,768]],[11974,[147712,82176,49152,768]],[11975,[147712,82176,49152,768]],[11976,[147712,82176,49152,768]],[11977,[540928,278784,49152,768]],[11978,[540928,278784,49152,768]],[11979,[540928,278784,49152,768]],[11980,[540928,278784,49152,768]],[11981,[590080,327936,196608,768]],[11982,[590080,327936,196608,768]],[11983,[590080,327936,196608,768]],[11984,[590080,327936,196608,768]],[11985,[37888,21504,12288,3072]],[11986,[37888,21504,12288,3072]],[11987,[37888,21504,12288,3072]],[11988,[37888,21504,12288,3072]],[11989,[136192,70656,12288,3072]],[11990,[136192,70656,12288,3072]],[11991,[136192,70656,12288,3072]],[11992,[136192,70656,12288,3072]],[11993,[529408,267264,12288,3072]],[11994,[529408,267264,12288,3072]],[11995,[529408,267264,12288,3072]],[11996,[529408,267264,12288,3072]],[11997,[148480,82944,49152,3072]],[11998,[148480,82944,49152,3072]],[11999,[148480,82944,49152,3072]],[12000,[148480,82944,49152,3072]],[12001,[541696,279552,49152,3072]],[12002,[541696,279552,49152,3072]],[12003,[541696,279552,49152,3072]],[12004,[541696,279552,49152,3072]],[12005,[590848,328704,196608,3072]],[12006,[590848,328704,196608,3072]],[12007,[590848,328704,196608,3072]],[12008,[590848,328704,196608,3072]],[12009,[590848,328704,196608,3072]],[12010,[151552,86016,49152,12288]],[12011,[151552,86016,49152,12288]],[12012,[151552,86016,49152,12288]],[12013,[151552,86016,49152,12288]],[12014,[544768,282624,49152,12288]],[12015,[544768,282624,49152,12288]],[12016,[544768,282624,49152,12288]],[12017,[544768,282624,49152,12288]],[12018,[593920,331776,196608,12288]],[12019,[593920,331776,196608,12288]],[12020,[593920,331776,196608,12288]],[12021,[593920,331776,196608,12288]],[12022,[593920,331776,196608,12288]],[12023,[606208,344064,196608,49152]],[12024,[606208,344064,196608,49152]],[12025,[606208,344064,196608,49152]],[12026,[606208,344064,196608,49152]],[12031,[540673,278529,147457,81921,49152]],[12033,[8257,4161,2113,1089,192]],[12034,[8257,4161,2113,1089,192]],[12035,[33024,16640,8448,4352,768,1]],[12036,[524293,262149,36,20,12]],[12037,[524293,262149,36,20,12]],[12038,[8197,4101,36,20,12]],[12039,[8197,4101,36,20,12]],[12040,[517,261,36,20,12]],[12041,[525313,263169,132097,66561,3072]],[12042,[525313,263169,132097,66561,3072]],[12045,[524353,262209,576,320,192]],[12046,[524353,262209,576,320,192]],[12049,[32785,16401,8209,4113,48]],[12050,[32785,16401,8209,4113,48]],[12051,[32772,16388,8196,4100,12,1]],[12052,[32772,16388,8196,4100,12,1]],[12057,[528384,266240,135168,69632,36864,20480,12288,4092,1]],[12059,[33024,16640,8448,4352,768,1]],[12060,[32832,16448,576,320,192,1]],[12061,[32832,16448,576,320,192,1]],[12062,[528,272,144,80,48,1]],[12063,[528,272,144,80,48,1]],[12064,[524353,262209,131137,65601,192]],[12065,[524353,262209,131137,65601,192]],[12068,[524305,262161,131089,65553,48]],[12070,[32832,16448,576,320,192,1]],[12071,[32832,16448,576,320,192,1]],[12072,[2064,1040,528,272,48,1]],[12073,[2064,1040,528,272,48,1]],[12074,[133,69,36,20,12]],[12075,[133,69,36,20,12]],[12076,[131077,65541,36,20,12]],[12077,[131077,65541,36,20,12]],[12079,[2053,1029,517,261,12]],[12080,[2064,1040,528,272,48,1]],[12081,[131089,65553,32785,16401,48]],[12082,[131137,65601,2112,1088,192]],[12083,[2113,1089,576,320,192]],[12084,[32772,16388,2052,1028,12,1]],[12085,[32833,16449,8257,4161,192]],[12086,[131077,65541,133,69,12]],[12087,[32772,16388,2052,1028,12,1]],[12092,[540674,278530,147458,81922,49152]],[12094,[8258,4162,2114,1090,192]],[12095,[8258,4162,2114,1090,192]],[12096,[33024,16640,8448,4352,768,2]],[12097,[524294,262150,36,20,12]],[12098,[524294,262150,36,20,12]],[12099,[8198,4102,36,20,12]],[12100,[8198,4102,36,20,12]],[12101,[518,262,36,20,12]],[12102,[525314,263170,132098,66562,3072]],[12103,[525314,263170,132098,66562,3072]],[12106,[524354,262210,576,320,192]],[12107,[524354,262210,576,320,192]],[12110,[32786,16402,8210,4114,48]],[12111,[32786,16402,8210,4114,48]],[12112,[32772,16388,8196,4100,12,2]],[12113,[32772,16388,8196,4100,12,2]],[12118,[528384,266240,135168,69632,36864,20480,12288,4092,2]],[12120,[33024,16640,8448,4352,768,2]],[12121,[32832,16448,576,320,192,2]],[12122,[32832,16448,576,320,192,2]],[12123,[528,272,144,80,48,2]],[12124,[528,272,144,80,48,2]],[12125,[524354,262210,131138,65602,192]],[12126,[524354,262210,131138,65602,192]],[12129,[524306,262162,131090,65554,48]],[12131,[32832,16448,576,320,192,2]],[12132,[32832,16448,576,320,192,2]],[12133,[2064,1040,528,272,48,2]],[12134,[2064,1040,528,272,48,2]],[12135,[134,70,36,20,12]],[12136,[134,70,36,20,12]],[12137,[131078,65542,36,20,12]],[12138,[131078,65542,36,20,12]],[12140,[2054,1030,518,262,12]],[12141,[2064,1040,528,272,48,2]],[12142,[131090,65554,32786,16402,48]],[12143,[131138,65602,2112,1088,192]],[12144,[2114,1090,576,320,192]],[12145,[32772,16388,2052,1028,12,2]],[12146,[32834,16450,8258,4162,192]],[12147,[131078,65542,134,70,12]],[12148,[32772,16388,2052,1028,12,2]],[12153,[540676,278532,147460,81924,49152]],[12155,[8260,4164,2116,1092,192]],[12156,[8260,4164,2116,1092,192]],[12157,[33024,16640,8448,4352,768,4]],[12158,[524293,262149,33,17,3]],[12159,[524293,262149,33,17,3]],[12160,[8197,4101,33,17,3]],[12161,[8197,4101,33,17,3]],[12162,[517,261,33,17,3]],[12163,[525316,263172,132100,66564,3072]],[12164,[525316,263172,132100,66564,3072]],[12167,[524356,262212,576,320,192]],[12168,[524356,262212,576,320,192]],[12171,[32788,16404,8212,4116,48]],[12172,[32788,16404,8212,4116,48]],[12173,[32769,16385,8193,4097,4,3]],[12174,[32769,16385,8193,4097,4,3]],[12179,[528384,266240,135168,69632,36864,20480,12288,4083,4]],[12181,[33024,16640,8448,4352,768,4]],[12182,[32832,16448,576,320,192,4]],[12183,[32832,16448,576,320,192,4]],[12184,[528,272,144,80,48,4]],[12185,[528,272,144,80,48,4]],[12186,[524356,262212,131140,65604,192]],[12187,[524356,262212,131140,65604,192]],[12190,[524308,262164,131092,65556,48]],[12192,[32832,16448,576,320,192,4]],[12193,[32832,16448,576,320,192,4]],[12194,[2064,1040,528,272,48,4]],[12195,[2064,1040,528,272,48,4]],[12196,[133,69,33,17,3]],[12197,[133,69,33,17,3]],[12198,[131077,65541,33,17,3]],[12199,[131077,65541,33,17,3]],[12201,[2053,1029,517,261,3]],[12202,[2064,1040,528,272,48,4]],[12203,[131092,65556,32788,16404,48]],[12204,[131140,65604,2112,1088,192]],[12205,[2116,1092,576,320,192]],[12206,[32769,16385,2049,1025,4,3]],[12207,[32836,16452,8260,4164,192]],[12208,[131077,65541,133,69,3]],[12209,[32769,16385,2049,1025,4,3]],[12214,[540680,278536,147464,81928,49152]],[12216,[8264,4168,2120,1096,192]],[12217,[8264,4168,2120,1096,192]],[12218,[33024,16640,8448,4352,768,8]],[12219,[524297,262153,33,17,3]],[12220,[524297,262153,33,17,3]],[12221,[8201,4105,33,17,3]],[12222,[8201,4105,33,17,3]],[12223,[521,265,33,17,3]],[12224,[525320,263176,132104,66568,3072]],[12225,[525320,263176,132104,66568,3072]],[12228,[524360,262216,576,320,192]],[12229,[524360,262216,576,320,192]],[12232,[32792,16408,8216,4120,48]],[12233,[32792,16408,8216,4120,48]],[12234,[32769,16385,8193,4097,8,3]],[12235,[32769,16385,8193,4097,8,3]],[12240,[528384,266240,135168,69632,36864,20480,12288,4083,8]],[12242,[33024,16640,8448,4352,768,8]],[12243,[32832,16448,576,320,192,8]],[12244,[32832,16448,576,320,192,8]],[12245,[528,272,144,80,48,8]],[12246,[528,272,144,80,48,8]],[12247,[524360,262216,131144,65608,192]],[12248,[524360,262216,131144,65608,192]],[12251,[524312,262168,131096,65560,48]],[12253,[32832,16448,576,320,192,8]],[12254,[32832,16448,576,320,192,8]],[12255,[2064,1040,528,272,48,8]],[12256,[2064,1040,528,272,48,8]],[12257,[137,73,33,17,3]],[12258,[137,73,33,17,3]],[12259,[131081,65545,33,17,3]],[12260,[131081,65545,33,17,3]],[12262,[2057,1033,521,265,3]],[12263,[2064,1040,528,272,48,8]],[12264,[131096,65560,32792,16408,48]],[12265,[131144,65608,2112,1088,192]],[12266,[2120,1096,576,320,192]],[12267,[32769,16385,2049,1025,8,3]],[12268,[32840,16456,8264,4168,192]],[12269,[131081,65545,137,73,3]],[12270,[32769,16385,2049,1025,8,3]],[12275,[540688,278544,147472,81936,49152]],[12277,[8272,4176,2128,1104,192]],[12278,[8272,4176,2128,1104,192]],[12279,[33024,16640,8448,4352,768,16]],[12280,[524305,262161,9,5,3]],[12281,[524305,262161,9,5,3]],[12282,[8209,4113,9,5,3]],[12283,[8209,4113,9,5,3]],[12284,[529,273,9,5,3]],[12285,[525328,263184,132112,66576,3072]],[12286,[525328,263184,132112,66576,3072]],[12289,[524368,262224,576,320,192]],[12290,[524368,262224,576,320,192]],[12293,[32788,16404,8212,4116,12]],[12294,[32788,16404,8212,4116,12]],[12295,[32769,16385,8193,4097,16,3]],[12296,[32769,16385,8193,4097,16,3]],[12301,[528384,266240,135168,69632,36864,20480,12288,4047,16]],[12303,[33024,16640,8448,4352,768,16]],[12304,[32832,16448,576,320,192,16]],[12305,[32832,16448,576,320,192,16]],[12306,[516,260,132,68,16,12]],[12307,[516,260,132,68,16,12]],[12308,[524368,262224,131152,65616,192]],[12309,[524368,262224,131152,65616,192]],[12312,[524308,262164,131092,65556,12]],[12314,[32832,16448,576,320,192,16]],[12315,[32832,16448,576,320,192,16]],[12316,[2052,1028,516,260,16,12]],[12317,[2052,1028,516,260,16,12]],[12318,[145,81,9,5,3]],[12319,[145,81,9,5,3]],[12320,[131089,65553,9,5,3]],[12321,[131089,65553,9,5,3]],[12323,[2065,1041,529,273,3]],[12324,[2052,1028,516,260,16,12]],[12325,[131092,65556,32788,16404,12]],[12326,[131152,65616,2112,1088,192]],[12327,[2128,1104,576,320,192]],[12328,[32769,16385,2049,1025,16,3]],[12329,[32848,16464,8272,4176,192]],[12330,[131089,65553,145,81,3]],[12331,[32769,16385,2049,1025,16,3]],[12336,[540704,278560,147488,81952,49152]],[12338,[8288,4192,2144,1120,192]],[12339,[8288,4192,2144,1120,192]],[12340,[33024,16640,8448,4352,768,32]],[12341,[524321,262177,9,5,3]],[12342,[524321,262177,9,5,3]],[12343,[8225,4129,9,5,3]],[12344,[8225,4129,9,5,3]],[12345,[545,289,9,5,3]],[12346,[525344,263200,132128,66592,3072]],[12347,[525344,263200,132128,66592,3072]],[12350,[524384,262240,576,320,192]],[12351,[524384,262240,576,320,192]],[12354,[32804,16420,8228,4132,12]],[12355,[32804,16420,8228,4132,12]],[12356,[32769,16385,8193,4097,32,3]],[12357,[32769,16385,8193,4097,32,3]],[12362,[528384,266240,135168,69632,36864,20480,12288,4047,32]],[12364,[33024,16640,8448,4352,768,32]],[12365,[32832,16448,576,320,192,32]],[12366,[32832,16448,576,320,192,32]],[12367,[516,260,132,68,32,12]],[12368,[516,260,132,68,32,12]],[12369,[524384,262240,131168,65632,192]],[12370,[524384,262240,131168,65632,192]],[12373,[524324,262180,131108,65572,12]],[12375,[32832,16448,576,320,192,32]],[12376,[32832,16448,576,320,192,32]],[12377,[2052,1028,516,260,32,12]],[12378,[2052,1028,516,260,32,12]],[12379,[161,97,9,5,3]],[12380,[161,97,9,5,3]],[12381,[131105,65569,9,5,3]],[12382,[131105,65569,9,5,3]],[12384,[2081,1057,545,289,3]],[12385,[2052,1028,516,260,32,12]],[12386,[131108,65572,32804,16420,12]],[12387,[131168,65632,2112,1088,192]],[12388,[2144,1120,576,320,192]],[12389,[32769,16385,2049,1025,32,3]],[12390,[32864,16480,8288,4192,192]],[12391,[131105,65569,161,97,3]],[12392,[32769,16385,2049,1025,32,3]],[12397,[540736,278592,147520,81984,49152]],[12399,[8272,4176,2128,1104,48]],[12400,[8272,4176,2128,1104,48]],[12401,[33024,16640,8448,4352,768,64]],[12402,[524353,262209,9,5,3]],[12403,[524353,262209,9,5,3]],[12404,[8257,4161,9,5,3]],[12405,[8257,4161,9,5,3]],[12406,[577,321,9,5,3]],[12407,[525376,263232,132160,66624,3072]],[12408,[525376,263232,132160,66624,3072]],[12411,[524368,262224,528,272,48]],[12412,[524368,262224,528,272,48]],[12415,[32836,16452,8260,4164,12]],[12416,[32836,16452,8260,4164,12]],[12417,[32769,16385,8193,4097,64,3]],[12418,[32769,16385,8193,4097,64,3]],[12423,[528384,266240,135168,69632,36864,20480,12288,3903,64]],[12425,[33024,16640,8448,4352,768,64]],[12426,[32784,16400,528,272,64,48]],[12427,[32784,16400,528,272,64,48]],[12428,[516,260,64,36,20,12]],[12429,[516,260,64,36,20,12]],[12430,[524368,262224,131152,65616,48]],[12431,[524368,262224,131152,65616,48]],[12434,[524356,262212,131140,65604,12]],[12436,[32784,16400,528,272,64,48]],[12437,[32784,16400,528,272,64,48]],[12438,[2052,1028,516,260,64,12]],[12439,[2052,1028,516,260,64,12]],[12440,[81,48,9,5,3]],[12441,[81,48,9,5,3]],[12442,[131137,65601,9,5,3]],[12443,[131137,65601,9,5,3]],[12445,[2113,1089,577,321,3]],[12446,[2052,1028,516,260,64,12]],[12447,[131140,65604,32836,16452,12]],[12448,[131152,65616,2064,1040,48]],[12449,[2128,1104,528,272,48]],[12450,[32769,16385,2049,1025,64,3]],[12451,[32848,16464,8272,4176,48]],[12452,[131088,65552,81,48,3]],[12453,[32769,16385,2049,1025,64,3]],[12458,[540800,278656,147584,82048,49152]],[12460,[8336,4240,2192,1168,48]],[12461,[8336,4240,2192,1168,48]],[12462,[33024,16640,8448,4352,768,128]],[12463,[524417,262273,9,5,3]],[12464,[524417,262273,9,5,3]],[12465,[8321,4225,9,5,3]],[12466,[8321,4225,9,5,3]],[12467,[641,385,9,5,3]],[12468,[525440,263296,132224,66688,3072]],[12469,[525440,263296,132224,66688,3072]],[12472,[524432,262288,528,272,48]],[12473,[524432,262288,528,272,48]],[12476,[32900,16516,8324,4228,12]],[12477,[32900,16516,8324,4228,12]],[12478,[32769,16385,8193,4097,128,3]],[12479,[32769,16385,8193,4097,128,3]],[12484,[528384,266240,135168,69632,36864,20480,12288,3903,128]],[12486,[33024,16640,8448,4352,768,128]],[12487,[32784,16400,528,272,128,48]],[12488,[32784,16400,528,272,128,48]],[12489,[516,260,128,36,20,12]],[12490,[516,260,128,36,20,12]],[12491,[524432,262288,131216,65680,48]],[12492,[524432,262288,131216,65680,48]],[12495,[524420,262276,131204,65668,12]],[12497,[32784,16400,528,272,128,48]],[12498,[32784,16400,528,272,128,48]],[12499,[2052,1028,516,260,128,12]],[12500,[2052,1028,516,260,128,12]],[12501,[145,48,9,5,3]],[12502,[145,48,9,5,3]],[12503,[131201,65665,9,5,3]],[12504,[131201,65665,9,5,3]],[12506,[2177,1153,641,385,3]],[12507,[2052,1028,516,260,128,12]],[12508,[131204,65668,32900,16516,12]],[12509,[131216,65680,2064,1040,48]],[12510,[2192,1168,528,272,48]],[12511,[32769,16385,2049,1025,128,3]],[12512,[32912,16528,8336,4240,48]],[12513,[131088,65552,145,48,3]],[12514,[32769,16385,2049,1025,128,3]],[12519,[540928,278784,147712,82176,49152]],[12521,[8464,4368,2320,1296,48]],[12522,[8464,4368,2320,1296,48]],[12523,[32832,16448,8256,4160,256,192]],[12524,[524545,262401,9,5,3]],[12525,[524545,262401,9,5,3]],[12526,[8449,4353,9,5,3]],[12527,[8449,4353,9,5,3]],[12528,[321,192,9,5,3]],[12529,[525568,263424,132352,66816,3072]],[12530,[525568,263424,132352,66816,3072]],[12533,[524560,262416,144,80,48]],[12534,[524560,262416,144,80,48]],[12537,[33028,16644,8452,4356,12]],[12538,[33028,16644,8452,4356,12]],[12539,[32769,16385,8193,4097,256,3]],[12540,[32769,16385,8193,4097,256,3]],[12545,[528384,266240,135168,69632,36864,20480,12288,3327,256]],[12547,[32832,16448,8256,4160,256,192]],[12548,[32784,16400,256,144,80,48]],[12549,[32784,16400,256,144,80,48]],[12550,[256,132,68,36,20,12]],[12551,[256,132,68,36,20,12]],[12552,[524560,262416,131344,65808,48]],[12553,[524560,262416,131344,65808,48]],[12556,[524548,262404,131332,65796,12]],[12558,[32784,16400,256,144,80,48]],[12559,[32784,16400,256,144,80,48]],[12560,[2052,1028,256,132,68,12]],[12561,[2052,1028,256,132,68,12]],[12562,[273,48,9,5,3]],[12563,[273,48,9,5,3]],[12564,[131329,65793,9,5,3]],[12565,[131329,65793,9,5,3]],[12567,[2112,1088,321,192,3]],[12568,[2052,1028,256,132,68,12]],[12569,[131332,65796,33028,16644,12]],[12570,[131344,65808,2064,1040,48]],[12571,[2320,1296,144,80,48]],[12572,[32769,16385,2049,1025,256,3]],[12573,[33040,16656,8464,4368,48]],[12574,[131088,65552,273,48,3]],[12575,[32769,16385,2049,1025,256,3]],[12580,[541184,279040,147968,82432,49152]],[12582,[8720,4624,2576,1552,48]],[12583,[8720,4624,2576,1552,48]],[12584,[32832,16448,8256,4160,512,192]],[12585,[524801,262657,9,5,3]],[12586,[524801,262657,9,5,3]],[12587,[8705,4609,9,5,3]],[12588,[8705,4609,9,5,3]],[12589,[577,192,9,5,3]],[12590,[525824,263680,132608,67072,3072]],[12591,[525824,263680,132608,67072,3072]],[12594,[524816,262672,144,80,48]],[12595,[524816,262672,144,80,48]],[12598,[33284,16900,8708,4612,12]],[12599,[33284,16900,8708,4612,12]],[12600,[32769,16385,8193,4097,512,3]],[12601,[32769,16385,8193,4097,512,3]],[12606,[528384,266240,135168,69632,36864,20480,12288,3327,512]],[12608,[32832,16448,8256,4160,512,192]],[12609,[32784,16400,512,144,80,48]],[12610,[32784,16400,512,144,80,48]],[12611,[512,132,68,36,20,12]],[12612,[512,132,68,36,20,12]],[12613,[524816,262672,131600,66064,48]],[12614,[524816,262672,131600,66064,48]],[12617,[524804,262660,131588,66052,12]],[12619,[32784,16400,512,144,80,48]],[12620,[32784,16400,512,144,80,48]],[12621,[2052,1028,512,132,68,12]],[12622,[2052,1028,512,132,68,12]],[12623,[529,48,9,5,3]],[12624,[529,48,9,5,3]],[12625,[131585,66049,9,5,3]],[12626,[131585,66049,9,5,3]],[12628,[2112,1088,577,192,3]],[12629,[2052,1028,512,132,68,12]],[12630,[131588,66052,33284,16900,12]],[12631,[131600,66064,2064,1040,48]],[12632,[2576,1552,144,80,48]],[12633,[32769,16385,2049,1025,512,3]],[12634,[33296,16912,8720,4624,48]],[12635,[131088,65552,529,48,3]],[12636,[32769,16385,2049,1025,512,3]],[12641,[541696,279552,148480,82944,49152]],[12643,[8448,4352,1296,768,48]],[12644,[8448,4352,1296,768,48]],[12645,[32832,16448,8256,4160,1024,192]],[12646,[525313,263169,9,5,3]],[12647,[525313,263169,9,5,3]],[12648,[9217,5121,9,5,3]],[12649,[9217,5121,9,5,3]],[12650,[1089,192,9,5,3]],[12651,[525568,263424,132352,66816,768]],[12652,[525568,263424,132352,66816,768]],[12655,[525328,263184,144,80,48]],[12656,[525328,263184,144,80,48]],[12659,[33796,17412,9220,5124,12]],[12660,[33796,17412,9220,5124,12]],[12661,[32769,16385,8193,4097,1024,3]],[12662,[32769,16385,8193,4097,1024,3]],[12667,[528384,266240,135168,69632,36864,20480,12288,1024,1023]],[12669,[32832,16448,8256,4160,1024,192]],[12670,[32784,16400,1024,144,80,48]],[12671,[32784,16400,1024,144,80,48]],[12672,[1024,132,68,36,20,12]],[12673,[1024,132,68,36,20,12]],[12674,[525328,263184,132112,66576,48]],[12675,[525328,263184,132112,66576,48]],[12678,[525316,263172,132100,66564,12]],[12680,[32784,16400,1024,144,80,48]],[12681,[32784,16400,1024,144,80,48]],[12682,[1024,516,260,132,68,12]],[12683,[1024,516,260,132,68,12]],[12684,[1041,48,9,5,3]],[12685,[1041,48,9,5,3]],[12686,[132097,66561,9,5,3]],[12687,[132097,66561,9,5,3]],[12689,[1089,576,320,192,3]],[12690,[1024,516,260,132,68,12]],[12691,[132100,66564,33796,17412,12]],[12692,[132112,66576,528,272,48]],[12693,[1296,768,144,80,48]],[12694,[32769,16385,1024,513,257,3]],[12695,[33808,17424,9232,5136,48]],[12696,[131088,65552,1041,48,3]],[12697,[32769,16385,1024,513,257,3]],[12702,[542720,280576,149504,83968,49152]],[12704,[8448,4352,2320,768,48]],[12705,[8448,4352,2320,768,48]],[12706,[32832,16448,8256,4160,2048,192]],[12707,[526337,264193,9,5,3]],[12708,[526337,264193,9,5,3]],[12709,[10241,6145,9,5,3]],[12710,[10241,6145,9,5,3]],[12711,[2113,192,9,5,3]],[12712,[526592,264448,133376,67840,768]],[12713,[526592,264448,133376,67840,768]],[12716,[526352,264208,144,80,48]],[12717,[526352,264208,144,80,48]],[12720,[34820,18436,10244,6148,12]],[12721,[34820,18436,10244,6148,12]],[12722,[32769,16385,8193,4097,2048,3]],[12723,[32769,16385,8193,4097,2048,3]],[12728,[528384,266240,135168,69632,36864,20480,12288,2048,1023]],[12730,[32832,16448,8256,4160,2048,192]],[12731,[32784,16400,2048,144,80,48]],[12732,[32784,16400,2048,144,80,48]],[12733,[2048,132,68,36,20,12]],[12734,[2048,132,68,36,20,12]],[12735,[526352,264208,133136,67600,48]],[12736,[526352,264208,133136,67600,48]],[12739,[526340,264196,133124,67588,12]],[12741,[32784,16400,2048,144,80,48]],[12742,[32784,16400,2048,144,80,48]],[12743,[2048,516,260,132,68,12]],[12744,[2048,516,260,132,68,12]],[12745,[2065,48,9,5,3]],[12746,[2065,48,9,5,3]],[12747,[133121,67585,9,5,3]],[12748,[133121,67585,9,5,3]],[12750,[2113,576,320,192,3]],[12751,[2048,516,260,132,68,12]],[12752,[133124,67588,34820,18436,12]],[12753,[133136,67600,528,272,48]],[12754,[2320,768,144,80,48]],[12755,[32769,16385,2048,513,257,3]],[12756,[34832,18448,10256,6160,48]],[12757,[131088,65552,2065,48,3]],[12758,[32769,16385,2048,513,257,3]],[12763,[544768,282624,151552,86016,49152]],[12765,[4368,2304,1280,768,48]],[12766,[4368,2304,1280,768,48]],[12767,[32832,16448,4096,2112,1088,192]],[12768,[528385,266241,9,5,3]],[12769,[528385,266241,9,5,3]],[12770,[5121,3072,9,5,3]],[12771,[5121,3072,9,5,3]],[12772,[4161,192,9,5,3]],[12773,[528640,266496,135424,69888,768]],[12774,[528640,266496,135424,69888,768]],[12777,[528400,266256,144,80,48]],[12778,[528400,266256,144,80,48]],[12781,[33792,17408,5124,3072,12]],[12782,[33792,17408,5124,3072,12]],[12783,[32769,16385,4096,2049,1025,3]],[12784,[32769,16385,4096,2049,1025,3]],[12789,[525312,263168,132096,66560,33792,17408,4096,3072,1023]],[12791,[32832,16448,4096,2112,1088,192]],[12792,[32784,16400,4096,144,80,48]],[12793,[32784,16400,4096,144,80,48]],[12794,[4096,132,68,36,20,12]],[12795,[4096,132,68,36,20,12]],[12796,[528400,266256,135184,69648,48]],[12797,[528400,266256,135184,69648,48]],[12800,[528388,266244,135172,69636,12]],[12802,[32784,16400,4096,144,80,48]],[12803,[32784,16400,4096,144,80,48]],[12804,[4096,516,260,132,68,12]],[12805,[4096,516,260,132,68,12]],[12806,[4113,48,9,5,3]],[12807,[4113,48,9,5,3]],[12808,[135169,69633,9,5,3]],[12809,[135169,69633,9,5,3]],[12811,[4161,576,320,192,3]],[12812,[4096,516,260,132,68,12]],[12813,[135172,69636,36868,20484,12]],[12814,[135184,69648,528,272,48]],[12815,[4368,768,144,80,48]],[12816,[32769,16385,4096,513,257,3]],[12817,[33792,17408,5136,3072,48]],[12818,[131088,65552,4113,48,3]],[12819,[32769,16385,4096,513,257,3]],[12824,[548864,286720,155648,90112,49152]],[12826,[8464,2304,1280,768,48]],[12827,[8464,2304,1280,768,48]],[12828,[32832,16448,8192,2112,1088,192]],[12829,[532481,270337,9,5,3]],[12830,[532481,270337,9,5,3]],[12831,[9217,3072,9,5,3]],[12832,[9217,3072,9,5,3]],[12833,[8257,192,9,5,3]],[12834,[532736,270592,139520,73984,768]],[12835,[532736,270592,139520,73984,768]],[12838,[532496,270352,144,80,48]],[12839,[532496,270352,144,80,48]],[12842,[33792,17408,9220,3072,12]],[12843,[33792,17408,9220,3072,12]],[12844,[32769,16385,8192,2049,1025,3]],[12845,[32769,16385,8192,2049,1025,3]],[12850,[525312,263168,132096,66560,33792,17408,8192,3072,1023]],[12852,[32832,16448,8192,2112,1088,192]],[12853,[32784,16400,8192,144,80,48]],[12854,[32784,16400,8192,144,80,48]],[12855,[8192,132,68,36,20,12]],[12856,[8192,132,68,36,20,12]],[12857,[532496,270352,139280,73744,48]],[12858,[532496,270352,139280,73744,48]],[12861,[532484,270340,139268,73732,12]],[12863,[32784,16400,8192,144,80,48]],[12864,[32784,16400,8192,144,80,48]],[12865,[8192,516,260,132,68,12]],[12866,[8192,516,260,132,68,12]],[12867,[8209,48,9,5,3]],[12868,[8209,48,9,5,3]],[12869,[139265,73729,9,5,3]],[12870,[139265,73729,9,5,3]],[12872,[8257,576,320,192,3]],[12873,[8192,516,260,132,68,12]],[12874,[139268,73732,40964,24580,12]],[12875,[139280,73744,528,272,48]],[12876,[8464,768,144,80,48]],[12877,[32769,16385,8192,513,257,3]],[12878,[33792,17408,9232,3072,48]],[12879,[131088,65552,8209,48,3]],[12880,[32769,16385,8192,513,257,3]],[12885,[544768,282624,151552,86016,12288]],[12887,[16656,2304,1280,768,48]],[12888,[16656,2304,1280,768,48]],[12889,[16384,8256,4160,2112,1088,192]],[12890,[540673,278529,9,5,3]],[12891,[540673,278529,9,5,3]],[12892,[17409,3072,9,5,3]],[12893,[17409,3072,9,5,3]],[12894,[16449,192,9,5,3]],[12895,[540928,278784,147712,82176,768]],[12896,[540928,278784,147712,82176,768]],[12899,[540688,278544,144,80,48]],[12900,[540688,278544,144,80,48]],[12903,[17412,9216,5120,3072,12]],[12904,[17412,9216,5120,3072,12]],[12905,[16384,8193,4097,2049,1025,3]],[12906,[16384,8193,4097,2049,1025,3]],[12911,[525312,263168,132096,66560,16384,9216,5120,3072,1023]],[12913,[16384,8256,4160,2112,1088,192]],[12914,[16384,8208,4112,144,80,48]],[12915,[16384,8208,4112,144,80,48]],[12916,[16384,132,68,36,20,12]],[12917,[16384,132,68,36,20,12]],[12918,[540688,278544,147472,81936,48]],[12919,[540688,278544,147472,81936,48]],[12922,[540676,278532,147460,81924,12]],[12924,[16384,8208,4112,144,80,48]],[12925,[16384,8208,4112,144,80,48]],[12926,[16384,516,260,132,68,12]],[12927,[16384,516,260,132,68,12]],[12928,[16401,48,9,5,3]],[12929,[16401,48,9,5,3]],[12930,[147457,81921,9,5,3]],[12931,[147457,81921,9,5,3]],[12933,[16449,576,320,192,3]],[12934,[16384,516,260,132,68,12]],[12935,[135168,69632,20484,12288,12]],[12936,[147472,81936,528,272,48]],[12937,[16656,768,144,80,48]],[12938,[16384,8193,4097,513,257,3]],[12939,[17424,9216,5120,3072,48]],[12940,[131088,65552,16401,48,3]],[12941,[16384,8193,4097,513,257,3]],[12946,[561152,299008,167936,102400,12288]],[12948,[33040,2304,1280,768,48]],[12949,[33040,2304,1280,768,48]],[12950,[32768,8256,4160,2112,1088,192]],[12951,[557057,294913,9,5,3]],[12952,[557057,294913,9,5,3]],[12953,[33793,3072,9,5,3]],[12954,[33793,3072,9,5,3]],[12955,[32833,192,9,5,3]],[12956,[557312,295168,164096,98560,768]],[12957,[557312,295168,164096,98560,768]],[12960,[557072,294928,144,80,48]],[12961,[557072,294928,144,80,48]],[12964,[33796,9216,5120,3072,12]],[12965,[33796,9216,5120,3072,12]],[12966,[32768,8193,4097,2049,1025,3]],[12967,[32768,8193,4097,2049,1025,3]],[12972,[525312,263168,132096,66560,32768,9216,5120,3072,1023]],[12974,[32768,8256,4160,2112,1088,192]],[12975,[32768,8208,4112,144,80,48]],[12976,[32768,8208,4112,144,80,48]],[12977,[32768,132,68,36,20,12]],[12978,[32768,132,68,36,20,12]],[12979,[557072,294928,163856,98320,48]],[12980,[557072,294928,163856,98320,48]],[12983,[557060,294916,163844,98308,12]],[12985,[32768,8208,4112,144,80,48]],[12986,[32768,8208,4112,144,80,48]],[12987,[32768,516,260,132,68,12]],[12988,[32768,516,260,132,68,12]],[12989,[32785,48,9,5,3]],[12990,[32785,48,9,5,3]],[12991,[163841,98305,9,5,3]],[12992,[163841,98305,9,5,3]],[12994,[32833,576,320,192,3]],[12995,[32768,516,260,132,68,12]],[12996,[135168,69632,36868,12288,12]],[12997,[163856,98320,528,272,48]],[12998,[33040,768,144,80,48]],[12999,[32768,8193,4097,513,257,3]],[13000,[33808,9216,5120,3072,48]],[13001,[131088,65552,32785,48,3]],[13002,[32768,8193,4097,513,257,3]],[13007,[540672,278528,86016,49152,12288]],[13009,[65808,2304,1280,768,48]],[13010,[65808,2304,1280,768,48]],[13011,[65536,8256,4160,2112,1088,192]],[13012,[589825,327681,9,5,3]],[13013,[589825,327681,9,5,3]],[13014,[66561,3072,9,5,3]],[13015,[66561,3072,9,5,3]],[13016,[65601,192,9,5,3]],[13017,[540672,278528,82176,49152,768]],[13018,[540672,278528,82176,49152,768]],[13021,[589840,327696,144,80,48]],[13022,[589840,327696,144,80,48]],[13025,[66564,9216,5120,3072,12]],[13026,[66564,9216,5120,3072,12]],[13027,[65536,8193,4097,2049,1025,3]],[13028,[65536,8193,4097,2049,1025,3]],[13033,[525312,263168,65536,33792,17408,9216,5120,3072,1023]],[13035,[65536,8256,4160,2112,1088,192]],[13036,[65536,8208,4112,144,80,48]],[13037,[65536,8208,4112,144,80,48]],[13038,[65536,132,68,36,20,12]],[13039,[65536,132,68,36,20,12]],[13040,[540672,278528,81936,49152,48]],[13041,[540672,278528,81936,49152,48]],[13044,[540672,278528,81924,49152,12]],[13046,[65536,8208,4112,144,80,48]],[13047,[65536,8208,4112,144,80,48]],[13048,[65536,516,260,132,68,12]],[13049,[65536,516,260,132,68,12]],[13050,[65553,48,9,5,3]],[13051,[65553,48,9,5,3]],[13052,[81921,49152,9,5,3]],[13053,[81921,49152,9,5,3]],[13055,[65601,576,320,192,3]],[13056,[65536,516,260,132,68,12]],[13057,[69636,36864,20480,12288,12]],[13058,[81936,49152,528,272,48]],[13059,[65808,768,144,80,48]],[13060,[65536,8193,4097,513,257,3]],[13061,[66576,9216,5120,3072,48]],[13062,[65553,32784,16400,48,3]],[13063,[65536,8193,4097,513,257,3]],[13068,[540672,278528,151552,49152,12288]],[13070,[131344,2304,1280,768,48]],[13071,[131344,2304,1280,768,48]],[13072,[131072,8256,4160,2112,1088,192]],[13073,[655361,393217,9,5,3]],[13074,[655361,393217,9,5,3]],[13075,[132097,3072,9,5,3]],[13076,[132097,3072,9,5,3]],[13077,[131137,192,9,5,3]],[13078,[540672,278528,147712,49152,768]],[13079,[540672,278528,147712,49152,768]],[13082,[655376,393232,144,80,48]],[13083,[655376,393232,144,80,48]],[13086,[132100,9216,5120,3072,12]],[13087,[132100,9216,5120,3072,12]],[13088,[131072,8193,4097,2049,1025,3]],[13089,[131072,8193,4097,2049,1025,3]],[13094,[525312,263168,131072,33792,17408,9216,5120,3072,1023]],[13096,[131072,8256,4160,2112,1088,192]],[13097,[131072,8208,4112,144,80,48]],[13098,[131072,8208,4112,144,80,48]],[13099,[131072,132,68,36,20,12]],[13100,[131072,132,68,36,20,12]],[13101,[540672,278528,147472,49152,48]],[13102,[540672,278528,147472,49152,48]],[13105,[540672,278528,147460,49152,12]],[13107,[131072,8208,4112,144,80,48]],[13108,[131072,8208,4112,144,80,48]],[13109,[131072,516,260,132,68,12]],[13110,[131072,516,260,132,68,12]],[13111,[131089,48,9,5,3]],[13112,[131089,48,9,5,3]],[13113,[147457,49152,9,5,3]],[13114,[147457,49152,9,5,3]],[13116,[131137,576,320,192,3]],[13117,[131072,516,260,132,68,12]],[13118,[135172,36864,20480,12288,12]],[13119,[147472,49152,528,272,48]],[13120,[131344,768,144,80,48]],[13121,[131072,8193,4097,513,257,3]],[13122,[132112,9216,5120,3072,48]],[13123,[131089,32784,16400,48,3]],[13124,[131072,8193,4097,513,257,3]],[13129,[282624,147456,81920,49152,12288]],[13131,[262416,2304,1280,768,48]],[13132,[262416,2304,1280,768,48]],[13133,[262144,8256,4160,2112,1088,192]],[13134,[327681,196608,9,5,3]],[13135,[327681,196608,9,5,3]],[13136,[263169,3072,9,5,3]],[13137,[263169,3072,9,5,3]],[13138,[262209,192,9,5,3]],[13139,[278784,147456,81920,49152,768]],[13140,[278784,147456,81920,49152,768]],[13143,[327696,196608,144,80,48]],[13144,[327696,196608,144,80,48]],[13147,[263172,9216,5120,3072,12]],[13148,[263172,9216,5120,3072,12]],[13149,[262144,8193,4097,2049,1025,3]],[13150,[262144,8193,4097,2049,1025,3]],[13155,[262144,132096,66560,33792,17408,9216,5120,3072,1023]],[13157,[262144,8256,4160,2112,1088,192]],[13158,[262144,8208,4112,144,80,48]],[13159,[262144,8208,4112,144,80,48]],[13160,[262144,132,68,36,20,12]],[13161,[262144,132,68,36,20,12]],[13162,[278544,147456,81920,49152,48]],[13163,[278544,147456,81920,49152,48]],[13166,[278532,147456,81920,49152,12]],[13168,[262144,8208,4112,144,80,48]],[13169,[262144,8208,4112,144,80,48]],[13170,[262144,516,260,132,68,12]],[13171,[262144,516,260,132,68,12]],[13172,[262161,48,9,5,3]],[13173,[262161,48,9,5,3]],[13174,[278529,49152,9,5,3]],[13175,[278529,49152,9,5,3]],[13177,[262209,576,320,192,3]],[13178,[262144,516,260,132,68,12]],[13179,[266244,36864,20480,12288,12]],[13180,[278544,49152,528,272,48]],[13181,[262416,768,144,80,48]],[13182,[262144,8193,4097,513,257,3]],[13183,[263184,9216,5120,3072,48]],[13184,[262161,32784,16400,48,3]],[13185,[262144,8193,4097,513,257,3]],[13190,[544768,147456,81920,49152,12288]],[13192,[524560,2304,1280,768,48]],[13193,[524560,2304,1280,768,48]],[13194,[524288,8256,4160,2112,1088,192]],[13195,[589825,196608,9,5,3]],[13196,[589825,196608,9,5,3]],[13197,[525313,3072,9,5,3]],[13198,[525313,3072,9,5,3]],[13199,[524353,192,9,5,3]],[13200,[540928,147456,81920,49152,768]],[13201,[540928,147456,81920,49152,768]],[13204,[589840,196608,144,80,48]],[13205,[589840,196608,144,80,48]],[13208,[525316,9216,5120,3072,12]],[13209,[525316,9216,5120,3072,12]],[13210,[524288,8193,4097,2049,1025,3]],[13211,[524288,8193,4097,2049,1025,3]],[13216,[524288,132096,66560,33792,17408,9216,5120,3072,1023]],[13218,[524288,8256,4160,2112,1088,192]],[13219,[524288,8208,4112,144,80,48]],[13220,[524288,8208,4112,144,80,48]],[13221,[524288,132,68,36,20,12]],[13222,[524288,132,68,36,20,12]],[13223,[540688,147456,81920,49152,48]],[13224,[540688,147456,81920,49152,48]],[13227,[540676,147456,81920,49152,12]],[13229,[524288,8208,4112,144,80,48]],[13230,[524288,8208,4112,144,80,48]],[13231,[524288,516,260,132,68,12]],[13232,[524288,516,260,132,68,12]],[13233,[524305,48,9,5,3]],[13234,[524305,48,9,5,3]],[13235,[540673,49152,9,5,3]],[13236,[540673,49152,9,5,3]],[13238,[524353,576,320,192,3]],[13239,[524288,516,260,132,68,12]],[13240,[528388,36864,20480,12288,12]],[13241,[540688,49152,528,272,48]],[13242,[524560,768,144,80,48]],[13243,[524288,8193,4097,513,257,3]],[13244,[525328,9216,5120,3072,48]],[13245,[524305,32784,16400,48,3]],[13246,[524288,8193,4097,513,257,3]],[13247,[524293,262149,131077,65541,15]],[13248,[133,69,37,21,15]],[13249,[2053,1029,133,69,15]],[13250,[524294,262150,131078,65542,15]],[13251,[134,70,38,22,15]],[13252,[2054,1030,134,70,15]],[13253,[524305,262161,131089,65553,51]],[13254,[132,68,38,21,12]],[13255,[2065,1041,145,81,51]],[13256,[524306,262162,131090,65554,51]],[13257,[132,68,37,22,12]],[13258,[2066,1042,146,82,51]],[13259,[524353,262209,131137,65601,195]],[13260,[134,69,36,20,12]],[13261,[2064,1040,146,81,48]],[13262,[524354,262210,131138,65602,195]],[13263,[133,70,36,20,12]],[13264,[2064,1040,145,82,48]],[13265,[524545,262401,131329,65793,771]],[13266,[518,261,36,20,12]],[13267,[2064,1040,530,273,48]],[13268,[524546,262402,131330,65794,771]],[13269,[517,262,36,20,12]],[13270,[2064,1040,529,274,48]],[13271,[525313,263169,132097,66561,3075]],[13272,[2054,1029,36,20,12]],[13273,[2066,1041,528,272,48]],[13274,[525314,263170,132098,66562,3075]],[13275,[2053,1030,36,20,12]],[13276,[2065,1042,528,272,48]],[13277,[528385,266241,135169,69633,12291]],[13278,[8198,4101,36,20,12]],[13279,[8210,4113,528,272,48]],[13280,[528386,266242,135170,69634,12291]],[13281,[8197,4102,36,20,12]],[13282,[8209,4114,528,272,48]],[13283,[540673,278529,147457,81921,49155]],[13284,[32774,16389,36,20,12]],[13285,[32786,16401,528,272,48]],[13286,[540674,278530,147458,81922,49155]],[13287,[32773,16390,36,20,12]],[13288,[32785,16402,528,272,48]],[13289,[540672,278528,147458,81921,49152]],[13290,[131078,65541,36,20,12]],[13291,[131090,65553,528,272,48]],[13292,[540672,278528,147457,81922,49152]],[13293,[131077,65542,36,20,12]],[13294,[131089,65554,528,272,48]],[13295,[540674,278529,147456,81920,49152]],[13296,[524294,262149,36,20,12]],[13297,[524306,262161,528,272,48]],[13298,[540673,278530,147456,81920,49152]],[13299,[524293,262150,36,20,12]],[13300,[524305,262162,528,272,48]],[13301,[524308,262164,131092,65556,60]],[13302,[129,65,41,21,3]],[13303,[2068,1044,148,84,60]],[13304,[524312,262168,131096,65560,60]],[13305,[129,65,37,25,3]],[13306,[2072,1048,152,88,60]],[13307,[524356,262212,131140,65604,204]],[13308,[137,69,33,17,3]],[13309,[2064,1040,152,84,48]],[13310,[524360,262216,131144,65608,204]],[13311,[133,73,33,17,3]],[13312,[2064,1040,148,88,48]],[13313,[524548,262404,131332,65796,780]],[13314,[521,261,33,17,3]],[13315,[2064,1040,536,276,48]],[13316,[524552,262408,131336,65800,780]],[13317,[517,265,33,17,3]],[13318,[2064,1040,532,280,48]],[13319,[525316,263172,132100,66564,3084]],[13320,[2057,1029,33,17,3]],[13321,[2072,1044,528,272,48]],[13322,[525320,263176,132104,66568,3084]],[13323,[2053,1033,33,17,3]],[13324,[2068,1048,528,272,48]],[13325,[528388,266244,135172,69636,12300]],[13326,[8201,4101,33,17,3]],[13327,[8216,4116,528,272,48]],[13328,[528392,266248,135176,69640,12300]],[13329,[8197,4105,33,17,3]],[13330,[8212,4120,528,272,48]],[13331,[540676,278532,147460,81924,49164]],[13332,[32777,16389,33,17,3]],[13333,[32792,16404,528,272,48]],[13334,[540680,278536,147464,81928,49164]],[13335,[32773,16393,33,17,3]],[13336,[32788,16408,528,272,48]],[13337,[540672,278528,147464,81924,49152]],[13338,[131081,65541,33,17,3]],[13339,[131096,65556,528,272,48]],[13340,[540672,278528,147460,81928,49152]],[13341,[131077,65545,33,17,3]],[13342,[131092,65560,528,272,48]],[13343,[540680,278532,147456,81920,49152]],[13344,[524297,262149,33,17,3]],[13345,[524312,262164,528,272,48]],[13346,[540676,278536,147456,81920,49152]],[13347,[524293,262153,33,17,3]],[13348,[524308,262168,528,272,48]],[13349,[524368,262224,131152,65616,240]],[13350,[161,81,9,5,3]],[13351,[2052,1028,164,84,12]],[13352,[524384,262240,131168,65632,240]],[13353,[145,97,9,5,3]],[13354,[2052,1028,148,100,12]],[13355,[524560,262416,131344,65808,816]],[13356,[545,273,9,5,3]],[13357,[2052,1028,548,276,12]],[13358,[524576,262432,131360,65824,816]],[13359,[529,289,9,5,3]],[13360,[2052,1028,532,292,12]],[13361,[525328,263184,132112,66576,3120]],[13362,[2081,1041,9,5,3]],[13363,[2084,1044,516,260,12]],[13364,[525344,263200,132128,66592,3120]],[13365,[2065,1057,9,5,3]],[13366,[2068,1060,516,260,12]],[13367,[528400,266256,135184,69648,12336]],[13368,[8225,4113,9,5,3]],[13369,[8228,4116,516,260,12]],[13370,[528416,266272,135200,69664,12336]],[13371,[8209,4129,9,5,3]],[13372,[8212,4132,516,260,12]],[13373,[540688,278544,147472,81936,49200]],[13374,[32801,16401,9,5,3]],[13375,[32804,16404,516,260,12]],[13376,[540704,278560,147488,81952,49200]],[13377,[32785,16417,9,5,3]],[13378,[32788,16420,516,260,12]],[13379,[540672,278528,147488,81936,49152]],[13380,[131105,65553,9,5,3]],[13381,[131108,65556,516,260,12]],[13382,[540672,278528,147472,81952,49152]],[13383,[131089,65569,9,5,3]],[13384,[131092,65572,516,260,12]],[13385,[540704,278544,147456,81920,49152]],[13386,[524321,262161,9,5,3]],[13387,[524324,262164,516,260,12]],[13388,[540688,278560,147456,81920,49152]],[13389,[524305,262177,9,5,3]],[13390,[524308,262180,516,260,12]],[13391,[524608,262464,131392,65856,960]],[13392,[641,321,9,5,3]],[13393,[2052,1028,644,324,12]],[13394,[524672,262528,131456,65920,960]],[13395,[577,385,9,5,3]],[13396,[2052,1028,580,388,12]],[13397,[525376,263232,132160,66624,3264]],[13398,[2177,1089,9,5,3]],[13399,[2180,1092,516,260,12]],[13400,[525440,263296,132224,66688,3264]],[13401,[2113,1153,9,5,3]],[13402,[2116,1156,516,260,12]],[13403,[528448,266304,135232,69696,12480]],[13404,[8321,4161,9,5,3]],[13405,[8324,4164,516,260,12]],[13406,[528512,266368,135296,69760,12480]],[13407,[8257,4225,9,5,3]],[13408,[8260,4228,516,260,12]],[13409,[540736,278592,147520,81984,49344]],[13410,[32897,16449,9,5,3]],[13411,[32900,16452,516,260,12]],[13412,[540800,278656,147584,82048,49344]],[13413,[32833,16513,9,5,3]],[13414,[32836,16516,516,260,12]],[13415,[540672,278528,147584,81984,49152]],[13416,[131201,65601,9,5,3]],[13417,[131204,65604,516,260,12]],[13418,[540672,278528,147520,82048,49152]],[13419,[131137,65665,9,5,3]],[13420,[131140,65668,516,260,12]],[13421,[540800,278592,147456,81920,49152]],[13422,[524417,262209,9,5,3]],[13423,[524420,262212,516,260,12]],[13424,[540736,278656,147456,81920,49152]],[13425,[524353,262273,9,5,3]],[13426,[524356,262276,516,260,12]],[13427,[525568,263424,132352,66816,3840]],[13428,[2561,1281,9,5,3]],[13429,[2564,1284,132,68,12]],[13430,[525824,263680,132608,67072,3840]],[13431,[2305,1537,9,5,3]],[13432,[2308,1540,132,68,12]],[13433,[528640,266496,135424,69888,13056]],[13434,[8705,4353,9,5,3]],[13435,[8708,4356,132,68,12]],[13436,[528896,266752,135680,70144,13056]],[13437,[8449,4609,9,5,3]],[13438,[8452,4612,132,68,12]],[13439,[540928,278784,147712,82176,49920]],[13440,[33281,16641,9,5,3]],[13441,[33284,16644,132,68,12]],[13442,[541184,279040,147968,82432,49920]],[13443,[33025,16897,9,5,3]],[13444,[33028,16900,132,68,12]],[13445,[540672,278528,147968,82176,49152]],[13446,[131585,65793,9,5,3]],[13447,[131588,65796,132,68,12]],[13448,[540672,278528,147712,82432,49152]],[13449,[131329,66049,9,5,3]],[13450,[131332,66052,132,68,12]],[13451,[541184,278784,147456,81920,49152]],[13452,[524801,262401,9,5,3]],[13453,[524804,262404,132,68,12]],[13454,[540928,279040,147456,81920,49152]],[13455,[524545,262657,9,5,3]],[13456,[524548,262660,132,68,12]],[13457,[529408,267264,136192,70656,15360]],[13458,[10241,5121,9,5,3]],[13459,[10244,5124,132,68,12]],[13460,[530432,268288,137216,71680,15360]],[13461,[9217,6145,9,5,3]],[13462,[9220,6148,132,68,12]],[13463,[541696,279552,148480,82944,52224]],[13464,[34817,17409,9,5,3]],[13465,[34820,17412,132,68,12]],[13466,[542720,280576,149504,83968,52224]],[13467,[33793,18433,9,5,3]],[13468,[33796,18436,132,68,12]],[13469,[540672,278528,149504,82944,49152]],[13470,[133121,66561,9,5,3]],[13471,[133124,66564,132,68,12]],[13472,[540672,278528,148480,83968,49152]],[13473,[132097,67585,9,5,3]],[13474,[132100,67588,132,68,12]],[13475,[542720,279552,147456,81920,49152]],[13476,[526337,263169,9,5,3]],[13477,[526340,263172,132,68,12]],[13478,[541696,280576,147456,81920,49152]],[13479,[525313,264193,9,5,3]],[13480,[525316,264196,132,68,12]],[13481,[544768,282624,151552,86016,61440]],[13482,[40961,20481,9,5,3]],[13483,[40964,20484,132,68,12]],[13484,[548864,286720,155648,90112,61440]],[13485,[36865,24577,9,5,3]],[13486,[36868,24580,132,68,12]],[13487,[540672,278528,155648,86016,49152]],[13488,[139265,69633,9,5,3]],[13489,[139268,69636,132,68,12]],[13490,[540672,278528,151552,90112,49152]],[13491,[135169,73729,9,5,3]],[13492,[135172,73732,132,68,12]],[13493,[548864,282624,147456,81920,49152]],[13494,[532481,266241,9,5,3]],[13495,[532484,266244,132,68,12]],[13496,[544768,286720,147456,81920,49152]],[13497,[528385,270337,9,5,3]],[13498,[528388,270340,132,68,12]],[13499,[528384,266240,167936,86016,12288]],[13500,[163841,81921,9,5,3]],[13501,[163844,81924,132,68,12]],[13502,[528384,266240,151552,102400,12288]],[13503,[147457,98305,9,5,3]],[13504,[147460,98308,132,68,12]],[13505,[561152,282624,135168,69632,12288]],[13506,[557057,278529,9,5,3]],[13507,[557060,278532,132,68,12]],[13508,[544768,299008,135168,69632,12288]],[13509,[540673,294913,9,5,3]],[13510,[540676,294916,132,68,12]],[13511,[659456,331776,36864,20480,12288]],[13512,[655361,327681,9,5,3]],[13513,[655364,327684,132,68,12]],[13514,[593920,397312,36864,20480,12288]],[13515,[589825,393217,9,5,3]],[13516,[589828,393220,132,68,12]],[13519,[32768,16384,2052,1028,132,68,12]],[13520,[32768,16384,2052,1028,132,68,12]],[13547,[147460,81924,49152,132,68,12]],[13551,[32768,16384,2052,1028,132,68,12]],[13552,[540676,278532,49152,132,68,12]],[13553,[540676,278532,49152,132,68,12]],[13573,[524288,262144,512,256,32,16,8,4,2,1]],[13598,[524304,262160,147472,81936,49152,48]],[13599,[524304,262160,147472,81936,49152,48]],[13600,[524304,262160,147472,81936,49152,48]],[13645,[524304,262160,2128,1104,192,48]],[13657,[33024,16640,8448,4352,768,32,16]],[13658,[32769,16385,128,64,33,17,3]],[13668,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[13699,[131328,65792,33025,16641,768,3]],[13700,[131328,65792,33025,16641,768,3]],[13720,[524288,262144,131072,65536,8192,4096,128,64,32,16]],[13722,[524304,262160,148,84,48,12]],[13737,[33088,16704,8512,4416,768,192]],[13751,[2049,1025,577,321,192,3]],[13779,[2049,1025,529,273,48,3]],[13780,[593920,331776,196608,36864,20480,12288]],[13781,[593920,331776,196608,36864,20480,12288]],[13783,[524352,262208,8512,4416,768,192]],[13816,[32768,16384,8192,4096,512,256,128,64,8,4]],[13818,[33024,16640,8448,4352,768,32,16]],[13836,[524545,262401,2049,1025,768,3]],[13849,[32769,16385,128,64,33,17,3]],[13863,[525313,263169,33792,17408,3072]],[13864,[32833,16449,2113,1089,192]],[13865,[525314,263170,33792,17408,3072]],[13866,[32834,16450,2114,1090,192]],[13867,[525316,263172,33792,17408,3072]],[13868,[32836,16452,2116,1092,192]],[13869,[525320,263176,33792,17408,3072]],[13870,[32840,16456,2120,1096,192]],[13871,[525328,263184,33792,17408,3072]],[13872,[32848,16464,2128,1104,192]],[13873,[525344,263200,33792,17408,3072]],[13874,[32864,16480,2144,1120,192]],[13875,[525376,263232,33792,17408,3072]],[13876,[32848,16464,2128,1104,48]],[13877,[525440,263296,33792,17408,3072]],[13878,[32912,16528,2192,1168,48]],[13879,[525568,263424,33792,17408,3072]],[13880,[33040,16656,2320,1296,48]],[13881,[525824,263680,33792,17408,3072]],[13882,[33296,16912,2576,1552,48]],[13883,[525568,263424,33024,16640,768]],[13884,[33024,16640,1296,768,48]],[13885,[526592,264448,33024,16640,768]],[13886,[33024,16640,2320,768,48]],[13887,[528640,266496,33024,16640,768]],[13888,[33024,16640,4368,768,48]],[13889,[532736,270592,33024,16640,768]],[13890,[33024,16640,8464,768,48]],[13891,[540928,278784,8448,4352,768]],[13892,[16656,8448,4352,768,48]],[13893,[557312,295168,8448,4352,768]],[13894,[33040,8448,4352,768,48]],[13895,[590080,327936,8448,4352,768]],[13896,[65808,8448,4352,768,48]],[13897,[655616,393472,8448,4352,768]],[13898,[131344,8448,4352,768,48]],[13899,[327936,196608,8448,4352,768]],[13900,[262416,8448,4352,768,48]],[13901,[590080,196608,8448,4352,768]],[13902,[524560,8448,4352,768,48]],[13904,[524288,262144,131072,65536,512,256,8,4]],[13906,[32768,16384,8192,4096,32,16,8,4]],[13909,[131072,65536,512,256,32,16,8,4]],[13912,[8192,4096,2048,1024,128,64,32,16]],[13913,[524288,262144,8192,4096,2048,1024,128,64]],[13914,[524288,262144,32768,16384,8192,4096,512,256]],[13915,[524288,262144,131072,65536,512,256,8,4]],[13916,[524288,262144,131072,65536,512,256,8,4]],[13918,[32773,16389,132,68,12,3]],[13919,[524353,262209,32769,16385,192,3]],[13921,[8197,4101,516,260,36,20,12]],[13927,[516,260,132,68,36,20,12,1]],[13940,[516,260,132,68,36,20,12,1]],[13941,[516,260,132,68,36,20,12,1]],[13942,[516,260,132,68,36,20,12,1]],[13943,[516,260,132,68,36,20,12,1]],[13944,[516,260,132,68,36,20,12,1]],[13949,[8196,4100,2052,1028,516,260,12,1]],[13950,[8196,4100,2052,1028,516,260,12,1]],[13966,[8196,4100,2052,1028,516,260,12,1]],[13968,[8198,4102,516,260,36,20,12]],[13974,[516,260,132,68,36,20,12,2]],[13987,[516,260,132,68,36,20,12,2]],[13988,[516,260,132,68,36,20,12,2]],[13989,[516,260,132,68,36,20,12,2]],[13990,[516,260,132,68,36,20,12,2]],[13991,[516,260,132,68,36,20,12,2]],[13996,[8196,4100,2052,1028,516,260,12,2]],[13997,[8196,4100,2052,1028,516,260,12,2]],[14013,[8196,4100,2052,1028,516,260,12,2]],[14015,[8197,4101,513,257,33,17,3]],[14021,[513,257,129,65,33,17,4,3]],[14034,[513,257,129,65,33,17,4,3]],[14035,[513,257,129,65,33,17,4,3]],[14036,[513,257,129,65,33,17,4,3]],[14037,[513,257,129,65,33,17,4,3]],[14038,[513,257,129,65,33,17,4,3]],[14043,[8193,4097,2049,1025,513,257,4,3]],[14044,[8193,4097,2049,1025,513,257,4,3]],[14060,[8193,4097,2049,1025,513,257,4,3]],[14062,[8201,4105,513,257,33,17,3]],[14068,[513,257,129,65,33,17,8,3]],[14081,[513,257,129,65,33,17,8,3]],[14082,[513,257,129,65,33,17,8,3]],[14083,[513,257,129,65,33,17,8,3]],[14084,[513,257,129,65,33,17,8,3]],[14085,[513,257,129,65,33,17,8,3]],[14090,[8193,4097,2049,1025,513,257,8,3]],[14091,[8193,4097,2049,1025,513,257,8,3]],[14107,[8193,4097,2049,1025,513,257,8,3]],[14109,[8209,4113,513,257,9,5,3]],[14115,[513,257,129,65,16,9,5,3]],[14128,[513,257,129,65,16,9,5,3]],[14129,[513,257,129,65,16,9,5,3]],[14130,[513,257,129,65,16,9,5,3]],[14131,[513,257,129,65,16,9,5,3]],[14132,[513,257,129,65,16,9,5,3]],[14137,[8193,4097,2049,1025,513,257,16,3]],[14138,[8193,4097,2049,1025,513,257,16,3]],[14154,[8193,4097,2049,1025,513,257,16,3]],[14156,[8225,4129,513,257,9,5,3]],[14162,[513,257,129,65,32,9,5,3]],[14175,[513,257,129,65,32,9,5,3]],[14176,[513,257,129,65,32,9,5,3]],[14177,[513,257,129,65,32,9,5,3]],[14178,[513,257,129,65,32,9,5,3]],[14179,[513,257,129,65,32,9,5,3]],[14184,[8193,4097,2049,1025,513,257,32,3]],[14185,[8193,4097,2049,1025,513,257,32,3]],[14201,[8193,4097,2049,1025,513,257,32,3]],[14203,[8257,4161,513,257,9,5,3]],[14209,[513,257,64,33,17,9,5,3]],[14222,[513,257,64,33,17,9,5,3]],[14223,[513,257,64,33,17,9,5,3]],[14224,[513,257,64,33,17,9,5,3]],[14225,[513,257,64,33,17,9,5,3]],[14226,[513,257,64,33,17,9,5,3]],[14231,[8193,4097,2049,1025,513,257,64,3]],[14232,[8193,4097,2049,1025,513,257,64,3]],[14248,[8193,4097,2049,1025,513,257,64,3]],[14250,[8321,4225,513,257,9,5,3]],[14256,[513,257,128,33,17,9,5,3]],[14269,[513,257,128,33,17,9,5,3]],[14270,[513,257,128,33,17,9,5,3]],[14271,[513,257,128,33,17,9,5,3]],[14272,[513,257,128,33,17,9,5,3]],[14273,[513,257,128,33,17,9,5,3]],[14278,[8193,4097,2049,1025,513,257,128,3]],[14279,[8193,4097,2049,1025,513,257,128,3]],[14295,[8193,4097,2049,1025,513,257,128,3]],[14297,[8449,4353,129,65,9,5,3]],[14303,[256,129,65,33,17,9,5,3]],[14316,[256,129,65,33,17,9,5,3]],[14317,[256,129,65,33,17,9,5,3]],[14318,[256,129,65,33,17,9,5,3]],[14319,[256,129,65,33,17,9,5,3]],[14320,[256,129,65,33,17,9,5,3]],[14325,[8193,4097,2049,1025,256,129,65,3]],[14326,[8193,4097,2049,1025,256,129,65,3]],[14342,[8193,4097,2049,1025,256,129,65,3]],[14344,[8705,4609,129,65,9,5,3]],[14350,[512,129,65,33,17,9,5,3]],[14363,[512,129,65,33,17,9,5,3]],[14364,[512,129,65,33,17,9,5,3]],[14365,[512,129,65,33,17,9,5,3]],[14366,[512,129,65,33,17,9,5,3]],[14367,[512,129,65,33,17,9,5,3]],[14372,[8193,4097,2049,1025,512,129,65,3]],[14373,[8193,4097,2049,1025,512,129,65,3]],[14389,[8193,4097,2049,1025,512,129,65,3]],[14391,[9217,5121,129,65,9,5,3]],[14397,[1024,129,65,33,17,9,5,3]],[14410,[1024,129,65,33,17,9,5,3]],[14411,[1024,129,65,33,17,9,5,3]],[14412,[1024,129,65,33,17,9,5,3]],[14413,[1024,129,65,33,17,9,5,3]],[14414,[1024,129,65,33,17,9,5,3]],[14419,[8193,4097,1024,513,257,129,65,3]],[14420,[8193,4097,1024,513,257,129,65,3]],[14436,[8193,4097,1024,513,257,129,65,3]],[14438,[10241,6145,129,65,9,5,3]],[14444,[2048,129,65,33,17,9,5,3]],[14457,[2048,129,65,33,17,9,5,3]],[14458,[2048,129,65,33,17,9,5,3]],[14459,[2048,129,65,33,17,9,5,3]],[14460,[2048,129,65,33,17,9,5,3]],[14461,[2048,129,65,33,17,9,5,3]],[14466,[8193,4097,2048,513,257,129,65,3]],[14467,[8193,4097,2048,513,257,129,65,3]],[14483,[8193,4097,2048,513,257,129,65,3]],[14485,[5121,3072,129,65,9,5,3]],[14491,[4096,129,65,33,17,9,5,3]],[14504,[4096,129,65,33,17,9,5,3]],[14505,[4096,129,65,33,17,9,5,3]],[14506,[4096,129,65,33,17,9,5,3]],[14507,[4096,129,65,33,17,9,5,3]],[14508,[4096,129,65,33,17,9,5,3]],[14513,[4096,2049,1025,513,257,129,65,3]],[14514,[4096,2049,1025,513,257,129,65,3]],[14530,[4096,2049,1025,513,257,129,65,3]],[14532,[9217,3072,129,65,9,5,3]],[14538,[8192,129,65,33,17,9,5,3]],[14551,[8192,129,65,33,17,9,5,3]],[14552,[8192,129,65,33,17,9,5,3]],[14553,[8192,129,65,33,17,9,5,3]],[14554,[8192,129,65,33,17,9,5,3]],[14555,[8192,129,65,33,17,9,5,3]],[14560,[8192,2049,1025,513,257,129,65,3]],[14561,[8192,2049,1025,513,257,129,65,3]],[14577,[8192,2049,1025,513,257,129,65,3]],[14579,[17409,3072,129,65,9,5,3]],[14585,[16384,129,65,33,17,9,5,3]],[14598,[16384,129,65,33,17,9,5,3]],[14599,[16384,129,65,33,17,9,5,3]],[14600,[16384,129,65,33,17,9,5,3]],[14601,[16384,129,65,33,17,9,5,3]],[14602,[16384,129,65,33,17,9,5,3]],[14607,[16384,2049,1025,513,257,129,65,3]],[14608,[16384,2049,1025,513,257,129,65,3]],[14624,[16384,2049,1025,513,257,129,65,3]],[14626,[33793,3072,129,65,9,5,3]],[14632,[32768,129,65,33,17,9,5,3]],[14645,[32768,129,65,33,17,9,5,3]],[14646,[32768,129,65,33,17,9,5,3]],[14647,[32768,129,65,33,17,9,5,3]],[14648,[32768,129,65,33,17,9,5,3]],[14649,[32768,129,65,33,17,9,5,3]],[14654,[32768,2049,1025,513,257,129,65,3]],[14655,[32768,2049,1025,513,257,129,65,3]],[14671,[32768,2049,1025,513,257,129,65,3]],[14673,[66561,3072,129,65,9,5,3]],[14679,[65536,129,65,33,17,9,5,3]],[14692,[65536,129,65,33,17,9,5,3]],[14693,[65536,129,65,33,17,9,5,3]],[14694,[65536,129,65,33,17,9,5,3]],[14695,[65536,129,65,33,17,9,5,3]],[14696,[65536,129,65,33,17,9,5,3]],[14701,[65536,2049,1025,513,257,129,65,3]],[14702,[65536,2049,1025,513,257,129,65,3]],[14718,[65536,2049,1025,513,257,129,65,3]],[14720,[132097,3072,129,65,9,5,3]],[14726,[131072,129,65,33,17,9,5,3]],[14739,[131072,129,65,33,17,9,5,3]],[14740,[131072,129,65,33,17,9,5,3]],[14741,[131072,129,65,33,17,9,5,3]],[14742,[131072,129,65,33,17,9,5,3]],[14743,[131072,129,65,33,17,9,5,3]],[14748,[131072,2049,1025,513,257,129,65,3]],[14749,[131072,2049,1025,513,257,129,65,3]],[14765,[131072,2049,1025,513,257,129,65,3]],[14767,[263169,3072,129,65,9,5,3]],[14773,[262144,129,65,33,17,9,5,3]],[14786,[262144,129,65,33,17,9,5,3]],[14787,[262144,129,65,33,17,9,5,3]],[14788,[262144,129,65,33,17,9,5,3]],[14789,[262144,129,65,33,17,9,5,3]],[14790,[262144,129,65,33,17,9,5,3]],[14795,[262144,2049,1025,513,257,129,65,3]],[14796,[262144,2049,1025,513,257,129,65,3]],[14812,[262144,2049,1025,513,257,129,65,3]],[14814,[525313,3072,129,65,9,5,3]],[14820,[524288,129,65,33,17,9,5,3]],[14833,[524288,129,65,33,17,9,5,3]],[14834,[524288,129,65,33,17,9,5,3]],[14835,[524288,129,65,33,17,9,5,3]],[14836,[524288,129,65,33,17,9,5,3]],[14837,[524288,129,65,33,17,9,5,3]],[14842,[524288,2049,1025,513,257,129,65,3]],[14843,[524288,2049,1025,513,257,129,65,3]],[14859,[524288,2049,1025,513,257,129,65,3]],[14860,[517,261,133,69,37,21,15]],[14861,[524293,262149,131077,65541,8197,4101,15]],[14862,[524293,262149,131077,65541,8197,4101,15]],[14863,[32773,16389,517,261,15]],[14864,[518,262,134,70,38,22,15]],[14865,[524294,262150,131078,65542,8198,4102,15]],[14866,[524294,262150,131078,65542,8198,4102,15]],[14867,[32774,16390,518,262,15]],[14868,[516,260,132,68,38,21,12]],[14869,[524305,262161,131089,65553,8209,4113,51]],[14870,[524305,262161,131089,65553,8209,4113,51]],[14871,[32785,16401,529,273,51]],[14872,[516,260,132,68,37,22,12]],[14873,[524306,262162,131090,65554,8210,4114,51]],[14874,[524306,262162,131090,65554,8210,4114,51]],[14875,[32786,16402,530,274,51]],[14876,[516,260,134,69,36,20,12]],[14877,[524353,262209,131137,65601,8257,4161,195]],[14878,[524353,262209,131137,65601,8257,4161,195]],[14879,[32833,16449,577,321,195]],[14880,[516,260,133,70,36,20,12]],[14881,[524354,262210,131138,65602,8258,4162,195]],[14882,[524354,262210,131138,65602,8258,4162,195]],[14883,[32834,16450,578,322,195]],[14884,[518,261,132,68,36,20,12]],[14885,[524545,262401,131329,65793,8449,4353,771]],[14886,[524545,262401,131329,65793,8449,4353,771]],[14887,[32832,16448,578,321,192]],[14888,[517,262,132,68,36,20,12]],[14889,[524546,262402,131330,65794,8450,4354,771]],[14890,[524546,262402,131330,65794,8450,4354,771]],[14891,[32832,16448,577,322,192]],[14892,[2054,1029,132,68,36,20,12]],[14893,[525313,263169,132097,66561,9217,5121,3075]],[14894,[525313,263169,132097,66561,9217,5121,3075]],[14895,[32832,16448,2114,1089,192]],[14896,[2053,1030,132,68,36,20,12]],[14897,[525314,263170,132098,66562,9218,5122,3075]],[14898,[525314,263170,132098,66562,9218,5122,3075]],[14899,[32832,16448,2113,1090,192]],[14900,[8198,4101,132,68,36,20,12]],[14901,[525312,263168,132096,66560,9218,5121,3072]],[14902,[525312,263168,132096,66560,9218,5121,3072]],[14903,[32832,16448,8258,4161,192]],[14904,[8197,4102,132,68,36,20,12]],[14905,[525312,263168,132096,66560,9217,5122,3072]],[14906,[525312,263168,132096,66560,9217,5122,3072]],[14907,[32832,16448,8257,4162,192]],[14908,[32774,16389,132,68,36,20,12]],[14909,[525312,263168,132096,66560,33794,17409,3072]],[14910,[525312,263168,132096,66560,33794,17409,3072]],[14911,[32834,16449,8256,4160,192]],[14912,[32773,16390,132,68,36,20,12]],[14913,[525312,263168,132096,66560,33793,17410,3072]],[14914,[525312,263168,132096,66560,33793,17410,3072]],[14915,[32833,16450,8256,4160,192]],[14916,[131078,65541,132,68,36,20,12]],[14917,[525312,263168,132098,66561,33792,17408,3072]],[14918,[525312,263168,132098,66561,33792,17408,3072]],[14919,[131138,65601,8256,4160,192]],[14920,[131077,65542,132,68,36,20,12]],[14921,[525312,263168,132097,66562,33792,17408,3072]],[14922,[525312,263168,132097,66562,33792,17408,3072]],[14923,[131137,65602,8256,4160,192]],[14924,[524294,262149,132,68,36,20,12]],[14925,[525314,263169,132096,66560,33792,17408,3072]],[14926,[525314,263169,132096,66560,33792,17408,3072]],[14927,[524354,262209,8256,4160,192]],[14928,[524293,262150,132,68,36,20,12]],[14929,[525313,263170,132096,66560,33792,17408,3072]],[14930,[525313,263170,132096,66560,33792,17408,3072]],[14931,[524353,262210,8256,4160,192]],[14932,[513,257,129,65,41,21,3]],[14933,[524308,262164,131092,65556,8212,4116,60]],[14934,[524308,262164,131092,65556,8212,4116,60]],[14935,[32788,16404,532,276,60]],[14936,[513,257,129,65,37,25,3]],[14937,[524312,262168,131096,65560,8216,4120,60]],[14938,[524312,262168,131096,65560,8216,4120,60]],[14939,[32792,16408,536,280,60]],[14940,[513,257,137,69,33,17,3]],[14941,[524356,262212,131140,65604,8260,4164,204]],[14942,[524356,262212,131140,65604,8260,4164,204]],[14943,[32836,16452,580,324,204]],[14944,[513,257,133,73,33,17,3]],[14945,[524360,262216,131144,65608,8264,4168,204]],[14946,[524360,262216,131144,65608,8264,4168,204]],[14947,[32840,16456,584,328,204]],[14948,[521,261,129,65,33,17,3]],[14949,[524548,262404,131332,65796,8452,4356,780]],[14950,[524548,262404,131332,65796,8452,4356,780]],[14951,[32832,16448,584,324,192]],[14952,[517,265,129,65,33,17,3]],[14953,[524552,262408,131336,65800,8456,4360,780]],[14954,[524552,262408,131336,65800,8456,4360,780]],[14955,[32832,16448,580,328,192]],[14956,[2057,1029,129,65,33,17,3]],[14957,[525316,263172,132100,66564,9220,5124,3084]],[14958,[525316,263172,132100,66564,9220,5124,3084]],[14959,[32832,16448,2120,1092,192]],[14960,[2053,1033,129,65,33,17,3]],[14961,[525320,263176,132104,66568,9224,5128,3084]],[14962,[525320,263176,132104,66568,9224,5128,3084]],[14963,[32832,16448,2116,1096,192]],[14964,[8201,4101,129,65,33,17,3]],[14965,[525312,263168,132096,66560,9224,5124,3072]],[14966,[525312,263168,132096,66560,9224,5124,3072]],[14967,[32832,16448,8264,4164,192]],[14968,[8197,4105,129,65,33,17,3]],[14969,[525312,263168,132096,66560,9220,5128,3072]],[14970,[525312,263168,132096,66560,9220,5128,3072]],[14971,[32832,16448,8260,4168,192]],[14972,[32777,16389,129,65,33,17,3]],[14973,[525312,263168,132096,66560,33800,17412,3072]],[14974,[525312,263168,132096,66560,33800,17412,3072]],[14975,[32840,16452,8256,4160,192]],[14976,[32773,16393,129,65,33,17,3]],[14977,[525312,263168,132096,66560,33796,17416,3072]],[14978,[525312,263168,132096,66560,33796,17416,3072]],[14979,[32836,16456,8256,4160,192]],[14980,[131081,65541,129,65,33,17,3]],[14981,[525312,263168,132104,66564,33792,17408,3072]],[14982,[525312,263168,132104,66564,33792,17408,3072]],[14983,[131144,65604,8256,4160,192]],[14984,[131077,65545,129,65,33,17,3]],[14985,[525312,263168,132100,66568,33792,17408,3072]],[14986,[525312,263168,132100,66568,33792,17408,3072]],[14987,[131140,65608,8256,4160,192]],[14988,[524297,262149,129,65,33,17,3]],[14989,[525320,263172,132096,66560,33792,17408,3072]],[14990,[525320,263172,132096,66560,33792,17408,3072]],[14991,[524360,262212,8256,4160,192]],[14992,[524293,262153,129,65,33,17,3]],[14993,[525316,263176,132096,66560,33792,17408,3072]],[14994,[525316,263176,132096,66560,33792,17408,3072]],[14995,[524356,262216,8256,4160,192]],[14996,[513,257,161,81,9,5,3]],[14997,[524368,262224,131152,65616,8272,4176,240]],[14998,[524368,262224,131152,65616,8272,4176,240]],[14999,[32848,16464,592,336,240]],[15000,[513,257,145,97,9,5,3]],[15001,[524384,262240,131168,65632,8288,4192,240]],[15002,[524384,262240,131168,65632,8288,4192,240]],[15003,[32864,16480,608,352,240]],[15004,[545,273,129,65,9,5,3]],[15005,[524560,262416,131344,65808,8464,4368,816]],[15006,[524560,262416,131344,65808,8464,4368,816]],[15007,[32832,16448,608,336,192]],[15008,[529,289,129,65,9,5,3]],[15009,[524576,262432,131360,65824,8480,4384,816]],[15010,[524576,262432,131360,65824,8480,4384,816]],[15011,[32832,16448,592,352,192]],[15012,[2081,1041,129,65,9,5,3]],[15013,[525328,263184,132112,66576,9232,5136,3120]],[15014,[525328,263184,132112,66576,9232,5136,3120]],[15015,[32832,16448,2144,1104,192]],[15016,[2065,1057,129,65,9,5,3]],[15017,[525344,263200,132128,66592,9248,5152,3120]],[15018,[525344,263200,132128,66592,9248,5152,3120]],[15019,[32832,16448,2128,1120,192]],[15020,[8225,4113,129,65,9,5,3]],[15021,[525312,263168,132096,66560,9248,5136,3072]],[15022,[525312,263168,132096,66560,9248,5136,3072]],[15023,[32832,16448,8288,4176,192]],[15024,[8209,4129,129,65,9,5,3]],[15025,[525312,263168,132096,66560,9232,5152,3072]],[15026,[525312,263168,132096,66560,9232,5152,3072]],[15027,[32832,16448,8272,4192,192]],[15028,[32801,16401,129,65,9,5,3]],[15029,[525312,263168,132096,66560,33824,17424,3072]],[15030,[525312,263168,132096,66560,33824,17424,3072]],[15031,[32864,16464,8256,4160,192]],[15032,[32785,16417,129,65,9,5,3]],[15033,[525312,263168,132096,66560,33808,17440,3072]],[15034,[525312,263168,132096,66560,33808,17440,3072]],[15035,[32848,16480,8256,4160,192]],[15036,[131105,65553,129,65,9,5,3]],[15037,[525312,263168,132128,66576,33792,17408,3072]],[15038,[525312,263168,132128,66576,33792,17408,3072]],[15039,[131168,65616,8256,4160,192]],[15040,[131089,65569,129,65,9,5,3]],[15041,[525312,263168,132112,66592,33792,17408,3072]],[15042,[525312,263168,132112,66592,33792,17408,3072]],[15043,[131152,65632,8256,4160,192]],[15044,[524321,262161,129,65,9,5,3]],[15045,[525344,263184,132096,66560,33792,17408,3072]],[15046,[525344,263184,132096,66560,33792,17408,3072]],[15047,[524384,262224,8256,4160,192]],[15048,[524305,262177,129,65,9,5,3]],[15049,[525328,263200,132096,66560,33792,17408,3072]],[15050,[525328,263200,132096,66560,33792,17408,3072]],[15051,[524368,262240,8256,4160,192]],[15052,[641,321,33,17,9,5,3]],[15053,[524608,262464,131392,65856,8512,4416,960]],[15054,[524608,262464,131392,65856,8512,4416,960]],[15055,[32784,16400,656,336,48]],[15056,[577,385,33,17,9,5,3]],[15057,[524672,262528,131456,65920,8576,4480,960]],[15058,[524672,262528,131456,65920,8576,4480,960]],[15059,[32784,16400,592,400,48]],[15060,[2177,1089,33,17,9,5,3]],[15061,[525376,263232,132160,66624,9280,5184,3264]],[15062,[525376,263232,132160,66624,9280,5184,3264]],[15063,[32784,16400,2192,1104,48]],[15064,[2113,1153,33,17,9,5,3]],[15065,[525440,263296,132224,66688,9344,5248,3264]],[15066,[525440,263296,132224,66688,9344,5248,3264]],[15067,[32784,16400,2128,1168,48]],[15068,[8321,4161,33,17,9,5,3]],[15069,[525312,263168,132096,66560,9344,5184,3072]],[15070,[525312,263168,132096,66560,9344,5184,3072]],[15071,[32784,16400,8336,4176,48]],[15072,[8257,4225,33,17,9,5,3]],[15073,[525312,263168,132096,66560,9280,5248,3072]],[15074,[525312,263168,132096,66560,9280,5248,3072]],[15075,[32784,16400,8272,4240,48]],[15076,[32897,16449,33,17,9,5,3]],[15077,[525312,263168,132096,66560,33920,17472,3072]],[15078,[525312,263168,132096,66560,33920,17472,3072]],[15079,[32912,16464,8208,4112,48]],[15080,[32833,16513,33,17,9,5,3]],[15081,[525312,263168,132096,66560,33856,17536,3072]],[15082,[525312,263168,132096,66560,33856,17536,3072]],[15083,[32848,16528,8208,4112,48]],[15084,[131201,65601,33,17,9,5,3]],[15085,[525312,263168,132224,66624,33792,17408,3072]],[15086,[525312,263168,132224,66624,33792,17408,3072]],[15087,[131216,65616,8208,4112,48]],[15088,[131137,65665,33,17,9,5,3]],[15089,[525312,263168,132160,66688,33792,17408,3072]],[15090,[525312,263168,132160,66688,33792,17408,3072]],[15091,[131152,65680,8208,4112,48]],[15092,[524417,262209,33,17,9,5,3]],[15093,[525440,263232,132096,66560,33792,17408,3072]],[15094,[525440,263232,132096,66560,33792,17408,3072]],[15095,[524432,262224,8208,4112,48]],[15096,[524353,262273,33,17,9,5,3]],[15097,[525376,263296,132096,66560,33792,17408,3072]],[15098,[525376,263296,132096,66560,33792,17408,3072]],[15099,[524368,262288,8208,4112,48]],[15100,[2561,1281,33,17,9,5,3]],[15101,[525568,263424,132352,66816,9472,5376,3840]],[15102,[525568,263424,132352,66816,9472,5376,3840]],[15103,[32784,16400,2576,1296,48]],[15104,[2305,1537,33,17,9,5,3]],[15105,[525824,263680,132608,67072,9728,5632,3840]],[15106,[525824,263680,132608,67072,9728,5632,3840]],[15107,[32784,16400,2320,1552,48]],[15108,[8705,4353,33,17,9,5,3]],[15109,[525312,263168,132096,66560,9728,5376,3072]],[15110,[525312,263168,132096,66560,9728,5376,3072]],[15111,[32784,16400,8720,4368,48]],[15112,[8449,4609,33,17,9,5,3]],[15113,[525312,263168,132096,66560,9472,5632,3072]],[15114,[525312,263168,132096,66560,9472,5632,3072]],[15115,[32784,16400,8464,4624,48]],[15116,[33281,16641,33,17,9,5,3]],[15117,[525312,263168,132096,66560,34304,17664,3072]],[15118,[525312,263168,132096,66560,34304,17664,3072]],[15119,[33296,16656,8208,4112,48]],[15120,[33025,16897,33,17,9,5,3]],[15121,[525312,263168,132096,66560,34048,17920,3072]],[15122,[525312,263168,132096,66560,34048,17920,3072]],[15123,[33040,16912,8208,4112,48]],[15124,[131585,65793,33,17,9,5,3]],[15125,[525312,263168,132608,66816,33792,17408,3072]],[15126,[525312,263168,132608,66816,33792,17408,3072]],[15127,[131600,65808,8208,4112,48]],[15128,[131329,66049,33,17,9,5,3]],[15129,[525312,263168,132352,67072,33792,17408,3072]],[15130,[525312,263168,132352,67072,33792,17408,3072]],[15131,[131344,66064,8208,4112,48]],[15132,[524801,262401,33,17,9,5,3]],[15133,[525824,263424,132096,66560,33792,17408,3072]],[15134,[525824,263424,132096,66560,33792,17408,3072]],[15135,[524816,262416,8208,4112,48]],[15136,[524545,262657,33,17,9,5,3]],[15137,[525568,263680,132096,66560,33792,17408,3072]],[15138,[525568,263680,132096,66560,33792,17408,3072]],[15139,[524560,262672,8208,4112,48]],[15140,[10241,5121,33,17,9,5,3]],[15141,[524544,262400,131328,65792,10496,5376,768]],[15142,[524544,262400,131328,65792,10496,5376,768]],[15143,[32784,16400,10256,5136,48]],[15144,[9217,6145,33,17,9,5,3]],[15145,[524544,262400,131328,65792,9472,6400,768]],[15146,[524544,262400,131328,65792,9472,6400,768]],[15147,[32784,16400,9232,6160,48]],[15148,[34817,17409,33,17,9,5,3]],[15149,[524544,262400,131328,65792,35072,17664,768]],[15150,[524544,262400,131328,65792,35072,17664,768]],[15151,[34832,17424,8208,4112,48]],[15152,[33793,18433,33,17,9,5,3]],[15153,[524544,262400,131328,65792,34048,18688,768]],[15154,[524544,262400,131328,65792,34048,18688,768]],[15155,[33808,18448,8208,4112,48]],[15156,[133121,66561,33,17,9,5,3]],[15157,[524544,262400,133376,66816,33024,16640,768]],[15158,[524544,262400,133376,66816,33024,16640,768]],[15159,[133136,66576,8208,4112,48]],[15160,[132097,67585,33,17,9,5,3]],[15161,[524544,262400,132352,67840,33024,16640,768]],[15162,[524544,262400,132352,67840,33024,16640,768]],[15163,[132112,67600,8208,4112,48]],[15164,[526337,263169,33,17,9,5,3]],[15165,[526592,263424,131328,65792,33024,16640,768]],[15166,[526592,263424,131328,65792,33024,16640,768]],[15167,[526352,263184,8208,4112,48]],[15168,[525313,264193,33,17,9,5,3]],[15169,[525568,264448,131328,65792,33024,16640,768]],[15170,[525568,264448,131328,65792,33024,16640,768]],[15171,[525328,264208,8208,4112,48]],[15172,[40961,20481,33,17,9,5,3]],[15173,[524544,262400,131328,65792,41216,20736,768]],[15174,[524544,262400,131328,65792,41216,20736,768]],[15175,[40976,20496,2064,1040,48]],[15176,[36865,24577,33,17,9,5,3]],[15177,[524544,262400,131328,65792,37120,24832,768]],[15178,[524544,262400,131328,65792,37120,24832,768]],[15179,[36880,24592,2064,1040,48]],[15180,[139265,69633,33,17,9,5,3]],[15181,[524544,262400,139520,69888,33024,16640,768]],[15182,[524544,262400,139520,69888,33024,16640,768]],[15183,[139280,69648,2064,1040,48]],[15184,[135169,73729,33,17,9,5,3]],[15185,[524544,262400,135424,73984,33024,16640,768]],[15186,[524544,262400,135424,73984,33024,16640,768]],[15187,[135184,73744,2064,1040,48]],[15188,[532481,266241,33,17,9,5,3]],[15189,[532736,266496,131328,65792,33024,16640,768]],[15190,[532736,266496,131328,65792,33024,16640,768]],[15191,[532496,266256,2064,1040,48]],[15192,[528385,270337,33,17,9,5,3]],[15193,[528640,270592,131328,65792,33024,16640,768]],[15194,[528640,270592,131328,65792,33024,16640,768]],[15195,[528400,270352,2064,1040,48]],[15196,[163841,81921,33,17,9,5,3]],[15197,[524544,262400,164096,82176,8448,4352,768]],[15198,[524544,262400,164096,82176,8448,4352,768]],[15199,[163856,81936,2064,1040,48]],[15200,[147457,98305,33,17,9,5,3]],[15201,[524544,262400,147712,98560,8448,4352,768]],[15202,[524544,262400,147712,98560,8448,4352,768]],[15203,[147472,98320,2064,1040,48]],[15204,[557057,278529,33,17,9,5,3]],[15205,[557312,278784,131328,65792,8448,4352,768]],[15206,[557312,278784,131328,65792,8448,4352,768]],[15207,[557072,278544,2064,1040,48]],[15208,[540673,294913,33,17,9,5,3]],[15209,[540928,295168,131328,65792,8448,4352,768]],[15210,[540928,295168,131328,65792,8448,4352,768]],[15211,[540688,294928,2064,1040,48]],[15212,[655361,327681,33,17,9,5,3]],[15213,[655616,327936,33024,16640,8448,4352,768]],[15214,[655616,327936,33024,16640,8448,4352,768]],[15215,[655376,327696,2064,1040,48]],[15216,[589825,393217,33,17,9,5,3]],[15217,[590080,393472,33024,16640,8448,4352,768]],[15218,[590080,393472,33024,16640,8448,4352,768]],[15219,[589840,393232,2064,1040,48]],[15222,[524288,262144,131072,65536,32768,16384,2048,1024]],[15274,[2068,1044,532,276,48,12]],[15278,[524288,262144,131072,65536,512,256,32,16]],[15308,[8272,4176,2128,1104,192,48]],[15374,[131152,65616,592,336,192,48]],[15465,[8192,4096,512,256,8,4,2,1]],[15502,[131328,65792,8448,4352,768,1]],[15505,[131328,65792,8448,4352,768,1]],[15506,[525312,263168,132096,66560,50172,9216,5120,3072,1]],[15507,[524305,262161,131089,65553,8209,4113,48]],[15509,[131328,65792,8448,4352,768,2]],[15512,[131328,65792,8448,4352,768,2]],[15513,[525312,263168,132096,66560,50172,9216,5120,3072,2]],[15514,[524306,262162,131090,65554,8210,4114,48]],[15516,[131328,65792,8448,4352,768,4]],[15519,[131328,65792,8448,4352,768,4]],[15520,[525312,263168,132096,66560,50163,9216,5120,3072,4]],[15521,[524308,262164,131092,65556,8212,4116,48]],[15523,[131328,65792,8448,4352,768,8]],[15526,[131328,65792,8448,4352,768,8]],[15527,[525312,263168,132096,66560,50163,9216,5120,3072,8]],[15528,[524312,262168,131096,65560,8216,4120,48]],[15530,[131328,65792,8448,4352,768,16]],[15533,[131328,65792,8448,4352,768,16]],[15534,[525312,263168,132096,66560,50127,9216,5120,3072,16]],[15535,[524308,262164,131092,65556,8212,4116,12]],[15537,[131328,65792,8448,4352,768,32]],[15540,[131328,65792,8448,4352,768,32]],[15541,[525312,263168,132096,66560,50127,9216,5120,3072,32]],[15542,[524324,262180,131108,65572,8228,4132,12]],[15544,[131328,65792,8448,4352,768,64]],[15547,[131328,65792,8448,4352,768,64]],[15548,[525312,263168,132096,66560,49983,9216,5120,3072,64]],[15549,[524356,262212,131140,65604,8260,4164,12]],[15551,[131328,65792,8448,4352,768,128]],[15554,[131328,65792,8448,4352,768,128]],[15555,[525312,263168,132096,66560,49983,9216,5120,3072,128]],[15556,[524420,262276,131204,65668,8324,4228,12]],[15558,[131136,65600,8256,4160,256,192]],[15561,[131136,65600,8256,4160,256,192]],[15562,[525312,263168,132096,66560,49407,9216,5120,3072,256]],[15563,[524548,262404,131332,65796,8452,4356,12]],[15565,[131136,65600,8256,4160,512,192]],[15568,[131136,65600,8256,4160,512,192]],[15569,[525312,263168,132096,66560,49407,9216,5120,3072,512]],[15570,[524804,262660,131588,66052,8708,4612,12]],[15572,[131136,65600,8256,4160,1024,192]],[15575,[131136,65600,8256,4160,1024,192]],[15576,[524544,262400,131328,65792,49407,8448,4352,1024,768]],[15577,[525316,263172,132100,66564,9220,5124,12]],[15579,[131136,65600,8256,4160,2048,192]],[15582,[131136,65600,8256,4160,2048,192]],[15583,[524544,262400,131328,65792,49407,8448,4352,2048,768]],[15584,[526340,264196,133124,67588,10244,6148,12]],[15586,[131136,65600,4096,2112,1088,192]],[15589,[131136,65600,4096,2112,1088,192]],[15590,[524544,262400,131328,65792,49407,4096,2304,1280,768]],[15591,[525312,263168,132096,66560,5124,3072,12]],[15593,[131136,65600,8192,2112,1088,192]],[15596,[131136,65600,8192,2112,1088,192]],[15597,[524544,262400,131328,65792,49407,8192,2304,1280,768]],[15598,[525312,263168,132096,66560,9220,3072,12]],[15600,[131136,65600,16384,2112,1088,192]],[15603,[131136,65600,16384,2112,1088,192]],[15604,[524544,262400,131328,65792,16384,12543,2304,1280,768]],[15605,[525312,263168,132096,66560,17412,3072,12]],[15607,[131136,65600,32768,2112,1088,192]],[15610,[131136,65600,32768,2112,1088,192]],[15611,[524544,262400,131328,65792,32768,12543,2304,1280,768]],[15612,[525312,263168,132096,66560,33796,3072,12]],[15614,[65536,32832,16448,2112,1088,192]],[15617,[65536,32832,16448,2112,1088,192]],[15618,[524544,262400,65536,33024,16640,12543,2304,1280,768]],[15619,[525312,263168,66564,33792,17408,3072,12]],[15621,[131072,32832,16448,2112,1088,192]],[15624,[131072,32832,16448,2112,1088,192]],[15625,[524544,262400,131072,33024,16640,12543,2304,1280,768]],[15626,[525312,263168,132100,33792,17408,3072,12]],[15628,[262144,32832,16448,2112,1088,192]],[15631,[262144,32832,16448,2112,1088,192]],[15632,[262144,131328,65792,33024,16640,12543,2304,1280,768]],[15633,[263172,132096,66560,33792,17408,3072,12]],[15635,[524288,32832,16448,2112,1088,192]],[15638,[524288,32832,16448,2112,1088,192]],[15639,[524288,131328,65792,33024,16640,12543,2304,1280,768]],[15640,[525316,132096,66560,33792,17408,3072,12]],[15647,[32768,16384,8192,4096,32,16,8,4,2,1]],[15652,[524288,262144,2048,1024,512,256,32,16,8,4]],[15653,[524288,262144,8192,4096,512,256,32,16,8,4]],[15656,[524288,262144,131072,65536,32768,16384,512,256,2,1]],[15657,[524288,262144,131072,65536,8192,4096,512,256,32,16]],[15658,[524288,262144,2048,1024,512,256,32,16,8,4]],[15661,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[15663,[131072,65536,32768,16384,512,256,32,16,8,4]],[15664,[131072,65536,32768,16384,512,256,32,16,8,4]],[15665,[131072,65536,512,256,128,64,32,16,8,4]],[15666,[131072,65536,512,256,128,64,32,16,8,4]],[15669,[131072,65536,32768,16384,2048,1024,512,256,32,16]],[15670,[131072,65536,32768,16384,512,256,32,16,8,4]],[15674,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[15676,[524288,262144,131072,65536,32768,16384,2048,1024,2,1]],[15679,[524288,262144,8192,4096,2048,1024,128,64,32,16]],[15680,[524288,262144,2048,1024,32,16,8,4,2,1]],[15681,[524288,262144,512,256,128,64,8,4,2,1]],[15682,[524288,262144,512,256,128,64,8,4,2,1]],[15687,[131072,65536,8192,4096,512,256,128,64,32,16]],[15688,[131072,65536,8192,4096,2048,1024,8,4,2,1]],[15689,[524353,262209,32769,16385,513,257,192,3]],[15693,[524288,262144,8192,4096,512,256,32,16,8,4]],[15696,[524288,262144,32768,16384,8192,4096,32,16,2,1]],[15702,[524288,262144,8192,4096,2048,1024,128,64,32,16]],[15703,[131072,65536,32768,16384,8192,4096,128,64,2,1]],[15705,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[15707,[524288,262144,131072,65536,8192,4096,512,256,32,16]],[15713,[131072,65536,32768,16384,512,256,8,4,2,1]],[15714,[32768,16384,8192,4096,2048,1024,512,256,32,16]],[15715,[524288,262144,131072,65536,2048,1024,512,256,8,4]],[15716,[524288,262144,2048,1024,512,256,8,4,2,1]],[15717,[131072,65536,32768,16384,512,256,32,16,2,1]],[15719,[131072,65536,32768,16384,8192,4096,128,64,2,1]],[15720,[131072,65536,32768,16384,2048,1024,512,256,8,4]],[15731,[524544,262400,131328,65792,33024,16640,15612,768,1]],[15732,[2064,1040,528,272,144,80,48,1]],[15760,[8196,4100,2052,1028,516,260,36,20,12,1]],[15771,[524544,262400,131328,65792,33024,16640,15612,768,2]],[15772,[2064,1040,528,272,144,80,48,2]],[15800,[8196,4100,2052,1028,516,260,36,20,12,2]],[15811,[524544,262400,131328,65792,33024,16640,15603,768,4]],[15812,[2064,1040,528,272,144,80,48,4]],[15840,[8193,4097,2049,1025,513,257,33,17,4,3]],[15851,[524544,262400,131328,65792,33024,16640,15603,768,8]],[15852,[2064,1040,528,272,144,80,48,8]],[15880,[8193,4097,2049,1025,513,257,33,17,8,3]],[15891,[524544,262400,131328,65792,33024,16640,15567,768,16]],[15892,[2052,1028,516,260,132,68,16,12]],[15920,[8193,4097,2049,1025,513,257,16,9,5,3]],[15931,[524544,262400,131328,65792,33024,16640,15567,768,32]],[15932,[2052,1028,516,260,132,68,32,12]],[15960,[8193,4097,2049,1025,513,257,32,9,5,3]],[15971,[524544,262400,131328,65792,33024,16640,15423,768,64]],[15972,[2052,1028,516,260,64,36,20,12]],[16000,[8193,4097,2049,1025,513,257,64,9,5,3]],[16011,[524544,262400,131328,65792,33024,16640,15423,768,128]],[16012,[2052,1028,516,260,128,36,20,12]],[16040,[8193,4097,2049,1025,513,257,128,9,5,3]],[16051,[524352,262208,131136,65600,32832,16448,15423,256,192]],[16052,[2052,1028,256,132,68,36,20,12]],[16080,[8193,4097,2049,1025,256,129,65,9,5,3]],[16091,[524352,262208,131136,65600,32832,16448,15423,512,192]],[16092,[2052,1028,512,132,68,36,20,12]],[16120,[8193,4097,2049,1025,512,129,65,9,5,3]],[16131,[524352,262208,131136,65600,32832,16448,13119,1024,192]],[16132,[1024,516,260,132,68,36,20,12]],[16160,[8193,4097,1024,513,257,129,65,9,5,3]],[16171,[524352,262208,131136,65600,32832,16448,13119,2048,192]],[16172,[2048,516,260,132,68,36,20,12]],[16200,[8193,4097,2048,513,257,129,65,9,5,3]],[16211,[524352,262208,131136,65600,32832,16448,4096,3903,192]],[16212,[4096,516,260,132,68,36,20,12]],[16240,[4096,2049,1025,513,257,129,65,9,5,3]],[16251,[524352,262208,131136,65600,32832,16448,8192,3903,192]],[16252,[8192,516,260,132,68,36,20,12]],[16280,[8192,2049,1025,513,257,129,65,9,5,3]],[16291,[524352,262208,131136,65600,16384,8256,4160,3903,192]],[16292,[16384,516,260,132,68,36,20,12]],[16320,[16384,2049,1025,513,257,129,65,9,5,3]],[16331,[524352,262208,131136,65600,32768,8256,4160,3903,192]],[16332,[32768,516,260,132,68,36,20,12]],[16360,[32768,2049,1025,513,257,129,65,9,5,3]],[16371,[524352,262208,65536,32832,16448,8256,4160,3903,192]],[16372,[65536,516,260,132,68,36,20,12]],[16400,[65536,2049,1025,513,257,129,65,9,5,3]],[16411,[524352,262208,131072,32832,16448,8256,4160,3903,192]],[16412,[131072,516,260,132,68,36,20,12]],[16440,[131072,2049,1025,513,257,129,65,9,5,3]],[16451,[262144,131136,65600,32832,16448,8256,4160,3903,192]],[16452,[262144,516,260,132,68,36,20,12]],[16480,[262144,2049,1025,513,257,129,65,9,5,3]],[16491,[524288,131136,65600,32832,16448,8256,4160,3903,192]],[16492,[524288,516,260,132,68,36,20,12]],[16520,[524288,2049,1025,513,257,129,65,9,5,3]],[16521,[2053,1029,517,261,133,69,37,21,15]],[16522,[524293,262149,32773,16389,15]],[16523,[2054,1030,518,262,134,70,38,22,15]],[16524,[524294,262150,32774,16390,15]],[16525,[2052,1028,516,260,132,68,38,21,12]],[16526,[524305,262161,32785,16401,51]],[16527,[2052,1028,516,260,132,68,37,22,12]],[16528,[524306,262162,32786,16402,51]],[16529,[2052,1028,516,260,134,69,36,20,12]],[16530,[524353,262209,32833,16449,195]],[16531,[2052,1028,516,260,133,70,36,20,12]],[16532,[524354,262210,32834,16450,195]],[16533,[2052,1028,518,261,132,68,36,20,12]],[16534,[524545,262401,33025,16641,771]],[16535,[2052,1028,517,262,132,68,36,20,12]],[16536,[524546,262402,33026,16642,771]],[16537,[2054,1029,516,260,132,68,36,20,12]],[16538,[525313,263169,33793,17409,3075]],[16539,[2053,1030,516,260,132,68,36,20,12]],[16540,[525314,263170,33794,17410,3075]],[16541,[8198,4101,516,260,132,68,36,20,12]],[16542,[528385,266241,36865,20481,12291]],[16543,[8197,4102,516,260,132,68,36,20,12]],[16544,[528386,266242,36866,20482,12291]],[16545,[32774,16389,516,260,132,68,36,20,12]],[16546,[528384,266240,36866,20481,12288]],[16547,[32773,16390,516,260,132,68,36,20,12]],[16548,[528384,266240,36865,20482,12288]],[16549,[131078,65541,516,260,132,68,36,20,12]],[16550,[528384,266240,135170,69633,12288]],[16551,[131077,65542,516,260,132,68,36,20,12]],[16552,[528384,266240,135169,69634,12288]],[16553,[524294,262149,516,260,132,68,36,20,12]],[16554,[528386,266241,135168,69632,12288]],[16555,[524293,262150,516,260,132,68,36,20,12]],[16556,[528385,266242,135168,69632,12288]],[16557,[2049,1025,513,257,129,65,41,21,3]],[16558,[524308,262164,32788,16404,60]],[16559,[2049,1025,513,257,129,65,37,25,3]],[16560,[524312,262168,32792,16408,60]],[16561,[2049,1025,513,257,137,69,33,17,3]],[16562,[524356,262212,32836,16452,204]],[16563,[2049,1025,513,257,133,73,33,17,3]],[16564,[524360,262216,32840,16456,204]],[16565,[2049,1025,521,261,129,65,33,17,3]],[16566,[524548,262404,33028,16644,780]],[16567,[2049,1025,517,265,129,65,33,17,3]],[16568,[524552,262408,33032,16648,780]],[16569,[2057,1029,513,257,129,65,33,17,3]],[16570,[525316,263172,33796,17412,3084]],[16571,[2053,1033,513,257,129,65,33,17,3]],[16572,[525320,263176,33800,17416,3084]],[16573,[8201,4101,513,257,129,65,33,17,3]],[16574,[528388,266244,36868,20484,12300]],[16575,[8197,4105,513,257,129,65,33,17,3]],[16576,[528392,266248,36872,20488,12300]],[16577,[32777,16389,513,257,129,65,33,17,3]],[16578,[528384,266240,36872,20484,12288]],[16579,[32773,16393,513,257,129,65,33,17,3]],[16580,[528384,266240,36868,20488,12288]],[16581,[131081,65541,513,257,129,65,33,17,3]],[16582,[528384,266240,135176,69636,12288]],[16583,[131077,65545,513,257,129,65,33,17,3]],[16584,[528384,266240,135172,69640,12288]],[16585,[524297,262149,513,257,129,65,33,17,3]],[16586,[528392,266244,135168,69632,12288]],[16587,[524293,262153,513,257,129,65,33,17,3]],[16588,[528388,266248,135168,69632,12288]],[16589,[2049,1025,513,257,161,81,9,5,3]],[16590,[524368,262224,32848,16464,240]],[16591,[2049,1025,513,257,145,97,9,5,3]],[16592,[524384,262240,32864,16480,240]],[16593,[2049,1025,545,273,129,65,9,5,3]],[16594,[524560,262416,33040,16656,816]],[16595,[2049,1025,529,289,129,65,9,5,3]],[16596,[524576,262432,33056,16672,816]],[16597,[2081,1041,513,257,129,65,9,5,3]],[16598,[525328,263184,33808,17424,3120]],[16599,[2065,1057,513,257,129,65,9,5,3]],[16600,[525344,263200,33824,17440,3120]],[16601,[8225,4113,513,257,129,65,9,5,3]],[16602,[528400,266256,36880,20496,12336]],[16603,[8209,4129,513,257,129,65,9,5,3]],[16604,[528416,266272,36896,20512,12336]],[16605,[32801,16401,513,257,129,65,9,5,3]],[16606,[528384,266240,36896,20496,12288]],[16607,[32785,16417,513,257,129,65,9,5,3]],[16608,[528384,266240,36880,20512,12288]],[16609,[131105,65553,513,257,129,65,9,5,3]],[16610,[528384,266240,135200,69648,12288]],[16611,[131089,65569,513,257,129,65,9,5,3]],[16612,[528384,266240,135184,69664,12288]],[16613,[524321,262161,513,257,129,65,9,5,3]],[16614,[528416,266256,135168,69632,12288]],[16615,[524305,262177,513,257,129,65,9,5,3]],[16616,[528400,266272,135168,69632,12288]],[16617,[2049,1025,641,321,33,17,9,5,3]],[16618,[524608,262464,33088,16704,960]],[16619,[2049,1025,577,385,33,17,9,5,3]],[16620,[524672,262528,33152,16768,960]],[16621,[2177,1089,513,257,33,17,9,5,3]],[16622,[525376,263232,33856,17472,3264]],[16623,[2113,1153,513,257,33,17,9,5,3]],[16624,[525440,263296,33920,17536,3264]],[16625,[8321,4161,513,257,33,17,9,5,3]],[16626,[528448,266304,36928,20544,12480]],[16627,[8257,4225,513,257,33,17,9,5,3]],[16628,[528512,266368,36992,20608,12480]],[16629,[32897,16449,513,257,33,17,9,5,3]],[16630,[528384,266240,36992,20544,12288]],[16631,[32833,16513,513,257,33,17,9,5,3]],[16632,[528384,266240,36928,20608,12288]],[16633,[131201,65601,513,257,33,17,9,5,3]],[16634,[528384,266240,135296,69696,12288]],[16635,[131137,65665,513,257,33,17,9,5,3]],[16636,[528384,266240,135232,69760,12288]],[16637,[524417,262209,513,257,33,17,9,5,3]],[16638,[528512,266304,135168,69632,12288]],[16639,[524353,262273,513,257,33,17,9,5,3]],[16640,[528448,266368,135168,69632,12288]],[16641,[2561,1281,129,65,33,17,9,5,3]],[16642,[525568,263424,34048,17664,3840]],[16643,[2305,1537,129,65,33,17,9,5,3]],[16644,[525824,263680,34304,17920,3840]],[16645,[8705,4353,129,65,33,17,9,5,3]],[16646,[528640,266496,37120,20736,13056]],[16647,[8449,4609,129,65,33,17,9,5,3]],[16648,[528896,266752,37376,20992,13056]],[16649,[33281,16641,129,65,33,17,9,5,3]],[16650,[528384,266240,37376,20736,12288]],[16651,[33025,16897,129,65,33,17,9,5,3]],[16652,[528384,266240,37120,20992,12288]],[16653,[131585,65793,129,65,33,17,9,5,3]],[16654,[528384,266240,135680,69888,12288]],[16655,[131329,66049,129,65,33,17,9,5,3]],[16656,[528384,266240,135424,70144,12288]],[16657,[524801,262401,129,65,33,17,9,5,3]],[16658,[528896,266496,135168,69632,12288]],[16659,[524545,262657,129,65,33,17,9,5,3]],[16660,[528640,266752,135168,69632,12288]],[16661,[10241,5121,129,65,33,17,9,5,3]],[16662,[529408,267264,37888,21504,15360]],[16663,[9217,6145,129,65,33,17,9,5,3]],[16664,[530432,268288,38912,22528,15360]],[16665,[34817,17409,129,65,33,17,9,5,3]],[16666,[528384,266240,38912,21504,12288]],[16667,[33793,18433,129,65,33,17,9,5,3]],[16668,[528384,266240,37888,22528,12288]],[16669,[133121,66561,129,65,33,17,9,5,3]],[16670,[528384,266240,137216,70656,12288]],[16671,[132097,67585,129,65,33,17,9,5,3]],[16672,[528384,266240,136192,71680,12288]],[16673,[526337,263169,129,65,33,17,9,5,3]],[16674,[530432,267264,135168,69632,12288]],[16675,[525313,264193,129,65,33,17,9,5,3]],[16676,[529408,268288,135168,69632,12288]],[16677,[40961,20481,129,65,33,17,9,5,3]],[16678,[525312,263168,41984,21504,3072]],[16679,[36865,24577,129,65,33,17,9,5,3]],[16680,[525312,263168,37888,25600,3072]],[16681,[139265,69633,129,65,33,17,9,5,3]],[16682,[525312,263168,140288,70656,3072]],[16683,[135169,73729,129,65,33,17,9,5,3]],[16684,[525312,263168,136192,74752,3072]],[16685,[532481,266241,129,65,33,17,9,5,3]],[16686,[533504,267264,132096,66560,3072]],[16687,[528385,270337,129,65,33,17,9,5,3]],[16688,[529408,271360,132096,66560,3072]],[16689,[163841,81921,129,65,33,17,9,5,3]],[16690,[525312,263168,164864,82944,3072]],[16691,[147457,98305,129,65,33,17,9,5,3]],[16692,[525312,263168,148480,99328,3072]],[16693,[557057,278529,129,65,33,17,9,5,3]],[16694,[558080,279552,132096,66560,3072]],[16695,[540673,294913,129,65,33,17,9,5,3]],[16696,[541696,295936,132096,66560,3072]],[16697,[655361,327681,129,65,33,17,9,5,3]],[16698,[656384,328704,33792,17408,3072]],[16699,[589825,393217,129,65,33,17,9,5,3]],[16700,[590848,394240,33792,17408,3072]],[16701,[524288,262144,8192,4096,8,4,2,1]],[16703,[524288,262144,200640,32768,16384,8192,4096,8,4,2,1]],[16704,[32768,16384,8192,4096,32,16,8,4,2,1]],[16705,[2049,1025,513,257,37,21,12,3]],[16708,[200451,32768,16384,8192,4096,128,64,32,16,8,4]],[16720,[8193,4097,2049,1025,145,81,48,3]],[16728,[524288,262144,8192,4096,32,16,8,4,2,1]],[16731,[524288,262144,131072,65536,2048,1024,32,16,8,4]],[16732,[524288,262144,131072,65536,8192,4096,512,256,128,64]],[16738,[786483,131072,65536,32768,16384,8192,4096,3075,512,256,128,64,8,4]],[16739,[524288,262144,2048,1024,32,16,8,4,2,1]],[16740,[524288,262144,2048,1024,32,16,8,4,2,1]],[16741,[131072,65536,8192,4096,512,256,128,64,32,16]],[16747,[524288,262144,2048,1024,128,64,32,16,8,4]],[16748,[524288,262144,2048,1024,128,64,32,16,8,4]],[16761,[131072,65536,32768,16384,512,256,8,4,2,1]],[16786,[524288,262144,209664,61440,2048,1024,128,64,32,16,8,4,2,1]],[16788,[524352,262208,32833,16449,2113,1089,192]],[16790,[524352,262208,131136,65600,52284,8256,4160,576,320,192,1]],[16791,[32784,16400,2064,1040,528,272,48,1]],[16795,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,1]],[16796,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,1]],[16797,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,1]],[16798,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,1]],[16799,[524352,262208,32834,16450,2114,1090,192]],[16801,[524352,262208,131136,65600,52284,8256,4160,576,320,192,2]],[16802,[32784,16400,2064,1040,528,272,48,2]],[16806,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,2]],[16807,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,2]],[16808,[524544,262400,131328,65792,33024,16640,8448,4352,3324,768,2]],[16809,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,2]],[16810,[524352,262208,32836,16452,2116,1092,192]],[16812,[524352,262208,131136,65600,52275,8256,4160,576,320,192,4]],[16813,[32784,16400,2064,1040,528,272,48,4]],[16817,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,4]],[16818,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,4]],[16819,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,4]],[16820,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,4]],[16821,[524352,262208,32840,16456,2120,1096,192]],[16823,[524352,262208,131136,65600,52275,8256,4160,576,320,192,8]],[16824,[32784,16400,2064,1040,528,272,48,8]],[16828,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,8]],[16829,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,8]],[16830,[524544,262400,131328,65792,33024,16640,8448,4352,3315,768,8]],[16831,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,8]],[16832,[524352,262208,32848,16464,2128,1104,192]],[16834,[524352,262208,131136,65600,52239,8256,4160,576,320,192,16]],[16835,[32772,16388,2052,1028,516,260,16,12]],[16839,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,16]],[16840,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,16]],[16841,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,16]],[16842,[524292,262148,131076,65540,32772,16388,8196,4100,4035,16,12]],[16843,[524352,262208,32864,16480,2144,1120,192]],[16845,[524352,262208,131136,65600,52239,8256,4160,576,320,192,32]],[16846,[32772,16388,2052,1028,516,260,32,12]],[16850,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,32]],[16851,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,32]],[16852,[524544,262400,131328,65792,33024,16640,8448,4352,3279,768,32]],[16853,[524292,262148,131076,65540,32772,16388,8196,4100,4035,32,12]],[16854,[524304,262160,32848,16464,2128,1104,48]],[16856,[524304,262160,131088,65552,52239,8208,4112,528,272,64,48]],[16857,[32772,16388,2052,1028,516,260,64,12]],[16861,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,64]],[16862,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,64]],[16863,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,64]],[16864,[524292,262148,131076,65540,32772,16388,8196,4100,3891,64,12]],[16865,[524304,262160,32912,16528,2192,1168,48]],[16867,[524304,262160,131088,65552,52239,8208,4112,528,272,128,48]],[16868,[32772,16388,2052,1028,516,260,128,12]],[16872,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,128]],[16873,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,128]],[16874,[524544,262400,131328,65792,33024,16640,8448,4352,3135,768,128]],[16875,[524292,262148,131076,65540,32772,16388,8196,4100,3891,128,12]],[16876,[524304,262160,33040,16656,2320,1296,48]],[16878,[524304,262160,131088,65552,52239,8208,4112,256,144,80,48]],[16879,[32772,16388,2052,1028,256,132,68,12]],[16883,[524352,262208,131136,65600,32832,16448,8256,4160,3135,256,192]],[16884,[524352,262208,131136,65600,32832,16448,8256,4160,3135,256,192]],[16885,[524352,262208,131136,65600,32832,16448,8256,4160,3135,256,192]],[16886,[524292,262148,131076,65540,32772,16388,8196,4100,3315,256,12]],[16887,[524304,262160,33296,16912,2576,1552,48]],[16889,[524304,262160,131088,65552,52239,8208,4112,512,144,80,48]],[16890,[32772,16388,2052,1028,512,132,68,12]],[16894,[524352,262208,131136,65600,32832,16448,8256,4160,3135,512,192]],[16895,[524352,262208,131136,65600,32832,16448,8256,4160,3135,512,192]],[16896,[524352,262208,131136,65600,32832,16448,8256,4160,3135,512,192]],[16897,[524292,262148,131076,65540,32772,16388,8196,4100,3315,512,12]],[16898,[524304,262160,33024,16640,1296,768,48]],[16900,[524304,262160,131088,65552,49935,8208,4112,1024,144,80,48]],[16901,[32772,16388,1024,516,260,132,68,12]],[16905,[524352,262208,131136,65600,32832,16448,8256,4160,1024,831,192]],[16906,[524352,262208,131136,65600,32832,16448,8256,4160,1024,831,192]],[16907,[524352,262208,131136,65600,32832,16448,8256,4160,1024,831,192]],[16908,[524292,262148,131076,65540,32772,16388,8196,4100,1024,1011,12]],[16909,[524304,262160,33024,16640,2320,768,48]],[16911,[524304,262160,131088,65552,49935,8208,4112,2048,144,80,48]],[16912,[32772,16388,2048,516,260,132,68,12]],[16916,[524352,262208,131136,65600,32832,16448,8256,4160,2048,831,192]],[16917,[524352,262208,131136,65600,32832,16448,8256,4160,2048,831,192]],[16918,[524352,262208,131136,65600,32832,16448,8256,4160,2048,831,192]],[16919,[524292,262148,131076,65540,32772,16388,8196,4100,2048,1011,12]],[16920,[524304,262160,33024,16640,4368,768,48]],[16922,[524304,262160,131088,65552,49935,4096,2064,1040,144,80,48]],[16923,[32772,16388,4096,516,260,132,68,12]],[16927,[524352,262208,131136,65600,32832,16448,4096,2112,1088,831,192]],[16928,[524352,262208,131136,65600,32832,16448,4096,2112,1088,831,192]],[16929,[524352,262208,131136,65600,32832,16448,4096,2112,1088,831,192]],[16930,[524292,262148,131076,65540,32772,16388,4096,2052,1028,1011,12]],[16931,[524304,262160,33024,16640,8464,768,48]],[16933,[524304,262160,131088,65552,49935,8192,2064,1040,144,80,48]],[16934,[32772,16388,8192,516,260,132,68,12]],[16938,[524352,262208,131136,65600,32832,16448,8192,2112,1088,831,192]],[16939,[524352,262208,131136,65600,32832,16448,8192,2112,1088,831,192]],[16940,[524352,262208,131136,65600,32832,16448,8192,2112,1088,831,192]],[16941,[524292,262148,131076,65540,32772,16388,8192,2052,1028,1011,12]],[16942,[524304,262160,16656,8448,4352,768,48]],[16944,[524304,262160,131088,65552,16384,13071,2064,1040,144,80,48]],[16945,[16384,8196,4100,516,260,132,68,12]],[16949,[524352,262208,131136,65600,16384,8256,4160,2112,1088,831,192]],[16950,[524352,262208,131136,65600,16384,8256,4160,2112,1088,831,192]],[16951,[524352,262208,131136,65600,16384,8256,4160,2112,1088,831,192]],[16952,[524292,262148,131076,65540,16384,8196,4100,2052,1028,1011,12]],[16953,[524304,262160,33040,8448,4352,768,48]],[16955,[524304,262160,131088,65552,32768,13071,2064,1040,144,80,48]],[16956,[32768,8196,4100,516,260,132,68,12]],[16960,[524352,262208,131136,65600,32768,8256,4160,2112,1088,831,192]],[16961,[524352,262208,131136,65600,32768,8256,4160,2112,1088,831,192]],[16962,[524352,262208,131136,65600,32768,8256,4160,2112,1088,831,192]],[16963,[524292,262148,131076,65540,32768,8196,4100,2052,1028,1011,12]],[16964,[524304,262160,65808,8448,4352,768,48]],[16966,[524304,262160,65536,32784,16400,13071,2064,1040,144,80,48]],[16967,[65536,8196,4100,516,260,132,68,12]],[16971,[524352,262208,65536,32832,16448,8256,4160,2112,1088,831,192]],[16972,[524352,262208,65536,32832,16448,8256,4160,2112,1088,831,192]],[16973,[524352,262208,65536,32832,16448,8256,4160,2112,1088,831,192]],[16974,[524292,262148,65536,32772,16388,8196,4100,2052,1028,1011,12]],[16975,[524304,262160,131344,8448,4352,768,48]],[16977,[524304,262160,131072,32784,16400,13071,2064,1040,144,80,48]],[16978,[131072,8196,4100,516,260,132,68,12]],[16982,[524352,262208,131072,32832,16448,8256,4160,2112,1088,831,192]],[16983,[524352,262208,131072,32832,16448,8256,4160,2112,1088,831,192]],[16984,[524352,262208,131072,32832,16448,8256,4160,2112,1088,831,192]],[16985,[524292,262148,131072,32772,16388,8196,4100,2052,1028,1011,12]],[16986,[262416,131088,65552,8448,4352,768,48]],[16988,[262144,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[16989,[262144,8196,4100,516,260,132,68,12]],[16993,[262144,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[16994,[262144,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[16995,[262144,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[16996,[262144,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[16997,[524560,131088,65552,8448,4352,768,48]],[16999,[524288,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[17000,[524288,8196,4100,516,260,132,68,12]],[17004,[524288,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[17005,[524288,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[17006,[524288,131136,65600,32832,16448,8256,4160,2112,1088,831,192]],[17007,[524288,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[17009,[524288,262144,131072,65536,32768,16384,2048,1024,8,4]],[17010,[524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[17011,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[17012,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17016,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[17018,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17019,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[17023,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17024,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17025,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17026,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[17027,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[17028,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[17029,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[17030,[131072,65536,8192,4096,32,16,8,4]],[17032,[524288,262144,131072,65536,2048,1024,128,64,32,16,2,1]],[17033,[32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[17041,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[17042,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[17043,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[17045,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[17046,[524288,262144,131072,65536,61443,2048,1024,512,256,128,64,32,16,15]],[17048,[32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[17049,[786492,196620,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[17050,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[17051,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[17052,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[17053,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[17054,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[17061,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[17062,[131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[17063,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[17064,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[17065,[524288,262144,196656,32768,16384,8192,4096,2048,1024,512,256,252,2,1]],[17072,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[17073,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[17075,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[17076,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[17082,[524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4]],[17083,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17085,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[17086,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[17088,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17089,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[17090,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16]],[17091,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17092,[524288,262144,196812,32768,16384,8192,4096,2048,1024,960,32,16,2,1]],[17093,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[17094,[524288,262144,131072,65536,61452,2048,1024,512,256,204,32,16,2,1]],[17095,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[17098,[524288,262144,8192,4096,2048,1024,128,64,32,16,2,1]],[17099,[524288,262144,197388,49164,8192,4096,2048,1024,128,64,32,16,2,1]],[17106,[524288,262144,131072,65536,512,256,128,64,32,16,8,4]],[17109,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[17110,[524288,262144,512,256,128,64,32,16,8,4,2,1]],[17111,[524288,262144,131072,65536,512,256,128,64,32,16,2,1]],[17112,[524288,262144,131072,65536,61452,3084,512,256,128,64,32,16,2,1]],[17114,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[17115,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[17116,[524288,262144,32768,16384,8192,4096,2048,1024,128,64,32,16]],[17117,[524288,262144,197379,32768,16384,8192,4096,2048,1024,128,64,32,16,15]],[17118,[524288,262144,32768,16384,8192,4096,128,64,32,16,8,4]],[17121,[524288,262144,131072,65536,32768,16384,512,256,128,64,32,16]],[17124,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17125,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17126,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[17127,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[17128,[786492,131072,65536,32768,16384,8192,4096,2048,1024,512,256,204,2,1]],[17129,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17130,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17131,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4]],[17132,[786483,131072,65536,32768,16384,8192,4096,2048,1024,512,256,195,8,4]],[17133,[524288,262144,32768,16384,8192,4096,128,64,32,16,2,1]],[17134,[524288,262144,197388,32768,16384,8192,4096,3084,128,64,32,16,2,1]],[17136,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17137,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[17141,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[17142,[131072,65536,8192,4096,2048,1024,512,256,128,64,8,4]],[17143,[786483,131072,65536,49155,8192,4096,2048,1024,512,256,128,64,8,4]],[17144,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[17145,[32768,16384,8192,4096,2048,1024,128,64,8,4,2,1]],[17146,[983088,32768,16384,8192,4096,2048,1024,816,128,64,8,4,2,1]],[17147,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[17153,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[17154,[524288,262144,32768,16384,8192,4096,512,256,32,16,8,4]],[17155,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[17156,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[17157,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[17160,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[17161,[786672,131072,65536,49344,8192,4096,2048,1024,512,256,8,4,2,1]],[17162,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[17163,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[17165,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[17166,[798768,131072,65536,61440,2048,1024,512,256,128,64,8,4,2,1]],[17168,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[17169,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17170,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[17172,[524352,262208,131136,65600,52284,8256,4160,576,320,192,1]],[17190,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,1]],[17191,[524292,262148,248880,8196,4100,516,260,132,68,12,1]],[17197,[524352,262208,131136,65600,52284,8256,4160,576,320,192,2]],[17215,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,2]],[17216,[524292,262148,248880,8196,4100,516,260,132,68,12,2]],[17222,[524352,262208,131136,65600,52275,8256,4160,576,320,192,4]],[17240,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,4]],[17241,[524289,262145,248880,8193,4097,513,257,129,65,4,3]],[17247,[524352,262208,131136,65600,52275,8256,4160,576,320,192,8]],[17265,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,8]],[17266,[524289,262145,248880,8193,4097,513,257,129,65,8,3]],[17272,[524352,262208,131136,65600,52239,8256,4160,576,320,192,16]],[17290,[524292,262148,131076,65540,32772,16388,8196,4100,4035,16,12]],[17291,[524289,262145,248844,8193,4097,513,257,129,65,16,3]],[17297,[524352,262208,131136,65600,52239,8256,4160,576,320,192,32]],[17315,[524292,262148,131076,65540,32772,16388,8196,4100,4035,32,12]],[17316,[524289,262145,248844,8193,4097,513,257,129,65,32,3]],[17322,[524304,262160,131088,65552,52239,8208,4112,528,272,64,48]],[17340,[524292,262148,131076,65540,32772,16388,8196,4100,3891,64,12]],[17341,[524289,262145,248844,8193,4097,513,257,64,33,17,3]],[17347,[524304,262160,131088,65552,52239,8208,4112,528,272,128,48]],[17365,[524292,262148,131076,65540,32772,16388,8196,4100,3891,128,12]],[17366,[524289,262145,248844,8193,4097,513,257,128,33,17,3]],[17372,[524304,262160,131088,65552,52239,8208,4112,256,144,80,48]],[17390,[524292,262148,131076,65540,32772,16388,8196,4100,3315,256,12]],[17391,[524289,262145,248844,8193,4097,256,129,65,33,17,3]],[17397,[524304,262160,131088,65552,52239,8208,4112,512,144,80,48]],[17415,[524292,262148,131076,65540,32772,16388,8196,4100,3315,512,12]],[17416,[524289,262145,248844,8193,4097,512,129,65,33,17,3]],[17422,[524304,262160,131088,65552,49935,8208,4112,1024,144,80,48]],[17440,[524292,262148,131076,65540,32772,16388,8196,4100,1024,1011,12]],[17441,[524289,262145,246540,8193,4097,1024,129,65,33,17,3]],[17447,[524304,262160,131088,65552,49935,8208,4112,2048,144,80,48]],[17465,[524292,262148,131076,65540,32772,16388,8196,4100,2048,1011,12]],[17466,[524289,262145,246540,8193,4097,2048,129,65,33,17,3]],[17472,[524304,262160,131088,65552,49935,4096,2064,1040,144,80,48]],[17490,[524292,262148,131076,65540,32772,16388,4096,2052,1028,1011,12]],[17491,[524289,262145,246540,4096,2049,1025,129,65,33,17,3]],[17497,[524304,262160,131088,65552,49935,8192,2064,1040,144,80,48]],[17515,[524292,262148,131076,65540,32772,16388,8192,2052,1028,1011,12]],[17516,[524289,262145,246540,8192,2049,1025,129,65,33,17,3]],[17522,[524304,262160,131088,65552,16384,13071,2064,1040,144,80,48]],[17540,[524292,262148,131076,65540,16384,8196,4100,2052,1028,1011,12]],[17541,[524289,262145,209676,16384,2049,1025,129,65,33,17,3]],[17547,[524304,262160,131088,65552,32768,13071,2064,1040,144,80,48]],[17565,[524292,262148,131076,65540,32768,8196,4100,2052,1028,1011,12]],[17566,[524289,262145,209676,32768,2049,1025,129,65,33,17,3]],[17572,[524304,262160,65536,32784,16400,13071,2064,1040,144,80,48]],[17590,[524292,262148,65536,32772,16388,8196,4100,2052,1028,1011,12]],[17591,[524289,262145,65536,62220,2049,1025,129,65,33,17,3]],[17597,[524304,262160,131072,32784,16400,13071,2064,1040,144,80,48]],[17615,[524292,262148,131072,32772,16388,8196,4100,2052,1028,1011,12]],[17616,[524289,262145,131072,62220,2049,1025,129,65,33,17,3]],[17622,[262144,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[17640,[262144,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[17641,[262144,131073,65537,62220,2049,1025,129,65,33,17,3]],[17647,[524288,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[17665,[524288,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[17666,[524288,131073,65537,62220,2049,1025,129,65,33,17,3]],[17944,[524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[17945,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[17946,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[17947,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[17948,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[17950,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[17953,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[17956,[246528,8192,4096,2048,1024,128,64,32,16,8,4,2,1]],[17957,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[17958,[32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[17959,[789507,32768,16384,8192,4096,512,256,128,64,32,16,8,4]],[17960,[524288,262144,8192,4096,512,256,128,64,32,16,8,4]],[17961,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17964,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[17966,[258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[17970,[524288,262144,131072,65536,512,256,32,16,8,4,2,1]],[17972,[524288,262144,8192,4096,2048,1024,32,16,8,4,2,1]],[17973,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[17974,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[17975,[524288,262144,131072,65536,2048,1024,128,64,32,16,8,4]],[17978,[524288,262144,208908,32768,16384,2048,1024,512,256,128,64,2,1]],[17983,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17984,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64]],[17985,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[17986,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[17987,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[17988,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[17989,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[17990,[524288,262144,8192,4096,512,256,32,16,8,4,2,1]],[17991,[524288,262144,131072,65536,62208,2048,1024,128,64,8,4,2,1]],[17992,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[17993,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[17995,[131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[17996,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[17997,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[17998,[524288,262144,131072,65536,8192,4096,512,256,32,16,8,4]],[17999,[524288,262144,246528,8192,4096,2048,1024,128,64,32,16,8,4]],[18000,[524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4]],[18001,[524288,262144,8192,4096,2048,1024,32,16,8,4,2,1]],[18002,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[18003,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[18006,[524288,262144,246528,8192,4096,2048,1024,128,64,8,4,2,1]],[18011,[524288,262144,131072,65536,2048,1024,128,64,32,16,8,4]],[18012,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[18013,[524288,262144,32768,16384,2048,1024,128,64,32,16,2,1]],[18014,[524288,262144,32768,16384,2048,1024,128,64,32,16,2,1]],[18016,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[18019,[131072,65536,8192,4096,32,16,8,4]],[18021,[524288,262144,131072,65536,64512,512,256,128,64,8,4,2,1]],[18022,[131072,65536,62208,2048,1024,128,64,32,16,8,4,2,1]],[18023,[524288,262144,131072,65536,512,256,128,64,32,16,8,4]],[18024,[524288,262144,32768,16384,8192,4096,2048,1024,32,16,8,4]],[18025,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[18026,[524288,262144,512,256,128,64,32,16,8,4,2,1]],[18027,[524288,262144,131072,65536,32768,16384,8192,4096,512,256,2,1]],[18028,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18030,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[18031,[524288,262144,131072,65536,32768,16384,512,256,128,64,32,16]],[18032,[524288,262144,131072,65536,49932,8192,4096,2048,1024,128,64,2,1]],[18033,[786483,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[18038,[983088,32768,16384,2048,1024,512,256,128,64,8,4,2,1]],[18039,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[18040,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18042,[524288,262144,32768,16384,8192,4096,512,256,128,64,8,4]],[18047,[131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[18048,[131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[18049,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[18050,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[18051,[524288,262144,131072,65536,2048,1024,512,256,8,4,2,1]],[18052,[524288,262144,131072,65536,52227,8192,4096,512,256,128,64,8,4]],[18053,[131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[18054,[524288,262144,32768,16384,8192,4096,512,256,32,16,8,4]],[18057,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16]],[18058,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[18059,[32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[18060,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[18062,[524288,262144,131072,65536,32768,16384,8192,4096,4032,8,4,2,1]],[18063,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[18064,[131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[18065,[524288,262144,32768,16384,2048,1024,32,16,8,4,2,1]],[18066,[524288,262144,131072,65536,8192,4096,3852,128,64,32,16,2,1]],[18068,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[18069,[131072,65536,32768,16384,8192,4096,512,256,128,64,2,1]],[18070,[131072,65536,62208,2048,1024,128,64,32,16,8,4,2,1]],[18072,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[18073,[524288,262144,32768,16384,2048,1024,128,64,32,16,8,4]],[18074,[524288,262144,131072,65536,61443,2048,1024,512,256,128,64,8,4]],[18075,[131072,65536,61443,2048,1024,512,256,128,64,32,16,8,4]],[18076,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[18078,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[18079,[524288,262144,131072,65536,32768,16384,8192,4096,3267,32,16,8,4]],[18080,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,2,1]],[18081,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[18082,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16]],[18083,[524288,262144,131072,65536,32768,16384,512,256,32,16,8,4]],[18084,[524288,262144,131072,65536,32768,16384,15363,128,64,32,16,8,4]],[18086,[524288,262144,131072,65536,2048,1024,128,64,32,16,2,1]],[18190,[524352,262208,131136,65600,49212,8256,4160,2112,1088,576,320,192,1]],[18191,[524352,262208,131136,65600,49212,8256,4160,2112,1088,576,320,192,1]],[18210,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,1]],[18215,[524292,262148,131076,65540,62208,2052,1028,132,68,36,20,12,1]],[18218,[986112,32772,16388,8196,4100,516,260,132,68,36,20,12,1]],[18222,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,828,128,64,1]],[18230,[524352,262208,131136,65600,49212,8256,4160,2112,1088,576,320,192,2]],[18231,[524352,262208,131136,65600,49212,8256,4160,2112,1088,576,320,192,2]],[18250,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,2]],[18255,[524292,262148,131076,65540,62208,2052,1028,132,68,36,20,12,2]],[18258,[986112,32772,16388,8196,4100,516,260,132,68,36,20,12,2]],[18262,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,828,128,64,2]],[18270,[524352,262208,131136,65600,49203,8256,4160,2112,1088,576,320,192,4]],[18271,[524352,262208,131136,65600,49203,8256,4160,2112,1088,576,320,192,4]],[18290,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,4]],[18295,[524289,262145,131073,65537,62208,2049,1025,129,65,33,17,4,3]],[18298,[986112,32769,16385,8193,4097,513,257,129,65,33,17,4,3]],[18302,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,819,128,64,4]],[18310,[524352,262208,131136,65600,49203,8256,4160,2112,1088,576,320,192,8]],[18311,[524352,262208,131136,65600,49203,8256,4160,2112,1088,576,320,192,8]],[18330,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,8]],[18335,[524289,262145,131073,65537,62208,2049,1025,129,65,33,17,8,3]],[18338,[986112,32769,16385,8193,4097,513,257,129,65,33,17,8,3]],[18342,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,819,128,64,8]],[18350,[524352,262208,131136,65600,49167,8256,4160,2112,1088,576,320,192,16]],[18351,[524352,262208,131136,65600,49167,8256,4160,2112,1088,576,320,192,16]],[18370,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,16]],[18375,[524289,262145,131073,65537,62208,2049,1025,129,65,16,9,5,3]],[18378,[986112,32769,16385,8193,4097,513,257,129,65,16,9,5,3]],[18382,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,783,128,64,16]],[18390,[524352,262208,131136,65600,49167,8256,4160,2112,1088,576,320,192,32]],[18391,[524352,262208,131136,65600,49167,8256,4160,2112,1088,576,320,192,32]],[18410,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,32]],[18415,[524289,262145,131073,65537,62208,2049,1025,129,65,32,9,5,3]],[18418,[986112,32769,16385,8193,4097,513,257,129,65,32,9,5,3]],[18422,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,783,128,64,32]],[18430,[524304,262160,131088,65552,49167,8208,4112,2064,1040,528,272,64,48]],[18431,[524304,262160,131088,65552,49167,8208,4112,2064,1040,528,272,64,48]],[18450,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,64,32,16]],[18455,[524289,262145,131073,65537,62208,2049,1025,64,33,17,9,5,3]],[18458,[986112,32769,16385,8193,4097,513,257,64,33,17,9,5,3]],[18462,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,783,64,32,16]],[18470,[524304,262160,131088,65552,49167,8208,4112,2064,1040,528,272,128,48]],[18471,[524304,262160,131088,65552,49167,8208,4112,2064,1040,528,272,128,48]],[18490,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,32,16]],[18495,[524289,262145,131073,65537,62208,2049,1025,128,33,17,9,5,3]],[18498,[986112,32769,16385,8193,4097,513,257,128,33,17,9,5,3]],[18502,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,783,128,32,16]],[18510,[524304,262160,131088,65552,49167,8208,4112,2064,1040,256,144,80,48]],[18511,[524304,262160,131088,65552,49167,8208,4112,2064,1040,256,144,80,48]],[18530,[524288,262144,196623,32768,16384,8192,4096,2048,1024,256,128,64,32,16]],[18535,[524289,262145,131073,65537,61632,2049,1025,256,33,17,9,5,3]],[18538,[986112,32769,16385,8193,4097,256,129,65,33,17,9,5,3]],[18542,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,256,207,32,16]],[18550,[524304,262160,131088,65552,49167,8208,4112,2064,1040,512,144,80,48]],[18551,[524304,262160,131088,65552,49167,8208,4112,2064,1040,512,144,80,48]],[18570,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,128,64,32,16]],[18575,[524289,262145,131073,65537,61632,2049,1025,512,33,17,9,5,3]],[18578,[986112,32769,16385,8193,4097,512,129,65,33,17,9,5,3]],[18582,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,207,32,16]],[18590,[524304,262160,131088,65552,49167,8208,4112,1024,528,272,144,80,48]],[18591,[524304,262160,131088,65552,49167,8208,4112,1024,528,272,144,80,48]],[18610,[524288,262144,196623,32768,16384,8192,4096,1024,512,256,128,64,32,16]],[18615,[524289,262145,131073,65537,61632,1024,513,257,33,17,9,5,3]],[18618,[983808,32769,16385,8193,4097,1024,129,65,33,17,9,5,3]],[18622,[524288,262144,131072,65536,32768,16384,8192,4096,1024,512,256,207,32,16]],[18630,[524304,262160,131088,65552,49167,8208,4112,2048,528,272,144,80,48]],[18631,[524304,262160,131088,65552,49167,8208,4112,2048,528,272,144,80,48]],[18650,[524288,262144,196623,32768,16384,8192,4096,2048,512,256,128,64,32,16]],[18655,[524289,262145,131073,65537,61632,2048,513,257,33,17,9,5,3]],[18658,[983808,32769,16385,8193,4097,2048,129,65,33,17,9,5,3]],[18662,[524288,262144,131072,65536,32768,16384,8192,4096,2048,512,256,207,32,16]],[18670,[524304,262160,131088,65552,49167,4096,2064,1040,528,272,144,80,48]],[18671,[524304,262160,131088,65552,49167,4096,2064,1040,528,272,144,80,48]],[18690,[524288,262144,196623,32768,16384,4096,2048,1024,512,256,128,64,32,16]],[18695,[524289,262145,131073,65537,52416,4096,513,257,33,17,9,5,3]],[18698,[983808,32769,16385,4096,2049,1025,129,65,33,17,9,5,3]],[18702,[524288,262144,131072,65536,32768,16384,4096,2048,1024,512,256,207,32,16]],[18710,[524304,262160,131088,65552,49167,8192,2064,1040,528,272,144,80,48]],[18711,[524304,262160,131088,65552,49167,8192,2064,1040,528,272,144,80,48]],[18730,[524288,262144,196623,32768,16384,8192,2048,1024,512,256,128,64,32,16]],[18735,[524289,262145,131073,65537,52416,8192,513,257,33,17,9,5,3]],[18738,[983808,32769,16385,8192,2049,1025,129,65,33,17,9,5,3]],[18742,[524288,262144,131072,65536,32768,16384,8192,2048,1024,512,256,207,32,16]],[18750,[524304,262160,131088,65552,16384,12303,2064,1040,528,272,144,80,48]],[18751,[524304,262160,131088,65552,16384,12303,2064,1040,528,272,144,80,48]],[18770,[524288,262144,196623,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[18775,[524289,262145,131073,65537,16384,15552,513,257,33,17,9,5,3]],[18778,[983808,16384,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18782,[524288,262144,131072,65536,16384,8192,4096,2048,1024,512,256,207,32,16]],[18790,[524304,262160,131088,65552,32768,12303,2064,1040,528,272,144,80,48]],[18791,[524304,262160,131088,65552,32768,12303,2064,1040,528,272,144,80,48]],[18810,[524288,262144,196623,32768,8192,4096,2048,1024,512,256,128,64,32,16]],[18815,[524289,262145,131073,65537,32768,15552,513,257,33,17,9,5,3]],[18818,[983808,32768,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18822,[524288,262144,131072,65536,32768,8192,4096,2048,1024,512,256,207,32,16]],[18830,[524304,262160,65536,32784,16400,12303,2064,1040,528,272,144,80,48]],[18831,[524304,262160,65536,32784,16400,12303,2064,1040,528,272,144,80,48]],[18850,[524288,262144,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18855,[524289,262145,65536,32769,16385,15552,513,257,33,17,9,5,3]],[18858,[836352,65536,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18862,[524288,262144,65536,32768,16384,8192,4096,2048,1024,512,256,207,32,16]],[18870,[524304,262160,131072,32784,16400,12303,2064,1040,528,272,144,80,48]],[18871,[524304,262160,131072,32784,16400,12303,2064,1040,528,272,144,80,48]],[18890,[524288,262144,131072,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18895,[524289,262145,131072,32769,16385,15552,513,257,33,17,9,5,3]],[18898,[836352,131072,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18902,[524288,262144,131072,32768,16384,8192,4096,2048,1024,512,256,207,32,16]],[18910,[262144,131088,65552,32784,16400,12303,2064,1040,528,272,144,80,48]],[18911,[262144,131088,65552,32784,16400,12303,2064,1040,528,272,144,80,48]],[18930,[262144,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18935,[262144,131073,65537,32769,16385,15552,513,257,33,17,9,5,3]],[18938,[262144,246528,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18942,[262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,207,32,16]],[18950,[524288,131088,65552,32784,16400,12303,2064,1040,528,272,144,80,48]],[18951,[524288,131088,65552,32784,16400,12303,2064,1040,528,272,144,80,48]],[18970,[524288,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18975,[524288,131073,65537,32769,16385,15552,513,257,33,17,9,5,3]],[18978,[524288,246528,8193,4097,2049,1025,129,65,33,17,9,5,3]],[18982,[524288,131072,65536,32768,16384,8192,4096,2048,1024,512,256,207,32,16]],[19483,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19493,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19494,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19510,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19511,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19512,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16,2,1]],[19721,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19733,[524288,262144,131072,65536,8192,4096,512,256,128,64,32,16,8,4]],[19777,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[19782,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[19788,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[19866,[524292,262148,199680,32772,16388,8196,4100,516,260,132,68,36,20,12,1]],[19880,[524292,262148,131076,65540,61440,2052,1028,516,260,132,68,36,20,12,1]],[19936,[524292,262148,199680,32772,16388,8196,4100,516,260,132,68,36,20,12,2]],[19950,[524292,262148,131076,65540,61440,2052,1028,516,260,132,68,36,20,12,2]],[20012,[524289,262145,199680,32769,16385,8193,4097,513,257,129,65,33,17,4,3]],[20026,[524289,262145,131073,65537,61440,2049,1025,513,257,129,65,33,17,4,3]],[20090,[524289,262145,199680,32769,16385,8193,4097,513,257,129,65,33,17,8,3]],[20104,[524289,262145,131073,65537,61440,2049,1025,513,257,129,65,33,17,8,3]],[20172,[524289,262145,199680,32769,16385,8193,4097,513,257,129,65,16,9,5,3]],[20190,[524289,262145,131073,65537,61440,2049,1025,513,257,129,65,16,9,5,3]],[20259,[524289,262145,199680,32769,16385,8193,4097,513,257,129,65,32,9,5,3]],[20277,[524289,262145,131073,65537,61440,2049,1025,513,257,129,65,32,9,5,3]],[20354,[524289,262145,199680,32769,16385,8193,4097,513,257,64,33,17,9,5,3]],[20372,[524289,262145,131073,65537,61440,2049,1025,513,257,64,33,17,9,5,3]],[20451,[524289,262145,199680,32769,16385,8193,4097,513,257,128,33,17,9,5,3]],[20469,[524289,262145,131073,65537,61440,2049,1025,513,257,128,33,17,9,5,3]],[20555,[524289,262145,199680,32769,16385,8193,4097,256,129,65,33,17,9,5,3]],[20575,[524289,262145,131073,65537,61440,2049,1025,256,129,65,33,17,9,5,3]],[20663,[524289,262145,199680,32769,16385,8193,4097,512,129,65,33,17,9,5,3]],[20683,[524289,262145,131073,65537,61440,2049,1025,512,129,65,33,17,9,5,3]],[20775,[524289,262145,197376,32769,16385,8193,4097,1024,129,65,33,17,9,5,3]],[20801,[524289,262145,131073,65537,61440,1024,513,257,129,65,33,17,9,5,3]],[20895,[524289,262145,197376,32769,16385,8193,4097,2048,129,65,33,17,9,5,3]],[20921,[524289,262145,131073,65537,61440,2048,513,257,129,65,33,17,9,5,3]],[21021,[524289,262145,197376,32769,16385,4096,2049,1025,129,65,33,17,9,5,3]],[21051,[524289,262145,131073,65537,52224,4096,513,257,129,65,33,17,9,5,3]],[21154,[524289,262145,197376,32769,16385,8192,2049,1025,129,65,33,17,9,5,3]],[21184,[524289,262145,131073,65537,52224,8192,513,257,129,65,33,17,9,5,3]],[21294,[524289,262145,197376,16384,8193,4097,2049,1025,129,65,33,17,9,5,3]],[21325,[524289,262145,131073,65537,16384,15360,513,257,129,65,33,17,9,5,3]],[21441,[524289,262145,197376,32768,8193,4097,2049,1025,129,65,33,17,9,5,3]],[21472,[524289,262145,131073,65537,32768,15360,513,257,129,65,33,17,9,5,3]],[21596,[524289,262145,65536,49920,8193,4097,2049,1025,129,65,33,17,9,5,3]],[21633,[524289,262145,65536,32769,16385,15360,513,257,129,65,33,17,9,5,3]],[21758,[524289,262145,131072,49920,8193,4097,2049,1025,129,65,33,17,9,5,3]],[21795,[524289,262145,131072,32769,16385,15360,513,257,129,65,33,17,9,5,3]],[21930,[262144,131073,65537,49920,8193,4097,2049,1025,129,65,33,17,9,5,3]],[21971,[262144,131073,65537,32769,16385,15360,513,257,129,65,33,17,9,5,3]],[22108,[524288,131073,65537,49920,8193,4097,2049,1025,129,65,33,17,9,5,3]],[22149,[524288,131073,65537,32769,16385,15360,513,257,129,65,33,17,9,5,3]]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-mw.json new file mode 100644 index 0000000000..d92f058a23 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR200/233 maximum-weight late compensated pairing (pairs_mw.py) with the last late pair moved to the phase cut.","pairs":[[5698,9335,null],[5484,9336,null],[5159,9337,null],[5591,9338,null],[5687,9339,null],[5026,9340,null],[5243,9341,null],[5394,9342,null],[5675,9343,null],[5286,9344,20065],[5586,9345,null],[5676,9346,null],[5292,9347,null],[5627,9348,null],[5490,9349,null],[5746,9350,null],[1467,9351,20127],[5074,9352,null],[5495,9353,null],[5578,9354,null],[5639,9355,null],[5435,9356,null],[4474,9357,null],[5458,9358,null],[5483,9359,null],[1460,9360,20171],[1454,9361,20174],[1172,9362,20179],[1459,9363,20182],[1447,9364,20184],[5724,9365,null],[1267,9366,20195],[5399,9367,null],[1425,9368,20214],[5346,9369,null],[5634,9370,null],[5303,9371,null],[5718,9372,20236],[5170,9373,null],[4762,9374,null],[5298,9375,null],[5388,9376,null],[1419,9377,20258],[1511,9378,null],[1412,9379,20266],[1364,9380,20269],[1406,9381,20271],[5730,9382,null],[1411,9383,20282],[5650,9384,null],[1399,9385,20301],[1377,9386,20302],[1358,9387,20303],[1329,9388,20310],[1371,9389,20312],[1363,9390,20315],[5362,9391,null],[5290,9392,null],[5339,9393,null],[5147,9394,null],[5386,9395,null],[5255,9396,null],[5351,9397,null],[5387,9398,null],[5478,9399,20342],[5543,9400,null],[1275,9401,20350],[1351,9402,20353],[1698,9403,null],[1316,9404,20361],[1323,9405,20364],[1310,9406,20366],[3946,9407,null],[1083,9408,20377],[1281,9409,20379],[5723,9410,null],[5482,9411,null],[1315,9412,20398],[1303,9413,20399],[1233,9414,20400],[1227,9415,20407],[1602,9416,null],[1268,9417,20412],[5674,9418,null],[5111,9419,null],[5574,9420,20422],[5266,9421,null],[5436,9422,null],[5434,9423,null],[5682,9424,null],[5334,9425,20438],[5051,9426,null],[5338,9427,null],[1255,9428,20447],[5554,9429,null],[1131,9430,20453],[1166,9431,20458],[5580,9432,null],[1214,9433,20463],[5526,9434,20471],[1185,9435,20474],[1220,9436,20476],[1219,9437,20478],[3058,9438,null],[1690,9439,null],[932,9440,20496],[974,9441,20497],[5447,9442,null],[1262,9443,20506],[1686,9444,20507],[1666,9445,null],[2962,9446,null],[273,9447,20515],[5340,9448,null],[5314,9449,null],[4546,9450,null],[2914,9451,null],[2988,9452,null],[686,9453,20533],[2890,9454,null],[5622,9455,20537],[4619,9456,null],[5670,9457,20540],[3899,9458,null],[5602,9459,null],[1650,9460,null],[1450,9461,null],[590,9462,20553],[1607,9463,null],[1546,9464,null],[884,9465,20562],[1474,9466,null],[979,9467,20567],[1522,9468,null],[2794,9469,null],[4763,9470,null],[987,9471,20580],[980,9472,20582],[4716,9473,null],[5410,9474,null],[5722,9475,null],[5531,9476,null],[5291,9477,null],[4426,9478,null],[4775,9479,null],[5530,9480,null],[342,9481,20614],[2790,9482,20615],[2986,9483,null],[2843,9484,null],[370,9485,null],[2866,9486,null],[3996,9487,null],[5579,9488,null],[4722,9489,null],[1643,9490,null],[3922,9491,null],[2855,9492,null],[5735,9493,null],[2940,9494,null],[4066,9495,null],[5626,9496,null],[5506,9497,null],[1547,9498,null],[1642,9499,null],[3850,9500,null],[705,9501,20662],[3947,9502,null],[3719,9503,null],[3810,9504,null],[1655,9505,null],[657,9506,20680],[2796,9507,null],[2999,9508,null],[1570,9509,null],[2838,9510,20690],[897,9511,20692],[5442,9512,null],[4018,9513,null],[3815,9514,null],[5003,9515,null],[1137,9516,20712],[1063,9517,20713],[5196,9518,null],[5242,9519,null],[1207,9520,20723],[1171,9521,20724],[1179,9522,20727],[1111,9523,20731],[4583,9524,null],[4631,9525,null],[4594,9526,null],[2886,9527,20741],[4758,9528,20742],[3047,9529,null],[4038,9530,20747],[1159,9531,20749],[1075,9532,20752],[4662,9533,20755],[4666,9534,null],[3030,9535,20757],[3959,9536,null],[5146,9537,null],[5195,9538,null],[2951,9539,null],[1124,9540,20769],[1089,9541,20772],[1123,9542,20773],[1070,9543,20774],[692,9544,20776],[1595,9545,null],[638,9546,20779],[4714,9547,null],[871,9548,20783],[1118,9549,20786],[5002,9550,null],[3995,9551,null],[1692,9552,null],[2987,9553,null],[267,9554,20798],[2460,9555,null],[3034,9556,null],[993,9557,20806],[743,9558,null],[891,9559,20810],[926,9560,20811],[4738,9561,null],[5628,9562,null],[5015,9563,null],[5050,9564,null],[4667,9565,null],[919,9566,20832],[931,9567,20833],[259,9568,20840],[2555,9569,null],[260,9570,20843],[1076,9571,20844],[5063,9572,null],[5094,9573,20851],[4055,9574,null],[5122,9575,null],[3863,9576,null],[4626,9577,null],[4518,9578,20862],[4786,9579,null],[4571,9580,null],[3970,9581,null],[3874,9582,null],[5218,9583,null],[5207,9584,null],[4535,9585,null],[4042,9586,null],[4764,9587,null],[4715,9588,null],[535,9589,20884],[878,9590,20889],[3826,9591,null],[609,9592,20893],[603,9593,20894],[679,9594,20896],[651,9595,20898],[945,9596,20899],[967,9597,20900],[596,9598,20903],[1218,9599,null],[561,9600,20909],[4727,9601,null],[254,9602,20916],[315,9603,20917],[369,9604,20918],[2938,9605,null],[4295,9606,null],[843,9607,20926],[939,9608,20928],[836,9609,20930],[67,9610,20931],[883,9611,20932],[3898,9612,null],[3035,9613,null],[2939,9614,null],[691,9615,20944],[1594,9616,null],[4674,9617,null],[753,9618,20954],[747,9619,20961],[739,9620,20962],[2482,9621,null],[1691,9622,null],[116,9623,20966],[350,9624,20967],[734,9625,20969],[2075,9626,null],[4954,9627,null],[5250,9628,null],[5190,9629,20980],[4428,9630,null],[3994,9631,null],[3948,9632,null],[3239,9633,null],[55,9634,20991],[1618,9635,null],[631,9636,20994],[643,9637,20995],[500,9638,20998],[2934,9639,21001],[5430,9640,21002],[4283,9641,null],[4210,9642,null],[4007,9643,null],[4044,9644,null],[75,9645,21010],[1027,9646,21015],[3515,9647,null],[1714,9648,null],[5148,9649,null],[699,9650,21022],[788,9651,21024],[3942,9652,21025],[391,9653,21026],[644,9654,21029],[583,9655,21030],[343,9656,21031],[740,9657,21034],[595,9658,21035],[4247,9659,null],[4690,9660,null],[3658,9661,null],[321,9662,21046],[363,9663,21047],[3954,9664,null],[1035,9665,21050],[4306,9666,null],[2982,9667,21054],[2327,9668,null],[4002,9669,null],[775,9670,21059],[782,9671,21061],[299,9672,null],[1638,9673,21064],[3010,9674,null],[5532,9675,null],[5244,9676,null],[2562,9677,null],[1115,9678,null],[1028,9679,21085],[5194,9680,null],[1158,9681,21087],[2508,9682,null],[2550,9683,21095],[302,9684,21096],[4978,9685,null],[5538,9686,null],[1041,9687,21100],[4186,9688,null],[727,9689,21104],[1022,9690,21108],[4955,9691,null],[4278,9692,21113],[4668,9693,null],[3036,9694,null],[4043,9695,null],[4450,9696,null],[513,9697,21124],[2514,9698,null],[2946,9699,null],[1590,9700,21128],[4902,9701,21131],[4235,9702,null],[5154,9703,null],[2506,9704,null],[5712,9705,21138],[3275,9706,null],[3538,9707,null],[787,9708,21143],[1206,9709,21148],[3767,9710,null],[499,9711,21152],[1015,9712,21153],[3335,9713,null],[994,9714,null],[1596,9715,null],[4050,9716,null],[411,9717,21162],[634,9718,null],[403,9719,21164],[1175,9720,null],[398,9721,21168],[404,9722,21169],[1355,9723,null],[731,9724,null],[356,9725,21179],[295,9726,21180],[171,9727,21181],[2519,9728,null],[966,9729,21185],[2578,9730,null],[2556,9731,null],[4236,9732,null],[1170,9733,null],[108,9734,null],[2746,9735,null],[1703,9736,null],[1404,9737,null],[4967,9738,null],[3778,9739,null],[2747,9740,null],[823,9741,21210],[801,9742,21218],[830,9743,21219],[835,9744,21220],[849,9745,21227],[355,9746,21228],[307,9747,21229],[308,9748,21231],[5106,9749,null],[5100,9750,null],[451,9751,21235],[1259,9752,null],[2028,9753,null],[4258,9754,null],[4907,9755,null],[5238,9756,21245],[2434,9757,null],[3851,9758,null],[4498,9759,null],[4487,9760,null],[2892,9761,null],[33,9762,21259],[507,9763,21260],[494,9764,21261],[5058,9765,null],[2567,9766,null],[1074,9767,null],[459,9768,21268],[123,9769,21269],[4906,9770,null],[2603,9771,null],[4282,9772,null],[4770,9773,null],[3298,9774,null],[3911,9775,null],[4140,9776,null],[795,9777,21282],[19,9778,21286],[1066,9779,null],[1548,9780,null],[3762,9781,null],[542,9782,21293],[177,9783,21295],[548,9784,21297],[396,9785,null],[555,9786,21299],[683,9787,null],[971,9788,null],[219,9789,21304],[446,9790,21306],[1559,9791,null],[3563,9792,null],[1186,9793,null],[4162,9794,null],[487,9795,21315],[1378,9796,null],[547,9797,21321],[706,9798,null],[158,9799,21324],[3042,9800,null],[695,9801,null],[3586,9802,null],[2423,9803,null],[4230,9804,21331],[2050,9805,null],[4234,9806,null],[658,9807,null],[4427,9808,null],[4962,9809,null],[107,9810,null],[81,9811,21341],[62,9812,21343],[2898,9813,null],[4566,9814,21345],[5099,9815,null],[5098,9816,null],[2370,9817,null],[1212,9818,null],[4578,9819,null],[1067,9820,null],[983,9821,null],[2554,9822,null],[1079,9823,null],[114,9824,null],[225,9825,21378],[1090,9826,null],[2698,9827,null],[439,9828,21382],[115,9829,21384],[452,9830,21388],[2759,9831,null],[3706,9832,null],[2507,9833,null],[4331,9834,null],[4434,9835,null],[3323,9836,null],[3754,9837,null],[2754,9838,null],[635,9839,null],[2699,9840,null],[348,9841,null],[110,9842,21410],[465,9843,21411],[103,9844,21412],[3707,9845,null],[2711,9846,null],[630,9847,21417],[5046,9848,21420],[4475,9849,null],[4570,9850,null],[3714,9851,null],[4950,9852,21425],[3755,9853,null],[163,9854,21429],[3274,9855,null],[211,9856,21435],[1403,9857,null],[4919,9858,null],[1498,9859,null],[346,9860,null],[417,9861,21444],[4476,9862,null],[930,9863,null],[2314,9864,null],[682,9865,null],[212,9866,21451],[4956,9867,null],[1494,9868,21455],[4290,9869,null],[1210,9870,null],[3527,9871,null],[3562,9872,null],[164,9873,21467],[2842,9874,null],[7,9875,21469],[129,9876,21471],[3330,9877,null],[2322,9878,null],[3083,9879,null],[2891,9880,null],[3516,9881,null],[2315,9882,null],[1164,9883,null],[444,9884,null],[1163,9885,null],[4439,9886,null],[359,9887,null],[151,9888,21488],[68,9889,21490],[828,9890,null],[206,9891,21492],[3575,9892,null],[3522,9893,null],[2411,9894,null],[27,9895,21504],[4284,9896,null],[2338,9897,null],[5010,9898,null],[1138,9899,null],[1426,9900,null],[2412,9901,null],[199,9902,21524],[2471,9903,null],[4823,9904,null],[1415,9905,null],[2994,9906,null],[2410,9907,null],[2651,9908,null],[215,9909,null],[204,9910,null],[2039,9911,null],[2034,9912,null],[4103,9913,null],[3324,9914,null],[2375,9915,null],[2602,9916,null],[4642,9917,null],[3671,9918,null],[2903,9919,null],[4330,9920,null],[3900,9921,null],[3654,9922,21559],[3990,9923,21560],[586,9924,null],[3466,9925,null],[247,9926,21564],[1788,9927,null],[2358,9928,21568],[3564,9929,null],[20,9930,21570],[4854,9931,21573],[4151,9932,null],[2658,9933,null],[4187,9934,null],[4134,9935,21578],[4530,9936,null],[839,9937,null],[4391,9938,null],[5382,9939,21588],[4811,9940,null],[2748,9941,null],[3479,9942,null],[3750,9943,21594],[3894,9944,21595],[2770,9945,null],[4618,9946,null],[1751,9947,null],[4482,9948,null],[4522,9949,null],[978,9950,null],[875,9951,null],[4523,9952,null],[4614,9953,21608],[2386,9954,null],[726,9955,21611],[2316,9956,null],[3322,9957,null],[970,9958,null],[850,9959,null],[4343,9960,null],[1402,9961,null],[1410,9962,null],[3095,9963,null],[347,9964,null],[3756,9965,null],[354,9966,null],[4882,9967,null],[1110,9968,21634],[1223,9969,null],[1799,9970,null],[1786,9971,null],[3467,9972,null],[2171,9973,null],[2076,9974,null],[4871,9975,null],[4859,9976,null],[5202,9977,null],[2087,9978,null],[2674,9979,null],[2742,9980,21650],[2807,9981,null],[827,9982,null],[826,9983,null],[2022,9984,21656],[4834,9985,null],[3490,9986,null],[1062,9987,21666],[203,9988,null],[4138,9989,null],[1014,9990,21676],[738,9991,null],[1451,9992,null],[1211,9993,null],[2166,9994,21686],[834,9995,null],[2418,9996,null],[2458,9997,null],[246,9998,21691],[2170,9999,null],[2178,10000,null],[1554,10001,null],[2026,10002,null],[2027,10003,null],[2135,10004,null],[3558,10005,21704],[1835,10006,null],[1740,10007,null],[4620,10008,null],[3419,10009,null],[4139,10010,null],[2172,10011,null],[3802,10012,null],[3318,10013,21717],[4470,10014,21721],[678,10015,21722],[4402,10016,null],[119,10017,null],[1930,10018,null],[14,10019,21727],[490,10020,null],[690,10021,null],[2650,10022,null],[4710,10023,21735],[4806,10024,21736],[2183,10025,null],[3431,10026,null],[4354,10027,null],[4199,10028,null],[2194,10029,null],[4114,10030,null],[66,10031,null],[1068,10032,null],[202,10033,null],[1254,10034,21755],[466,10035,null],[539,10036,null],[1830,10037,21759],[3346,10038,null],[3154,10039,null],[390,10040,21763],[1452,10041,null],[3126,10042,21765],[4524,10043,null],[822,10044,21769],[60,10045,null],[106,10046,null],[1234,10047,null],[972,10048,null],[1116,10049,null],[538,10050,null],[754,10051,null],[1020,10052,null],[551,10053,null],[684,10054,null],[3394,10055,null],[1314,10056,null],[582,10057,21791],[2604,10058,null],[2364,10059,null],[3570,10060,null],[1787,10061,null],[730,10062,null],[3226,10063,null],[3082,10064,null],[2454,10065,21802],[3202,10066,null],[3106,10067,null],[4858,10068,null],[3366,10069,21808],[58,10070,null],[2652,10071,null],[2663,10072,null],[226,10073,null],[4379,10074,null],[2626,10075,null],[2459,10076,null],[2406,10077,21819],[3370,10078,null],[130,10079,null],[3191,10080,null],[5052,10081,null],[1127,10082,null],[4810,10083,null],[1463,10084,null],[2220,10085,null],[102,10086,21848],[2219,10087,null],[2802,10088,null],[2646,10089,21852],[1307,10090,null],[3442,10091,null],[54,10092,21856],[2231,10093,null],[2362,10094,null],[786,10095,null],[4378,10096,null],[3610,10097,null],[1834,10098,null],[2530,10099,null],[2146,10100,null],[4091,10101,null],[4866,10102,null],[3131,10103,null],[1979,10104,null],[3852,10105,null],[2598,10106,21878],[2074,10107,null],[1906,10108,null],[3174,10109,21883],[3179,10110,null],[3634,10111,null],[2122,10112,null],[3227,10113,null],[4679,10114,null],[18,10115,null],[610,10116,null],[3514,10117,null],[4930,10118,null],[1114,10119,null],[3730,10120,null],[2844,10121,null],[4326,10122,21904],[2242,10123,null],[3660,10124,null],[3659,10125,null],[3143,10126,null],[514,10127,null],[71,10128,null],[2218,10129,null],[3462,10130,21918],[395,10131,null],[594,10132,null],[4914,10133,null],[4572,10134,null],[1356,10135,null],[492,10136,null],[1500,10137,null],[1330,10138,null],[2850,10139,null],[2694,10140,21932],[2722,10141,null],[486,10142,21935],[3282,10143,null],[3846,10144,21937],[922,10145,null],[918,10146,21941],[588,10147,null],[442,10148,null],[4086,10149,21945],[443,10150,null],[599,10151,null],[3250,10152,null],[3803,10153,null],[4092,10154,null],[402,10155,null],[3090,10156,null],[3611,10157,null],[1367,10158,null],[491,10159,null],[1883,10160,null],[3708,10161,null],[1878,10162,21966],[1926,10163,21968],[1042,10164,null],[274,10165,null],[1794,10166,null],[1986,10167,null],[1810,10168,null],[1739,10169,null],[1884,10170,null],[2082,10171,null],[450,10172,null],[3418,10173,null],[4090,10174,null],[4182,10175,21984],[1162,10176,null],[732,10177,null],[2502,10178,21988],[923,10179,null],[2274,10180,null],[298,10181,null],[1506,10182,null],[1350,10183,21994],[1782,10184,21996],[3798,10185,21997],[1931,10186,null],[1991,10187,null],[1974,10188,22007],[2070,10189,22008],[882,10190,null],[780,10191,null],[4860,10192,null],[2795,10193,null],[898,10194,null],[2818,10195,null],[4818,10196,null],[258,10197,null],[2466,10198,null],[4146,10199,null],[263,10200,null],[1954,10201,null],[82,10202,null],[2615,10203,null],[4338,10204,null],[2002,10205,null],[10,10206,null],[3371,10207,null],[4380,10208,null],[2700,10209,null],[3084,10210,null],[3287,10211,null],[2290,10212,null],[2610,10213,null],[1842,10214,null],[1762,10215,null],[2123,10216,null],[3130,10217,null],[3234,10218,null],[1938,10219,null],[498,10220,null],[587,10221,null],[6,10222,22069],[251,10223,null],[210,10224,null],[1978,10225,null],[3383,10226,null],[3666,10227,null],[1858,10228,null],[2124,10229,null],[4422,10230,22082],[4242,10231,null],[4332,10232,null],[3378,10233,null],[3682,10234,null],[1932,10235,null],[778,10236,null],[2118,10237,22092],[1836,10238,null],[162,10239,null],[2130,10240,null],[924,10241,null],[198,10242,22101],[1499,10243,null],[503,10244,null],[534,10245,22106],[3623,10246,null],[34,10247,null],[3132,10248,null],[3138,10249,null],[3606,10250,22113],[3178,10251,null],[870,10252,22115],[2268,10253,null],[418,10254,null],[3270,10255,22120],[2267,10256,null],[647,10257,null],[407,10258,null],[3858,10259,null],[1446,10260,22127],[3468,10261,null],[1302,10262,22131],[1282,10263,null],[1260,10264,null],[946,10265,null],[636,10266,null],[935,10267,null],[2706,10268,null],[178,10269,null],[1943,10270,null],[3372,10271,null],[2363,10272,null],[12,10273,null],[3078,10274,22150],[3228,10275,null],[2266,10276,null],[4188,10277,null],[3474,10278,null],[2098,10279,null],[1271,10280,null],[4098,10281,null],[774,10282,22160],[3276,10283,null],[3702,10284,22163],[1306,10285,null],[2226,10286,null],[4908,10287,null],[5142,10288,22168],[791,10289,null],[155,10290,null],[1362,10291,null],[3420,10292,null],[4812,10293,null],[3618,10294,null],[3186,10295,null],[4945,10296,22180],[3804,10297,null],[4374,10298,22184],[3426,10299,null],[5533,10300,22188],[3414,10301,22190],[4194,10302,null],[5389,10303,22194],[5197,10304,22196],[3906,10305,null],[4717,10306,22200],[5715,10307,22202],[4992,10308,22204],[5616,10309,22206],[8462,10310,22208],[2279,10311,null],[5245,10312,22212],[2214,10313,22214],[5233,10314,22216],[5720,10315,22218],[5240,10316,22220],[4386,10317,null],[2256,10318,22224],[2317,10319,22226],[8481,10320,22228],[2977,10321,22230],[2262,10322,22232],[8327,10323,22234],[8522,10324,22236],[5004,10325,null],[4080,10326,22240],[1882,10327,null],[3504,10328,22244],[4034,10329,22246],[5185,10330,22248],[2029,10331,22250],[8528,10332,22252],[1890,10333,null],[1980,10334,null],[3889,10335,22258],[8992,10336,22260],[3997,10337,22262],[5234,10338,22264],[5665,10339,22266],[8343,10340,22268],[1895,10341,null],[8413,10342,22272],[3901,10343,22274],[4040,10344,22276],[2017,10345,22278],[3222,10346,22280],[3180,10347,null],[4621,10348,22284],[8990,10349,22286],[8945,10350,22288],[2749,10351,22290],[8923,10352,22292],[8911,10353,22294],[8326,10354,22296],[3313,10355,22298],[8981,10356,22300],[1734,10357,22302],[1738,10358,null],[4285,10359,22306],[5725,10360,22308],[1920,10361,22310],[8391,10362,22312],[3325,10363,22314],[8328,10364,22316],[8299,10365,22318],[4998,10366,22320],[2305,10367,22322],[8469,10368,22324],[8400,10369,22326],[4224,10370,22328],[8470,10371,22330],[8513,10372,22332],[8308,10373,22334],[8360,10374,22336],[8329,10375,22338],[5522,10376,22340],[3032,10377,22342],[8291,10378,22344],[4760,10379,22346],[3037,10380,22348],[1746,10381,null],[3510,10382,22352],[8464,10383,22354],[9196,10384,22356],[8907,10385,22358],[5184,10386,22360],[8526,10387,22362],[8494,10388,22364],[8330,10389,22366],[1847,10390,null],[3264,10391,22370],[4273,10392,22372],[5377,10393,22374],[2880,10394,22376],[2737,10395,22378],[5101,10396,22380],[8376,10397,22382],[8361,10398,22384],[8964,10399,22386],[8428,10400,22388],[8928,10401,22390],[8388,10402,22392],[8419,10403,22394],[8518,10404,22396],[8456,10405,22398],[8500,10406,22400],[2640,10407,22402],[8987,10408,22404],[8517,10409,22406],[4704,10410,22408],[8385,10411,22410],[2736,10412,22412],[8346,10413,22414],[8331,10414,22416],[8490,10415,22418],[9302,10416,22420],[8934,10417,22422],[8407,10418,22424],[9178,10419,22426],[8993,10420,22428],[9183,10421,22430],[8515,10422,22432],[8507,10423,22434],[9199,10424,22436],[8345,10425,22438],[8398,10426,22440],[4512,10427,22442],[8349,10428,22444],[8315,10429,22446],[8927,10430,22448],[8414,10431,22450],[8380,10432,22452],[8297,10433,22454],[8423,10434,22456],[8417,10435,22458],[8457,10436,22460],[8411,10437,22462],[8312,10438,22464],[1031,10439,null],[4800,10440,22468],[1542,10441,22470],[1682,10442,22472],[5677,10443,22474],[5521,10444,22476],[1019,10445,null],[1308,10446,null],[4957,10447,22482],[5328,10448,22484],[1398,10449,22486],[1026,10450,null],[5617,10451,22490],[8262,10452,22492],[1458,10453,null],[1354,10454,null],[1405,10455,22498],[8438,10456,22500],[1645,10457,22502],[5485,10458,22504],[8538,10459,22506],[5629,10460,22508],[1319,10461,null],[562,10462,null],[1258,10463,null],[8416,10464,22516],[1688,10465,22518],[1633,10466,22520],[5666,10467,22522],[8942,10468,22524],[1266,10469,null],[642,10470,null],[540,10471,null],[5520,10472,22532],[1681,10473,22534],[779,10474,null],[546,10475,null],[8480,10476,22540],[8421,10477,22542],[802,10478,null],[973,10479,22546],[8524,10480,22548],[8545,10481,22550],[4754,10482,22552],[874,10483,null],[8472,10484,22556],[8409,10485,22558],[1344,10486,22560],[438,10487,22562],[8512,10488,22564],[8926,10489,22566],[887,10490,null],[394,10491,null],[5672,10492,22572],[1122,10493,null],[8975,10494,22576],[685,10495,22578],[9177,10496,22580],[9305,10497,22582],[3456,10498,22584],[624,10499,22586],[8474,10500,22588],[8473,10501,22590],[9174,10502,22592],[455,10503,null],[8525,10504,22596],[1693,10505,22598],[8223,10506,22600],[4753,10507,22602],[5473,10508,22604],[3744,10509,22606],[8404,10510,22608],[8403,10511,22610],[8988,10512,22612],[8264,10513,22614],[8952,10514,22616],[9187,10515,22618],[8482,10516,22620],[8379,10517,22622],[8231,10518,22624],[8530,10519,22626],[9290,10520,22628],[1393,10521,22630],[1201,10522,22632],[4477,10523,22634],[5089,10524,22636],[3612,10525,null],[1018,10526,null],[8943,10527,22642],[8493,10528,22644],[8947,10529,22646],[8502,10530,22648],[8267,10531,22650],[8243,10532,22652],[8279,10533,22654],[8211,10534,22656],[8989,10535,22658],[9181,10536,22660],[3792,10537,22662],[8950,10538,22664],[8259,10539,22666],[8257,10540,22668],[8261,10541,22670],[876,10542,null],[9186,10543,22674],[8499,10544,22676],[5472,10545,22678],[8453,10546,22680],[8235,10547,22682],[8454,10548,22684],[8393,10549,22686],[8458,10550,22688],[8460,10551,22690],[8387,10552,22692],[8944,10553,22694],[8272,10554,22696],[8461,10555,22698],[8486,10556,22700],[8451,10557,22702],[8446,10558,22704],[8389,10559,22706],[8491,10560,22708],[8424,10561,22710],[528,10562,22712],[9184,10563,22714],[8476,10564,22716],[8377,10565,22718],[8383,10566,22720],[311,10567,null],[8969,10568,22724],[3026,10569,22726],[5528,10570,22728],[5714,10571,22730],[1680,10572,22732],[167,10573,null],[322,10574,null],[2893,10575,22738],[9194,10576,22740],[2881,10577,22742],[2989,10578,22744],[5713,10579,22746],[8541,10580,22748],[250,10581,null],[1584,10582,22752],[1549,10583,22754],[8910,10584,22756],[1537,10585,22758],[4765,10586,22760],[300,10587,null],[8484,10588,22764],[59,10589,null],[306,10590,null],[4609,10591,22770],[8535,10592,22772],[8268,10593,22774],[3025,10594,22776],[337,10595,22778],[9208,10596,22780],[156,10597,null],[192,10598,22784],[1213,10599,22786],[9284,10600,22788],[5721,10601,22790],[8237,10602,22792],[961,10603,22794],[8242,10604,22796],[252,10605,null],[8468,10606,22800],[2557,10607,22802],[8539,10608,22804],[8256,10609,22806],[8251,10610,22808],[8483,10611,22810],[8278,10612,22812],[8187,10613,22814],[8534,10614,22816],[150,10615,22818],[8915,10616,22820],[8270,10617,22822],[8544,10618,22824],[4705,10619,22826],[8527,10620,22828],[154,10621,null],[8974,10622,22832],[8514,10623,22834],[9173,10624,22836],[8509,10625,22838],[9172,10626,22840],[9233,10627,22842],[4176,10628,22844],[8341,10629,22846],[4848,10630,22848],[8271,10631,22850],[9240,10632,22852],[5232,10633,22854],[8540,10634,22856],[4465,10635,22858],[8269,10636,22860],[2310,10637,22862],[8350,10638,22864],[8916,10639,22866],[4464,10640,22868],[8373,10641,22870],[8280,10642,22872],[8542,10643,22874],[9197,10644,22876],[8319,10645,22878],[1008,10646,22880],[2208,10647,22882],[8529,10648,22884],[8334,10649,22886],[1632,10650,22888],[5280,10651,22890],[8475,10652,22892],[8505,10653,22894],[8318,10654,22896],[8336,10655,22898],[4128,10656,22900],[8342,10657,22902],[8258,10658,22904],[4608,10659,22906],[8510,10660,22908],[1536,10661,22910],[8991,10662,22912],[8186,10663,22914],[9283,10664,22916],[288,10665,22918],[8954,10666,22920],[8357,10667,22922],[9176,10668,22924],[8492,10669,22926],[2112,10670,22928],[8447,10671,22930],[8516,10672,22932],[2400,10673,22934],[9203,10674,22936],[4656,10675,22938],[8506,10676,22940],[816,10677,22942],[8195,10678,22944],[3757,10679,22946],[8374,10680,22948],[8940,10681,22950],[3985,10682,22952],[673,10683,22954],[8439,10684,22956],[9204,10685,22958],[8352,10686,22960],[3745,10687,22962],[8919,10688,22964],[8375,10689,22966],[4045,10690,22968],[349,10691,22970],[8436,10692,22972],[672,10693,22974],[8366,10694,22976],[2545,10695,22978],[9195,10696,22980],[9334,10697,22982],[8306,10698,22984],[1968,10699,22986],[8255,10700,22988],[11,10701,null],[8253,10702,22992],[3553,10703,22994],[3936,10704,22996],[8999,10705,22998],[8956,10706,23000],[8985,10707,23002],[8961,10708,23004],[1644,10709,null],[8358,10710,23008],[3696,10711,23010],[8433,10712,23012],[8201,10713,23014],[8207,10714,23016],[4033,10715,23018],[9296,10716,23020],[23,10717,null],[8367,10718,23024],[3360,10719,23026],[8996,10720,23028],[1296,10721,23030],[8224,10722,23032],[9285,10723,23034],[8435,10724,23036],[8354,10725,23038],[8508,10726,23040],[8287,10727,23042],[8418,10728,23044],[8543,10729,23046],[3565,10730,23048],[8437,10731,23050],[8983,10732,23052],[8191,10733,23054],[294,10734,23056],[8406,10735,23058],[9205,10736,23060],[8365,10737,23062],[9171,10738,23064],[5664,10739,23066],[8984,10740,23068],[1248,10741,23070],[144,10742,23072],[8348,10743,23074],[8935,10744,23076],[8971,10745,23078],[8370,10746,23080],[8537,10747,23082],[8408,10748,23084],[8932,10749,23086],[1440,10750,23088],[8994,10751,23090],[8353,10752,23092],[9293,10753,23094],[8335,10754,23096],[9189,10755,23098],[8941,10756,23100],[3888,10757,23102],[8332,10758,23104],[8430,10759,23106],[9307,10760,23108],[5136,10761,23110],[8909,10762,23112],[8362,10763,23114],[8412,10764,23116],[5040,10765,23118],[8247,10766,23120],[8489,10767,23122],[8422,10768,23124],[8908,10769,23126],[8295,10770,23128],[8298,10771,23130],[9306,10772,23132],[8301,10773,23134],[8302,10774,23136],[4752,10775,23138],[9304,10776,23140],[8289,10777,23142],[5795,10778,null],[8199,10779,23146],[9308,10780,23148],[8241,10781,23150],[5798,10782,null],[9190,10783,23154],[9175,10784,23156],[8240,10785,23158],[3024,10786,23160],[8427,10787,23162],[8536,10788,23164],[5786,10789,null],[8282,10790,23168],[8415,10791,23170],[4416,10792,23172],[8285,10793,23174],[8478,10794,23176],[8929,10795,23178],[8930,10796,23180],[5804,10797,null],[5780,10798,null],[8239,10799,23186],[8368,10800,23188],[8189,10801,23190],[9200,10802,23192],[8265,10803,23194],[8477,10804,23196],[5783,10805,null],[2928,10806,23200],[8351,10807,23202],[8523,10808,23204],[336,10809,23206],[8317,10810,23208],[8920,10811,23210],[9297,10812,23212],[1392,10813,23214],[8198,10814,23216],[2688,10815,23218],[8968,10816,23220],[8276,10817,23222],[8200,10818,23224],[8310,10819,23226],[3840,10820,23228],[5807,10821,null],[8963,10822,23232],[8204,10823,23234],[8347,10824,23236],[2976,10825,23238],[8369,10826,23240],[8296,10827,23242],[3600,10828,23244],[960,10829,23246],[576,10830,23248],[9287,10831,23250],[8970,10832,23252],[8316,10833,23254],[9303,10834,23256],[9295,10835,23258],[8455,10836,23260],[768,10837,23262],[8410,10838,23264],[8325,10839,23266],[8305,10840,23268],[912,10841,23270],[8467,10842,23272],[8307,10843,23274],[8390,10844,23276],[2160,10845,23278],[8183,10846,23280],[5424,10847,23282],[8463,10848,23284],[9310,10849,23286],[8222,10850,23288],[9311,10851,23290],[8229,10852,23292],[8214,10853,23294],[8303,10854,23296],[2016,10855,23298],[2544,10856,23300],[8286,10857,23302],[8283,10858,23304],[8338,10859,23306],[8959,10860,23308],[8188,10861,23310],[6497,10862,null],[8311,10863,23314],[8293,10864,23316],[9236,10865,23318],[9198,10866,23320],[9170,10867,23322],[8254,10868,23324],[8337,10869,23326],[8946,10870,23328],[8973,10871,23330],[8938,10872,23332],[9241,10873,23334],[8202,10874,23336],[8931,10875,23338],[9185,10876,23340],[8232,10877,23342],[5777,10878,null],[8238,10879,23346],[8449,10880,23348],[9234,10881,23350],[2832,10882,23352],[8215,10883,23354],[9301,10884,23356],[6493,10885,null],[8193,10886,23360],[6495,10887,null],[8955,10888,23364],[8503,10889,23366],[8274,10890,23368],[8359,10891,23370],[8249,10892,23372],[5762,10893,null],[5774,10894,null],[8322,10895,23378],[8498,10896,23380],[8233,10897,23382],[8192,10898,23384],[8273,10899,23386],[3984,10900,23388],[8392,10901,23390],[5771,10902,null],[8386,10903,23394],[8300,10904,23396],[720,10905,23398],[8962,10906,23400],[8181,10907,23402],[9206,10908,23404],[8444,10909,23406],[8205,10910,23408],[8218,10911,23410],[2496,10912,23412],[8320,10913,23414],[8976,10914,23416],[1488,10915,23418],[8384,10916,23420],[9237,10917,23422],[8209,10918,23424],[8340,10919,23426],[1776,10920,23428],[8918,10921,23430],[8324,10922,23432],[480,10923,23434],[8442,10924,23436],[6499,10925,null],[5801,10926,null],[1200,10927,23442],[8997,10928,23444],[9313,10929,23446],[8922,10930,23448],[8532,10931,23450],[8958,10932,23452],[0,10933,23454],[48,10934,23456],[3312,10935,23458],[8448,10936,23460],[8511,10937,23462],[8216,10938,23464],[9212,10939,23466],[8246,10940,23468],[96,10941,23470],[3072,10942,23472],[8217,10943,23474],[8967,10944,23476],[8914,10945,23478],[8479,10946,23480],[432,10947,23482],[8459,10948,23484],[8924,10949,23486],[5768,10950,null],[8321,10951,23490],[8339,10952,23492],[8226,10953,23494],[9235,10954,23496],[9210,10955,23498],[8266,10956,23500],[3120,10957,23502],[5792,10958,null],[8185,10959,23506],[8979,10960,23508],[9299,10961,23510],[9239,10962,23512],[8210,10963,23514],[1152,10964,23516],[8998,10965,23518],[8219,10966,23520],[8227,10967,23522],[9192,10968,23524],[8313,10969,23526],[8344,10970,23528],[3552,10971,23530],[8443,10972,23532],[2064,10973,23534],[8445,10974,23536],[8248,10975,23538],[8487,10976,23540],[8913,10977,23542],[8382,10978,23544],[2352,10979,23546],[8978,10980,23548],[1824,10981,23550],[5789,10982,null],[8213,10983,23554],[9309,10984,23556],[8333,10985,23558],[8426,10986,23560],[8245,10987,23562],[8206,10988,23564],[8395,10989,23566],[5765,10990,null],[8234,10991,23570],[8405,10992,23572],[8323,10993,23574],[8937,10994,23576],[8182,10995,23578],[8960,10996,23580],[4896,10997,23582],[8399,10998,23584],[8397,10999,23586],[8441,11000,23588],[9193,11001,23590],[8180,11002,23592],[8294,11003,23594],[8401,11004,23596],[1728,11005,23598],[8485,11006,23600],[9209,11007,23602],[8396,11008,23604],[1104,11009,23606],[2784,11010,23608],[8497,11011,23610],[8440,11012,23612],[9242,11013,23614],[3168,11014,23616]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-parity.json new file mode 100644 index 0000000000..49604aed0d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/centre/physical-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR193 recipe (source_aligned_local_v4.py --avoid-parity-erasure minimum-weight full matching), in the script's control order.","pairs":[[0,9634,20991],[6,9447,20515],[7,9452,20530],[10,9453,null],[11,9468,null],[12,9469,null],[14,9485,20623],[18,9490,null],[19,9491,20641],[20,9506,20680],[23,9507,null],[27,9523,20731],[33,9530,20747],[34,9531,null],[48,9626,20971],[54,9442,20504],[55,9446,20511],[58,9460,null],[59,9472,null],[60,9473,null],[62,9480,20612],[66,9484,null],[67,9498,20657],[68,9510,20690],[71,9511,null],[75,9518,20720],[81,9522,20727],[82,9539,null],[96,9790,21306],[102,9388,20310],[103,9390,20315],[106,9401,null],[107,9409,null],[108,9410,null],[110,9415,20407],[114,9417,null],[115,9428,20447],[116,9436,20476],[119,9437,null],[123,9519,20722],[129,9520,20723],[130,9521,null],[144,9748,21231],[150,9389,20312],[151,9416,20409],[154,9443,null],[155,9444,null],[156,9445,null],[158,9481,20614],[162,9482,null],[163,9483,20616],[164,9622,20965],[167,9623,null],[171,9624,20967],[177,9627,20975],[178,9638,null],[192,9904,21527],[198,9532,20752],[199,9540,20769],[202,9544,null],[203,9552,null],[204,9553,null],[206,9554,20798],[210,9555,null],[211,9558,20808],[212,9559,20810],[215,9560,null],[219,9561,20812],[225,9569,20842],[226,9570,null],[246,9548,20783],[247,9568,20840],[250,9571,null],[251,9572,null],[252,9573,null],[254,9581,20869],[258,9589,null],[259,9590,20889],[260,9594,20896],[263,9598,null],[267,9602,20916],[273,9603,20917],[274,9604,null],[288,10088,21851],[294,9580,20867],[295,9582,20872],[298,9605,null],[299,9608,null],[300,9609,null],[302,9610,20931],[306,9611,null],[307,9619,20961],[308,9620,20962],[311,9621,null],[315,9625,20969],[321,9635,20993],[322,9636,null],[336,9812,21343],[337,9745,21227],[342,9615,20944],[343,9637,20995],[346,9646,null],[347,9650,null],[348,9654,null],[349,9746,21228],[350,9655,21030],[354,9656,null],[355,9662,21046],[356,9663,21047],[359,9664,null],[363,9666,21052],[369,9671,21061],[370,9672,null],[390,9464,20557],[391,9465,20562],[394,9466,null],[395,9467,null],[396,9471,null],[398,9502,20665],[402,9503,null],[403,9504,20673],[404,9505,20675],[407,9509,null],[411,9545,20778],[417,9546,20779],[418,9547,null],[432,9690,21108],[438,9403,20356],[439,9404,20361],[442,9405,null],[443,9406,null],[444,9408,null],[446,9430,20453],[450,9431,null],[451,9432,20461],[452,9433,20463],[455,9435,null],[459,9541,20772],[465,9542,20773],[466,9543,null],[480,9701,21131],[486,9402,20353],[487,9429,20450],[490,9461,null],[491,9462,null],[492,9463,null],[494,9499,20660],[498,9500,null],[499,9501,20662],[500,9645,21010],[503,9647,null],[507,9648,21019],[513,9649,21020],[514,9651,null],[528,9550,20789],[534,9551,20791],[535,9557,20806],[538,9591,null],[539,9592,null],[540,9593,null],[542,9595,20898],[546,9596,null],[547,9597,20900],[548,9600,20909],[551,9601,null],[555,9607,20926],[561,9741,21210],[562,9751,null],[576,9907,21531],[582,9549,20786],[583,9599,20906],[586,9652,null],[587,9653,null],[588,9657,null],[590,9658,21035],[594,9659,null],[595,9660,21039],[596,9661,21041],[599,9665,null],[603,9678,21077],[609,9688,21102],[610,9698,null],[624,10475,22538],[630,9670,21059],[631,9697,21124],[634,9699,null],[635,9700,null],[636,9708,null],[638,9710,21151],[642,9711,null],[643,9712,21153],[644,9714,21157],[647,9715,null],[651,9716,21159],[657,9717,21162],[658,9718,null],[672,9942,21593],[673,9765,21263],[678,9713,21155],[679,9719,21164],[682,9720,null],[683,9721,null],[684,9722,null],[685,9766,21264],[686,9724,21174],[690,9725,null],[691,9726,21180],[692,9727,21181],[695,9729,null],[699,9733,21192],[705,9753,21241],[706,9762,null],[720,10085,21847],[726,9361,20174],[727,9362,20179],[730,9363,null],[731,9364,null],[732,9366,null],[734,9378,20261],[738,9379,null],[739,9380,20269],[740,9381,20271],[743,9383,null],[747,9515,20711],[753,9516,20712],[754,9517,null],[768,9783,21295],[774,9360,20171],[775,9377,20258],[778,9439,null],[779,9440,null],[780,9441,null],[782,9477,20603],[786,9478,null],[787,9479,20605],[788,9616,20952],[791,9617,null],[795,9618,20954],[801,9673,21064],[802,9674,null],[816,9752,21237],[822,9565,20831],[823,9566,20832],[826,9567,null],[827,9742,null],[828,9743,null],[830,9744,21220],[834,9747,null],[835,9777,21282],[836,9779,21288],[839,9784,null],[843,9785,21298],[849,9786,21299],[850,9787,null],[870,9679,21085],[871,9680,21086],[874,9681,null],[875,9682,null],[876,9683,null],[878,9684,21096],[882,9689,null],[883,9709,21148],[884,9723,21172],[887,9735,null],[891,9736,21197],[897,9737,21198],[898,9898,null],[912,10181,21992],[918,9734,21194],[919,9763,21260],[922,9764,null],[923,9778,null],[924,9788,null],[926,9789,21304],[930,9791,null],[931,9792,21309],[932,9793,21310],[935,9794,null],[939,9800,21326],[945,9801,21327],[946,9802,null],[960,9839,21406],[961,9813,21344],[966,9795,21315],[967,9806,21335],[970,9807,null],[971,9808,null],[972,9809,null],[973,9814,21345],[974,9810,21340],[978,9811,null],[979,9818,21357],[980,9819,21365],[983,9820,null],[987,9821,21367],[993,9822,21374],[994,9823,null],[1008,9685,21098],[1014,9351,20127],[1015,9368,20214],[1018,9385,null],[1019,9386,null],[1020,9387,null],[1022,9412,20398],[1026,9413,null],[1027,9414,20400],[1028,9686,21099],[1031,9687,null],[1035,9728,21183],[1041,9749,21232],[1042,9750,null],[1062,9767,21265],[1063,9780,21291],[1066,9781,null],[1067,9782,null],[1068,9799,null],[1070,9824,21376],[1074,9825,null],[1075,9826,21379],[1076,9827,21380],[1079,9828,null],[1083,9829,21384],[1089,9830,21388],[1090,9842,null],[1104,9908,21533],[1110,9899,21515],[1111,9900,21516],[1114,9901,null],[1115,9902,null],[1116,9903,null],[1118,9905,21528],[1122,9906,null],[1123,9925,21563],[1124,9926,21564],[1127,9927,null],[1131,9928,21568],[1137,9929,21569],[1138,9930,null],[1152,10175,21984],[1158,9768,21268],[1159,9769,21269],[1162,9770,null],[1163,9843,null],[1164,9844,null],[1166,9845,21415],[1170,9846,null],[1171,9847,21417],[1172,9855,21433],[1175,9857,null],[1179,9858,21439],[1185,9859,21440],[1186,9868,null],[1200,9877,21473],[1201,9869,21456],[1206,9856,21435],[1207,9867,21453],[1210,9870,null],[1211,9872,null],[1212,9878,null],[1213,10439,22466],[1214,9879,21475],[1218,9883,null],[1219,9884,21483],[1220,9885,21484],[1223,9886,null],[1227,9887,21487],[1233,9888,21488],[1234,9895,null],[1248,9876,21471],[1254,9796,21320],[1255,9797,21321],[1258,9798,null],[1259,9854,null],[1260,9860,null],[1262,9861,21444],[1266,9862,null],[1267,9863,21446],[1268,9871,21460],[1271,9873,null],[1275,9874,21468],[1281,9875,21469],[1282,9889,null],[1296,10570,22728],[1302,9922,21559],[1303,9923,21560],[1306,9924,null],[1307,9937,null],[1308,9938,null],[1310,9943,21594],[1314,9944,null],[1315,9948,21601],[1316,9949,21602],[1319,9950,null],[1323,9960,21619],[1329,9964,21628],[1330,9965,null],[1344,10082,21838],[1350,9840,21407],[1351,9841,21408],[1354,9890,null],[1355,9891,null],[1356,10083,null],[1358,10084,21840],[1362,10089,null],[1363,10090,21853],[1364,10097,21865],[1367,10098,null],[1371,10099,21867],[1377,10112,21889],[1378,10113,null],[1392,9945,21597],[1393,10441,22470],[1398,9909,21537],[1399,9910,21538],[1402,9911,null],[1403,9939,null],[1404,9940,null],[1405,10444,22476],[1406,9941,21590],[1410,9946,null],[1411,9947,21599],[1412,9954,21610],[1415,9955,null],[1419,9956,21612],[1425,9961,21621],[1426,9962,null],[1440,9966,21630],[1446,9951,21606],[1447,9952,21607],[1450,9953,null],[1451,9957,null],[1452,9958,null],[1454,9959,21616],[1458,9967,null],[1459,9981,21652],[1460,9982,21653],[1463,9983,null],[1467,9990,21676],[1473,9991,21677],[1474,9992,null],[1488,10115,21893],[1494,9864,21449],[1495,9865,21450],[1498,9866,null],[1499,10079,null],[1500,10080,null],[1502,10081,21830],[1506,10086,null],[1507,10087,21849],[1508,10116,21894],[1511,10117,null],[1515,10133,21922],[1521,10134,21923],[1522,10135,null],[1536,10031,21750],[1537,10447,22482],[1542,9896,21505],[1543,9897,21506],[1546,9963,null],[1547,9987,null],[1548,9988,null],[1549,10449,22486],[1550,9989,21668],[1554,9993,null],[1555,9994,21686],[1556,9995,21687],[1559,9996,null],[1563,9997,21690],[1569,9998,21691],[1570,10001,null],[1584,10136,21927],[1590,10114,21891],[1591,10118,21898],[1594,10119,null],[1595,10120,null],[1596,10137,null],[1598,10138,21929],[1602,10142,null],[1603,10143,21936],[1604,10144,21937],[1607,10145,null],[1611,10146,21941],[1617,10147,21942],[1618,10151,null],[1632,10587,22762],[1633,10442,22472],[1638,9968,21634],[1639,9969,21635],[1642,9970,null],[1643,9975,null],[1644,9976,null],[1645,10450,22488],[1646,9977,21646],[1650,9978,null],[1651,9979,21649],[1652,9980,21650],[1655,10014,null],[1659,10015,21722],[1665,10016,21723],[1666,10017,null],[1680,10452,22492],[1681,10457,22502],[1682,10458,22504],[1686,10443,22474],[1687,10451,22490],[1688,10460,22508],[1690,10455,null],[1691,10459,null],[1692,10463,null],[1693,10465,22518],[1694,10466,22520],[1698,10467,null],[1699,10468,22524],[1700,10471,22530],[1703,10473,null],[1707,10474,22536],[1713,10476,22540],[1714,10479,null],[1728,10030,21748],[1734,9448,20517],[1735,9449,20520],[1738,9450,null],[1739,9451,null],[1740,9470,null],[1742,9486,20625],[1746,9487,null],[1747,9488,20630],[1748,9489,20633],[1751,9508,null],[1755,9524,20733],[1761,9525,20736],[1762,9526,null],[1776,9628,20977],[1782,9391,20320],[1783,9392,20323],[1786,9393,null],[1787,9394,null],[1788,9407,null],[1790,9418,20417],[1794,9419,null],[1795,9420,20422],[1796,9421,20425],[1799,9434,null],[1803,9556,20803],[1809,9562,20814],[1810,9563,null],[1824,10046,21772],[1830,9411,20383],[1831,9438,20480],[1834,9474,null],[1835,9475,null],[1836,9476,null],[1838,9512,20694],[1842,9513,null],[1843,9514,20696],[1844,9629,20980],[1847,9630,null],[1851,9631,20985],[1857,9632,20986],[1858,9633,null],[1878,9527,20741],[1879,9528,20742],[1882,9529,null],[1883,9564,null],[1884,9574,null],[1886,9575,20856],[1890,9576,null],[1891,9577,20861],[1892,9578,20862],[1895,9579,null],[1899,9612,20934],[1905,9613,20935],[1906,9614,null],[1920,10331,22250],[1926,9606,20923],[1927,9667,21054],[1930,9668,null],[1931,9669,null],[1932,9675,null],[1934,9676,21068],[1938,9677,null],[1939,9692,21113],[1940,9693,21115],[1943,9694,null],[1947,9695,21119],[1953,9696,21120],[1954,9730,null],[1968,10329,22246],[1974,9691,21110],[1975,9731,21188],[1978,9732,null],[1979,9738,null],[1980,9739,null],[1982,9740,21202],[1986,9754,null],[1987,9755,21244],[1988,9756,21245],[1991,9758,null],[1995,9759,21253],[2001,9760,21254],[2002,9761,null],[2016,9803,21330],[2017,9804,21331],[2022,9757,21248],[2023,9805,21332],[2026,9815,null],[2027,9816,null],[2028,9817,null],[2029,9836,21400],[2030,9831,21390],[2034,9832,null],[2035,9833,21392],[2036,9834,21395],[2039,9837,null],[2043,9838,21402],[2049,9880,21477],[2050,9881,null],[2064,10047,21773],[2070,9352,20141],[2071,9353,20144],[2074,9354,null],[2075,9355,null],[2076,9365,null],[2078,9369,20228],[2082,9370,null],[2083,9371,20233],[2084,9372,20236],[2087,9382,null],[2091,9533,20755],[2097,9534,20756],[2098,9535,null],[2112,10000,21695],[2118,9367,20199],[2119,9384,20286],[2122,9454,null],[2123,9455,null],[2124,9456,null],[2126,9492,20644],[2130,9493,null],[2131,9494,20646],[2132,9639,21001],[2135,9640,null],[2139,9641,21003],[2145,9702,21134],[2146,9703,null],[2160,10139,21931],[2166,9583,20875],[2167,9584,20876],[2170,9585,null],[2171,9771,null],[2172,9772,null],[2174,9773,21275],[2178,9835,null],[2179,9848,21420],[2180,9849,21421],[2183,9850,null],[2187,9882,21479],[2193,9915,21546],[2194,9916,null],[2208,10070,21810],[2214,9704,21136],[2215,9912,21541],[2218,9913,null],[2219,9914,null],[2220,9918,null],[2222,9919,21553],[2226,9920,null],[2227,9921,21555],[2228,9931,21573],[2231,9932,null],[2235,9933,21575],[2241,9971,21638],[2242,9972,null],[2256,10109,21883],[2262,10100,21869],[2263,10101,21870],[2266,10102,null],[2267,10103,null],[2268,10104,null],[2270,10105,21876],[2274,10110,null],[2275,10111,21885],[2276,10121,21903],[2279,10122,null],[2283,10123,21905],[2289,10140,21932],[2290,10141,null],[2305,10311,22210],[2310,9917,21548],[2311,9973,21640],[2314,10004,null],[2315,10005,null],[2316,10006,null],[2317,10313,22214],[2318,10007,21708],[2322,10008,null],[2323,10009,21710],[2324,10011,21715],[2327,10012,null],[2331,10013,21717],[2337,10023,21735],[2338,10024,null],[2352,10002,21700],[2358,9356,20158],[2359,9373,20245],[2362,9395,null],[2363,9396,null],[2364,9397,null],[2366,9422,20434],[2370,9423,null],[2371,9424,20436],[2372,9892,21494],[2375,9893,null],[2379,9894,21496],[2385,9974,21642],[2386,9984,null],[2400,10196,22029],[2406,9985,21657],[2407,9986,21658],[2410,9999,null],[2411,10003,null],[2412,10010,null],[2414,10018,21726],[2418,10019,null],[2419,10025,21737],[2420,10032,21751],[2423,10033,null],[2427,10059,21794],[2433,10063,21800],[2434,10064,null],[2454,10020,21730],[2455,10021,21731],[2458,10022,null],[2459,10060,null],[2460,10061,null],[2462,10062,21798],[2466,10065,null],[2467,10071,21811],[2468,10072,21812],[2471,10076,null],[2475,10077,21819],[2481,10078,21820],[2482,10091,null],[2496,10169,21976],[2502,10148,21944],[2503,10149,21945],[2506,10150,null],[2507,10166,null],[2508,10167,null],[2510,10168,21974],[2514,10170,null],[2515,10171,21978],[2516,10178,21988],[2519,10179,null],[2523,10180,21990],[2529,10184,21996],[2530,10185,null],[2544,10362,22312],[2545,10315,22218],[2550,10048,21774],[2551,10314,22216],[2554,10316,null],[2555,10317,null],[2556,10319,null],[2557,10323,22234],[2558,10322,22232],[2562,10324,null],[2563,10325,22238],[2564,10327,22242],[2567,10330,null],[2571,10332,22252],[2577,10333,22254],[2578,10335,null],[2598,10029,21744],[2599,10037,21759],[2602,10038,null],[2603,10039,null],[2604,10056,null],[2606,10057,21791],[2610,10058,null],[2611,10066,21804],[2612,10073,21814],[2615,10074,null],[2619,10075,21816],[2625,10094,21859],[2626,10095,null],[2640,10346,22280],[2646,10096,21861],[2647,10106,21878],[2650,10107,null],[2651,10108,null],[2652,10127,null],[2654,10128,21913],[2658,10129,null],[2659,10130,21918],[2660,10131,21919],[2663,10132,null],[2667,10160,21964],[2673,10161,21965],[2674,10162,null],[2688,10791,23170],[2694,10182,21993],[2695,10183,21994],[2698,10186,null],[2699,10197,null],[2700,10198,null],[2702,10205,22043],[2706,10206,null],[2707,10207,22045],[2708,10208,22047],[2711,10209,null],[2715,10210,22049],[2721,10211,22052],[2722,10212,null],[2736,10321,22230],[2737,10337,22262],[2742,10338,22264],[2743,10340,22268],[2746,10341,null],[2747,10343,null],[2748,10345,null],[2749,10348,22284],[2750,10349,22286],[2754,10351,null],[2755,10353,22294],[2756,10354,22296],[2759,10356,null],[2763,10357,22302],[2769,10375,22338],[2770,10377,null],[2784,10235,22090],[2790,10043,21768],[2791,10044,21769],[2794,10045,null],[2795,10092,null],[2796,10093,null],[2798,10163,21968],[2802,10164,null],[2803,10165,21970],[2804,10193,22025],[2807,10194,null],[2811,10195,22027],[2817,10199,22033],[2818,10200,null],[2832,10775,23138],[2838,10187,22006],[2839,10188,22007],[2842,10189,null],[2843,10213,null],[2844,10217,null],[2846,10218,22062],[2850,10219,null],[2851,10223,22071],[2852,10224,22072],[2855,10225,null],[2859,10229,22081],[2865,10230,22082],[2866,10231,null],[2880,10359,22306],[2881,10393,22374],[2886,10339,22266],[2887,10347,22282],[2890,10355,null],[2891,10361,null],[2892,10363,null],[2893,10395,22378],[2894,10364,22316],[2898,10365,null],[2899,10367,22322],[2900,10369,22326],[2903,10371,null],[2907,10372,22332],[2913,10373,22334],[2914,10394,null],[2928,10220,22067],[2934,10221,22068],[2935,10222,22069],[2938,10226,null],[2939,10227,null],[2940,10228,null],[2942,10253,22118],[2946,10254,null],[2947,10255,22120],[2948,10268,22142],[2951,10269,null],[2955,10270,22144],[2961,10274,22150],[2962,10275,null],[2976,10589,22766],[2977,10379,22346],[2982,10370,22328],[2983,10378,22344],[2986,10380,null],[2987,10381,null],[2988,10385,null],[2989,10387,22362],[2990,10386,22360],[2994,10388,null],[2995,10389,22366],[2996,10407,22402],[2999,10409,null],[3003,10410,22408],[3009,10411,22410],[3010,10412,null],[3024,10383,22354],[3025,10568,22724],[3026,10569,22726],[3030,10391,22370],[3031,10396,22380],[3032,10576,22740],[3034,10399,null],[3035,10401,null],[3036,10402,null],[3037,10577,22742],[3038,10403,22394],[3042,10404,null],[3043,10567,22722],[3044,10571,22730],[3047,10575,null],[3051,10578,22744],[3057,10579,22746],[3058,10583,null],[3072,10172,21980],[3078,9335,19984],[3079,9336,19987],[3082,9337,null],[3083,9338,null],[3084,9341,null],[3086,9343,20062],[3090,9344,null],[3091,9345,20067],[3092,9346,20070],[3095,9349,null],[3099,9536,20759],[3105,9537,20760],[3106,9538,null],[3120,10256,22122],[3126,9342,20034],[3127,9350,20112],[3130,9457,null],[3131,9458,null],[3132,9459,null],[3134,9495,20648],[3138,9496,null],[3139,9497,20650],[3140,9642,21005],[3143,9643,null],[3147,9644,21007],[3153,9705,21138],[3154,9706,null],[3168,10173,21981],[3174,9586,20879],[3175,9587,20880],[3178,9588,null],[3179,9774,null],[3180,9775,null],[3182,9776,21279],[3186,9851,null],[3187,9852,21425],[3188,9853,21426],[3191,9934,null],[3195,9935,21578],[3201,9936,21579],[3202,10026,null],[3222,9707,21140],[3223,10027,21740],[3226,10028,null],[3227,10040,null],[3228,10041,null],[3230,10042,21765],[3234,10049,null],[3235,10050,21777],[3236,10051,21778],[3239,10052,null],[3243,10067,21806],[3249,10068,21807],[3250,10069,null],[3264,10920,23428],[3270,10124,21907],[3271,10125,21908],[3274,10126,null],[3275,10152,null],[3276,10153,null],[3278,10157,21957],[3282,10158,null],[3283,10159,21959],[3284,10176,21985],[3287,10177,null],[3291,10232,22085],[3297,10233,22086],[3298,10234,null],[3312,10861,23310],[3313,10295,22178],[3318,10053,21783],[3319,10054,21784],[3322,10055,null],[3323,10297,null],[3324,10298,null],[3325,10299,22186],[3326,10301,22190],[3330,10303,null],[3331,10305,22198],[3332,10306,22200],[3335,10307,null],[3339,10309,22206],[3345,10344,22276],[3346,10352,null],[3360,10503,22594],[3366,9339,20001],[3367,9347,20079],[3370,9398,null],[3371,9399,null],[3372,9400,null],[3374,9425,20438],[3378,9426,null],[3379,9427,20440],[3380,10034,21755],[3383,10035,null],[3387,10036,21757],[3393,10154,21953],[3394,10155,null],[3414,10156,21955],[3415,10174,21982],[3418,10201,null],[3419,10214,null],[3420,10215,null],[3422,10216,22058],[3426,10244,null],[3427,10245,22106],[3428,10246,22107],[3431,10259,null],[3435,10260,22127],[3441,10261,22128],[3442,10262,null],[3456,10300,22188],[3462,10238,22096],[3463,10239,22097],[3466,10240,null],[3467,10263,null],[3468,10264,null],[3470,10271,22146],[3474,10272,null],[3475,10273,22148],[3476,10276,22152],[3479,10277,null],[3483,10278,22155],[3489,10279,22156],[3490,10283,null],[3504,10292,22174],[3510,10257,22123],[3511,10258,22124],[3514,10265,null],[3515,10266,null],[3516,10267,null],[3518,10284,22163],[3522,10285,null],[3523,10293,22175],[3524,10294,22176],[3527,10302,null],[3531,10308,22204],[3537,10310,22208],[3538,10328,null],[3552,10733,23054],[3553,10336,22260],[3558,10360,22308],[3559,10368,22324],[3562,10376,null],[3563,10384,null],[3564,10392,null],[3565,10400,22388],[3566,10397,22382],[3570,10405,null],[3571,10408,22404],[3572,10413,22414],[3575,10415,null],[3579,10416,22420],[3585,10417,22422],[3586,10418,null],[3600,10477,22542],[3606,10236,22091],[3607,10237,22092],[3610,10247,null],[3611,10248,null],[3612,10249,null],[3614,10250,22113],[3618,10251,null],[3619,10252,22115],[3620,10280,22158],[3623,10281,null],[3627,10282,22160],[3633,10334,22256],[3634,10342,null],[3654,10350,22288],[3655,10358,22304],[3658,10382,null],[3659,10390,null],[3660,10414,null],[3662,10419,22426],[3666,10422,null],[3667,10423,22434],[3668,10424,22436],[3671,10425,null],[3675,10427,22442],[3681,10430,22448],[3682,10431,null],[3696,10505,22598],[3702,10398,22384],[3703,10406,22400],[3706,10429,null],[3707,10432,null],[3708,10433,null],[3710,10435,22458],[3714,10437,null],[3715,10456,22500],[3716,10462,22512],[3719,10464,null],[3723,10470,22528],[3729,10472,22532],[3730,10478,null],[3744,10461,22510],[3745,10480,22548],[3750,10421,22430],[3751,10469,22526],[3754,10481,null],[3755,10482,null],[3756,10485,null],[3757,10520,22628],[3758,10504,22596],[3762,10507,null],[3763,10509,22606],[3764,10511,22610],[3767,10512,null],[3771,10513,22614],[3777,10515,22618],[3778,10517,null],[3792,10537,22662],[3798,10366,22320],[3799,10374,22336],[3802,10426,null],[3803,10434,null],[3804,10438,null],[3806,10483,22554],[3810,10486,null],[3811,10488,22564],[3812,10489,22566],[3815,10491,null],[3819,10493,22574],[3825,10494,22576],[3826,10496,null],[3840,10523,22634],[3846,10487,22562],[3847,10495,22578],[3850,10497,null],[3851,10499,null],[3852,10502,null],[3854,10521,22630],[3858,10522,null],[3859,10526,22640],[3860,10528,22644],[3863,10529,null],[3867,10530,22648],[3873,10531,22650],[3874,10534,null],[3888,10741,23070],[3889,10679,22946],[3894,10501,22590],[3895,10525,22638],[3898,10533,null],[3899,10536,null],[3900,10538,null],[3901,10680,22948],[3902,10539,22666],[3906,10541,null],[3907,10544,22676],[3908,10545,22678],[3911,10546,null],[3915,10547,22682],[3921,10549,22686],[3922,10683,null],[3936,10696,22980],[3942,10490,22568],[3943,10498,22584],[3946,10506,null],[3947,10510,null],[3948,10514,null],[3950,10518,22624],[3954,10551,null],[3955,10552,22692],[3956,10553,22694],[3959,10554,null],[3963,10555,22698],[3969,10559,22706],[3970,10560,null],[3984,10892,23372],[3985,10682,22952],[3990,10535,22658],[3991,10543,22674],[3994,10684,null],[3995,10685,null],[3996,10688,null],[3997,10690,22968],[3998,10691,22970],[4002,10692,null],[4003,10693,22974],[4004,10698,22984],[4007,10699,null],[4011,10700,22988],[4017,10701,22990],[4018,10704,null],[4033,10712,23012],[4034,10715,23018],[4038,10519,22626],[4039,10527,22642],[4040,10716,23020],[4042,10687,null],[4043,10695,null],[4044,10703,null],[4045,10720,23028],[4046,10706,23000],[4050,10707,null],[4051,10708,23004],[4052,10711,23010],[4055,10714,null],[4059,10719,23026],[4065,10722,23032],[4066,10723,null],[4080,10286,22166],[4086,9340,20003],[4087,9348,20081],[4090,9357,null],[4091,9358,null],[4092,9359,null],[4094,9374,20247],[4098,9375,null],[4099,9376,20249],[4100,10190,22016],[4103,10191,null],[4107,10192,22018],[4113,10202,22037],[4114,10203,null],[4128,10420,22428],[4134,10204,22039],[4135,10241,22100],[4138,10242,null],[4139,10243,null],[4140,10296,null],[4142,10304,22196],[4146,10312,null],[4147,10318,22224],[4148,10320,22228],[4151,10326,null],[4155,10428,22444],[4161,10436,22460],[4162,10440,null],[4176,10508,22604],[4182,10287,22167],[4183,10288,22168],[4186,10445,null],[4187,10446,null],[4188,10448,null],[4190,10453,22494],[4194,10454,null],[4195,10492,22572],[4196,10500,22588],[4199,10516,null],[4203,10540,22668],[4209,10542,22672],[4210,10548,null],[4224,10600,22788],[4230,10524,22636],[4231,10532,22652],[4234,10556,null],[4235,10557,null],[4236,10562,null],[4238,10564,22716],[4242,10565,null],[4243,10599,22786],[4244,10602,22792],[4247,10604,null],[4251,10606,22800],[4257,10607,22802],[4258,10608,null],[4273,10612,22812],[4278,10605,22798],[4279,10610,22808],[4282,10613,null],[4283,10615,null],[4284,10616,null],[4285,10632,22852],[4286,10618,22824],[4290,10620,null],[4291,10621,22830],[4292,10623,22834],[4295,10624,null],[4299,10626,22840],[4305,10628,22844],[4306,10629,null],[4326,10289,22170],[4327,10290,22171],[4330,10291,null],[4331,10484,null],[4332,10550,null],[4334,10558,22704],[4338,10563,null],[4339,10566,22720],[4340,10584,22756],[4343,10588,null],[4347,10590,22768],[4353,10591,22770],[4354,10592,null],[4374,10586,22760],[4375,10594,22776],[4378,10596,null],[4379,10597,null],[4380,10598,null],[4382,10619,22826],[4386,10622,null],[4387,10627,22842],[4388,10630,22848],[4391,10647,null],[4395,10648,22884],[4401,10651,22890],[4402,10652,null],[4416,10792,23172],[4422,10631,22850],[4423,10635,22858],[4426,10636,null],[4427,10638,null],[4428,10639,null],[4430,10640,22868],[4434,10643,null],[4435,10644,22876],[4436,10646,22880],[4439,10663,null],[4443,10664,22916],[4449,10667,22922],[4450,10668,null],[4465,10808,23204],[4470,10637,22862],[4471,10645,22878],[4474,10653,null],[4475,10655,null],[4476,10656,null],[4477,10809,23206],[4478,10659,22906],[4482,10660,null],[4483,10661,22910],[4484,10793,23174],[4487,10796,null],[4491,10797,23182],[4497,10799,23186],[4498,10800,null],[4512,10675,22938],[4518,10595,22778],[4519,10603,22794],[4522,10611,null],[4523,10614,null],[4524,10650,null],[4526,10654,22896],[4530,10658,null],[4531,10662,22912],[4532,10666,22920],[4535,10670,null],[4539,10672,22932],[4545,10674,22936],[4546,10676,null],[4566,10634,22856],[4567,10642,22872],[4570,10669,null],[4571,10677,null],[4572,10776,null],[4574,10777,23142],[4578,10780,null],[4579,10782,23152],[4580,10783,23154],[4583,10784,null],[4587,10785,23158],[4593,10788,23164],[4594,10790,null],[4608,10825,23238],[4609,10812,23212],[4614,10781,23150],[4615,10789,23166],[4618,10810,null],[4619,10813,null],[4620,10816,null],[4621,10817,23222],[4622,10818,23224],[4626,10820,null],[4627,10821,23230],[4628,10824,23236],[4631,10826,null],[4635,10828,23244],[4641,10829,23246],[4642,10832,null],[4656,10841,23270],[4662,10671,22930],[4663,10778,23144],[4666,10786,null],[4667,10794,null],[4668,10798,null],[4670,10801,23190],[4674,10802,null],[4675,10804,23196],[4676,10806,23200],[4679,10839,null],[4683,10840,23268],[4689,10842,23272],[4690,10844,null],[4704,10888,23364],[4710,10805,23198],[4711,10823,23234],[4714,10831,null],[4715,10833,null],[4716,10834,null],[4718,10836,23260],[4722,10856,null],[4723,10857,23302],[4724,10858,23304],[4727,10860,null],[4731,10864,23316],[4737,10865,23318],[4738,10866,null],[4752,10872,23332],[4758,10807,23202],[4759,10815,23218],[4762,10855,null],[4763,10863,null],[4764,10868,null],[4766,10871,23330],[4770,10873,null],[4771,10874,23336],[4772,10876,23340],[4775,10879,null],[4779,10880,23348],[4785,10881,23350],[4786,10882,null],[4806,10561,22710],[4807,10572,22732],[4810,10573,null],[4811,10574,null],[4812,10580,null],[4814,10581,22750],[4818,10582,null],[4819,10633,22854],[4820,10641,22870],[4823,10649,null],[4827,10657,22902],[4833,10665,22918],[4834,10673,null],[4848,10953,23494],[4854,10617,22822],[4855,10625,22838],[4858,10678,null],[4859,10713,null],[4860,10717,null],[4862,10718,23024],[4866,10721,null],[4867,10724,23036],[4868,10725,23038],[4871,10726,null],[4875,10743,23074],[4881,10744,23076],[4882,10745,null],[4896,10926,23440],[4902,10727,23042],[4903,10728,23044],[4906,10729,null],[4907,10732,null],[4908,10734,null],[4910,10735,23058],[4914,10736,null],[4915,10737,23062],[4916,10740,23068],[4919,10742,null],[4923,10759,23106],[4929,10760,23108],[4930,10761,null],[4950,10748,23084],[4951,10749,23086],[4954,10751,null],[4955,10752,null],[4956,10753,null],[4958,10756,23100],[4962,10757,null],[4963,10921,23430],[4964,10923,23434],[4967,10924,null],[4971,10925,23438],[4977,10928,23444],[4978,10929,null],[4992,10764,23116],[4998,10601,22790],[4999,10609,22806],[5002,10697,null],[5003,10702,null],[5004,10705,null],[5006,10709,23006],[5010,10710,null],[5011,10746,23080],[5012,10750,23088],[5015,10754,null],[5019,10758,23104],[5025,10762,23112],[5026,10766,null],[5040,10765,23118],[5046,10730,23048],[5047,10738,23064],[5050,10768,null],[5051,10769,null],[5052,10770,null],[5054,10772,23132],[5058,10773,null],[5059,10875,23338],[5060,10878,23344],[5063,10883,null],[5067,10884,23356],[5073,10886,23360],[5074,10904,null],[5094,10877,23342],[5095,10885,23358],[5098,10889,null],[5099,10891,null],[5100,10893,null],[5102,10896,23380],[5106,10897,null],[5107,10899,23386],[5108,10900,23388],[5111,10901,null],[5115,10967,23522],[5121,10968,23524],[5122,10969,null],[5142,10767,23122],[5143,10859,23306],[5146,10862,null],[5147,10867,null],[5148,10870,null],[5150,10903,23394],[5154,10905,null],[5155,10907,23402],[5156,10908,23404],[5159,10911,null],[5163,10912,23412],[5169,10913,23414],[5170,10915,null],[5190,10869,23326],[5191,10887,23362],[5194,10895,null],[5195,10935,null],[5196,10936,null],[5198,10937,23462],[5202,10939,null],[5203,10940,23468],[5204,10943,23474],[5207,10944,null],[5211,10945,23478],[5217,10947,23482],[5218,10948,null],[5238,10919,23426],[5239,10927,23442],[5242,10931,null],[5243,10932,null],[5280,10830,23248],[5286,10585,22758],[5287,10593,22774],[5290,10681,null],[5291,10686,null],[5292,10689,null],[5294,10694,22976],[5298,10747,null],[5299,10755,23098],[5300,10763,23114],[5303,10771,null],[5307,10774,23136],[5313,10827,23242],[5314,10835,null],[5334,10731,23050],[5335,10739,23066],[5338,10811,null],[5339,10814,null],[5340,10819,null],[5342,10822,23232],[5346,10843,null],[5347,10845,23278],[5348,10848,23284],[5351,10849,null],[5355,10851,23290],[5361,10852,23292],[5362,10853,null],[5382,10837,23262],[5383,10970,23528],[5386,10971,null],[5387,10972,null],[5388,10976,null],[5390,10977,23542],[5394,10978,null],[5395,10979,23546],[5396,10980,23548],[5424,10847,23282],[5430,10795,23178],[5431,10803,23194],[5434,10952,null],[5435,10954,null],[5436,10955,null],[5438,10956,23500],[5442,10960,null],[5443,10961,23510],[5444,10962,23512],[5447,10963,null],[5451,10964,23516],[5478,10938,23464],[5479,10946,23480],[5526,10922,23432],[5527,10930,23448],[5574,10779,23146],[5575,10787,23162],[5578,10850,null],[5579,10906,null],[5580,10914,null],[5582,10916,23420],[5616,10890,23368],[5622,10898,23384],[5762,10894,null],[5765,10902,null],[5768,10909,null],[5771,10910,null],[5774,10917,null],[5777,10918,null],[5780,10838,null],[5783,10846,null],[5786,10854,null],[5789,10974,null],[5792,10942,null],[5795,10950,null],[5798,10934,null],[5801,10951,null],[5804,10933,null],[5807,10941,null],[6493,10949,null],[6495,10957,null],[6497,10958,null],[6499,11013,null],[8180,11002,23592],[8182,10987,23562],[8183,11010,23608],[8185,10959,23506],[8187,10999,23586],[8188,10973,23534],[8191,10981,23550],[8193,10983,23554],[8195,11001,23590],[8198,10985,23558],[8204,10975,23538],[8205,11007,23602],[8206,10988,23564],[8211,10995,23578],[8213,10991,23570],[8214,10986,23560],[8219,10966,23520],[8247,11003,23594],[8262,11004,23596],[8294,11011,23610],[8312,11000,23588],[8315,10984,23556],[8318,11009,23606],[8319,10982,23552],[8323,10993,23574],[8329,10965,23518],[8331,11008,23604],[8350,10989,23566],[8361,10992,23572],[8377,10996,23580],[8383,11012,23612],[8395,10997,23582],[8399,10990,23568],[8409,11014,23616],[8426,10994,23576],[8445,10998,23584],[8485,11006,23600],[9242,11005,23598]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-mw.json new file mode 100644 index 0000000000..b41b6c69ce --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-parity.json new file mode 100644 index 0000000000..20277d9e6f --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/kernel-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen kernel pairs of the frame flow on this layer (complex_frame_flow.py --witness --recycle-kernels).","kernel_pairs":[[5251,0,12146,0],[5261,0,11980,0]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/matching-arcs.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/matching-arcs.json new file mode 100644 index 0000000000..38a9ebcde5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/matching-arcs.json @@ -0,0 +1 @@ +{"description":"Frozen carrier arcs of the source-aligned word (discovery/make_layer.py step 2): deterministic HK carrier matching (PR200/233 harness, ordering reverse) on query donors plus PR162 extension; checked by compile_closure.","matching_arcs":[[5401,12894],[5402,11998],[5403,12300],[5406,10850],[5407,10974],[5408,12414],[5409,11303],[5410,11654],[5411,10988],[5413,11122],[5416,11026],[5417,10848],[5418,12938],[5421,11512],[5422,11866],[5423,11231],[5424,10926],[5425,11144],[5427,11206],[5429,11392],[5431,10913],[5432,11076],[5433,10868],[5434,12700],[5435,12176],[5436,13032],[5437,11444],[5440,11178],[5441,11513],[5444,11398],[5445,10996],[5448,10981],[5450,11536],[5452,11948],[5455,11780],[5456,11314],[5457,12520],[5460,11770],[5462,11668],[5463,12360],[5465,11662],[5467,11102],[5468,11994],[5469,11057],[5470,12160],[5471,10878],[5472,11013],[5473,11934],[5474,11089],[5475,10970],[5476,10975],[5478,11552],[5479,11260],[5480,12340],[5482,11684],[5484,11196],[5485,11726],[5486,11174],[5487,11962],[5488,11264],[5489,11918],[5491,11135],[5492,13033],[5493,11017],[5494,12896],[5495,11800],[5499,11418],[5500,10994],[5501,11090],[5502,11126],[5503,11556],[5504,11394],[5505,11046],[5506,11041],[5507,11691],[5509,11582],[5510,11642],[5511,11988],[5512,12146],[5514,12332],[5515,12980],[5516,12199],[5518,13198],[5519,10928],[5521,11442],[5522,11038],[5524,11283],[5525,11183],[5527,11504],[5528,11084],[5530,11503],[5531,11274],[5532,12076],[5534,11820],[5535,11360],[5536,11270],[5537,11114],[5538,12704],[5540,11161],[5542,11867],[5543,11298],[5544,12416],[5545,13104],[5546,11824],[5548,11108],[5550,11151],[5551,11524],[5552,11670],[5553,11040],[5555,11171],[5556,11846],[5557,11358],[5558,11142],[5559,11300],[5560,11454],[5562,12090],[5563,12365],[5564,11131],[5566,13062],[5567,12868],[5568,12786],[5570,12348],[5571,11364],[5574,12274],[5575,13004],[5577,11342],[5579,11386],[5580,12399],[5582,10979],[5583,12138],[5585,12716],[5589,11448],[5590,13154],[5591,11625],[5592,12460],[5593,11436],[5594,11768],[5595,11570],[5600,11365],[5601,11796],[5602,11869],[5605,11388],[5606,11362],[5607,11156],[5608,11370],[5609,11692],[5612,11610],[5614,11306],[5615,11050],[5616,12462],[5617,11566],[5618,11289],[5619,11514],[5620,12050],[5621,11852],[5622,12026],[5624,11295],[5626,12150],[5627,12746],[5628,11400],[5629,11744],[5632,12382],[5634,11103],[5636,11251],[5637,11352],[5639,12834],[5640,11756],[5641,10964],[5642,10965],[5643,11746],[5644,12706],[5645,11876],[5647,12384],[5649,11521],[5651,11598],[5652,11368],[5654,11924],[5655,12122],[5656,12068],[5657,11832],[5658,12012],[5661,11402],[5662,12166],[5663,11095],[5664,11534],[5667,11457],[5668,11505],[5669,11276],[5670,11538],[5674,12546],[5677,11706],[5678,11563],[5679,11718],[5680,11498],[5681,11430],[5683,11734],[5685,12070],[5686,11947],[5688,11018],[5689,11510],[5690,11509],[5691,11713],[5701,11401],[5702,11613],[5703,12063],[5706,12042],[5707,11371],[5708,11633],[5710,12067],[5713,11956],[5715,12106],[5716,11912],[5720,12346],[5721,11844],[5722,12034],[5724,12288],[5726,11406],[5727,11677],[5728,11506],[5729,12223],[5730,11202],[5732,11672],[5733,11638],[5734,12110],[5736,11378],[5737,13060],[5738,11082],[5741,11233],[5743,11507],[5744,11938],[5745,12762],[5748,11722],[5749,12410],[5750,12321],[5754,11674],[5756,11138],[5759,12033],[5760,11609],[5761,11213],[5762,12718],[5764,11621],[5765,11379],[5766,12016],[5767,13206],[5769,11560],[5770,12240],[5772,12349],[5773,12678],[5776,11450],[5777,11305],[5779,11952],[5782,10917],[5783,12824],[5784,12320],[5785,12608],[5786,12116],[5787,12632],[5789,11209],[5794,12188],[5795,11729],[5796,12638],[5797,13142],[5798,11754],[5799,10995],[5800,11807],[5802,11813],[5803,11732],[5804,11890],[5806,13018],[5808,11646],[5809,13048],[5810,11635],[5811,11707],[5813,11496],[5814,12924],[5815,11489],[5817,11438],[5821,12606],[5822,12380],[5823,11986],[5825,11487],[5826,11624],[5827,12970],[5828,13120],[5830,11708],[5831,12516],[5833,11353],[5834,11872],[5836,11778],[5837,12001],[5838,12776],[5840,12534],[5845,11916],[5846,12018],[5847,11169],[5848,12424],[5849,11474],[5850,12304],[5851,12614],[5852,12588],[5853,12616],[5855,11375],[5856,11494],[5858,12969],[5862,11167],[5864,13084],[5865,13130],[5868,11738],[5869,11192],[5870,12930],[5871,12009],[5873,11720],[5874,12750],[5875,12512],[5876,11858],[5878,12100],[5879,12654],[5880,12201],[5881,11690],[5883,12612],[5892,11479],[5894,11168],[5895,12306],[5896,12758],[5899,11343],[5902,12720],[5903,11497],[5904,11673],[5906,11410],[5907,11094],[5908,11910],[5911,11836],[5912,12172],[5916,11586],[5917,11266],[5918,11976],[5920,11755],[5921,12956],[5925,11794],[5926,11562],[5930,11851],[5931,13192],[5932,11933],[5933,12104],[5934,11950],[5936,12693],[5937,11019],[5939,12352],[5941,11207],[5943,12264],[5944,12184],[5946,12642],[5947,12102],[5948,11749],[5949,12880],[5950,12124],[5954,12260],[5957,12726],[5963,12730],[5964,11608],[5965,12371],[5972,11443],[5973,12000],[5977,12328],[5979,12091],[5980,12437],[5981,11408],[5982,13058],[5983,12790],[5984,11256],[5985,12784],[5986,11774],[5987,12002],[5990,11751],[5991,13118],[5995,12028],[5996,12810],[5998,12082],[6004,11212],[6005,11462],[6009,12618],[6010,12914],[6011,11389],[6012,12554],[6013,12330],[6018,12210],[6019,12099],[6022,12648],[6023,13043],[6026,12480],[6027,11828],[6028,12470],[6033,12576],[6035,12794],[6042,12218],[6043,11792],[6044,12768],[6049,12476],[6055,11641],[6059,12904],[6060,12918],[6061,12468],[6062,12344],[6063,12874],[6066,12828],[6067,12536],[6070,12506],[6072,11850],[6079,12186],[6084,13230],[6085,11693],[6087,13096],[6090,12886],[6092,12316],[6099,12474],[6102,12976],[6104,11459],[6105,12498],[6108,12968],[6109,13160],[6110,12202],[6111,12558],[6114,11484],[6115,11797],[6117,11614],[6120,12200],[6121,13219],[6122,12136],[6123,12744],[6125,12548],[6126,12142],[6127,12564],[6129,11765],[6132,12742],[6137,12991],[6139,12313],[6140,12668],[6142,12770],[6143,12376],[6147,12374],[6149,12345],[6152,13024],[6154,13052],[6157,13078],[6163,12455],[6165,13232],[6167,12979],[6169,12578],[6174,11587],[6175,12504],[6177,12502],[6179,12856],[6182,12080],[6186,12426],[6193,12992],[6195,12973],[6196,12266],[6199,11798],[6200,12658],[6201,11216],[6202,13210],[6205,13184],[6206,12549],[6208,12844],[6209,12727],[6212,13042],[6214,12065],[6217,13203],[6218,12646],[6219,13188],[6221,12858],[6222,12664],[6226,12623],[6231,12734],[6234,12847],[6235,12128],[6236,12421],[6237,13122],[6240,12876],[6241,12540],[6242,13056],[6245,12561],[6246,12666],[6248,12797],[6249,12982],[6250,12108],[6259,12503],[6260,12584],[6262,12539],[6263,11750],[6265,12957],[6266,12669],[6267,11925],[6272,11338],[6277,13119],[6279,13110],[6281,12505],[6285,11374],[6291,11346],[6309,12920],[6313,12322],[6316,13026],[6317,12723],[6320,11351],[6322,12796],[6330,12713],[6335,11715],[6343,12007],[6344,12353],[6346,12759],[6349,13144],[6351,13050],[6352,12998],[6357,13063],[6375,13134],[6381,13092],[6382,12952],[6387,13002],[6394,13126],[6400,11339],[6404,12622],[6406,11347],[6408,13086],[6409,13163],[6417,10914],[6418,11288],[6419,12872],[6420,11686],[6421,12154],[6430,12818],[6432,11688],[6446,12610],[6447,12214],[6464,12722],[6492,12675],[6494,12777],[6504,12905],[6510,11478],[6516,12870],[6519,13140],[6542,12922],[6586,12407],[6606,12931],[6622,13408],[6623,13506],[6624,13414],[6625,27812],[6626,13258],[6627,13350],[6628,13417],[6629,13262],[6630,13464],[6631,13352],[6632,13550],[6633,13358],[6634,13292],[6635,13298],[6636,13564],[6637,13624],[6638,13334],[6639,27803],[6640,13297],[6641,13429],[6642,27808],[6643,13282],[6644,13398],[6645,13268],[6647,13338],[6648,13356],[6649,13498],[6653,13594],[6655,13612],[6656,13348],[6657,13604],[6658,13598],[6659,13574],[6660,13718],[6661,13688],[6662,13680],[6663,13317],[6664,13456],[6666,13316],[6667,13641],[6668,13378],[6669,13428],[6670,13566],[6671,13341],[6672,13303],[6673,13370],[6675,13372],[6676,13302],[6677,13330],[6678,13546],[6679,13440],[6680,13405],[6681,13560],[6682,13396],[6683,13618],[6684,13465],[6686,13586],[6688,13360],[6689,13468],[6690,13548],[6691,13642],[6692,13304],[6693,13722],[6695,13538],[6696,13634],[6697,13480],[6699,13744],[6700,13622],[6702,13436],[6703,13486],[6705,13368],[6706,13556],[6707,13690],[6708,13452],[6709,13444],[6710,13441],[6712,13662],[6713,13592],[6714,13438],[6715,13502],[6718,13394],[6719,13644],[6720,13508],[6723,13454],[6724,13478],[6726,13596],[6727,13466],[6728,27818],[6730,13540],[6731,13638],[6732,13698],[6734,13482],[6735,13682],[6736,13467],[6737,13284],[6738,13656],[6740,13501],[6742,13539],[6744,13446],[6745,13730],[6746,13450],[6747,13670],[6748,13528],[6749,13515],[6751,13389],[6752,13461],[6753,13606],[6756,13664],[6758,13620],[6760,13531],[6761,13616],[6762,13614],[6764,13511],[6766,13579],[6767,13510],[6768,13591],[6773,13580],[6775,13687],[6776,13518],[6777,13748],[6779,13752],[6780,13336],[6783,13734],[6784,13676],[6785,13386],[6787,13738],[6788,13332],[6792,13696],[6793,13513],[6794,13637],[6795,27832],[6797,13563],[6798,27809],[6800,13678],[6802,13706],[6806,13740],[6812,13632],[6819,27824],[6820,13672],[6823,13426],[6825,13344],[6826,13732],[6828,13567],[6832,13701],[6834,13627],[6835,13716],[6844,13602],[6845,13631],[6850,13597],[6864,27817],[6871,13590],[6878,13920],[6879,14018],[6880,13926],[6881,27858],[6882,13770],[6883,13862],[6884,13929],[6885,13774],[6886,13976],[6887,13864],[6888,14062],[6889,13870],[6890,13804],[6891,13810],[6892,14076],[6893,14136],[6894,13846],[6895,27849],[6896,13809],[6897,13941],[6898,27854],[6899,13794],[6900,13910],[6901,13780],[6903,13850],[6904,13868],[6905,14010],[6909,14106],[6911,14124],[6912,13860],[6913,14116],[6914,14110],[6915,14086],[6916,14230],[6917,14200],[6918,14192],[6919,13829],[6920,13968],[6922,13828],[6923,14153],[6924,13890],[6925,13940],[6926,14078],[6927,13853],[6928,13815],[6929,13882],[6931,13884],[6932,13814],[6933,13842],[6934,14058],[6935,13952],[6936,13917],[6937,14072],[6938,13908],[6939,14130],[6940,13977],[6942,14098],[6944,13872],[6945,13980],[6946,14060],[6947,14154],[6948,13816],[6949,14234],[6951,14050],[6952,14146],[6953,13992],[6955,14256],[6956,14134],[6958,13948],[6959,13998],[6961,13880],[6962,14068],[6963,14202],[6964,13964],[6965,13956],[6966,13953],[6968,14174],[6969,14104],[6970,13950],[6971,14014],[6974,13906],[6975,14156],[6976,14020],[6979,13966],[6980,13990],[6982,14108],[6983,13978],[6984,27864],[6986,14052],[6987,14150],[6988,14210],[6990,13994],[6991,14194],[6992,13979],[6993,13796],[6994,14168],[6996,14013],[6998,14051],[7000,13958],[7001,14242],[7002,13962],[7003,14182],[7004,14040],[7005,14027],[7007,13901],[7008,13973],[7009,14118],[7012,14176],[7014,14132],[7016,14043],[7017,14128],[7018,14126],[7020,14023],[7022,14091],[7023,14022],[7024,14103],[7029,14092],[7031,14199],[7032,14030],[7033,14260],[7035,14264],[7036,13848],[7039,14246],[7040,14188],[7041,13898],[7043,14250],[7044,13844],[7048,14208],[7049,14025],[7050,14149],[7051,27878],[7053,14075],[7054,27855],[7056,14190],[7058,14218],[7062,14252],[7068,14144],[7075,27870],[7076,14184],[7079,13938],[7081,13856],[7082,14244],[7084,14079],[7088,14213],[7090,14139],[7091,14228],[7100,14114],[7101,14143],[7106,14109],[7120,27863],[7127,14102],[7134,14432],[7135,14530],[7136,14438],[7137,27904],[7138,14282],[7139,14374],[7140,14441],[7141,14286],[7142,14488],[7143,14376],[7144,14574],[7145,14382],[7146,14316],[7147,14322],[7148,14588],[7149,14648],[7150,14358],[7151,27895],[7152,14321],[7153,14453],[7154,27900],[7155,14306],[7156,14422],[7157,14292],[7159,14362],[7160,14380],[7161,14522],[7165,14618],[7167,14636],[7168,14372],[7169,14628],[7170,14622],[7171,14598],[7172,14742],[7173,14712],[7174,14704],[7175,14341],[7176,14480],[7178,14340],[7179,14665],[7180,14402],[7181,14452],[7182,14590],[7183,14365],[7184,14327],[7185,14394],[7187,14396],[7188,14326],[7189,14354],[7190,14570],[7191,14464],[7192,14429],[7193,14584],[7194,14420],[7195,14642],[7196,14489],[7198,14610],[7200,14384],[7201,14492],[7202,14572],[7203,14666],[7204,14328],[7205,14746],[7207,14562],[7208,14658],[7209,14504],[7211,14768],[7212,14646],[7214,14460],[7215,14510],[7217,14392],[7218,14580],[7219,14714],[7220,14476],[7221,14468],[7222,14465],[7224,14686],[7225,14616],[7226,14462],[7227,14526],[7230,14418],[7231,14668],[7232,14532],[7235,14478],[7236,14502],[7238,14620],[7239,14490],[7240,27910],[7242,14564],[7243,14662],[7244,14722],[7246,14506],[7247,14706],[7248,14491],[7249,14308],[7250,14680],[7252,14525],[7254,14563],[7256,14470],[7257,14754],[7258,14474],[7259,14694],[7260,14552],[7261,14539],[7263,14413],[7264,14485],[7265,14630],[7268,14688],[7270,14644],[7272,14555],[7273,14640],[7274,14638],[7276,14535],[7278,14603],[7279,14534],[7280,14615],[7285,14604],[7287,14711],[7288,14542],[7289,14772],[7291,14776],[7292,14360],[7295,14758],[7296,14700],[7297,14410],[7299,14762],[7300,14356],[7304,14720],[7305,14537],[7306,14661],[7307,27924],[7309,14587],[7310,27901],[7312,14702],[7314,14730],[7318,14764],[7324,14656],[7331,27916],[7332,14696],[7335,14450],[7337,14368],[7338,14756],[7340,14591],[7344,14725],[7346,14651],[7347,14740],[7356,14626],[7357,14655],[7362,14621],[7376,27909],[7383,14614],[7390,14944],[7391,15042],[7392,14950],[7393,27950],[7394,14794],[7395,14886],[7396,14953],[7397,14798],[7398,15000],[7399,14888],[7400,15086],[7401,14894],[7402,14828],[7403,14834],[7404,15100],[7405,15160],[7406,14870],[7407,27941],[7408,14833],[7409,14965],[7410,27946],[7411,14818],[7412,14934],[7413,14804],[7415,14874],[7416,14892],[7417,15034],[7421,15130],[7423,15148],[7424,14884],[7425,15140],[7426,15134],[7427,15110],[7428,15254],[7429,15224],[7430,15216],[7431,14853],[7432,14992],[7434,14852],[7435,15177],[7436,14914],[7437,14964],[7438,15102],[7439,14877],[7440,14839],[7441,14906],[7443,14908],[7444,14838],[7445,14866],[7446,15082],[7447,14976],[7448,14941],[7449,15096],[7450,14932],[7451,15154],[7452,15001],[7454,15122],[7456,14896],[7457,15004],[7458,15084],[7459,15178],[7460,14840],[7461,15258],[7463,15074],[7464,15170],[7465,15016],[7467,15280],[7468,15158],[7470,14972],[7471,15022],[7473,14904],[7474,15092],[7475,15226],[7476,14988],[7477,14980],[7478,14977],[7480,15198],[7481,15128],[7482,14974],[7483,15038],[7486,14930],[7487,15180],[7488,15044],[7491,14990],[7492,15014],[7494,15132],[7495,15002],[7496,27956],[7498,15076],[7499,15174],[7500,15234],[7502,15018],[7503,15218],[7504,15003],[7505,14820],[7506,15192],[7508,15037],[7510,15075],[7512,14982],[7513,15266],[7514,14986],[7515,15206],[7516,15064],[7517,15051],[7519,14925],[7520,14997],[7521,15142],[7524,15200],[7526,15156],[7528,15067],[7529,15152],[7530,15150],[7532,15047],[7534,15115],[7535,15046],[7536,15127],[7541,15116],[7543,15223],[7544,15054],[7545,15284],[7547,15288],[7548,14872],[7551,15270],[7552,15212],[7553,14922],[7555,15274],[7556,14868],[7560,15232],[7561,15049],[7562,15173],[7563,27970],[7565,15099],[7566,27947],[7568,15214],[7570,15242],[7574,15276],[7580,15168],[7587,27962],[7588,15208],[7591,14962],[7593,14880],[7594,15268],[7596,15103],[7600,15237],[7602,15163],[7603,15252],[7612,15138],[7613,15167],[7618,15133],[7632,27955],[7639,15126],[7646,15456],[7647,15554],[7648,15462],[7649,27996],[7650,15306],[7651,15398],[7652,15465],[7653,15310],[7654,15512],[7655,15400],[7656,15598],[7657,15406],[7658,15340],[7659,15346],[7660,15612],[7661,15672],[7662,15382],[7663,27987],[7664,15345],[7665,15477],[7666,27992],[7667,15330],[7668,15446],[7669,15316],[7671,15386],[7672,15404],[7673,15546],[7677,15642],[7679,15660],[7680,15396],[7681,15652],[7682,15646],[7683,15622],[7684,15766],[7685,15736],[7686,15728],[7687,15365],[7688,15504],[7690,15364],[7691,15689],[7692,15426],[7693,15476],[7694,15614],[7695,15389],[7696,15351],[7697,15418],[7699,15420],[7700,15350],[7701,15378],[7702,15594],[7703,15488],[7704,15453],[7705,15608],[7706,15444],[7707,15666],[7708,15513],[7710,15634],[7712,15408],[7713,15516],[7714,15596],[7715,15690],[7716,15352],[7717,15770],[7719,15586],[7720,15682],[7721,15528],[7723,15792],[7724,15670],[7726,15484],[7727,15534],[7729,15416],[7730,15604],[7731,15738],[7732,15500],[7733,15492],[7734,15489],[7736,15710],[7737,15640],[7738,15486],[7739,15550],[7742,15442],[7743,15692],[7744,15556],[7747,15502],[7748,15526],[7750,15644],[7751,15514],[7752,28002],[7754,15588],[7755,15686],[7756,15746],[7758,15530],[7759,15730],[7760,15515],[7761,15332],[7762,15704],[7764,15549],[7766,15587],[7768,15494],[7769,15778],[7770,15498],[7771,15718],[7772,15576],[7773,15563],[7775,15437],[7776,15509],[7777,15654],[7780,15712],[7782,15668],[7784,15579],[7785,15664],[7786,15662],[7788,15559],[7790,15627],[7791,15558],[7792,15639],[7797,15628],[7799,15735],[7800,15566],[7801,15796],[7803,15800],[7804,15384],[7807,15782],[7808,15724],[7809,15434],[7811,15786],[7812,15380],[7816,15744],[7817,15561],[7818,15685],[7819,28016],[7821,15611],[7822,27993],[7824,15726],[7826,15754],[7830,15788],[7836,15680],[7843,28008],[7844,15720],[7847,15474],[7849,15392],[7850,15780],[7852,15615],[7856,15749],[7858,15675],[7859,15764],[7868,15650],[7869,15679],[7874,15645],[7888,28001],[7895,15638],[7902,15968],[7903,16066],[7904,15974],[7905,28042],[7906,15818],[7907,15910],[7908,15977],[7909,15822],[7910,16024],[7911,15912],[7912,16110],[7913,15918],[7914,15852],[7915,15858],[7916,16124],[7917,16184],[7918,15894],[7919,28033],[7920,15857],[7921,15989],[7922,28038],[7923,15842],[7924,15958],[7925,15828],[7927,15898],[7928,15916],[7929,16058],[7933,16154],[7935,16172],[7936,15908],[7937,16164],[7938,16158],[7939,16134],[7940,16278],[7941,16248],[7942,16240],[7943,15877],[7944,16016],[7946,15876],[7947,16201],[7948,15938],[7949,15988],[7950,16126],[7951,15901],[7952,15863],[7953,15930],[7955,15932],[7956,15862],[7957,15890],[7958,16106],[7959,16000],[7960,15965],[7961,16120],[7962,15956],[7963,16178],[7964,16025],[7966,16146],[7968,15920],[7969,16028],[7970,16108],[7971,16202],[7972,15864],[7973,16282],[7975,16098],[7976,16194],[7977,16040],[7979,16304],[7980,16182],[7982,15996],[7983,16046],[7985,15928],[7986,16116],[7987,16250],[7988,16012],[7989,16004],[7990,16001],[7992,16222],[7993,16152],[7994,15998],[7995,16062],[7998,15954],[7999,16204],[8000,16068],[8003,16014],[8004,16038],[8006,16156],[8007,16026],[8008,28048],[8010,16100],[8011,16198],[8012,16258],[8014,16042],[8015,16242],[8016,16027],[8017,15844],[8018,16216],[8020,16061],[8022,16099],[8024,16006],[8025,16290],[8026,16010],[8027,16230],[8028,16088],[8029,16075],[8031,15949],[8032,16021],[8033,16166],[8036,16224],[8038,16180],[8040,16091],[8041,16176],[8042,16174],[8044,16071],[8046,16139],[8047,16070],[8048,16151],[8053,16140],[8055,16247],[8056,16078],[8057,16308],[8059,16312],[8060,15896],[8063,16294],[8064,16236],[8065,15946],[8067,16298],[8068,15892],[8072,16256],[8073,16073],[8074,16197],[8075,28062],[8077,16123],[8078,28039],[8080,16238],[8082,16266],[8086,16300],[8092,16192],[8099,28054],[8100,16232],[8103,15986],[8105,15904],[8106,16292],[8108,16127],[8112,16261],[8114,16187],[8115,16276],[8124,16162],[8125,16191],[8130,16157],[8144,28047],[8151,16150],[8158,16480],[8159,16578],[8160,16486],[8161,28088],[8162,16330],[8163,16422],[8164,16489],[8165,16334],[8166,16536],[8167,16424],[8168,16622],[8169,16430],[8170,16364],[8171,16370],[8172,16636],[8173,16696],[8174,16406],[8175,28079],[8176,16369],[8177,16501],[8178,28084],[8179,16354],[8180,16470],[8181,16340],[8183,16410],[8184,16428],[8185,16570],[8189,16666],[8191,16684],[8192,16420],[8193,16676],[8194,16670],[8195,16646],[8196,16790],[8197,16760],[8198,16752],[8199,16389],[8200,16528],[8202,16388],[8203,16713],[8204,16450],[8205,16500],[8206,16638],[8207,16413],[8208,16375],[8209,16442],[8211,16444],[8212,16374],[8213,16402],[8214,16618],[8215,16512],[8216,16477],[8217,16632],[8218,16468],[8219,16690],[8220,16537],[8222,16658],[8224,16432],[8225,16540],[8226,16620],[8227,16714],[8228,16376],[8229,16794],[8231,16610],[8232,16706],[8233,16552],[8235,16816],[8236,16694],[8238,16508],[8239,16558],[8241,16440],[8242,16628],[8243,16762],[8244,16524],[8245,16516],[8246,16513],[8248,16734],[8249,16664],[8250,16510],[8251,16574],[8254,16466],[8255,16716],[8256,16580],[8259,16526],[8260,16550],[8262,16668],[8263,16538],[8264,28094],[8266,16612],[8267,16710],[8268,16770],[8270,16554],[8271,16754],[8272,16539],[8273,16356],[8274,16728],[8276,16573],[8278,16611],[8280,16518],[8281,16802],[8282,16522],[8283,16742],[8284,16600],[8285,16587],[8287,16461],[8288,16533],[8289,16678],[8292,16736],[8294,16692],[8296,16603],[8297,16688],[8298,16686],[8300,16583],[8302,16651],[8303,16582],[8304,16663],[8309,16652],[8311,16759],[8312,16590],[8313,16820],[8315,16824],[8316,16408],[8319,16806],[8320,16748],[8321,16458],[8323,16810],[8324,16404],[8328,16768],[8329,16585],[8330,16709],[8331,28108],[8333,16635],[8334,28085],[8336,16750],[8338,16778],[8342,16812],[8348,16704],[8355,28100],[8356,16744],[8359,16498],[8361,16416],[8362,16804],[8364,16639],[8368,16773],[8370,16699],[8371,16788],[8380,16674],[8381,16703],[8386,16669],[8400,28093],[8407,16662],[8414,16992],[8415,17090],[8416,16998],[8417,28134],[8418,16842],[8419,16934],[8420,17001],[8421,16846],[8422,17048],[8423,16936],[8424,17134],[8425,16942],[8426,16876],[8427,16882],[8428,17148],[8429,17208],[8430,16918],[8431,28125],[8432,16881],[8433,17013],[8434,28130],[8435,16866],[8436,16982],[8437,16852],[8439,16922],[8440,16940],[8441,17082],[8445,17178],[8447,17196],[8448,16932],[8449,17188],[8450,17182],[8451,17158],[8452,17302],[8453,17272],[8454,17264],[8455,16901],[8456,17040],[8458,16900],[8459,17225],[8460,16962],[8461,17012],[8462,17150],[8463,16925],[8464,16887],[8465,16954],[8467,16956],[8468,16886],[8469,16914],[8470,17130],[8471,17024],[8472,16989],[8473,17144],[8474,16980],[8475,17202],[8476,17049],[8478,17170],[8480,16944],[8481,17052],[8482,17132],[8483,17226],[8484,16888],[8485,17306],[8487,17122],[8488,17218],[8489,17064],[8491,17328],[8492,17206],[8494,17020],[8495,17070],[8497,16952],[8498,17140],[8499,17274],[8500,17036],[8501,17028],[8502,17025],[8504,17246],[8505,17176],[8506,17022],[8507,17086],[8510,16978],[8511,17228],[8512,17092],[8515,17038],[8516,17062],[8518,17180],[8519,17050],[8520,28140],[8522,17124],[8523,17222],[8524,17282],[8526,17066],[8527,17266],[8528,17051],[8529,16868],[8530,17240],[8532,17085],[8534,17123],[8536,17030],[8537,17314],[8538,17034],[8539,17254],[8540,17112],[8541,17099],[8543,16973],[8544,17045],[8545,17190],[8548,17248],[8550,17204],[8552,17115],[8553,17200],[8554,17198],[8556,17095],[8558,17163],[8559,17094],[8560,17175],[8565,17164],[8567,17271],[8568,17102],[8569,17332],[8571,17336],[8572,16920],[8575,17318],[8576,17260],[8577,16970],[8579,17322],[8580,16916],[8584,17280],[8585,17097],[8586,17221],[8587,28154],[8589,17147],[8590,28131],[8592,17262],[8594,17290],[8598,17324],[8604,17216],[8611,28146],[8612,17256],[8615,17010],[8617,16928],[8618,17316],[8620,17151],[8624,17285],[8626,17211],[8627,17300],[8636,17186],[8637,17215],[8642,17181],[8656,28139],[8663,17174],[8670,17504],[8671,17602],[8672,17510],[8673,28180],[8674,17354],[8675,17446],[8676,17513],[8677,17358],[8678,17560],[8679,17448],[8680,17646],[8681,17454],[8682,17388],[8683,17394],[8684,17660],[8685,17720],[8686,17430],[8687,28171],[8688,17393],[8689,17525],[8690,28176],[8691,17378],[8692,17494],[8693,17364],[8695,17434],[8696,17452],[8697,17594],[8701,17690],[8703,17708],[8704,17444],[8705,17700],[8706,17694],[8707,17670],[8708,17814],[8709,17784],[8710,17776],[8711,17413],[8712,17552],[8714,17412],[8715,17737],[8716,17474],[8717,17524],[8718,17662],[8719,17437],[8720,17399],[8721,17466],[8723,17468],[8724,17398],[8725,17426],[8726,17642],[8727,17536],[8728,17501],[8729,17656],[8730,17492],[8731,17714],[8732,17561],[8734,17682],[8736,17456],[8737,17564],[8738,17644],[8739,17738],[8740,17400],[8741,17818],[8743,17634],[8744,17730],[8745,17576],[8747,17840],[8748,17718],[8750,17532],[8751,17582],[8753,17464],[8754,17652],[8755,17786],[8756,17548],[8757,17540],[8758,17537],[8760,17758],[8761,17688],[8762,17534],[8763,17598],[8766,17490],[8767,17740],[8768,17604],[8771,17550],[8772,17574],[8774,17692],[8775,17562],[8776,28186],[8778,17636],[8779,17734],[8780,17794],[8782,17578],[8783,17778],[8784,17563],[8785,17380],[8786,17752],[8788,17597],[8790,17635],[8792,17542],[8793,17826],[8794,17546],[8795,17766],[8796,17624],[8797,17611],[8799,17485],[8800,17557],[8801,17702],[8804,17760],[8806,17716],[8808,17627],[8809,17712],[8810,17710],[8812,17607],[8814,17675],[8815,17606],[8816,17687],[8821,17676],[8823,17783],[8824,17614],[8825,17844],[8827,17848],[8828,17432],[8831,17830],[8832,17772],[8833,17482],[8835,17834],[8836,17428],[8840,17792],[8841,17609],[8842,17733],[8843,28200],[8845,17659],[8846,28177],[8848,17774],[8850,17802],[8854,17836],[8860,17728],[8867,28192],[8868,17768],[8871,17522],[8873,17440],[8874,17828],[8876,17663],[8880,17797],[8882,17723],[8883,17812],[8892,17698],[8893,17727],[8898,17693],[8912,28185],[8919,17686],[8926,18016],[8927,18114],[8928,18022],[8929,28226],[8930,17866],[8931,17958],[8932,18025],[8933,17870],[8934,18072],[8935,17960],[8936,18158],[8937,17966],[8938,17900],[8939,17906],[8940,18172],[8941,18232],[8942,17942],[8943,28217],[8944,17905],[8945,18037],[8946,28222],[8947,17890],[8948,18006],[8949,17876],[8951,17946],[8952,17964],[8953,18106],[8957,18202],[8959,18220],[8960,17956],[8961,18212],[8962,18206],[8963,18182],[8964,18326],[8965,18296],[8966,18288],[8967,17925],[8968,18064],[8970,17924],[8971,18249],[8972,17986],[8973,18036],[8974,18174],[8975,17949],[8976,17911],[8977,17978],[8979,17980],[8980,17910],[8981,17938],[8982,18154],[8983,18048],[8984,18013],[8985,18168],[8986,18004],[8987,18226],[8988,18073],[8990,18194],[8992,17968],[8993,18076],[8994,18156],[8995,18250],[8996,17912],[8997,18330],[8999,18146],[9000,18242],[9001,18088],[9003,18352],[9004,18230],[9006,18044],[9007,18094],[9009,17976],[9010,18164],[9011,18298],[9012,18060],[9013,18052],[9014,18049],[9016,18270],[9017,18200],[9018,18046],[9019,18110],[9022,18002],[9023,18252],[9024,18116],[9027,18062],[9028,18086],[9030,18204],[9031,18074],[9032,28232],[9034,18148],[9035,18246],[9036,18306],[9038,18090],[9039,18290],[9040,18075],[9041,17892],[9042,18264],[9044,18109],[9046,18147],[9048,18054],[9049,18338],[9050,18058],[9051,18278],[9052,18136],[9053,18123],[9055,17997],[9056,18069],[9057,18214],[9060,18272],[9062,18228],[9064,18139],[9065,18224],[9066,18222],[9068,18119],[9070,18187],[9071,18118],[9072,18199],[9077,18188],[9079,18295],[9080,18126],[9081,18356],[9083,18360],[9084,17944],[9087,18342],[9088,18284],[9089,17994],[9091,18346],[9092,17940],[9096,18304],[9097,18121],[9098,18245],[9099,28246],[9101,18171],[9102,28223],[9104,18286],[9106,18314],[9110,18348],[9116,18240],[9123,28238],[9124,18280],[9127,18034],[9129,17952],[9130,18340],[9132,18175],[9136,18309],[9138,18235],[9139,18324],[9148,18210],[9149,18239],[9154,18205],[9168,28231],[9175,18198],[9182,18528],[9183,18626],[9184,18534],[9185,28272],[9186,18378],[9187,18470],[9188,18537],[9189,18382],[9190,18584],[9191,18472],[9192,18670],[9193,18478],[9194,18412],[9195,18418],[9196,18684],[9197,18744],[9198,18454],[9199,28263],[9200,18417],[9201,18549],[9202,28268],[9203,18402],[9204,18518],[9205,18388],[9207,18458],[9208,18476],[9209,18618],[9213,18714],[9215,18732],[9216,18468],[9217,18724],[9218,18718],[9219,18694],[9220,18838],[9221,18808],[9222,18800],[9223,18437],[9224,18576],[9226,18436],[9227,18761],[9228,18498],[9229,18548],[9230,18686],[9231,18461],[9232,18423],[9233,18490],[9235,18492],[9236,18422],[9237,18450],[9238,18666],[9239,18560],[9240,18525],[9241,18680],[9242,18516],[9243,18738],[9244,18585],[9246,18706],[9248,18480],[9249,18588],[9250,18668],[9251,18762],[9252,18424],[9253,18842],[9255,18658],[9256,18754],[9257,18600],[9259,18864],[9260,18742],[9262,18556],[9263,18606],[9265,18488],[9266,18676],[9267,18810],[9268,18572],[9269,18564],[9270,18561],[9272,18782],[9273,18712],[9274,18558],[9275,18622],[9278,18514],[9279,18764],[9280,18628],[9283,18574],[9284,18598],[9286,18716],[9287,18586],[9288,28278],[9290,18660],[9291,18758],[9292,18818],[9294,18602],[9295,18802],[9296,18587],[9297,18404],[9298,18776],[9300,18621],[9302,18659],[9304,18566],[9305,18850],[9306,18570],[9307,18790],[9308,18648],[9309,18635],[9311,18509],[9312,18581],[9313,18726],[9316,18784],[9318,18740],[9320,18651],[9321,18736],[9322,18734],[9324,18631],[9326,18699],[9327,18630],[9328,18711],[9333,18700],[9335,18807],[9336,18638],[9337,18868],[9339,18872],[9340,18456],[9343,18854],[9344,18796],[9345,18506],[9347,18858],[9348,18452],[9352,18816],[9353,18633],[9354,18757],[9355,28292],[9357,18683],[9358,28269],[9360,18798],[9362,18826],[9366,18860],[9372,18752],[9379,28284],[9380,18792],[9383,18546],[9385,18464],[9386,18852],[9388,18687],[9392,18821],[9394,18747],[9395,18836],[9404,18722],[9405,18751],[9410,18717],[9424,28277],[9431,18710],[9438,19040],[9439,19138],[9440,19046],[9441,28318],[9442,18890],[9443,18982],[9444,19049],[9445,18894],[9446,19096],[9447,18984],[9448,19182],[9449,18990],[9450,18924],[9451,18930],[9452,19196],[9453,19256],[9454,18966],[9455,28309],[9456,18929],[9457,19061],[9458,28314],[9459,18914],[9460,19030],[9461,18900],[9463,18970],[9464,18988],[9465,19130],[9469,19226],[9471,19244],[9472,18980],[9473,19236],[9474,19230],[9475,19206],[9476,19350],[9477,19320],[9478,19312],[9479,18949],[9480,19088],[9482,18948],[9483,19273],[9484,19010],[9485,19060],[9486,19198],[9487,18973],[9488,18935],[9489,19002],[9491,19004],[9492,18934],[9493,18962],[9494,19178],[9495,19072],[9496,19037],[9497,19192],[9498,19028],[9499,19250],[9500,19097],[9502,19218],[9504,18992],[9505,19100],[9506,19180],[9507,19274],[9508,18936],[9509,19354],[9511,19170],[9512,19266],[9513,19112],[9515,19376],[9516,19254],[9518,19068],[9519,19118],[9521,19000],[9522,19188],[9523,19322],[9524,19084],[9525,19076],[9526,19073],[9528,19294],[9529,19224],[9530,19070],[9531,19134],[9534,19026],[9535,19276],[9536,19140],[9539,19086],[9540,19110],[9542,19228],[9543,19098],[9544,28324],[9546,19172],[9547,19270],[9548,19330],[9550,19114],[9551,19314],[9552,19099],[9553,18916],[9554,19288],[9556,19133],[9558,19171],[9560,19078],[9561,19362],[9562,19082],[9563,19302],[9564,19160],[9565,19147],[9567,19021],[9568,19093],[9569,19238],[9572,19296],[9574,19252],[9576,19163],[9577,19248],[9578,19246],[9580,19143],[9582,19211],[9583,19142],[9584,19223],[9589,19212],[9591,19319],[9592,19150],[9593,19380],[9595,19384],[9596,18968],[9599,19366],[9600,19308],[9601,19018],[9603,19370],[9604,18964],[9608,19328],[9609,19145],[9610,19269],[9611,28338],[9613,19195],[9614,28315],[9616,19310],[9618,19338],[9622,19372],[9628,19264],[9635,28330],[9636,19304],[9639,19058],[9641,18976],[9642,19364],[9644,19199],[9648,19333],[9650,19259],[9651,19348],[9660,19234],[9661,19263],[9666,19229],[9680,28323],[9687,19222],[9694,19552],[9695,19650],[9696,19558],[9697,28364],[9698,19402],[9699,19494],[9700,19561],[9701,19406],[9702,19608],[9703,19496],[9704,19694],[9705,19502],[9706,19436],[9707,19442],[9708,19708],[9709,19768],[9710,19478],[9711,28355],[9712,19441],[9713,19573],[9714,28360],[9715,19426],[9716,19542],[9717,19412],[9719,19482],[9720,19500],[9721,19642],[9725,19738],[9727,19756],[9728,19492],[9729,19748],[9730,19742],[9731,19718],[9732,19862],[9733,19832],[9734,19824],[9735,19461],[9736,19600],[9738,19460],[9739,19785],[9740,19522],[9741,19572],[9742,19710],[9743,19485],[9744,19447],[9745,19514],[9747,19516],[9748,19446],[9749,19474],[9750,19690],[9751,19584],[9752,19549],[9753,19704],[9754,19540],[9755,19762],[9756,19609],[9758,19730],[9760,19504],[9761,19612],[9762,19692],[9763,19786],[9764,19448],[9765,19866],[9767,19682],[9768,19778],[9769,19624],[9771,19888],[9772,19766],[9774,19580],[9775,19630],[9777,19512],[9778,19700],[9779,19834],[9780,19596],[9781,19588],[9782,19585],[9784,19806],[9785,19736],[9786,19582],[9787,19646],[9790,19538],[9791,19788],[9792,19652],[9795,19598],[9796,19622],[9798,19740],[9799,19610],[9800,28370],[9802,19684],[9803,19782],[9804,19842],[9806,19626],[9807,19826],[9808,19611],[9809,19428],[9810,19800],[9812,19645],[9814,19683],[9816,19590],[9817,19874],[9818,19594],[9819,19814],[9820,19672],[9821,19659],[9823,19533],[9824,19605],[9825,19750],[9828,19808],[9830,19764],[9832,19675],[9833,19760],[9834,19758],[9836,19655],[9838,19723],[9839,19654],[9840,19735],[9845,19724],[9847,19831],[9848,19662],[9849,19892],[9851,19896],[9852,19480],[9855,19878],[9856,19820],[9857,19530],[9859,19882],[9860,19476],[9864,19840],[9865,19657],[9866,19781],[9867,28384],[9869,19707],[9870,28361],[9872,19822],[9874,19850],[9878,19884],[9884,19776],[9891,28376],[9892,19816],[9895,19570],[9897,19488],[9898,19876],[9900,19711],[9904,19845],[9906,19771],[9907,19860],[9916,19746],[9917,19775],[9922,19741],[9936,28369],[9943,19734],[9950,20064],[9951,20162],[9952,20070],[9953,28410],[9954,19914],[9955,20006],[9956,20073],[9957,19918],[9958,20120],[9959,20008],[9960,20206],[9961,20014],[9962,19948],[9963,19954],[9964,20220],[9965,20280],[9966,19990],[9967,28401],[9968,19953],[9969,20085],[9970,28406],[9971,19938],[9972,20054],[9973,19924],[9975,19994],[9976,20012],[9977,20154],[9981,20250],[9983,20268],[9984,20004],[9985,20260],[9986,20254],[9987,20230],[9988,20374],[9989,20344],[9990,20336],[9991,19973],[9992,20112],[9994,19972],[9995,20297],[9996,20034],[9997,20084],[9998,20222],[9999,19997],[10000,19959],[10001,20026],[10003,20028],[10004,19958],[10005,19986],[10006,20202],[10007,20096],[10008,20061],[10009,20216],[10010,20052],[10011,20274],[10012,20121],[10014,20242],[10016,20016],[10017,20124],[10018,20204],[10019,20298],[10020,19960],[10021,20378],[10023,20194],[10024,20290],[10025,20136],[10027,20400],[10028,20278],[10030,20092],[10031,20142],[10033,20024],[10034,20212],[10035,20346],[10036,20108],[10037,20100],[10038,20097],[10040,20318],[10041,20248],[10042,20094],[10043,20158],[10046,20050],[10047,20300],[10048,20164],[10051,20110],[10052,20134],[10054,20252],[10055,20122],[10056,28416],[10058,20196],[10059,20294],[10060,20354],[10062,20138],[10063,20338],[10064,20123],[10065,19940],[10066,20312],[10068,20157],[10070,20195],[10072,20102],[10073,20386],[10074,20106],[10075,20326],[10076,20184],[10077,20171],[10079,20045],[10080,20117],[10081,20262],[10084,20320],[10086,20276],[10088,20187],[10089,20272],[10090,20270],[10092,20167],[10094,20235],[10095,20166],[10096,20247],[10101,20236],[10103,20343],[10104,20174],[10105,20404],[10107,20408],[10108,19992],[10111,20390],[10112,20332],[10113,20042],[10115,20394],[10116,19988],[10120,20352],[10121,20169],[10122,20293],[10123,28430],[10125,20219],[10126,28407],[10128,20334],[10130,20362],[10134,20396],[10140,20288],[10147,28422],[10148,20328],[10151,20082],[10153,20000],[10154,20388],[10156,20223],[10160,20357],[10162,20283],[10163,20372],[10172,20258],[10173,20287],[10178,20253],[10192,28415],[10199,20246],[10206,20576],[10207,20674],[10208,20582],[10209,28456],[10210,20426],[10211,20518],[10212,20585],[10213,20430],[10214,20632],[10215,20520],[10216,20718],[10217,20526],[10218,20460],[10219,20466],[10220,20732],[10221,20792],[10222,20502],[10223,28447],[10224,20465],[10225,20597],[10226,28452],[10227,20450],[10228,20566],[10229,20436],[10231,20506],[10232,20524],[10233,20666],[10237,20762],[10239,20780],[10240,20516],[10241,20772],[10242,20766],[10243,20742],[10244,20886],[10245,20856],[10246,20848],[10247,20485],[10248,20624],[10250,20484],[10251,20809],[10252,20546],[10253,20596],[10254,20734],[10255,20509],[10256,20471],[10257,20538],[10259,20540],[10260,20470],[10261,20498],[10262,20714],[10263,20608],[10264,20573],[10265,20728],[10266,20564],[10267,20786],[10268,20633],[10270,20754],[10272,20528],[10273,20636],[10274,20716],[10275,20810],[10276,20472],[10277,20890],[10279,20706],[10280,20802],[10281,20648],[10283,20912],[10284,20790],[10286,20604],[10287,20654],[10289,20536],[10290,20724],[10291,20858],[10292,20620],[10293,20612],[10294,20609],[10296,20830],[10297,20760],[10298,20606],[10299,20670],[10302,20562],[10303,20812],[10304,20676],[10307,20622],[10308,20646],[10310,20764],[10311,20634],[10312,28462],[10314,20708],[10315,20806],[10316,20866],[10318,20650],[10319,20850],[10320,20635],[10321,20452],[10322,20824],[10324,20669],[10326,20707],[10328,20614],[10329,20898],[10330,20618],[10331,20838],[10332,20696],[10333,20683],[10335,20557],[10336,20629],[10337,20774],[10340,20832],[10342,20788],[10344,20699],[10345,20784],[10346,20782],[10348,20679],[10350,20747],[10351,20678],[10352,20759],[10357,20748],[10359,20855],[10360,20686],[10361,20916],[10363,20920],[10364,20504],[10367,20902],[10368,20844],[10369,20554],[10371,20906],[10372,20500],[10376,20864],[10377,20681],[10378,20805],[10379,28476],[10381,20731],[10382,28453],[10384,20846],[10386,20874],[10390,20908],[10396,20800],[10403,28468],[10404,20840],[10407,20594],[10409,20512],[10410,20900],[10412,20735],[10416,20869],[10418,20795],[10419,20884],[10428,20770],[10429,20799],[10434,20765],[10448,28461],[10455,20758],[10462,21088],[10463,21186],[10464,21094],[10465,28502],[10466,20938],[10467,21030],[10468,21097],[10469,20942],[10470,21144],[10471,21032],[10472,21230],[10473,21038],[10474,20972],[10475,20978],[10476,21244],[10477,21304],[10478,21014],[10479,28493],[10480,20977],[10481,21109],[10482,28498],[10483,20962],[10484,21078],[10485,20948],[10487,21018],[10488,21036],[10489,21178],[10493,21274],[10495,21292],[10496,21028],[10497,21284],[10498,21278],[10499,21254],[10500,21398],[10501,21368],[10502,21360],[10503,20997],[10504,21136],[10506,20996],[10507,21321],[10508,21058],[10509,21108],[10510,21246],[10511,21021],[10512,20983],[10513,21050],[10515,21052],[10516,20982],[10517,21010],[10518,21226],[10519,21120],[10520,21085],[10521,21240],[10522,21076],[10523,21298],[10524,21145],[10526,21266],[10528,21040],[10529,21148],[10530,21228],[10531,21322],[10532,20984],[10533,21402],[10535,21218],[10536,21314],[10537,21160],[10539,21424],[10540,21302],[10542,21116],[10543,21166],[10545,21048],[10546,21236],[10547,21370],[10548,21132],[10549,21124],[10550,21121],[10552,21342],[10553,21272],[10554,21118],[10555,21182],[10558,21074],[10559,21324],[10560,21188],[10563,21134],[10564,21158],[10566,21276],[10567,21146],[10568,28508],[10570,21220],[10571,21318],[10572,21378],[10574,21162],[10575,21362],[10576,21147],[10577,20964],[10578,21336],[10580,21181],[10582,21219],[10584,21126],[10585,21410],[10586,21130],[10587,21350],[10588,21208],[10589,21195],[10591,21069],[10592,21141],[10593,21286],[10596,21344],[10598,21300],[10600,21211],[10601,21296],[10602,21294],[10604,21191],[10606,21259],[10607,21190],[10608,21271],[10613,21260],[10615,21367],[10616,21198],[10617,21428],[10619,21432],[10620,21016],[10623,21414],[10624,21356],[10625,21066],[10627,21418],[10628,21012],[10632,21376],[10633,21193],[10634,21317],[10635,28522],[10637,21243],[10638,28499],[10640,21358],[10642,21386],[10646,21420],[10652,21312],[10659,28514],[10660,21352],[10663,21106],[10665,21024],[10666,21412],[10668,21247],[10672,21381],[10674,21307],[10675,21396],[10684,21282],[10685,21311],[10690,21277],[10704,28507],[10711,21270],[10718,21600],[10719,21698],[10720,21606],[10721,28548],[10722,21450],[10723,21542],[10724,21609],[10725,21454],[10726,21656],[10727,21544],[10728,21742],[10729,21550],[10730,21484],[10731,21490],[10732,21756],[10733,21816],[10734,21526],[10735,28539],[10736,21489],[10737,21621],[10738,28544],[10739,21474],[10740,21590],[10741,21460],[10743,21530],[10744,21548],[10745,21690],[10749,21786],[10751,21804],[10752,21540],[10753,21796],[10754,21790],[10755,21766],[10756,21910],[10757,21880],[10758,21872],[10759,21509],[10760,21648],[10762,21508],[10763,21833],[10764,21570],[10765,21620],[10766,21758],[10767,21533],[10768,21495],[10769,21562],[10771,21564],[10772,21494],[10773,21522],[10774,21738],[10775,21632],[10776,21597],[10777,21752],[10778,21588],[10779,21810],[10780,21657],[10782,21778],[10784,21552],[10785,21660],[10786,21740],[10787,21834],[10788,21496],[10789,21914],[10791,21730],[10792,21826],[10793,21672],[10795,21936],[10796,21814],[10798,21628],[10799,21678],[10801,21560],[10802,21748],[10803,21882],[10804,21644],[10805,21636],[10806,21633],[10808,21854],[10809,21784],[10810,21630],[10811,21694],[10814,21586],[10815,21836],[10816,21700],[10819,21646],[10820,21670],[10822,21788],[10823,21658],[10824,28554],[10826,21732],[10827,21830],[10828,21890],[10830,21674],[10831,21874],[10832,21659],[10833,21476],[10834,21848],[10836,21693],[10838,21731],[10840,21638],[10841,21922],[10842,21642],[10843,21862],[10844,21720],[10845,21707],[10847,21581],[10848,21653],[10849,21798],[10852,21856],[10854,21812],[10856,21723],[10857,21808],[10858,21806],[10860,21703],[10862,21771],[10863,21702],[10864,21783],[10869,21772],[10871,21879],[10872,21710],[10873,21940],[10875,21944],[10876,21528],[10879,21926],[10880,21868],[10881,21578],[10883,21930],[10884,21524],[10888,21888],[10889,21705],[10890,21829],[10891,28568],[10893,21755],[10894,28545],[10896,21870],[10898,21898],[10902,21932],[10908,21824],[10915,28560],[10916,21864],[10919,21618],[10921,21536],[10922,21924],[10924,21759],[10928,21893],[10930,21819],[10931,21908],[10940,21794],[10941,21823],[10946,21789],[10960,28553],[10967,21782],[10974,22112],[10975,22210],[10976,22118],[10977,28594],[10978,21962],[10979,22054],[10980,22121],[10981,21966],[10982,22168],[10983,22056],[10984,22254],[10985,22062],[10986,21996],[10987,22002],[10988,22268],[10989,22328],[10990,22038],[10991,28585],[10992,22001],[10993,22133],[10994,28590],[10995,21986],[10996,22102],[10997,21972],[10999,22042],[11000,22060],[11001,22202],[11005,22298],[11007,22316],[11008,22052],[11009,22308],[11010,22302],[11011,22278],[11012,22422],[11013,22392],[11014,22384],[11015,22021],[11016,22160],[11018,22020],[11019,22345],[11020,22082],[11021,22132],[11022,22270],[11023,22045],[11024,22007],[11025,22074],[11027,22076],[11028,22006],[11029,22034],[11030,22250],[11031,22144],[11032,22109],[11033,22264],[11034,22100],[11035,22322],[11036,22169],[11038,22290],[11040,22064],[11041,22172],[11042,22252],[11043,22346],[11044,22008],[11045,22426],[11047,22242],[11048,22338],[11049,22184],[11051,22448],[11052,22326],[11054,22140],[11055,22190],[11057,22072],[11058,22260],[11059,22394],[11060,22156],[11061,22148],[11062,22145],[11064,22366],[11065,22296],[11066,22142],[11067,22206],[11070,22098],[11071,22348],[11072,22212],[11075,22158],[11076,22182],[11078,22300],[11079,22170],[11080,28600],[11082,22244],[11083,22342],[11084,22402],[11086,22186],[11087,22386],[11088,22171],[11089,21988],[11090,22360],[11092,22205],[11094,22243],[11096,22150],[11097,22434],[11098,22154],[11099,22374],[11100,22232],[11101,22219],[11103,22093],[11104,22165],[11105,22310],[11108,22368],[11110,22324],[11112,22235],[11113,22320],[11114,22318],[11116,22215],[11118,22283],[11119,22214],[11120,22295],[11125,22284],[11127,22391],[11128,22222],[11129,22452],[11131,22456],[11132,22040],[11135,22438],[11136,22380],[11137,22090],[11139,22442],[11140,22036],[11144,22400],[11145,22217],[11146,22341],[11147,28614],[11149,22267],[11150,28591],[11152,22382],[11154,22410],[11158,22444],[11164,22336],[11171,28606],[11172,22376],[11175,22130],[11177,22048],[11178,22436],[11180,22271],[11184,22405],[11186,22331],[11187,22420],[11196,22306],[11197,22335],[11202,22301],[11216,28599],[11223,22294],[11230,22624],[11231,22722],[11232,22630],[11233,28640],[11234,22474],[11235,22566],[11236,22633],[11237,22478],[11238,22680],[11239,22568],[11240,22766],[11241,22574],[11242,22508],[11243,22514],[11244,22780],[11245,22840],[11246,22550],[11247,28631],[11248,22513],[11249,22645],[11250,28636],[11251,22498],[11252,22614],[11253,22484],[11255,22554],[11256,22572],[11257,22714],[11261,22810],[11263,22828],[11264,22564],[11265,22820],[11266,22814],[11267,22790],[11268,22934],[11269,22904],[11270,22896],[11271,22533],[11272,22672],[11274,22532],[11275,22857],[11276,22594],[11277,22644],[11278,22782],[11279,22557],[11280,22519],[11281,22586],[11283,22588],[11284,22518],[11285,22546],[11286,22762],[11287,22656],[11288,22621],[11289,22776],[11290,22612],[11291,22834],[11292,22681],[11294,22802],[11296,22576],[11297,22684],[11298,22764],[11299,22858],[11300,22520],[11301,22938],[11303,22754],[11304,22850],[11305,22696],[11307,22960],[11308,22838],[11310,22652],[11311,22702],[11313,22584],[11314,22772],[11315,22906],[11316,22668],[11317,22660],[11318,22657],[11320,22878],[11321,22808],[11322,22654],[11323,22718],[11326,22610],[11327,22860],[11328,22724],[11331,22670],[11332,22694],[11334,22812],[11335,22682],[11336,28646],[11338,22756],[11339,22854],[11340,22914],[11342,22698],[11343,22898],[11344,22683],[11345,22500],[11346,22872],[11348,22717],[11350,22755],[11352,22662],[11353,22946],[11354,22666],[11355,22886],[11356,22744],[11357,22731],[11359,22605],[11360,22677],[11361,22822],[11364,22880],[11366,22836],[11368,22747],[11369,22832],[11370,22830],[11372,22727],[11374,22795],[11375,22726],[11376,22807],[11381,22796],[11383,22903],[11384,22734],[11385,22964],[11387,22968],[11388,22552],[11391,22950],[11392,22892],[11393,22602],[11395,22954],[11396,22548],[11400,22912],[11401,22729],[11402,22853],[11403,28660],[11405,22779],[11406,28637],[11408,22894],[11410,22922],[11414,22956],[11420,22848],[11427,28652],[11428,22888],[11431,22642],[11433,22560],[11434,22948],[11436,22783],[11440,22917],[11442,22843],[11443,22932],[11452,22818],[11453,22847],[11458,22813],[11472,28645],[11479,22806],[11486,23136],[11487,23234],[11488,23142],[11489,28686],[11490,22986],[11491,23078],[11492,23145],[11493,22990],[11494,23192],[11495,23080],[11496,23278],[11497,23086],[11498,23020],[11499,23026],[11500,23292],[11501,23352],[11502,23062],[11503,28677],[11504,23025],[11505,23157],[11506,28682],[11507,23010],[11508,23126],[11509,22996],[11511,23066],[11512,23084],[11513,23226],[11517,23322],[11519,23340],[11520,23076],[11521,23332],[11522,23326],[11523,23302],[11524,23446],[11525,23416],[11526,23408],[11527,23045],[11528,23184],[11530,23044],[11531,23369],[11532,23106],[11533,23156],[11534,23294],[11535,23069],[11536,23031],[11537,23098],[11539,23100],[11540,23030],[11541,23058],[11542,23274],[11543,23168],[11544,23133],[11545,23288],[11546,23124],[11547,23346],[11548,23193],[11550,23314],[11552,23088],[11553,23196],[11554,23276],[11555,23370],[11556,23032],[11557,23450],[11559,23266],[11560,23362],[11561,23208],[11563,23472],[11564,23350],[11566,23164],[11567,23214],[11569,23096],[11570,23284],[11571,23418],[11572,23180],[11573,23172],[11574,23169],[11576,23390],[11577,23320],[11578,23166],[11579,23230],[11582,23122],[11583,23372],[11584,23236],[11587,23182],[11588,23206],[11590,23324],[11591,23194],[11592,28692],[11594,23268],[11595,23366],[11596,23426],[11598,23210],[11599,23410],[11600,23195],[11601,23012],[11602,23384],[11604,23229],[11606,23267],[11608,23174],[11609,23458],[11610,23178],[11611,23398],[11612,23256],[11613,23243],[11615,23117],[11616,23189],[11617,23334],[11620,23392],[11622,23348],[11624,23259],[11625,23344],[11626,23342],[11628,23239],[11630,23307],[11631,23238],[11632,23319],[11637,23308],[11639,23415],[11640,23246],[11641,23476],[11643,23480],[11644,23064],[11647,23462],[11648,23404],[11649,23114],[11651,23466],[11652,23060],[11656,23424],[11657,23241],[11658,23365],[11659,28706],[11661,23291],[11662,28683],[11664,23406],[11666,23434],[11670,23468],[11676,23360],[11683,28698],[11684,23400],[11687,23154],[11689,23072],[11690,23460],[11692,23295],[11696,23429],[11698,23355],[11699,23444],[11708,23330],[11709,23359],[11714,23325],[11728,28691],[11735,23318],[11741,23498],[11742,23528],[11744,23524],[11747,23508],[11748,23511],[11749,23516],[11750,23493],[11752,23490],[11753,23492],[11756,23505],[11757,23500],[11759,23504],[11761,23520],[11763,23525],[11765,23546],[11766,23576],[11768,23572],[11771,23556],[11772,23559],[11773,23564],[11774,23541],[11776,23538],[11777,23540],[11780,23553],[11781,23548],[11783,23552],[11785,23568],[11787,23573],[11789,23594],[11790,23624],[11792,23620],[11795,23604],[11796,23607],[11797,23612],[11798,23589],[11800,23586],[11801,23588],[11804,23601],[11805,23596],[11807,23600],[11809,23616],[11811,23621],[11813,23642],[11814,23672],[11816,23668],[11819,23652],[11820,23655],[11821,23660],[11822,23637],[11824,23634],[11825,23636],[11828,23649],[11829,23644],[11831,23648],[11833,23664],[11835,23669],[11837,23690],[11838,23720],[11840,23716],[11843,23700],[11844,23703],[11845,23708],[11846,23685],[11848,23682],[11849,23684],[11852,23697],[11853,23692],[11855,23696],[11857,23712],[11859,23717],[11861,23738],[11862,23768],[11864,23764],[11867,23748],[11868,23751],[11869,23756],[11870,23733],[11872,23730],[11873,23732],[11876,23745],[11877,23740],[11879,23744],[11881,23760],[11883,23765],[11885,23786],[11886,23816],[11888,23812],[11891,23796],[11892,23799],[11893,23804],[11894,23781],[11896,23778],[11897,23780],[11900,23793],[11901,23788],[11903,23792],[11905,23808],[11907,23813],[11909,23834],[11910,23864],[11912,23860],[11915,23844],[11916,23847],[11917,23852],[11918,23829],[11920,23826],[11921,23828],[11924,23841],[11925,23836],[11927,23840],[11929,23856],[11931,23861],[11933,23882],[11934,23912],[11936,23908],[11939,23892],[11940,23895],[11941,23900],[11942,23877],[11944,23874],[11945,23876],[11948,23889],[11949,23884],[11951,23888],[11953,23904],[11955,23909],[11957,23930],[11958,23960],[11960,23956],[11963,23940],[11964,23943],[11965,23948],[11966,23925],[11968,23922],[11969,23924],[11972,23937],[11973,23932],[11975,23936],[11977,23952],[11979,23957],[11981,23978],[11982,24008],[11984,24004],[11987,23988],[11988,23991],[11989,23996],[11990,23973],[11992,23970],[11993,23972],[11996,23985],[11997,23980],[11999,23984],[12001,24000],[12003,24005],[12005,24026],[12006,24056],[12008,24052],[12011,24036],[12012,24039],[12013,24044],[12014,24021],[12016,24018],[12017,24020],[12020,24033],[12021,24028],[12023,24032],[12025,24048],[12027,24053],[12029,24074],[12030,24104],[12032,24100],[12035,24084],[12036,24087],[12037,24092],[12038,24069],[12040,24066],[12041,24068],[12044,24081],[12045,24076],[12047,24080],[12049,24096],[12051,24101],[12053,24122],[12054,24152],[12056,24148],[12059,24132],[12060,24135],[12061,24140],[12062,24117],[12064,24114],[12065,24116],[12068,24129],[12069,24124],[12071,24128],[12073,24144],[12075,24149],[12077,24170],[12078,24200],[12080,24196],[12083,24180],[12084,24183],[12085,24188],[12086,24165],[12088,24162],[12089,24164],[12092,24177],[12093,24172],[12095,24176],[12097,24192],[12099,24197],[12101,24218],[12102,24248],[12104,24244],[12107,24228],[12108,24231],[12109,24236],[12110,24213],[12112,24210],[12113,24212],[12116,24225],[12117,24220],[12119,24224],[12121,24240],[12123,24245],[12125,24266],[12126,24296],[12128,24292],[12131,24276],[12132,24279],[12133,24284],[12134,24261],[12136,24258],[12137,24260],[12140,24273],[12141,24268],[12143,24272],[12145,24288],[12147,24293],[12149,24314],[12150,24344],[12152,24340],[12155,24324],[12156,24327],[12157,24332],[12158,24309],[12160,24306],[12161,24308],[12164,24321],[12165,24316],[12167,24320],[12169,24336],[12171,24341],[12173,24362],[12174,24392],[12176,24388],[12179,24372],[12180,24375],[12181,24380],[12182,24357],[12184,24354],[12185,24356],[12188,24369],[12189,24364],[12191,24368],[12193,24384],[12195,24389],[12197,24410],[12198,24440],[12200,24436],[12203,24420],[12204,24423],[12205,24428],[12206,24405],[12208,24402],[12209,24404],[12212,24417],[12213,24412],[12215,24416],[12217,24432],[12219,24437],[12221,24458],[12222,24488],[12224,24484],[12227,24468],[12228,24471],[12229,24476],[12230,24453],[12232,24450],[12233,24452],[12236,24465],[12237,24460],[12239,24464],[12241,24480],[12243,24485],[12245,24506],[12246,24536],[12248,24532],[12251,24516],[12252,24519],[12253,24524],[12254,24501],[12256,24498],[12257,24500],[12260,24513],[12261,24508],[12263,24512],[12265,24528],[12267,24533],[12269,24554],[12270,24584],[12272,24580],[12275,24564],[12276,24567],[12277,24572],[12278,24549],[12280,24546],[12281,24548],[12284,24561],[12285,24556],[12287,24560],[12289,24576],[12291,24581],[12293,24602],[12294,24632],[12296,24628],[12299,24612],[12300,24615],[12301,24620],[12302,24597],[12304,24594],[12305,24596],[12308,24609],[12309,24604],[12311,24608],[12313,24624],[12315,24629],[12317,24650],[12318,24680],[12320,24676],[12323,24660],[12324,24663],[12325,24668],[12326,24645],[12328,24642],[12329,24644],[12332,24657],[12333,24652],[12335,24656],[12337,24672],[12339,24677],[12341,24698],[12342,24728],[12344,24724],[12347,24708],[12348,24711],[12349,24716],[12350,24693],[12352,24690],[12353,24692],[12356,24705],[12357,24700],[12359,24704],[12361,24720],[12363,24725],[12365,24746],[12366,24776],[12368,24772],[12371,24756],[12372,24759],[12373,24764],[12374,24741],[12376,24738],[12377,24740],[12380,24753],[12381,24748],[12383,24752],[12385,24768],[12387,24773],[12389,24794],[12390,24824],[12392,24820],[12395,24804],[12396,24807],[12397,24812],[12398,24789],[12400,24786],[12401,24788],[12404,24801],[12405,24796],[12407,24800],[12409,24816],[12411,24821],[12413,24842],[12414,24872],[12416,24868],[12419,24852],[12420,24855],[12421,24860],[12422,24837],[12424,24834],[12425,24836],[12428,24849],[12429,24844],[12431,24848],[12433,24864],[12435,24869],[12437,24890],[12438,24920],[12440,24916],[12443,24900],[12444,24903],[12445,24908],[12446,24885],[12448,24882],[12449,24884],[12452,24897],[12453,24892],[12455,24896],[12457,24912],[12459,24917],[12461,24938],[12462,24968],[12464,24964],[12467,24948],[12468,24951],[12469,24956],[12470,24933],[12472,24930],[12473,24932],[12476,24945],[12477,24940],[12479,24944],[12481,24960],[12483,24965],[12485,24986],[12486,25016],[12488,25012],[12491,24996],[12492,24999],[12493,25004],[12494,24981],[12496,24978],[12497,24980],[12500,24993],[12501,24988],[12503,24992],[12505,25008],[12507,25013],[12509,25034],[12510,25064],[12512,25060],[12515,25044],[12516,25047],[12517,25052],[12518,25029],[12520,25026],[12521,25028],[12524,25041],[12525,25036],[12527,25040],[12529,25056],[12531,25061],[12533,25082],[12534,25112],[12536,25108],[12539,25092],[12540,25095],[12541,25100],[12542,25077],[12544,25074],[12545,25076],[12548,25089],[12549,25084],[12551,25088],[12553,25104],[12555,25109],[12557,25130],[12558,25160],[12560,25156],[12563,25140],[12564,25143],[12565,25148],[12566,25125],[12568,25122],[12569,25124],[12572,25137],[12573,25132],[12575,25136],[12577,25152],[12579,25157],[12581,25178],[12582,25208],[12584,25204],[12587,25188],[12588,25191],[12589,25196],[12590,25173],[12592,25170],[12593,25172],[12596,25185],[12597,25180],[12599,25184],[12601,25200],[12603,25205],[12605,25226],[12606,25256],[12608,25252],[12611,25236],[12612,25239],[12613,25244],[12614,25221],[12616,25218],[12617,25220],[12620,25233],[12621,25228],[12623,25232],[12625,25248],[12627,25253],[12629,25274],[12630,25304],[12632,25300],[12635,25284],[12636,25287],[12637,25292],[12638,25269],[12640,25266],[12641,25268],[12644,25281],[12645,25276],[12647,25280],[12649,25296],[12651,25301],[12653,25322],[12654,25352],[12656,25348],[12659,25332],[12660,25335],[12661,25340],[12662,25317],[12664,25314],[12665,25316],[12668,25329],[12669,25324],[12671,25328],[12673,25344],[12675,25349],[12677,25370],[12678,25400],[12680,25396],[12683,25380],[12684,25383],[12685,25388],[12686,25365],[12688,25362],[12689,25364],[12692,25377],[12693,25372],[12695,25376],[12697,25392],[12699,25397],[12701,25418],[12702,25448],[12704,25444],[12707,25428],[12708,25431],[12709,25436],[12710,25413],[12712,25410],[12713,25412],[12716,25425],[12717,25420],[12719,25424],[12721,25440],[12723,25445],[12725,25466],[12726,25496],[12728,25492],[12731,25476],[12732,25479],[12733,25484],[12734,25461],[12736,25458],[12737,25460],[12740,25473],[12741,25468],[12743,25472],[12745,25488],[12747,25493],[12749,25514],[12750,25544],[12752,25540],[12755,25524],[12756,25527],[12757,25532],[12758,25509],[12760,25506],[12761,25508],[12764,25521],[12765,25516],[12767,25520],[12769,25536],[12771,25541],[12773,25562],[12774,25592],[12776,25588],[12779,25572],[12780,25575],[12781,25580],[12782,25557],[12784,25554],[12785,25556],[12788,25569],[12789,25564],[12791,25568],[12793,25584],[12795,25589],[12797,25610],[12798,25640],[12800,25636],[12803,25620],[12804,25623],[12805,25628],[12806,25605],[12808,25602],[12809,25604],[12812,25617],[12813,25612],[12815,25616],[12817,25632],[12819,25637],[12821,25658],[12822,25688],[12824,25684],[12827,25668],[12828,25671],[12829,25676],[12830,25653],[12832,25650],[12833,25652],[12836,25665],[12837,25660],[12839,25664],[12841,25680],[12843,25685],[12845,25706],[12846,25736],[12848,25732],[12851,25716],[12852,25719],[12853,25724],[12854,25701],[12856,25698],[12857,25700],[12860,25713],[12861,25708],[12863,25712],[12865,25728],[12867,25733],[12869,25754],[12870,25784],[12872,25780],[12875,25764],[12876,25767],[12877,25772],[12878,25749],[12880,25746],[12881,25748],[12884,25761],[12885,25756],[12887,25760],[12889,25776],[12891,25781],[12893,25802],[12894,25832],[12896,25828],[12899,25812],[12900,25815],[12901,25820],[12902,25797],[12904,25794],[12905,25796],[12908,25809],[12909,25804],[12911,25808],[12913,25824],[12915,25829],[12917,25850],[12918,25880],[12920,25876],[12923,25860],[12924,25863],[12925,25868],[12926,25845],[12928,25842],[12929,25844],[12932,25857],[12933,25852],[12935,25856],[12937,25872],[12939,25877],[12941,25898],[12942,25928],[12944,25924],[12947,25908],[12948,25911],[12949,25916],[12950,25893],[12952,25890],[12953,25892],[12956,25905],[12957,25900],[12959,25904],[12961,25920],[12963,25925],[12965,25946],[12966,25976],[12968,25972],[12971,25956],[12972,25959],[12973,25964],[12974,25941],[12976,25938],[12977,25940],[12980,25953],[12981,25948],[12983,25952],[12985,25968],[12987,25973],[12989,25994],[12990,26024],[12992,26020],[12995,26004],[12996,26007],[12997,26012],[12998,25989],[13000,25986],[13001,25988],[13004,26001],[13005,25996],[13007,26000],[13009,26016],[13011,26021],[13013,26042],[13014,26072],[13016,26068],[13019,26052],[13020,26055],[13021,26060],[13022,26037],[13024,26034],[13025,26036],[13028,26049],[13029,26044],[13031,26048],[13033,26064],[13035,26069],[13037,26090],[13038,26120],[13040,26116],[13043,26100],[13044,26103],[13045,26108],[13046,26085],[13048,26082],[13049,26084],[13052,26097],[13053,26092],[13055,26096],[13057,26112],[13059,26117],[13061,26138],[13062,26168],[13064,26164],[13067,26148],[13068,26151],[13069,26156],[13070,26133],[13072,26130],[13073,26132],[13076,26145],[13077,26140],[13079,26144],[13081,26160],[13083,26165],[13085,26186],[13086,26216],[13088,26212],[13091,26196],[13092,26199],[13093,26204],[13094,26181],[13096,26178],[13097,26180],[13100,26193],[13101,26188],[13103,26192],[13105,26208],[13107,26213],[13109,26234],[13110,26264],[13112,26260],[13115,26244],[13116,26247],[13117,26252],[13118,26229],[13120,26226],[13121,26228],[13124,26241],[13125,26236],[13127,26240],[13129,26256],[13131,26261],[13133,26282],[13134,26312],[13136,26308],[13139,26292],[13140,26295],[13141,26300],[13142,26277],[13144,26274],[13145,26276],[13148,26289],[13149,26284],[13151,26288],[13153,26304],[13155,26309],[13157,26330],[13158,26360],[13160,26356],[13163,26340],[13164,26343],[13165,26348],[13166,26325],[13168,26322],[13169,26324],[13172,26337],[13173,26332],[13175,26336],[13177,26352],[13179,26357],[13181,26378],[13182,26408],[13184,26404],[13187,26388],[13188,26391],[13189,26396],[13190,26373],[13192,26370],[13193,26372],[13196,26385],[13197,26380],[13199,26384],[13201,26400],[13203,26405],[13205,26426],[13206,26456],[13208,26452],[13211,26436],[13212,26439],[13213,26444],[13214,26421],[13216,26418],[13217,26420],[13220,26433],[13221,26428],[13223,26432],[13225,26448],[13227,26453],[13229,26474],[13230,26504],[13232,26500],[13235,26484],[13236,26487],[13237,26492],[13238,26469],[13240,26466],[13241,26468],[13244,26481],[13245,26476],[13247,26480],[13249,26496],[13251,26501],[13253,26522],[13254,26552],[13256,26548],[13259,26532],[13260,26535],[13261,26540],[13262,26517],[13264,26514],[13265,26516],[13268,26529],[13269,26524],[13271,26528],[13273,26544],[13275,26549],[13277,26570],[13278,26600],[13280,26596],[13283,26580],[13284,26583],[13285,26588],[13286,26565],[13288,26562],[13289,26564],[13292,26577],[13293,26572],[13295,26576],[13297,26592],[13299,26597],[13301,26618],[13302,26648],[13304,26644],[13307,26628],[13308,26631],[13309,26636],[13310,26613],[13312,26610],[13313,26612],[13316,26625],[13317,26620],[13319,26624],[13321,26640],[13323,26645],[13325,26666],[13326,26696],[13328,26692],[13331,26676],[13332,26679],[13333,26684],[13334,26661],[13336,26658],[13337,26660],[13340,26673],[13341,26668],[13343,26672],[13345,26688],[13347,26693],[13349,26714],[13350,26744],[13352,26740],[13355,26724],[13356,26727],[13357,26732],[13358,26709],[13360,26706],[13361,26708],[13364,26721],[13365,26716],[13367,26720],[13369,26736],[13371,26741],[13373,26762],[13374,26792],[13376,26788],[13379,26772],[13380,26775],[13381,26780],[13382,26757],[13384,26754],[13385,26756],[13388,26769],[13389,26764],[13391,26768],[13393,26784],[13395,26789],[13397,26810],[13398,26840],[13400,26836],[13403,26820],[13404,26823],[13405,26828],[13406,26805],[13408,26802],[13409,26804],[13412,26817],[13413,26812],[13415,26816],[13417,26832],[13419,26837],[13421,26858],[13422,26888],[13424,26884],[13427,26868],[13428,26871],[13429,26876],[13430,26853],[13432,26850],[13433,26852],[13436,26865],[13437,26860],[13439,26864],[13441,26880],[13443,26885],[13445,26906],[13446,26936],[13448,26932],[13451,26916],[13452,26919],[13453,26924],[13454,26901],[13456,26898],[13457,26900],[13460,26913],[13461,26908],[13463,26912],[13465,26928],[13467,26933],[13469,26954],[13470,26984],[13472,26980],[13475,26964],[13476,26967],[13477,26972],[13478,26949],[13480,26946],[13481,26948],[13484,26961],[13485,26956],[13487,26960],[13489,26976],[13491,26981],[13493,27002],[13494,27032],[13496,27028],[13499,27012],[13500,27015],[13501,27020],[13502,26997],[13504,26994],[13505,26996],[13508,27009],[13509,27004],[13511,27008],[13513,27024],[13515,27029],[13517,27050],[13518,27080],[13520,27076],[13523,27060],[13524,27063],[13525,27068],[13526,27045],[13528,27042],[13529,27044],[13532,27057],[13533,27052],[13535,27056],[13537,27072],[13539,27077],[13541,27098],[13542,27128],[13544,27124],[13547,27108],[13548,27111],[13549,27116],[13550,27093],[13552,27090],[13553,27092],[13556,27105],[13557,27100],[13559,27104],[13561,27120],[13563,27125],[13565,27146],[13566,27176],[13568,27172],[13571,27156],[13572,27159],[13573,27164],[13574,27141],[13576,27138],[13577,27140],[13580,27153],[13581,27148],[13583,27152],[13585,27168],[13587,27173],[13589,27194],[13590,27224],[13592,27220],[13595,27204],[13596,27207],[13597,27212],[13598,27189],[13600,27186],[13601,27188],[13604,27201],[13605,27196],[13607,27200],[13609,27216],[13611,27221],[13613,27242],[13614,27272],[13616,27268],[13619,27252],[13620,27255],[13621,27260],[13622,27237],[13624,27234],[13625,27236],[13628,27249],[13629,27244],[13631,27248],[13633,27264],[13635,27269],[13637,27290],[13638,27320],[13640,27316],[13643,27300],[13644,27303],[13645,27308],[13646,27285],[13648,27282],[13649,27284],[13652,27297],[13653,27292],[13655,27296],[13657,27312],[13659,27317],[13661,27338],[13662,27368],[13664,27364],[13667,27348],[13668,27351],[13669,27356],[13670,27333],[13672,27330],[13673,27332],[13676,27345],[13677,27340],[13679,27344],[13681,27360],[13683,27365],[13685,27386],[13686,27416],[13688,27412],[13691,27396],[13692,27399],[13693,27404],[13694,27381],[13696,27378],[13697,27380],[13700,27393],[13701,27388],[13703,27392],[13705,27408],[13707,27413],[13709,27434],[13710,27464],[13712,27460],[13715,27444],[13716,27447],[13717,27452],[13718,27429],[13720,27426],[13721,27428],[13724,27441],[13725,27436],[13727,27440],[13729,27456],[13731,27461],[13733,27482],[13734,27512],[13736,27508],[13739,27492],[13740,27495],[13741,27500],[13742,27477],[13744,27474],[13745,27476],[13748,27489],[13749,27484],[13751,27488],[13753,27504],[13755,27509],[13757,27530],[13758,27560],[13760,27556],[13763,27540],[13764,27543],[13765,27548],[13766,27525],[13768,27522],[13769,27524],[13772,27537],[13773,27532],[13775,27536],[13777,27552],[13779,27557],[13781,27578],[13782,27608],[13784,27604],[13787,27588],[13788,27591],[13789,27596],[13790,27573],[13792,27570],[13793,27572],[13796,27585],[13797,27580],[13799,27584],[13801,27600],[13803,27605],[13805,27626],[13806,27656],[13808,27652],[13811,27636],[13812,27639],[13813,27644],[13814,27621],[13816,27618],[13817,27620],[13820,27633],[13821,27628],[13823,27632],[13825,27648],[13827,27653],[13829,27674],[13830,27704],[13832,27700],[13835,27684],[13836,27687],[13837,27692],[13838,27669],[13840,27666],[13841,27668],[13844,27681],[13845,27676],[13847,27680],[13849,27696],[13851,27701],[13853,27722],[13854,27752],[13856,27748],[13859,27732],[13860,27735],[13861,27740],[13862,27717],[13864,27714],[13865,27716],[13868,27729],[13869,27724],[13871,27728],[13873,27744],[13875,27749],[13877,27770],[13878,27800],[13880,27796],[13883,27780],[13884,27783],[13885,27788],[13886,27765],[13888,27762],[13889,27764],[13892,27777],[13893,27772],[13895,27776],[13897,27792],[13899,27797],[13901,13640],[13902,13668],[13903,13666],[13905,13320],[13907,13273],[13910,13708],[13913,13534],[13914,13484],[13924,14152],[13925,14180],[13926,14178],[13928,13832],[13930,13785],[13933,14220],[13936,14046],[13937,13996],[13947,14664],[13948,14692],[13949,14690],[13951,14344],[13953,14297],[13956,14732],[13959,14558],[13960,14508],[13970,15176],[13971,15204],[13972,15202],[13974,14856],[13976,14809],[13979,15244],[13982,15070],[13983,15020],[13993,15688],[13994,15716],[13995,15714],[13997,15368],[13999,15321],[14002,15756],[14005,15582],[14006,15532],[14016,16200],[14017,16228],[14018,16226],[14020,15880],[14022,15833],[14025,16268],[14028,16094],[14029,16044],[14039,16712],[14040,16740],[14041,16738],[14043,16392],[14045,16345],[14048,16780],[14051,16606],[14052,16556],[14062,17224],[14063,17252],[14064,17250],[14066,16904],[14068,16857],[14071,17292],[14074,17118],[14075,17068],[14085,17736],[14086,17764],[14087,17762],[14089,17416],[14091,17369],[14094,17804],[14097,17630],[14098,17580],[14108,18248],[14109,18276],[14110,18274],[14112,17928],[14114,17881],[14117,18316],[14120,18142],[14121,18092],[14131,18760],[14132,18788],[14133,18786],[14135,18440],[14137,18393],[14140,18828],[14143,18654],[14144,18604],[14154,19272],[14155,19300],[14156,19298],[14158,18952],[14160,18905],[14163,19340],[14166,19166],[14167,19116],[14177,19784],[14178,19812],[14179,19810],[14181,19464],[14183,19417],[14186,19852],[14189,19678],[14190,19628],[14200,20296],[14201,20324],[14202,20322],[14204,19976],[14206,19929],[14209,20364],[14212,20190],[14213,20140],[14223,20808],[14224,20836],[14225,20834],[14227,20488],[14229,20441],[14232,20876],[14235,20702],[14236,20652],[14246,21320],[14247,21348],[14248,21346],[14250,21000],[14252,20953],[14255,21388],[14258,21214],[14259,21164],[14269,21832],[14270,21860],[14271,21858],[14273,21512],[14275,21465],[14278,21900],[14281,21726],[14282,21676],[14292,22344],[14293,22372],[14294,22370],[14296,22024],[14298,21977],[14301,22412],[14304,22238],[14305,22188],[14315,22856],[14316,22884],[14317,22882],[14319,22536],[14321,22489],[14324,22924],[14327,22750],[14328,22700],[14338,23368],[14339,23396],[14340,23394],[14342,23048],[14344,23001],[14347,23436],[14350,23262],[14351,23212],[14361,28733],[14363,28737],[14365,28748],[14367,28752],[14369,28725],[14371,28729],[14373,28740],[14375,28744],[14377,28765],[14379,28769],[14381,28780],[14383,28784],[14385,28757],[14387,28761],[14389,28772],[14391,28776],[14393,28797],[14395,28801],[14397,28812],[14399,28816],[14401,28789],[14403,28793],[14405,28804],[14407,28808],[14409,28829],[14411,28833],[14413,28844],[14415,28848],[14417,28821],[14419,28825],[14421,28836],[14423,28840],[14425,28861],[14427,28865],[14429,28876],[14431,28880],[14433,28853],[14435,28857],[14437,28868],[14439,28872],[14441,28893],[14443,28897],[14445,28908],[14447,28912],[14449,28885],[14451,28889],[14453,28900],[14455,28904],[14457,28925],[14459,28929],[14461,28940],[14463,28944],[14465,28917],[14467,28921],[14469,28932],[14471,28936],[14473,28957],[14475,28961],[14477,28972],[14479,28976],[14481,28949],[14483,28953],[14485,28964],[14487,28968],[14489,28989],[14491,28993],[14493,29004],[14495,29008],[14497,28981],[14499,28985],[14501,28996],[14503,29000],[14505,29021],[14507,29025],[14509,29036],[14511,29040],[14513,29013],[14515,29017],[14517,29028],[14519,29032],[14521,29053],[14523,29057],[14525,29068],[14527,29072],[14529,29045],[14531,29049],[14533,29060],[14535,29064],[14537,29085],[14539,29089],[14541,29100],[14543,29104],[14545,29077],[14547,29081],[14549,29092],[14551,29096],[14553,29117],[14555,29121],[14557,29132],[14559,29136],[14561,29109],[14563,29113],[14565,29124],[14567,29128],[14569,29149],[14571,29153],[14573,29164],[14575,29168],[14577,29141],[14579,29145],[14581,29156],[14583,29160],[14585,29181],[14587,29185],[14589,29196],[14591,29200],[14593,29173],[14595,29177],[14597,29188],[14599,29192],[14601,29213],[14603,29217],[14605,29228],[14607,29232],[14609,29205],[14611,29209],[14613,29220],[14615,29224],[14617,29245],[14619,29249],[14621,29260],[14623,29264],[14625,29237],[14627,29241],[14629,29252],[14631,29256],[14633,29277],[14635,29281],[14637,29292],[14639,29296],[14641,29269],[14643,29273],[14645,29284],[14647,29288],[14649,29309],[14651,29313],[14653,29324],[14655,29328],[14657,29301],[14659,29305],[14661,29316],[14663,29320],[14665,29341],[14667,29345],[14669,29356],[14671,29360],[14673,29333],[14675,29337],[14677,29348],[14679,29352],[14681,29373],[14683,29377],[14685,29388],[14687,29392],[14689,29365],[14691,29369],[14693,29380],[14695,29384],[14697,29405],[14699,29409],[14701,29420],[14703,29424],[14705,29397],[14707,29401],[14709,29412],[14711,29416],[14713,29437],[14715,29441],[14717,29452],[14719,29456],[14721,29429],[14723,29433],[14725,29444],[14727,29448],[14729,29469],[14731,29473],[14733,29484],[14735,29488],[14737,29461],[14739,29465],[14741,29476],[14743,29480],[14745,29501],[14747,29505],[14749,29516],[14751,29520],[14753,29493],[14755,29497],[14757,29508],[14759,29512],[14761,29533],[14763,29537],[14765,29548],[14767,29552],[14769,29525],[14771,29529],[14773,29540],[14775,29544],[14777,29565],[14779,29569],[14781,29580],[14783,29584],[14785,29557],[14787,29561],[14789,29572],[14791,29576],[14793,29597],[14795,29601],[14797,29612],[14799,29616],[14801,29589],[14803,29593],[14805,29604],[14807,29608],[14809,29629],[14811,29633],[14813,29644],[14815,29648],[14817,29621],[14819,29625],[14821,29636],[14823,29640],[14825,29661],[14827,29665],[14829,29676],[14831,29680],[14833,29653],[14835,29657],[14837,29668],[14839,29672],[14841,29693],[14843,29697],[14845,29708],[14847,29712],[14849,29685],[14851,29689],[14853,29700],[14855,29704],[14857,29725],[14859,29729],[14861,29740],[14863,29744],[14865,29717],[14867,29721],[14869,29732],[14871,29736],[14873,29757],[14875,29761],[14877,29772],[14879,29776],[14881,29749],[14883,29753],[14885,29764],[14887,29768],[14889,29789],[14891,29793],[14893,29804],[14895,29808],[14897,29781],[14899,29785],[14901,29796],[14903,29800],[14905,29821],[14907,29825],[14909,29836],[14911,29840],[14913,29813],[14915,29817],[14917,29828],[14919,29832],[14921,29853],[14923,29857],[14925,29868],[14927,29872],[14929,29845],[14931,29849],[14933,29860],[14935,29864],[14937,29885],[14939,29889],[14941,29900],[14943,29904],[14945,29877],[14947,29881],[14949,29892],[14951,29896],[14953,29917],[14955,29921],[14957,29932],[14959,29936],[14961,29909],[14963,29913],[14965,29924],[14967,29928],[14969,29949],[14971,29953],[14973,29964],[14975,29968],[14977,29941],[14979,29945],[14981,29956],[14983,29960],[14985,29981],[14987,29985],[14989,29996],[14991,30000],[14993,29973],[14995,29977],[14997,29988],[14999,29992],[15001,30013],[15003,30017],[15005,30028],[15007,30032],[15009,30005],[15011,30009],[15013,30020],[15015,30024],[15017,30045],[15019,30049],[15021,30060],[15023,30064],[15025,30037],[15027,30041],[15029,30052],[15031,30056],[15033,30077],[15035,30081],[15037,30092],[15039,30096],[15041,30069],[15043,30073],[15045,30084],[15047,30088],[15049,30109],[15051,30113],[15053,30124],[15055,30128],[15057,30101],[15059,30105],[15061,30116],[15063,30120],[15065,30141],[15067,30145],[15069,30156],[15071,30160],[15073,30133],[15075,30137],[15077,30148],[15079,30152],[15081,30173],[15083,30177],[15085,30188],[15087,30192],[15089,30165],[15091,30169],[15093,30180],[15095,30184],[15097,30205],[15099,30209],[15101,30220],[15103,30224],[15105,30197],[15107,30201],[15109,30212],[15111,30216],[15113,30237],[15115,30241],[15117,30252],[15119,30256],[15121,30229],[15123,30233],[15125,30244],[15127,30248],[15129,30269],[15131,30273],[15133,30284],[15135,30288],[15137,30261],[15139,30265],[15141,30276],[15143,30280],[15145,30301],[15147,30305],[15149,30316],[15151,30320],[15153,30293],[15155,30297],[15157,30308],[15159,30312],[15161,30333],[15163,30337],[15165,30348],[15167,30352],[15169,30325],[15171,30329],[15173,30340],[15175,30344],[15177,30365],[15179,30369],[15181,30380],[15183,30384],[15185,30357],[15187,30361],[15189,30372],[15191,30376],[15193,30397],[15195,30401],[15197,30412],[15199,30416],[15201,30389],[15203,30393],[15205,30404],[15207,30408],[15209,30429],[15211,30433],[15213,30444],[15215,30448],[15217,30421],[15219,30425],[15221,30436],[15223,30440],[15225,30461],[15227,30465],[15229,30476],[15231,30480],[15233,30453],[15235,30457],[15237,30468],[15239,30472],[15241,30493],[15243,30497],[15245,30508],[15247,30512],[15249,30485],[15251,30489],[15253,30500],[15255,30504],[15257,30525],[15259,30529],[15261,30540],[15263,30544],[15265,30517],[15267,30521],[15269,30532],[15271,30536],[15273,30557],[15275,30561],[15277,30572],[15279,30576],[15281,30549],[15283,30553],[15285,30564],[15287,30568],[15289,30589],[15291,30593],[15293,30604],[15295,30608],[15297,30581],[15299,30585],[15301,30596],[15303,30600],[15305,30621],[15307,30625],[15309,30636],[15311,30640],[15313,30613],[15315,30617],[15317,30628],[15319,30632],[15321,30653],[15323,30657],[15325,30668],[15327,30672],[15329,30645],[15331,30649],[15333,30660],[15335,30664],[15337,30685],[15339,30689],[15341,30700],[15343,30704],[15345,30677],[15347,30681],[15349,30692],[15351,30696],[15353,30717],[15355,30721],[15357,30732],[15359,30736],[15361,30709],[15363,30713],[15365,30724],[15367,30728],[15369,30749],[15371,30753],[15373,30764],[15375,30768],[15377,30741],[15379,30745],[15381,30756],[15383,30760],[15385,30781],[15387,30785],[15389,30796],[15391,30800],[15393,30773],[15395,30777],[15397,30788],[15399,30792],[15401,30813],[15403,30817],[15405,30828],[15407,30832],[15409,30805],[15411,30809],[15413,30820],[15415,30824],[15417,30845],[15419,30849],[15421,30860],[15423,30864],[15425,30837],[15427,30841],[15429,30852],[15431,30856],[15433,30877],[15435,30881],[15437,30892],[15439,30896],[15441,30869],[15443,30873],[15445,30884],[15447,30888],[15449,30909],[15451,30913],[15453,30924],[15455,30928],[15457,30901],[15459,30905],[15461,30916],[15463,30920],[15465,30941],[15467,30945],[15469,30956],[15471,30960],[15473,30933],[15475,30937],[15477,30948],[15479,30952],[15481,30973],[15483,30977],[15485,30988],[15487,30992],[15489,30965],[15491,30969],[15493,30980],[15495,30984],[15497,31005],[15499,31009],[15501,31020],[15503,31024],[15505,30997],[15507,31001],[15509,31012],[15511,31016],[15513,31037],[15515,31041],[15517,31052],[15519,31056],[15521,31029],[15523,31033],[15525,31044],[15527,31048],[15529,31069],[15531,31073],[15533,31084],[15535,31088],[15537,31061],[15539,31065],[15541,31076],[15543,31080],[15545,31101],[15547,31105],[15549,31116],[15551,31120],[15553,31093],[15555,31097],[15557,31108],[15559,31112],[15561,31133],[15563,31137],[15565,31148],[15567,31152],[15569,31125],[15571,31129],[15573,31140],[15575,31144],[15577,31165],[15579,31169],[15581,31180],[15583,31184],[15585,31157],[15587,31161],[15589,31172],[15591,31176],[15593,31197],[15595,31201],[15597,31212],[15599,31216],[15601,31189],[15603,31193],[15605,31204],[15607,31208],[15609,31229],[15611,31233],[15613,31244],[15615,31248],[15617,31221],[15619,31225],[15621,31236],[15623,31240],[15625,31261],[15627,31265],[15629,31276],[15631,31280],[15633,31253],[15635,31257],[15637,31268],[15639,31272],[15641,31293],[15643,31297],[15645,31308],[15647,31312],[15649,31285],[15651,31289],[15653,31300],[15655,31304],[15657,31325],[15659,31329],[15661,31340],[15663,31344],[15665,31317],[15667,31321],[15669,31332],[15671,31336],[15673,31357],[15675,31361],[15677,31372],[15679,31376],[15681,31349],[15683,31353],[15685,31364],[15687,31368],[15689,31389],[15691,31393],[15693,31404],[15695,31408],[15697,31381],[15699,31385],[15701,31396],[15703,31400],[15705,31421],[15707,31425],[15709,31436],[15711,31440],[15713,31413],[15715,31417],[15717,31428],[15719,31432],[15721,31453],[15723,31457],[15725,31468],[15727,31472],[15729,31445],[15731,31449],[15733,31460],[15735,31464],[15737,31485],[15739,31489],[15741,31500],[15743,31504],[15745,31477],[15747,31481],[15749,31492],[15751,31496],[15753,31517],[15755,31521],[15757,31532],[15759,31536],[15761,31509],[15763,31513],[15765,31524],[15767,31528],[15769,31549],[15771,31553],[15773,31564],[15775,31568],[15777,31541],[15779,31545],[15781,31556],[15783,31560],[15785,31581],[15787,31585],[15789,31596],[15791,31600],[15793,31573],[15795,31577],[15797,31588],[15799,31592],[15801,31613],[15803,31617],[15805,31628],[15807,31632],[15809,31605],[15811,31609],[15813,31620],[15815,31624],[15817,31645],[15819,31649],[15821,31660],[15823,31664],[15825,31637],[15827,31641],[15829,31652],[15831,31656],[15833,31677],[15835,31681],[15837,31692],[15839,31696],[15841,31669],[15843,31673],[15845,31684],[15847,31688],[15849,31709],[15851,31713],[15853,31724],[15855,31728],[15857,31701],[15859,31705],[15861,31716],[15863,31720],[15865,31741],[15867,31745],[15869,31756],[15871,31760],[15873,31733],[15875,31737],[15877,31748],[15879,31752],[15881,31773],[15883,31777],[15885,31788],[15887,31792],[15889,31765],[15891,31769],[15893,31780],[15895,31784],[15897,31805],[15899,31809],[15901,31820],[15903,31824],[15905,31797],[15907,31801],[15909,31812],[15911,31816],[15913,31837],[15915,31841],[15917,31852],[15919,31856],[15921,31829],[15923,31833],[15925,31844],[15927,31848],[15929,31869],[15931,31873],[15933,31884],[15935,31888],[15937,31861],[15939,31865],[15941,31876],[15943,31880],[15945,31901],[15947,31905],[15949,31916],[15951,31920],[15953,31893],[15955,31897],[15957,31908],[15959,31912],[15961,31933],[15963,31937],[15965,31948],[15967,31952],[15969,31925],[15971,31929],[15973,31940],[15975,31944],[15977,31965],[15979,31969],[15981,31980],[15983,31984],[15985,31957],[15987,31961],[15989,31972],[15991,31976],[15993,31997],[15995,32001],[15997,32012],[15999,32016],[16001,31989],[16003,31993],[16005,32004],[16007,32008],[16009,32029],[16011,32033],[16013,32044],[16015,32048],[16017,32021],[16019,32025],[16021,32036],[16023,32040],[16025,32061],[16027,32065],[16029,32076],[16031,32080],[16033,32053],[16035,32057],[16037,32068],[16039,32072],[16041,32093],[16043,32097],[16045,32108],[16047,32112],[16049,32085],[16051,32089],[16053,32100],[16055,32104],[16057,32125],[16059,32129],[16061,32140],[16063,32144],[16065,32117],[16067,32121],[16069,32132],[16071,32136],[16073,32157],[16075,32161],[16077,32172],[16079,32176],[16081,32149],[16083,32153],[16085,32164],[16087,32168],[16089,32189],[16091,32193],[16093,32204],[16095,32208],[16097,32181],[16099,32185],[16101,32196],[16103,32200],[16105,32221],[16107,32225],[16109,32236],[16111,32240],[16113,32213],[16115,32217],[16117,32228],[16119,32232],[16121,32253],[16123,32257],[16125,32268],[16127,32272],[16129,32245],[16131,32249],[16133,32260],[16135,32264],[16137,32285],[16139,32289],[16141,32300],[16143,32304],[16145,32277],[16147,32281],[16149,32292],[16151,32296],[16153,32317],[16155,32321],[16157,32332],[16159,32336],[16161,32309],[16163,32313],[16165,32324],[16167,32328],[16169,32349],[16171,32353],[16173,32364],[16175,32368],[16177,32341],[16179,32345],[16181,32356],[16183,32360],[16185,32381],[16187,32385],[16189,32396],[16191,32400],[16193,32373],[16195,32377],[16197,32388],[16199,32392],[16201,32413],[16203,32417],[16205,32428],[16207,32432],[16209,32405],[16211,32409],[16213,32420],[16215,32424],[16217,32445],[16219,32449],[16221,32460],[16223,32464],[16225,32437],[16227,32441],[16229,32452],[16231,32456],[16233,32477],[16235,32481],[16237,32492],[16239,32496],[16241,32469],[16243,32473],[16245,32484],[16247,32488],[16249,32509],[16251,32513],[16253,32524],[16255,32528],[16257,32501],[16259,32505],[16261,32516],[16263,32520],[16265,32541],[16267,32545],[16269,32556],[16271,32560],[16273,32533],[16275,32537],[16277,32548],[16279,32552]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-frames.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-frames.json new file mode 100644 index 0000000000..f98ecb8884 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-frames.json @@ -0,0 +1 @@ +{"description":"Frozen operation frames (source_aligned_local_v4.py canonical form: operations whose frame differs from the closure frame), from PR200 descent on the aligned word and the script's forward closure.","frames":[[4800,[21,15]],[4801,[22,15]],[4802,[21,12,3]],[4803,[21,12,3]],[4804,[21,12,3]],[4805,[21,12,3]],[4806,[37,15]],[4807,[38,15]],[4808,[37,12,3]],[4809,[37,12,3]],[4810,[37,12,3]],[4811,[37,12,3]],[4812,[69,15]],[4813,[70,15]],[4814,[69,12,3]],[4815,[69,12,3]],[4816,[69,12,3]],[4817,[69,12,3]],[4818,[133,15]],[4819,[134,15]],[4820,[133,12,3]],[4821,[133,12,3]],[4822,[133,12,3]],[4823,[133,12,3]],[4824,[261,15]],[4825,[262,15]],[4826,[261,12,3]],[4827,[261,12,3]],[4828,[261,12,3]],[4829,[261,12,3]],[4830,[517,15]],[4831,[518,15]],[4832,[517,12,3]],[4833,[517,12,3]],[4834,[517,12,3]],[4835,[517,12,3]],[4836,[1029,15]],[4837,[1030,15]],[4838,[1029,12,3]],[4839,[1029,12,3]],[4840,[1029,12,3]],[4841,[1029,12,3]],[4842,[2053,15]],[4843,[2054,15]],[4844,[2053,12,3]],[4845,[2053,12,3]],[4846,[2053,12,3]],[4847,[2053,12,3]],[4848,[4101,15]],[4849,[4102,15]],[4850,[4101,12,3]],[4851,[4101,12,3]],[4852,[4101,12,3]],[4853,[4101,12,3]],[4854,[8197,15]],[4855,[8198,15]],[4856,[8197,12,3]],[4857,[8197,12,3]],[4858,[8197,12,3]],[4859,[8197,12,3]],[4860,[16389,15]],[4861,[16390,15]],[4862,[16389,12,3]],[4863,[16389,12,3]],[4864,[16389,12,3]],[4865,[16389,12,3]],[4866,[32773,15]],[4867,[32774,15]],[4868,[32773,12,3]],[4869,[32773,12,3]],[4870,[32773,12,3]],[4871,[32773,12,3]],[4872,[65541,15]],[4873,[65542,15]],[4874,[65541,12,3]],[4875,[65541,12,3]],[4876,[65541,12,3]],[4877,[65541,12,3]],[4878,[131077,15]],[4879,[131078,15]],[4880,[131077,12,3]],[4881,[131077,12,3]],[4882,[131077,12,3]],[4883,[131077,12,3]],[4884,[262149,15]],[4885,[262150,15]],[4886,[262149,12,3]],[4887,[262149,12,3]],[4888,[262149,12,3]],[4889,[262149,12,3]],[4890,[524293,15]],[4891,[524294,15]],[4892,[524293,12,3]],[4893,[524293,12,3]],[4894,[524293,12,3]],[4895,[524293,12,3]],[4896,[81,51]],[4897,[82,51]],[4898,[81,48,3]],[4899,[81,48,3]],[4900,[81,48,3]],[4901,[81,48,3]],[4902,[145,51]],[4903,[146,51]],[4904,[145,48,3]],[4905,[145,48,3]],[4906,[145,48,3]],[4907,[145,48,3]],[4908,[273,51]],[4909,[274,51]],[4910,[273,48,3]],[4911,[273,48,3]],[4912,[273,48,3]],[4913,[273,48,3]],[4914,[529,51]],[4915,[530,51]],[4916,[529,48,3]],[4917,[529,48,3]],[4918,[529,48,3]],[4919,[529,48,3]],[4920,[1041,51]],[4921,[1042,51]],[4922,[1041,48,3]],[4923,[1041,48,3]],[4924,[1041,48,3]],[4925,[1041,48,3]],[4926,[2065,51]],[4927,[2066,51]],[4928,[2065,48,3]],[4929,[2065,48,3]],[4930,[2065,48,3]],[4931,[2065,48,3]],[4932,[4113,51]],[4933,[4114,51]],[4934,[4113,48,3]],[4935,[4113,48,3]],[4936,[4113,48,3]],[4937,[4113,48,3]],[4938,[8209,51]],[4939,[8210,51]],[4940,[8209,48,3]],[4941,[8209,48,3]],[4942,[8209,48,3]],[4943,[8209,48,3]],[4944,[16401,51]],[4945,[16402,51]],[4946,[16401,48,3]],[4947,[16401,48,3]],[4948,[16401,48,3]],[4949,[16401,48,3]],[4950,[32785,51]],[4951,[32786,51]],[4952,[32785,48,3]],[4953,[32785,48,3]],[4954,[32785,48,3]],[4955,[32785,48,3]],[4956,[65553,51]],[4957,[65554,51]],[4958,[65553,48,3]],[4959,[65553,48,3]],[4960,[65553,48,3]],[4961,[65553,48,3]],[4962,[131089,51]],[4963,[131090,51]],[4964,[131089,48,3]],[4965,[131089,48,3]],[4966,[131089,48,3]],[4967,[131089,48,3]],[4968,[262161,51]],[4969,[262162,51]],[4970,[262161,48,3]],[4971,[262161,48,3]],[4972,[262161,48,3]],[4973,[262161,48,3]],[4974,[524305,51]],[4975,[524306,51]],[4976,[524305,48,3]],[4977,[524305,48,3]],[4978,[524305,48,3]],[4979,[524305,48,3]],[4980,[321,195]],[4981,[322,195]],[4982,[321,192,3]],[4983,[321,192,3]],[4984,[321,192,3]],[4985,[321,192,3]],[4986,[577,195]],[4987,[578,195]],[4988,[577,192,3]],[4989,[577,192,3]],[4990,[577,192,3]],[4991,[577,192,3]],[4992,[1089,195]],[4993,[1090,195]],[4994,[1089,192,3]],[4995,[1089,192,3]],[4996,[1089,192,3]],[4997,[1089,192,3]],[4998,[2113,195]],[4999,[2114,195]],[5000,[2113,192,3]],[5001,[2113,192,3]],[5002,[2113,192,3]],[5003,[2113,192,3]],[5004,[4161,195]],[5005,[4162,195]],[5006,[4161,192,3]],[5007,[4161,192,3]],[5008,[4161,192,3]],[5009,[4161,192,3]],[5010,[8257,195]],[5011,[8258,195]],[5012,[8257,192,3]],[5013,[8257,192,3]],[5014,[8257,192,3]],[5015,[8257,192,3]],[5016,[16449,195]],[5017,[16450,195]],[5018,[16449,192,3]],[5019,[16449,192,3]],[5020,[16449,192,3]],[5021,[16449,192,3]],[5022,[32833,195]],[5023,[32834,195]],[5024,[32833,192,3]],[5025,[32833,192,3]],[5026,[32833,192,3]],[5027,[32833,192,3]],[5028,[65601,195]],[5029,[65602,195]],[5030,[65601,192,3]],[5031,[65601,192,3]],[5032,[65601,192,3]],[5033,[65601,192,3]],[5034,[131137,195]],[5035,[131138,195]],[5036,[131137,192,3]],[5037,[131137,192,3]],[5038,[131137,192,3]],[5039,[131137,192,3]],[5040,[262209,195]],[5041,[262210,195]],[5042,[262209,192,3]],[5043,[262209,192,3]],[5044,[262209,192,3]],[5045,[262209,192,3]],[5046,[524353,195]],[5047,[524354,195]],[5048,[524353,192,3]],[5049,[524353,192,3]],[5050,[524353,192,3]],[5051,[524353,192,3]],[5052,[1281,771]],[5053,[1282,771]],[5054,[1281,768,3]],[5055,[1281,768,3]],[5056,[1281,768,3]],[5057,[1281,768,3]],[5058,[2305,771]],[5059,[2306,771]],[5060,[2305,768,3]],[5061,[2305,768,3]],[5062,[2305,768,3]],[5063,[2305,768,3]],[5064,[4353,771]],[5065,[4354,771]],[5066,[4353,768,3]],[5067,[4353,768,3]],[5068,[4353,768,3]],[5069,[4353,768,3]],[5070,[8449,771]],[5071,[8450,771]],[5072,[8449,768,3]],[5073,[8449,768,3]],[5074,[8449,768,3]],[5075,[8449,768,3]],[5076,[16641,771]],[5077,[16642,771]],[5078,[16641,768,3]],[5079,[16641,768,3]],[5080,[16641,768,3]],[5081,[16641,768,3]],[5082,[33025,771]],[5083,[33026,771]],[5084,[33025,768,3]],[5085,[33025,768,3]],[5086,[33025,768,3]],[5087,[33025,768,3]],[5088,[65793,771]],[5089,[65794,771]],[5090,[65793,768,3]],[5091,[65793,768,3]],[5092,[65793,768,3]],[5093,[65793,768,3]],[5094,[131329,771]],[5095,[131330,771]],[5096,[131329,768,3]],[5097,[131329,768,3]],[5098,[131329,768,3]],[5099,[131329,768,3]],[5100,[262401,771]],[5101,[262402,771]],[5102,[262401,768,3]],[5103,[262401,768,3]],[5104,[262401,768,3]],[5105,[262401,768,3]],[5106,[524545,771]],[5107,[524546,771]],[5108,[524545,768,3]],[5109,[524545,768,3]],[5110,[524545,768,3]],[5111,[524545,768,3]],[5112,[5121,3075]],[5113,[5122,3075]],[5114,[5121,3072,3]],[5115,[5121,3072,3]],[5116,[5121,3072,3]],[5117,[5121,3072,3]],[5118,[9217,3075]],[5119,[9218,3075]],[5120,[9217,3072,3]],[5121,[9217,3072,3]],[5122,[9217,3072,3]],[5123,[9217,3072,3]],[5124,[17409,3075]],[5125,[17410,3075]],[5126,[17409,3072,3]],[5127,[17409,3072,3]],[5128,[17409,3072,3]],[5129,[17409,3072,3]],[5130,[33793,3075]],[5131,[33794,3075]],[5132,[33793,3072,3]],[5133,[33793,3072,3]],[5134,[33793,3072,3]],[5135,[33793,3072,3]],[5136,[66561,3075]],[5137,[66562,3075]],[5138,[66561,3072,3]],[5139,[66561,3072,3]],[5140,[66561,3072,3]],[5141,[66561,3072,3]],[5142,[132097,3075]],[5143,[132098,3075]],[5144,[132097,3072,3]],[5145,[132097,3072,3]],[5146,[132097,3072,3]],[5147,[132097,3072,3]],[5148,[263169,3075]],[5149,[263170,3075]],[5150,[263169,3072,3]],[5151,[263169,3072,3]],[5152,[263169,3072,3]],[5153,[263169,3072,3]],[5154,[525313,3075]],[5155,[525314,3075]],[5156,[525313,3072,3]],[5157,[525313,3072,3]],[5158,[525313,3072,3]],[5159,[525313,3072,3]],[5160,[20481,12291]],[5161,[20482,12291]],[5162,[20481,12288,3]],[5163,[20481,12288,3]],[5164,[20481,12288,3]],[5165,[20481,12288,3]],[5166,[36865,12291]],[5167,[36866,12291]],[5168,[36865,12288,3]],[5169,[36865,12288,3]],[5170,[36865,12288,3]],[5171,[36865,12288,3]],[5172,[69633,12291]],[5173,[69634,12291]],[5174,[69633,12288,3]],[5175,[69633,12288,3]],[5176,[69633,12288,3]],[5177,[69633,12288,3]],[5178,[135169,12291]],[5179,[135170,12291]],[5180,[135169,12288,3]],[5181,[135169,12288,3]],[5182,[135169,12288,3]],[5183,[135169,12288,3]],[5184,[266241,12291]],[5185,[266242,12291]],[5186,[266241,12288,3]],[5187,[266241,12288,3]],[5188,[266241,12288,3]],[5189,[266241,12288,3]],[5190,[528385,12291]],[5191,[528386,12291]],[5192,[528385,12288,3]],[5193,[528385,12288,3]],[5194,[528385,12288,3]],[5195,[528385,12288,3]],[5196,[81921,49155]],[5197,[81922,49155]],[5198,[81921,49152,3]],[5199,[81921,49152,3]],[5200,[81921,49152,3]],[5201,[81921,49152,3]],[5202,[147457,49155]],[5203,[147458,49155]],[5204,[147457,49152,3]],[5205,[147457,49152,3]],[5206,[147457,49152,3]],[5207,[147457,49152,3]],[5208,[278529,49155]],[5209,[278530,49155]],[5210,[278529,49152,3]],[5211,[278529,49152,3]],[5212,[278529,49152,3]],[5213,[278529,49152,3]],[5214,[540673,49155]],[5215,[540674,49155]],[5216,[540673,49152,3]],[5217,[540673,49152,3]],[5218,[540673,49152,3]],[5219,[540673,49152,3]],[5220,[327681,196611]],[5221,[327682,196611]],[5222,[327681,196608,3]],[5223,[327681,196608,3]],[5224,[327681,196608,3]],[5225,[327681,196608,3]],[5226,[589825,196611]],[5227,[589826,196611]],[5228,[589825,196608,3]],[5229,[589825,196608,3]],[5230,[589825,196608,3]],[5231,[589825,196608,3]],[5232,[84,60]],[5233,[88,60]],[5234,[84,48,12]],[5235,[84,48,12]],[5236,[84,48,12]],[5237,[84,48,12]],[5238,[84,48,12]],[5239,[148,60]],[5240,[152,60]],[5241,[148,48,12]],[5242,[148,48,12]],[5243,[148,48,12]],[5244,[148,48,12]],[5245,[148,48,12]],[5246,[276,60]],[5247,[280,60]],[5248,[276,48,12]],[5249,[276,48,12]],[5250,[276,48,12]],[5251,[276,48,12]],[5252,[276,48,12]],[5253,[532,60]],[5254,[536,60]],[5255,[532,48,12]],[5256,[532,48,12]],[5257,[532,48,12]],[5258,[532,48,12]],[5259,[532,48,12]],[5260,[1044,60]],[5261,[1048,60]],[5262,[1044,48,12]],[5263,[1044,48,12]],[5264,[1044,48,12]],[5265,[1044,48,12]],[5266,[1044,48,12]],[5267,[2068,60]],[5268,[2072,60]],[5269,[2068,48,12]],[5270,[2068,48,12]],[5271,[2068,48,12]],[5272,[2068,48,12]],[5273,[2068,48,12]],[5274,[4116,60]],[5275,[4120,60]],[5276,[4116,48,12]],[5277,[4116,48,12]],[5278,[4116,48,12]],[5279,[4116,48,12]],[5280,[4116,48,12]],[5281,[8212,60]],[5282,[8216,60]],[5283,[8212,48,12]],[5284,[8212,48,12]],[5285,[8212,48,12]],[5286,[8212,48,12]],[5287,[8212,48,12]],[5288,[16404,60]],[5289,[16408,60]],[5290,[16404,48,12]],[5291,[16404,48,12]],[5292,[16404,48,12]],[5293,[16404,48,12]],[5294,[16404,48,12]],[5295,[32788,60]],[5296,[32792,60]],[5297,[32788,48,12]],[5298,[32788,48,12]],[5299,[32788,48,12]],[5300,[32788,48,12]],[5301,[32788,48,12]],[5302,[65556,60]],[5303,[65560,60]],[5304,[65556,48,12]],[5305,[65556,48,12]],[5306,[65556,48,12]],[5307,[65556,48,12]],[5308,[65556,48,12]],[5309,[131092,60]],[5310,[131096,60]],[5311,[131092,48,12]],[5312,[131092,48,12]],[5313,[131092,48,12]],[5314,[131092,48,12]],[5315,[131092,48,12]],[5316,[262164,60]],[5317,[262168,60]],[5318,[262164,48,12]],[5319,[262164,48,12]],[5320,[262164,48,12]],[5321,[262164,48,12]],[5322,[262164,48,12]],[5323,[524308,60]],[5324,[524312,60]],[5325,[524308,48,12]],[5326,[524308,48,12]],[5327,[524308,48,12]],[5328,[524308,48,12]],[5329,[524308,48,12]],[5330,[324,204]],[5331,[328,204]],[5332,[324,192,12]],[5333,[324,192,12]],[5334,[324,192,12]],[5335,[324,192,12]],[5336,[580,204]],[5337,[584,204]],[5338,[580,192,12]],[5339,[580,192,12]],[5340,[580,192,12]],[5341,[580,192,12]],[5342,[1092,204]],[5343,[1096,204]],[5344,[1092,192,12]],[5345,[1092,192,12]],[5346,[1092,192,12]],[5347,[1092,192,12]],[5348,[2116,204]],[5349,[2120,204]],[5350,[2116,192,12]],[5351,[2116,192,12]],[5352,[2116,192,12]],[5353,[2116,192,12]],[5354,[4164,204]],[5355,[4168,204]],[5356,[4164,192,12]],[5357,[4164,192,12]],[5358,[4164,192,12]],[5359,[4164,192,12]],[5360,[8260,204]],[5361,[8264,204]],[5362,[8260,192,12]],[5363,[8260,192,12]],[5364,[8260,192,12]],[5365,[8260,192,12]],[5366,[16452,204]],[5367,[16456,204]],[5368,[16452,192,12]],[5369,[16452,192,12]],[5370,[16452,192,12]],[5371,[16452,192,12]],[5372,[32836,204]],[5373,[32840,204]],[5374,[32836,192,12]],[5375,[32836,192,12]],[5376,[32836,192,12]],[5377,[32836,192,12]],[5378,[65604,204]],[5379,[65608,204]],[5380,[65604,192,12]],[5381,[65604,192,12]],[5382,[65604,192,12]],[5383,[65604,192,12]],[5384,[131140,204]],[5385,[131144,204]],[5386,[131140,192,12]],[5387,[131140,192,12]],[5388,[131140,192,12]],[5389,[131140,192,12]],[5390,[262212,204]],[5391,[262216,204]],[5392,[262212,192,12]],[5393,[262212,192,12]],[5394,[262212,192,12]],[5395,[262212,192,12]],[5396,[524356,204]],[5397,[524360,204]],[5398,[524356,192,12]],[5399,[524356,192,12]],[5400,[524356,192,12]],[5401,[524356,192,12]],[5402,[1284,780]],[5403,[1288,780]],[5404,[1284,768,12]],[5405,[1284,768,12]],[5406,[1284,768,12]],[5407,[1284,768,12]],[5408,[2308,780]],[5409,[2312,780]],[5410,[2308,768,12]],[5411,[2308,768,12]],[5412,[2308,768,12]],[5413,[2308,768,12]],[5414,[4356,780]],[5415,[4360,780]],[5416,[4356,768,12]],[5417,[4356,768,12]],[5418,[4356,768,12]],[5419,[4356,768,12]],[5420,[8452,780]],[5421,[8456,780]],[5422,[8452,768,12]],[5423,[8452,768,12]],[5424,[8452,768,12]],[5425,[8452,768,12]],[5426,[16644,780]],[5427,[16648,780]],[5428,[16644,768,12]],[5429,[16644,768,12]],[5430,[16644,768,12]],[5431,[16644,768,12]],[5432,[33028,780]],[5433,[33032,780]],[5434,[33028,768,12]],[5435,[33028,768,12]],[5436,[33028,768,12]],[5437,[33028,768,12]],[5438,[65796,780]],[5439,[65800,780]],[5440,[65796,768,12]],[5441,[65796,768,12]],[5442,[65796,768,12]],[5443,[65796,768,12]],[5444,[131332,780]],[5445,[131336,780]],[5446,[131332,768,12]],[5447,[131332,768,12]],[5448,[131332,768,12]],[5449,[131332,768,12]],[5450,[262404,780]],[5451,[262408,780]],[5452,[262404,768,12]],[5453,[262404,768,12]],[5454,[262404,768,12]],[5455,[262404,768,12]],[5456,[524548,780]],[5457,[524552,780]],[5458,[524548,768,12]],[5459,[524548,768,12]],[5460,[524548,768,12]],[5461,[524548,768,12]],[5462,[5124,3084]],[5463,[5128,3084]],[5464,[5124,3072,12]],[5465,[5124,3072,12]],[5466,[5124,3072,12]],[5467,[5124,3072,12]],[5468,[9220,3084]],[5469,[9224,3084]],[5470,[9220,3072,12]],[5471,[9220,3072,12]],[5472,[9220,3072,12]],[5473,[9220,3072,12]],[5474,[17412,3084]],[5475,[17416,3084]],[5476,[17412,3072,12]],[5477,[17412,3072,12]],[5478,[17412,3072,12]],[5479,[17412,3072,12]],[5480,[33796,3084]],[5481,[33800,3084]],[5482,[33796,3072,12]],[5483,[33796,3072,12]],[5484,[33796,3072,12]],[5485,[33796,3072,12]],[5486,[66564,3084]],[5487,[66568,3084]],[5488,[66564,3072,12]],[5489,[66564,3072,12]],[5490,[66564,3072,12]],[5491,[66564,3072,12]],[5492,[132100,3084]],[5493,[132104,3084]],[5494,[132100,3072,12]],[5495,[132100,3072,12]],[5496,[132100,3072,12]],[5497,[132100,3072,12]],[5498,[263172,3084]],[5499,[263176,3084]],[5500,[263172,3072,12]],[5501,[263172,3072,12]],[5502,[263172,3072,12]],[5503,[263172,3072,12]],[5504,[525316,3084]],[5505,[525320,3084]],[5506,[525316,3072,12]],[5507,[525316,3072,12]],[5508,[525316,3072,12]],[5509,[525316,3072,12]],[5510,[20484,12300]],[5511,[20488,12300]],[5512,[20484,12288,12]],[5513,[20484,12288,12]],[5514,[20484,12288,12]],[5515,[20484,12288,12]],[5516,[36868,12300]],[5517,[36872,12300]],[5518,[36868,12288,12]],[5519,[36868,12288,12]],[5520,[36868,12288,12]],[5521,[36868,12288,12]],[5522,[69636,12300]],[5523,[69640,12300]],[5524,[69636,12288,12]],[5525,[69636,12288,12]],[5526,[69636,12288,12]],[5527,[69636,12288,12]],[5528,[135172,12300]],[5529,[135176,12300]],[5530,[135172,12288,12]],[5531,[135172,12288,12]],[5532,[135172,12288,12]],[5533,[135172,12288,12]],[5534,[266244,12300]],[5535,[266248,12300]],[5536,[266244,12288,12]],[5537,[266244,12288,12]],[5538,[266244,12288,12]],[5539,[266244,12288,12]],[5540,[528388,12300]],[5541,[528392,12300]],[5542,[528388,12288,12]],[5543,[528388,12288,12]],[5544,[528388,12288,12]],[5545,[528388,12288,12]],[5546,[81924,49164]],[5547,[81928,49164]],[5548,[81924,49152,12]],[5549,[81924,49152,12]],[5550,[81924,49152,12]],[5551,[81924,49152,12]],[5552,[147460,49164]],[5553,[147464,49164]],[5554,[147460,49152,12]],[5555,[147460,49152,12]],[5556,[147460,49152,12]],[5557,[147460,49152,12]],[5558,[278532,49164]],[5559,[278536,49164]],[5560,[278532,49152,12]],[5561,[278532,49152,12]],[5562,[278532,49152,12]],[5563,[278532,49152,12]],[5564,[540676,49164]],[5565,[540680,49164]],[5566,[540676,49152,12]],[5567,[540676,49152,12]],[5568,[540676,49152,12]],[5569,[540676,49152,12]],[5570,[327684,196620]],[5571,[327688,196620]],[5572,[327684,196608,12]],[5573,[327684,196608,12]],[5574,[327684,196608,12]],[5575,[327684,196608,12]],[5576,[589828,196620]],[5577,[589832,196620]],[5578,[589828,196608,12]],[5579,[589828,196608,12]],[5580,[589828,196608,12]],[5581,[589828,196608,12]],[5582,[336,240]],[5583,[352,240]],[5584,[336,192,48]],[5585,[336,192,48]],[5586,[336,192,48]],[5587,[336,192,48]],[5588,[336,192,48]],[5589,[592,240]],[5590,[608,240]],[5591,[592,192,48]],[5592,[592,192,48]],[5593,[592,192,48]],[5594,[592,192,48]],[5595,[592,192,48]],[5596,[1104,240]],[5597,[1120,240]],[5598,[1104,192,48]],[5599,[1104,192,48]],[5600,[1104,192,48]],[5601,[1104,192,48]],[5602,[1104,192,48]],[5603,[2128,240]],[5604,[2144,240]],[5605,[2128,192,48]],[5606,[2128,192,48]],[5607,[2128,192,48]],[5608,[2128,192,48]],[5609,[2128,192,48]],[5610,[4176,240]],[5611,[4192,240]],[5612,[4176,192,48]],[5613,[4176,192,48]],[5614,[4176,192,48]],[5615,[4176,192,48]],[5616,[4176,192,48]],[5617,[8272,240]],[5618,[8288,240]],[5619,[8272,192,48]],[5620,[8272,192,48]],[5621,[8272,192,48]],[5622,[8272,192,48]],[5623,[8272,192,48]],[5624,[16464,240]],[5625,[16480,240]],[5626,[16464,192,48]],[5627,[16464,192,48]],[5628,[16464,192,48]],[5629,[16464,192,48]],[5630,[16464,192,48]],[5631,[32848,240]],[5632,[32864,240]],[5633,[32848,192,48]],[5634,[32848,192,48]],[5635,[32848,192,48]],[5636,[32848,192,48]],[5637,[32848,192,48]],[5638,[65616,240]],[5639,[65632,240]],[5640,[65616,192,48]],[5641,[65616,192,48]],[5642,[65616,192,48]],[5643,[65616,192,48]],[5644,[65616,192,48]],[5645,[131152,240]],[5646,[131168,240]],[5647,[131152,192,48]],[5648,[131152,192,48]],[5649,[131152,192,48]],[5650,[131152,192,48]],[5651,[131152,192,48]],[5652,[262224,240]],[5653,[262240,240]],[5654,[262224,192,48]],[5655,[262224,192,48]],[5656,[262224,192,48]],[5657,[262224,192,48]],[5658,[262224,192,48]],[5659,[524368,240]],[5660,[524384,240]],[5661,[524368,192,48]],[5662,[524368,192,48]],[5663,[524368,192,48]],[5664,[524368,192,48]],[5665,[524368,192,48]],[5666,[1296,816]],[5667,[1312,816]],[5668,[1296,768,48]],[5669,[1296,768,48]],[5670,[1296,768,48]],[5671,[1296,768,48]],[5672,[1296,768,48]],[5673,[2320,816]],[5674,[2336,816]],[5675,[2320,768,48]],[5676,[2320,768,48]],[5677,[2320,768,48]],[5678,[2320,768,48]],[5679,[2320,768,48]],[5680,[4368,816]],[5681,[4384,816]],[5682,[4368,768,48]],[5683,[4368,768,48]],[5684,[4368,768,48]],[5685,[4368,768,48]],[5686,[4368,768,48]],[5687,[8464,816]],[5688,[8480,816]],[5689,[8464,768,48]],[5690,[8464,768,48]],[5691,[8464,768,48]],[5692,[8464,768,48]],[5693,[8464,768,48]],[5694,[16656,816]],[5695,[16672,816]],[5696,[16656,768,48]],[5697,[16656,768,48]],[5698,[16656,768,48]],[5699,[16656,768,48]],[5700,[16656,768,48]],[5701,[33040,816]],[5702,[33056,816]],[5703,[33040,768,48]],[5704,[33040,768,48]],[5705,[33040,768,48]],[5706,[33040,768,48]],[5707,[33040,768,48]],[5708,[65808,816]],[5709,[65824,816]],[5710,[65808,768,48]],[5711,[65808,768,48]],[5712,[65808,768,48]],[5713,[65808,768,48]],[5714,[65808,768,48]],[5715,[131344,816]],[5716,[131360,816]],[5717,[131344,768,48]],[5718,[131344,768,48]],[5719,[131344,768,48]],[5720,[131344,768,48]],[5721,[131344,768,48]],[5722,[262416,816]],[5723,[262432,816]],[5724,[262416,768,48]],[5725,[262416,768,48]],[5726,[262416,768,48]],[5727,[262416,768,48]],[5728,[262416,768,48]],[5729,[524560,816]],[5730,[524576,816]],[5731,[524560,768,48]],[5732,[524560,768,48]],[5733,[524560,768,48]],[5734,[524560,768,48]],[5735,[524560,768,48]],[5736,[5136,3120]],[5737,[5152,3120]],[5738,[5136,3072,48]],[5739,[5136,3072,48]],[5740,[5136,3072,48]],[5741,[5136,3072,48]],[5742,[9232,3120]],[5743,[9248,3120]],[5744,[9232,3072,48]],[5745,[9232,3072,48]],[5746,[9232,3072,48]],[5747,[9232,3072,48]],[5748,[17424,3120]],[5749,[17440,3120]],[5750,[17424,3072,48]],[5751,[17424,3072,48]],[5752,[17424,3072,48]],[5753,[17424,3072,48]],[5754,[33808,3120]],[5755,[33824,3120]],[5756,[33808,3072,48]],[5757,[33808,3072,48]],[5758,[33808,3072,48]],[5759,[33808,3072,48]],[5760,[66576,3120]],[5761,[66592,3120]],[5762,[66576,3072,48]],[5763,[66576,3072,48]],[5764,[66576,3072,48]],[5765,[66576,3072,48]],[5766,[132112,3120]],[5767,[132128,3120]],[5768,[132112,3072,48]],[5769,[132112,3072,48]],[5770,[132112,3072,48]],[5771,[132112,3072,48]],[5772,[263184,3120]],[5773,[263200,3120]],[5774,[263184,3072,48]],[5775,[263184,3072,48]],[5776,[263184,3072,48]],[5777,[263184,3072,48]],[5778,[525328,3120]],[5779,[525344,3120]],[5780,[525328,3072,48]],[5781,[525328,3072,48]],[5782,[525328,3072,48]],[5783,[525328,3072,48]],[5784,[20496,12336]],[5785,[20512,12336]],[5786,[20496,12288,48]],[5787,[20496,12288,48]],[5788,[20496,12288,48]],[5789,[20496,12288,48]],[5790,[36880,12336]],[5791,[36896,12336]],[5792,[36880,12288,48]],[5793,[36880,12288,48]],[5794,[36880,12288,48]],[5795,[36880,12288,48]],[5796,[69648,12336]],[5797,[69664,12336]],[5798,[69648,12288,48]],[5799,[69648,12288,48]],[5800,[69648,12288,48]],[5801,[69648,12288,48]],[5802,[135184,12336]],[5803,[135200,12336]],[5804,[135184,12288,48]],[5805,[135184,12288,48]],[5806,[135184,12288,48]],[5807,[135184,12288,48]],[5808,[266256,12336]],[5809,[266272,12336]],[5810,[266256,12288,48]],[5811,[266256,12288,48]],[5812,[266256,12288,48]],[5813,[266256,12288,48]],[5814,[528400,12336]],[5815,[528416,12336]],[5816,[528400,12288,48]],[5817,[528400,12288,48]],[5818,[528400,12288,48]],[5819,[528400,12288,48]],[5820,[81936,49200]],[5821,[81952,49200]],[5822,[81936,49152,48]],[5823,[81936,49152,48]],[5824,[81936,49152,48]],[5825,[81936,49152,48]],[5826,[81936,49152,48]],[5827,[147472,49200]],[5828,[147488,49200]],[5829,[147472,49152,48]],[5830,[147472,49152,48]],[5831,[147472,49152,48]],[5832,[147472,49152,48]],[5833,[147472,49152,48]],[5834,[278544,49200]],[5835,[278560,49200]],[5836,[278544,49152,48]],[5837,[278544,49152,48]],[5838,[278544,49152,48]],[5839,[278544,49152,48]],[5840,[278544,49152,48]],[5841,[540688,49200]],[5842,[540704,49200]],[5843,[540688,49152,48]],[5844,[540688,49152,48]],[5845,[540688,49152,48]],[5846,[540688,49152,48]],[5847,[540688,49152,48]],[5848,[327696,196656]],[5849,[327712,196656]],[5850,[327696,196608,48]],[5851,[327696,196608,48]],[5852,[327696,196608,48]],[5853,[327696,196608,48]],[5854,[589840,196656]],[5855,[589856,196656]],[5856,[589840,196608,48]],[5857,[589840,196608,48]],[5858,[589840,196608,48]],[5859,[589840,196608,48]],[5860,[1344,960]],[5861,[1408,960]],[5862,[1344,768,192]],[5863,[1344,768,192]],[5864,[1344,768,192]],[5865,[1344,768,192]],[5866,[1344,768,192]],[5867,[2368,960]],[5868,[2432,960]],[5869,[2368,768,192]],[5870,[2368,768,192]],[5871,[2368,768,192]],[5872,[2368,768,192]],[5873,[2368,768,192]],[5874,[4416,960]],[5875,[4480,960]],[5876,[4416,768,192]],[5877,[4416,768,192]],[5878,[4416,768,192]],[5879,[4416,768,192]],[5880,[4416,768,192]],[5881,[8512,960]],[5882,[8576,960]],[5883,[8512,768,192]],[5884,[8512,768,192]],[5885,[8512,768,192]],[5886,[8512,768,192]],[5887,[8512,768,192]],[5888,[16704,960]],[5889,[16768,960]],[5890,[16704,768,192]],[5891,[16704,768,192]],[5892,[16704,768,192]],[5893,[16704,768,192]],[5894,[16704,768,192]],[5895,[33088,960]],[5896,[33152,960]],[5897,[33088,768,192]],[5898,[33088,768,192]],[5899,[33088,768,192]],[5900,[33088,768,192]],[5901,[33088,768,192]],[5902,[65856,960]],[5903,[65920,960]],[5904,[65856,768,192]],[5905,[65856,768,192]],[5906,[65856,768,192]],[5907,[65856,768,192]],[5908,[65856,768,192]],[5909,[131392,960]],[5910,[131456,960]],[5911,[131392,768,192]],[5912,[131392,768,192]],[5913,[131392,768,192]],[5914,[131392,768,192]],[5915,[131392,768,192]],[5916,[262464,960]],[5917,[262528,960]],[5918,[262464,768,192]],[5919,[262464,768,192]],[5920,[262464,768,192]],[5921,[262464,768,192]],[5922,[262464,768,192]],[5923,[524608,960]],[5924,[524672,960]],[5925,[524608,768,192]],[5926,[524608,768,192]],[5927,[524608,768,192]],[5928,[524608,768,192]],[5929,[524608,768,192]],[5930,[5184,3264]],[5931,[5248,3264]],[5932,[5184,3072,192]],[5933,[5184,3072,192]],[5934,[5184,3072,192]],[5935,[5184,3072,192]],[5936,[9280,3264]],[5937,[9344,3264]],[5938,[9280,3072,192]],[5939,[9280,3072,192]],[5940,[9280,3072,192]],[5941,[9280,3072,192]],[5942,[17472,3264]],[5943,[17536,3264]],[5944,[17472,3072,192]],[5945,[17472,3072,192]],[5946,[17472,3072,192]],[5947,[17472,3072,192]],[5948,[33856,3264]],[5949,[33920,3264]],[5950,[33856,3072,192]],[5951,[33856,3072,192]],[5952,[33856,3072,192]],[5953,[33856,3072,192]],[5954,[66624,3264]],[5955,[66688,3264]],[5956,[66624,3072,192]],[5957,[66624,3072,192]],[5958,[66624,3072,192]],[5959,[66624,3072,192]],[5960,[132160,3264]],[5961,[132224,3264]],[5962,[132160,3072,192]],[5963,[132160,3072,192]],[5964,[132160,3072,192]],[5965,[132160,3072,192]],[5966,[263232,3264]],[5967,[263296,3264]],[5968,[263232,3072,192]],[5969,[263232,3072,192]],[5970,[263232,3072,192]],[5971,[263232,3072,192]],[5972,[525376,3264]],[5973,[525440,3264]],[5974,[525376,3072,192]],[5975,[525376,3072,192]],[5976,[525376,3072,192]],[5977,[525376,3072,192]],[5978,[20544,12480]],[5979,[20608,12480]],[5980,[20544,12288,192]],[5981,[20544,12288,192]],[5982,[20544,12288,192]],[5983,[20544,12288,192]],[5984,[36928,12480]],[5985,[36992,12480]],[5986,[36928,12288,192]],[5987,[36928,12288,192]],[5988,[36928,12288,192]],[5989,[36928,12288,192]],[5990,[69696,12480]],[5991,[69760,12480]],[5992,[69696,12288,192]],[5993,[69696,12288,192]],[5994,[69696,12288,192]],[5995,[69696,12288,192]],[5996,[135232,12480]],[5997,[135296,12480]],[5998,[135232,12288,192]],[5999,[135232,12288,192]],[6000,[135232,12288,192]],[6001,[135232,12288,192]],[6002,[266304,12480]],[6003,[266368,12480]],[6004,[266304,12288,192]],[6005,[266304,12288,192]],[6006,[266304,12288,192]],[6007,[266304,12288,192]],[6008,[528448,12480]],[6009,[528512,12480]],[6010,[528448,12288,192]],[6011,[528448,12288,192]],[6012,[528448,12288,192]],[6013,[528448,12288,192]],[6014,[81984,49344]],[6015,[82048,49344]],[6016,[81984,49152,192]],[6017,[81984,49152,192]],[6018,[81984,49152,192]],[6019,[81984,49152,192]],[6020,[147520,49344]],[6021,[147584,49344]],[6022,[147520,49152,192]],[6023,[147520,49152,192]],[6024,[147520,49152,192]],[6025,[147520,49152,192]],[6026,[278592,49344]],[6027,[278656,49344]],[6028,[278592,49152,192]],[6029,[278592,49152,192]],[6030,[278592,49152,192]],[6031,[278592,49152,192]],[6032,[540736,49344]],[6033,[540800,49344]],[6034,[540736,49152,192]],[6035,[540736,49152,192]],[6036,[540736,49152,192]],[6037,[540736,49152,192]],[6038,[327744,196800]],[6039,[327808,196800]],[6040,[327744,196608,192]],[6041,[327744,196608,192]],[6042,[327744,196608,192]],[6043,[327744,196608,192]],[6044,[589888,196800]],[6045,[589952,196800]],[6046,[589888,196608,192]],[6047,[589888,196608,192]],[6048,[589888,196608,192]],[6049,[589888,196608,192]],[6050,[5376,3840]],[6051,[5632,3840]],[6052,[5376,3072,768]],[6053,[5376,3072,768]],[6054,[5376,3072,768]],[6055,[5376,3072,768]],[6056,[9472,3840]],[6057,[9728,3840]],[6058,[9472,3072,768]],[6059,[9472,3072,768]],[6060,[9472,3072,768]],[6061,[9472,3072,768]],[6062,[17664,3840]],[6063,[17920,3840]],[6064,[17664,3072,768]],[6065,[17664,3072,768]],[6066,[17664,3072,768]],[6067,[17664,3072,768]],[6068,[34048,3840]],[6069,[34304,3840]],[6070,[34048,3072,768]],[6071,[34048,3072,768]],[6072,[34048,3072,768]],[6073,[34048,3072,768]],[6074,[66816,3840]],[6075,[67072,3840]],[6076,[66816,3072,768]],[6077,[66816,3072,768]],[6078,[66816,3072,768]],[6079,[66816,3072,768]],[6080,[132352,3840]],[6081,[132608,3840]],[6082,[132352,3072,768]],[6083,[132352,3072,768]],[6084,[132352,3072,768]],[6085,[132352,3072,768]],[6086,[263424,3840]],[6087,[263680,3840]],[6088,[263424,3072,768]],[6089,[263424,3072,768]],[6090,[263424,3072,768]],[6091,[263424,3072,768]],[6092,[525568,3840]],[6093,[525824,3840]],[6094,[525568,3072,768]],[6095,[525568,3072,768]],[6096,[525568,3072,768]],[6097,[525568,3072,768]],[6098,[20736,13056]],[6099,[20992,13056]],[6100,[20736,12288,768]],[6101,[20736,12288,768]],[6102,[20736,12288,768]],[6103,[20736,12288,768]],[6104,[37120,13056]],[6105,[37376,13056]],[6106,[37120,12288,768]],[6107,[37120,12288,768]],[6108,[37120,12288,768]],[6109,[37120,12288,768]],[6110,[69888,13056]],[6111,[70144,13056]],[6112,[69888,12288,768]],[6113,[69888,12288,768]],[6114,[69888,12288,768]],[6115,[69888,12288,768]],[6116,[135424,13056]],[6117,[135680,13056]],[6118,[135424,12288,768]],[6119,[135424,12288,768]],[6120,[135424,12288,768]],[6121,[135424,12288,768]],[6122,[266496,13056]],[6123,[266752,13056]],[6124,[266496,12288,768]],[6125,[266496,12288,768]],[6126,[266496,12288,768]],[6127,[266496,12288,768]],[6128,[528640,13056]],[6129,[528896,13056]],[6130,[528640,12288,768]],[6131,[528640,12288,768]],[6132,[528640,12288,768]],[6133,[528640,12288,768]],[6134,[82176,49920]],[6135,[82432,49920]],[6136,[82176,49152,768]],[6137,[82176,49152,768]],[6138,[82176,49152,768]],[6139,[82176,49152,768]],[6140,[82176,49152,768]],[6141,[147712,49920]],[6142,[147968,49920]],[6143,[147712,49152,768]],[6144,[147712,49152,768]],[6145,[147712,49152,768]],[6146,[147712,49152,768]],[6147,[147712,49152,768]],[6148,[278784,49920]],[6149,[279040,49920]],[6150,[278784,49152,768]],[6151,[278784,49152,768]],[6152,[278784,49152,768]],[6153,[278784,49152,768]],[6154,[278784,49152,768]],[6155,[540928,49920]],[6156,[541184,49920]],[6157,[540928,49152,768]],[6158,[540928,49152,768]],[6159,[540928,49152,768]],[6160,[540928,49152,768]],[6161,[540928,49152,768]],[6162,[327936,197376]],[6163,[328192,197376]],[6164,[327936,196608,768]],[6165,[327936,196608,768]],[6166,[327936,196608,768]],[6167,[327936,196608,768]],[6168,[590080,197376]],[6169,[590336,197376]],[6170,[590080,196608,768]],[6171,[590080,196608,768]],[6172,[590080,196608,768]],[6173,[590080,196608,768]],[6174,[21504,15360]],[6175,[22528,15360]],[6176,[21504,12288,3072]],[6177,[21504,12288,3072]],[6178,[21504,12288,3072]],[6179,[21504,12288,3072]],[6180,[21504,12288,3072]],[6181,[37888,15360]],[6182,[38912,15360]],[6183,[37888,12288,3072]],[6184,[37888,12288,3072]],[6185,[37888,12288,3072]],[6186,[37888,12288,3072]],[6187,[37888,12288,3072]],[6188,[70656,15360]],[6189,[71680,15360]],[6190,[70656,12288,3072]],[6191,[70656,12288,3072]],[6192,[70656,12288,3072]],[6193,[70656,12288,3072]],[6194,[70656,12288,3072]],[6195,[136192,15360]],[6196,[137216,15360]],[6197,[136192,12288,3072]],[6198,[136192,12288,3072]],[6199,[136192,12288,3072]],[6200,[136192,12288,3072]],[6201,[136192,12288,3072]],[6202,[267264,15360]],[6203,[268288,15360]],[6204,[267264,12288,3072]],[6205,[267264,12288,3072]],[6206,[267264,12288,3072]],[6207,[267264,12288,3072]],[6208,[267264,12288,3072]],[6209,[529408,15360]],[6210,[530432,15360]],[6211,[529408,12288,3072]],[6212,[529408,12288,3072]],[6213,[529408,12288,3072]],[6214,[529408,12288,3072]],[6215,[529408,12288,3072]],[6216,[82944,52224]],[6217,[83968,52224]],[6218,[82944,49152,3072]],[6219,[82944,49152,3072]],[6220,[82944,49152,3072]],[6221,[82944,49152,3072]],[6222,[148480,52224]],[6223,[149504,52224]],[6224,[148480,49152,3072]],[6225,[148480,49152,3072]],[6226,[148480,49152,3072]],[6227,[148480,49152,3072]],[6228,[279552,52224]],[6229,[280576,52224]],[6230,[279552,49152,3072]],[6231,[279552,49152,3072]],[6232,[279552,49152,3072]],[6233,[279552,49152,3072]],[6234,[541696,52224]],[6235,[542720,52224]],[6236,[541696,49152,3072]],[6237,[541696,49152,3072]],[6238,[541696,49152,3072]],[6239,[541696,49152,3072]],[6240,[328704,199680]],[6241,[329728,199680]],[6242,[328704,196608,3072]],[6243,[328704,196608,3072]],[6244,[328704,196608,3072]],[6245,[328704,196608,3072]],[6246,[590848,199680]],[6247,[591872,199680]],[6248,[590848,196608,3072]],[6249,[590848,196608,3072]],[6250,[590848,196608,3072]],[6251,[590848,196608,3072]],[6252,[86016,61440]],[6253,[90112,61440]],[6254,[86016,49152,12288]],[6255,[86016,49152,12288]],[6256,[86016,49152,12288]],[6257,[86016,49152,12288]],[6258,[86016,49152,12288]],[6259,[151552,61440]],[6260,[155648,61440]],[6261,[151552,49152,12288]],[6262,[151552,49152,12288]],[6263,[151552,49152,12288]],[6264,[151552,49152,12288]],[6265,[151552,49152,12288]],[6266,[282624,61440]],[6267,[286720,61440]],[6268,[282624,49152,12288]],[6269,[282624,49152,12288]],[6270,[282624,49152,12288]],[6271,[282624,49152,12288]],[6272,[282624,49152,12288]],[6273,[544768,61440]],[6274,[548864,61440]],[6275,[544768,49152,12288]],[6276,[544768,49152,12288]],[6277,[544768,49152,12288]],[6278,[544768,49152,12288]],[6279,[544768,49152,12288]],[6280,[331776,208896]],[6281,[335872,208896]],[6282,[331776,196608,12288]],[6283,[331776,196608,12288]],[6284,[331776,196608,12288]],[6285,[331776,196608,12288]],[6286,[593920,208896]],[6287,[598016,208896]],[6288,[593920,196608,12288]],[6289,[593920,196608,12288]],[6290,[593920,196608,12288]],[6291,[593920,196608,12288]],[6292,[344064,245760]],[6293,[360448,245760]],[6294,[344064,196608,49152]],[6295,[344064,196608,49152]],[6296,[344064,196608,49152]],[6297,[344064,196608,49152]],[6298,[344064,196608,49152]],[6299,[606208,245760]],[6300,[622592,245760]],[6301,[606208,196608,49152]],[6302,[606208,196608,49152]],[6303,[606208,196608,49152]],[6304,[606208,196608,49152]],[6305,[606208,196608,49152]],[6306,[21,15]],[6307,[37,15]],[6308,[37,21,15]],[6309,[37,21,15]],[6310,[22,15]],[6311,[38,15]],[6312,[38,22,15]],[6313,[38,22,15]],[6314,[38,21]],[6315,[42,25]],[6316,[38,21,12]],[6317,[38,21,12]],[6318,[37,22]],[6319,[41,26]],[6320,[37,22,12]],[6321,[37,22,12]],[6322,[41,21]],[6323,[42,22]],[6324,[41,21,3]],[6325,[41,21,3]],[6326,[37,25]],[6327,[38,26]],[6328,[37,25,3]],[6329,[37,25,3]],[6330,[41,21]],[6331,[37,25]],[6332,[37,21,12]],[6333,[37,21,12]],[6334,[37,21,12]],[6335,[42,22]],[6336,[38,26]],[6337,[38,22,12]],[6338,[38,22,12]],[6339,[38,22,12]],[6340,[38,21]],[6341,[37,22]],[6342,[37,21,3]],[6343,[37,21,3]],[6344,[37,21,3]],[6345,[42,25]],[6346,[41,26]],[6347,[41,25,3]],[6348,[41,25,3]],[6349,[41,25,3]],[6350,[69,15]],[6351,[133,15]],[6352,[133,69,15]],[6353,[133,69,15]],[6354,[70,15]],[6355,[134,15]],[6356,[134,70,15]],[6357,[134,70,15]],[6358,[134,69]],[6359,[138,73]],[6360,[134,69,12]],[6361,[134,69,12]],[6362,[133,70]],[6363,[137,74]],[6364,[133,70,12]],[6365,[133,70,12]],[6366,[137,69]],[6367,[138,70]],[6368,[137,69,3]],[6369,[137,69,3]],[6370,[133,73]],[6371,[134,74]],[6372,[133,73,3]],[6373,[133,73,3]],[6374,[137,69]],[6375,[133,73]],[6376,[133,69,12]],[6377,[133,69,12]],[6378,[133,69,12]],[6379,[138,70]],[6380,[134,74]],[6381,[134,70,12]],[6382,[134,70,12]],[6383,[134,70,12]],[6384,[134,69]],[6385,[133,70]],[6386,[133,69,3]],[6387,[133,69,3]],[6388,[133,69,3]],[6389,[138,73]],[6390,[137,74]],[6391,[137,73,3]],[6392,[137,73,3]],[6393,[137,73,3]],[6394,[261,15]],[6395,[517,15]],[6396,[517,261,15]],[6397,[517,261,15]],[6398,[262,15]],[6399,[518,15]],[6400,[518,262,15]],[6401,[518,262,15]],[6402,[518,261]],[6403,[522,265]],[6404,[518,261,12]],[6405,[518,261,12]],[6406,[517,262]],[6407,[521,266]],[6408,[517,262,12]],[6409,[517,262,12]],[6410,[521,261]],[6411,[522,262]],[6412,[521,261,3]],[6413,[521,261,3]],[6414,[517,265]],[6415,[518,266]],[6416,[517,265,3]],[6417,[517,265,3]],[6418,[521,261]],[6419,[517,265]],[6420,[517,261,12]],[6421,[517,261,12]],[6422,[517,261,12]],[6423,[522,262]],[6424,[518,266]],[6425,[518,262,12]],[6426,[518,262,12]],[6427,[518,262,12]],[6428,[518,261]],[6429,[517,262]],[6430,[517,261,3]],[6431,[517,261,3]],[6432,[517,261,3]],[6433,[522,265]],[6434,[521,266]],[6435,[521,265,3]],[6436,[521,265,3]],[6437,[521,265,3]],[6438,[1029,15]],[6439,[2053,15]],[6440,[2053,1029,15]],[6441,[2053,1029,15]],[6442,[1030,15]],[6443,[2054,15]],[6444,[2054,1030,15]],[6445,[2054,1030,15]],[6446,[2054,1029]],[6447,[2058,1033]],[6448,[2054,1029,12]],[6449,[2054,1029,12]],[6450,[2053,1030]],[6451,[2057,1034]],[6452,[2053,1030,12]],[6453,[2053,1030,12]],[6454,[2057,1029]],[6455,[2058,1030]],[6456,[2057,1029,3]],[6457,[2057,1029,3]],[6458,[2053,1033]],[6459,[2054,1034]],[6460,[2053,1033,3]],[6461,[2053,1033,3]],[6462,[2057,1029]],[6463,[2053,1033]],[6464,[2053,1029,12]],[6465,[2053,1029,12]],[6466,[2053,1029,12]],[6467,[2058,1030]],[6468,[2054,1034]],[6469,[2054,1030,12]],[6470,[2054,1030,12]],[6471,[2054,1030,12]],[6472,[2054,1029]],[6473,[2053,1030]],[6474,[2053,1029,3]],[6475,[2053,1029,3]],[6476,[2053,1029,3]],[6477,[2058,1033]],[6478,[2057,1034]],[6479,[2057,1033,3]],[6480,[2057,1033,3]],[6481,[2057,1033,3]],[6482,[4101,15]],[6483,[8197,15]],[6484,[8197,4101,15]],[6485,[8197,4101,15]],[6486,[4102,15]],[6487,[8198,15]],[6488,[8198,4102,15]],[6489,[8198,4102,15]],[6490,[8198,4101]],[6491,[8202,4105]],[6492,[8198,4101,12]],[6493,[8198,4101,12]],[6494,[8197,4102]],[6495,[8201,4106]],[6496,[8197,4102,12]],[6497,[8197,4102,12]],[6498,[8201,4101]],[6499,[8202,4102]],[6500,[8201,4101,3]],[6501,[8201,4101,3]],[6502,[8197,4105]],[6503,[8198,4106]],[6504,[8197,4105,3]],[6505,[8197,4105,3]],[6506,[8201,4101]],[6507,[8197,4105]],[6508,[8197,4101,12]],[6509,[8197,4101,12]],[6510,[8197,4101,12]],[6511,[8202,4102]],[6512,[8198,4106]],[6513,[8198,4102,12]],[6514,[8198,4102,12]],[6515,[8198,4102,12]],[6516,[8198,4101]],[6517,[8197,4102]],[6518,[8197,4101,3]],[6519,[8197,4101,3]],[6520,[8197,4101,3]],[6521,[8202,4105]],[6522,[8201,4106]],[6523,[8201,4105,3]],[6524,[8201,4105,3]],[6525,[8201,4105,3]],[6526,[16389,15]],[6527,[32773,15]],[6528,[32773,16389,15]],[6529,[32773,16389,15]],[6530,[16390,15]],[6531,[32774,15]],[6532,[32774,16390,15]],[6533,[32774,16390,15]],[6534,[32774,16389]],[6535,[32778,16393]],[6536,[32774,16389,12]],[6537,[32774,16389,12]],[6538,[32773,16390]],[6539,[32777,16394]],[6540,[32773,16390,12]],[6541,[32773,16390,12]],[6542,[32777,16389]],[6543,[32778,16390]],[6544,[32777,16389,3]],[6545,[32777,16389,3]],[6546,[32773,16393]],[6547,[32774,16394]],[6548,[32773,16393,3]],[6549,[32773,16393,3]],[6550,[32777,16389]],[6551,[32773,16393]],[6552,[32773,16389,12]],[6553,[32773,16389,12]],[6554,[32773,16389,12]],[6555,[32778,16390]],[6556,[32774,16394]],[6557,[32774,16390,12]],[6558,[32774,16390,12]],[6559,[32774,16390,12]],[6560,[32774,16389]],[6561,[32773,16390]],[6562,[32773,16389,3]],[6563,[32773,16389,3]],[6564,[32773,16389,3]],[6565,[32778,16393]],[6566,[32777,16394]],[6567,[32777,16393,3]],[6568,[32777,16393,3]],[6569,[32777,16393,3]],[6570,[65541,15]],[6571,[131077,15]],[6572,[131077,65541,15]],[6573,[131077,65541,15]],[6574,[65542,15]],[6575,[131078,15]],[6576,[131078,65542,15]],[6577,[131078,65542,15]],[6578,[131078,65541]],[6579,[131082,65545]],[6580,[131078,65541,12]],[6581,[131078,65541,12]],[6582,[131077,65542]],[6583,[131081,65546]],[6584,[131077,65542,12]],[6585,[131077,65542,12]],[6586,[131081,65541]],[6587,[131082,65542]],[6588,[131081,65541,3]],[6589,[131081,65541,3]],[6590,[131077,65545]],[6591,[131078,65546]],[6592,[131077,65545,3]],[6593,[131077,65545,3]],[6594,[131081,65541]],[6595,[131077,65545]],[6596,[131077,65541,12]],[6597,[131077,65541,12]],[6598,[131077,65541,12]],[6599,[131082,65542]],[6600,[131078,65546]],[6601,[131078,65542,12]],[6602,[131078,65542,12]],[6603,[131078,65542,12]],[6604,[131078,65541]],[6605,[131077,65542]],[6606,[131077,65541,3]],[6607,[131077,65541,3]],[6608,[131077,65541,3]],[6609,[131082,65545]],[6610,[131081,65546]],[6611,[131081,65545,3]],[6612,[131081,65545,3]],[6613,[131081,65545,3]],[6614,[262149,15]],[6615,[524293,15]],[6616,[524293,262149,15]],[6617,[524293,262149,15]],[6618,[262150,15]],[6619,[524294,15]],[6620,[524294,262150,15]],[6621,[524294,262150,15]],[6622,[524294,262149]],[6623,[524298,262153]],[6624,[524294,262149,12]],[6625,[524294,262149,12]],[6626,[524293,262150]],[6627,[524297,262154]],[6628,[524293,262150,12]],[6629,[524293,262150,12]],[6630,[524297,262149]],[6631,[524298,262150]],[6632,[524297,262149,3]],[6633,[524297,262149,3]],[6634,[524293,262153]],[6635,[524294,262154]],[6636,[524293,262153,3]],[6637,[524293,262153,3]],[6638,[524297,262149]],[6639,[524293,262153]],[6640,[524293,262149,12]],[6641,[524293,262149,12]],[6642,[524293,262149,12]],[6643,[524298,262150]],[6644,[524294,262154]],[6645,[524294,262150,12]],[6646,[524294,262150,12]],[6647,[524294,262150,12]],[6648,[524294,262149]],[6649,[524293,262150]],[6650,[524293,262149,3]],[6651,[524293,262149,3]],[6652,[524293,262149,3]],[6653,[524298,262153]],[6654,[524297,262154]],[6655,[524297,262153,3]],[6656,[524297,262153,3]],[6657,[524297,262153,3]],[6658,[81,51]],[6659,[145,51]],[6660,[145,81,51]],[6661,[145,81,51]],[6662,[82,51]],[6663,[146,51]],[6664,[146,82,51]],[6665,[146,82,51]],[6666,[146,81]],[6667,[162,97]],[6668,[146,81,48]],[6669,[146,81,48]],[6670,[145,82]],[6671,[161,98]],[6672,[145,82,48]],[6673,[145,82,48]],[6674,[161,81]],[6675,[162,82]],[6676,[161,81,3]],[6677,[161,81,3]],[6678,[145,97]],[6679,[146,98]],[6680,[145,97,3]],[6681,[145,97,3]],[6682,[161,81]],[6683,[145,97]],[6684,[145,81,48]],[6685,[145,81,48]],[6686,[145,81,48]],[6687,[145,81,48]],[6688,[162,82]],[6689,[146,98]],[6690,[146,82,48]],[6691,[146,82,48]],[6692,[146,82,48]],[6693,[146,82,48]],[6694,[146,81]],[6695,[145,82]],[6696,[145,81,3]],[6697,[145,81,3]],[6698,[145,81,3]],[6699,[162,97]],[6700,[161,98]],[6701,[161,97,3]],[6702,[161,97,3]],[6703,[161,97,3]],[6704,[273,51]],[6705,[529,51]],[6706,[529,273,51]],[6707,[529,273,51]],[6708,[274,51]],[6709,[530,51]],[6710,[530,274,51]],[6711,[530,274,51]],[6712,[530,273]],[6713,[546,289]],[6714,[530,273,48]],[6715,[530,273,48]],[6716,[529,274]],[6717,[545,290]],[6718,[529,274,48]],[6719,[529,274,48]],[6720,[545,273]],[6721,[546,274]],[6722,[545,273,3]],[6723,[545,273,3]],[6724,[529,289]],[6725,[530,290]],[6726,[529,289,3]],[6727,[529,289,3]],[6728,[545,273]],[6729,[529,289]],[6730,[529,273,48]],[6731,[529,273,48]],[6732,[529,273,48]],[6733,[546,274]],[6734,[530,290]],[6735,[530,274,48]],[6736,[530,274,48]],[6737,[530,274,48]],[6738,[530,273]],[6739,[529,274]],[6740,[529,273,3]],[6741,[529,273,3]],[6742,[529,273,3]],[6743,[546,289]],[6744,[545,290]],[6745,[545,289,3]],[6746,[545,289,3]],[6747,[545,289,3]],[6748,[1041,51]],[6749,[2065,51]],[6750,[2065,1041,51]],[6751,[2065,1041,51]],[6752,[1042,51]],[6753,[2066,51]],[6754,[2066,1042,51]],[6755,[2066,1042,51]],[6756,[2066,1041]],[6757,[2082,1057]],[6758,[2066,1041,48]],[6759,[2066,1041,48]],[6760,[2065,1042]],[6761,[2081,1058]],[6762,[2065,1042,48]],[6763,[2065,1042,48]],[6764,[2081,1041]],[6765,[2082,1042]],[6766,[2081,1041,3]],[6767,[2081,1041,3]],[6768,[2065,1057]],[6769,[2066,1058]],[6770,[2065,1057,3]],[6771,[2065,1057,3]],[6772,[2081,1041]],[6773,[2065,1057]],[6774,[2065,1041,48]],[6775,[2065,1041,48]],[6776,[2065,1041,48]],[6777,[2082,1042]],[6778,[2066,1058]],[6779,[2066,1042,48]],[6780,[2066,1042,48]],[6781,[2066,1042,48]],[6782,[2066,1041]],[6783,[2065,1042]],[6784,[2065,1041,3]],[6785,[2065,1041,3]],[6786,[2065,1041,3]],[6787,[2082,1057]],[6788,[2081,1058]],[6789,[2081,1057,3]],[6790,[2081,1057,3]],[6791,[2081,1057,3]],[6792,[4113,51]],[6793,[8209,51]],[6794,[8209,4113,51]],[6795,[8209,4113,51]],[6796,[4114,51]],[6797,[8210,51]],[6798,[8210,4114,51]],[6799,[8210,4114,51]],[6800,[8210,4113]],[6801,[8226,4129]],[6802,[8210,4113,48]],[6803,[8210,4113,48]],[6804,[8209,4114]],[6805,[8225,4130]],[6806,[8209,4114,48]],[6807,[8209,4114,48]],[6808,[8225,4113]],[6809,[8226,4114]],[6810,[8225,4113,3]],[6811,[8225,4113,3]],[6812,[8209,4129]],[6813,[8210,4130]],[6814,[8209,4129,3]],[6815,[8209,4129,3]],[6816,[8225,4113]],[6817,[8209,4129]],[6818,[8209,4113,48]],[6819,[8209,4113,48]],[6820,[8209,4113,48]],[6821,[8226,4114]],[6822,[8210,4130]],[6823,[8210,4114,48]],[6824,[8210,4114,48]],[6825,[8210,4114,48]],[6826,[8210,4113]],[6827,[8209,4114]],[6828,[8209,4113,3]],[6829,[8209,4113,3]],[6830,[8209,4113,3]],[6831,[8226,4129]],[6832,[8225,4130]],[6833,[8225,4129,3]],[6834,[8225,4129,3]],[6835,[8225,4129,3]],[6836,[16401,51]],[6837,[32785,51]],[6838,[32785,16401,51]],[6839,[32785,16401,51]],[6840,[16402,51]],[6841,[32786,51]],[6842,[32786,16402,51]],[6843,[32786,16402,51]],[6844,[32786,16401]],[6845,[32802,16417]],[6846,[32786,16401,48]],[6847,[32786,16401,48]],[6848,[32785,16402]],[6849,[32801,16418]],[6850,[32785,16402,48]],[6851,[32785,16402,48]],[6852,[32801,16401]],[6853,[32802,16402]],[6854,[32801,16401,3]],[6855,[32801,16401,3]],[6856,[32785,16417]],[6857,[32786,16418]],[6858,[32785,16417,3]],[6859,[32785,16417,3]],[6860,[32801,16401]],[6861,[32785,16417]],[6862,[32785,16401,48]],[6863,[32785,16401,48]],[6864,[32785,16401,48]],[6865,[32802,16402]],[6866,[32786,16418]],[6867,[32786,16402,48]],[6868,[32786,16402,48]],[6869,[32786,16402,48]],[6870,[32786,16401]],[6871,[32785,16402]],[6872,[32785,16401,3]],[6873,[32785,16401,3]],[6874,[32785,16401,3]],[6875,[32802,16417]],[6876,[32801,16418]],[6877,[32801,16417,3]],[6878,[32801,16417,3]],[6879,[32801,16417,3]],[6880,[65553,51]],[6881,[131089,51]],[6882,[131089,65553,51]],[6883,[131089,65553,51]],[6884,[65554,51]],[6885,[131090,51]],[6886,[131090,65554,51]],[6887,[131090,65554,51]],[6888,[131090,65553]],[6889,[131106,65569]],[6890,[131090,65553,48]],[6891,[131090,65553,48]],[6892,[131089,65554]],[6893,[131105,65570]],[6894,[131089,65554,48]],[6895,[131089,65554,48]],[6896,[131105,65553]],[6897,[131106,65554]],[6898,[131105,65553,3]],[6899,[131105,65553,3]],[6900,[131089,65569]],[6901,[131090,65570]],[6902,[131089,65569,3]],[6903,[131089,65569,3]],[6904,[131105,65553]],[6905,[131089,65569]],[6906,[131089,65553,48]],[6907,[131089,65553,48]],[6908,[131089,65553,48]],[6909,[131106,65554]],[6910,[131090,65570]],[6911,[131090,65554,48]],[6912,[131090,65554,48]],[6913,[131090,65554,48]],[6914,[131090,65553]],[6915,[131089,65554]],[6916,[131089,65553,3]],[6917,[131089,65553,3]],[6918,[131089,65553,3]],[6919,[131106,65569]],[6920,[131105,65570]],[6921,[131105,65569,3]],[6922,[131105,65569,3]],[6923,[131105,65569,3]],[6924,[262161,51]],[6925,[524305,51]],[6926,[524305,262161,51]],[6927,[524305,262161,51]],[6928,[262162,51]],[6929,[524306,51]],[6930,[524306,262162,51]],[6931,[524306,262162,51]],[6932,[524306,262161]],[6933,[524322,262177]],[6934,[524306,262161,48]],[6935,[524306,262161,48]],[6936,[524305,262162]],[6937,[524321,262178]],[6938,[524305,262162,48]],[6939,[524305,262162,48]],[6940,[524321,262161]],[6941,[524322,262162]],[6942,[524321,262161,3]],[6943,[524321,262161,3]],[6944,[524305,262177]],[6945,[524306,262178]],[6946,[524305,262177,3]],[6947,[524305,262177,3]],[6948,[524321,262161]],[6949,[524305,262177]],[6950,[524305,262161,48]],[6951,[524305,262161,48]],[6952,[524305,262161,48]],[6953,[524322,262162]],[6954,[524306,262178]],[6955,[524306,262162,48]],[6956,[524306,262162,48]],[6957,[524306,262162,48]],[6958,[524306,262161]],[6959,[524305,262162]],[6960,[524305,262161,3]],[6961,[524305,262161,3]],[6962,[524305,262161,3]],[6963,[524322,262177]],[6964,[524321,262178]],[6965,[524321,262177,3]],[6966,[524321,262177,3]],[6967,[524321,262177,3]],[6968,[321,195]],[6969,[577,195]],[6970,[577,321,195]],[6971,[577,321,195]],[6972,[322,195]],[6973,[578,195]],[6974,[578,322,195]],[6975,[578,322,195]],[6976,[578,321]],[6977,[642,385]],[6978,[578,321,192]],[6979,[578,321,192]],[6980,[577,322]],[6981,[641,386]],[6982,[577,322,192]],[6983,[577,322,192]],[6984,[641,321]],[6985,[642,322]],[6986,[641,321,3]],[6987,[641,321,3]],[6988,[577,385]],[6989,[578,386]],[6990,[577,385,3]],[6991,[577,385,3]],[6992,[641,321]],[6993,[577,385]],[6994,[577,321,192]],[6995,[577,321,192]],[6996,[577,321,192]],[6997,[577,321,192]],[6998,[642,322]],[6999,[578,386]],[7000,[578,322,192]],[7001,[578,322,192]],[7002,[578,322,192]],[7003,[578,322,192]],[7004,[578,321]],[7005,[577,322]],[7006,[577,321,3]],[7007,[577,321,3]],[7008,[577,321,3]],[7009,[642,385]],[7010,[641,386]],[7011,[641,385,3]],[7012,[641,385,3]],[7013,[641,385,3]],[7014,[1089,195]],[7015,[2113,195]],[7016,[2113,1089,195]],[7017,[2113,1089,195]],[7018,[1090,195]],[7019,[2114,195]],[7020,[2114,1090,195]],[7021,[2114,1090,195]],[7022,[2114,1089]],[7023,[2178,1153]],[7024,[2114,1089,192]],[7025,[2114,1089,192]],[7026,[2113,1090]],[7027,[2177,1154]],[7028,[2113,1090,192]],[7029,[2113,1090,192]],[7030,[2177,1089]],[7031,[2178,1090]],[7032,[2177,1089,3]],[7033,[2177,1089,3]],[7034,[2113,1153]],[7035,[2114,1154]],[7036,[2113,1153,3]],[7037,[2113,1153,3]],[7038,[2177,1089]],[7039,[2113,1153]],[7040,[2113,1089,192]],[7041,[2113,1089,192]],[7042,[2113,1089,192]],[7043,[2113,1089,192]],[7044,[2178,1090]],[7045,[2114,1154]],[7046,[2114,1090,192]],[7047,[2114,1090,192]],[7048,[2114,1090,192]],[7049,[2114,1090,192]],[7050,[2114,1089]],[7051,[2113,1090]],[7052,[2113,1089,3]],[7053,[2113,1089,3]],[7054,[2113,1089,3]],[7055,[2178,1153]],[7056,[2177,1154]],[7057,[2177,1153,3]],[7058,[2177,1153,3]],[7059,[2177,1153,3]],[7060,[4161,195]],[7061,[8257,195]],[7062,[8257,4161,195]],[7063,[8257,4161,195]],[7064,[4162,195]],[7065,[8258,195]],[7066,[8258,4162,195]],[7067,[8258,4162,195]],[7068,[8258,4161]],[7069,[8322,4225]],[7070,[8258,4161,192]],[7071,[8258,4161,192]],[7072,[8257,4162]],[7073,[8321,4226]],[7074,[8257,4162,192]],[7075,[8257,4162,192]],[7076,[8321,4161]],[7077,[8322,4162]],[7078,[8321,4161,3]],[7079,[8321,4161,3]],[7080,[8257,4225]],[7081,[8258,4226]],[7082,[8257,4225,3]],[7083,[8257,4225,3]],[7084,[8321,4161]],[7085,[8257,4225]],[7086,[8257,4161,192]],[7087,[8257,4161,192]],[7088,[8257,4161,192]],[7089,[8322,4162]],[7090,[8258,4226]],[7091,[8258,4162,192]],[7092,[8258,4162,192]],[7093,[8258,4162,192]],[7094,[8258,4161]],[7095,[8257,4162]],[7096,[8257,4161,3]],[7097,[8257,4161,3]],[7098,[8257,4161,3]],[7099,[8322,4225]],[7100,[8321,4226]],[7101,[8321,4225,3]],[7102,[8321,4225,3]],[7103,[8321,4225,3]],[7104,[16449,195]],[7105,[32833,195]],[7106,[32833,16449,195]],[7107,[32833,16449,195]],[7108,[16450,195]],[7109,[32834,195]],[7110,[32834,16450,195]],[7111,[32834,16450,195]],[7112,[32834,16449]],[7113,[32898,16513]],[7114,[32834,16449,192]],[7115,[32834,16449,192]],[7116,[32833,16450]],[7117,[32897,16514]],[7118,[32833,16450,192]],[7119,[32833,16450,192]],[7120,[32897,16449]],[7121,[32898,16450]],[7122,[32897,16449,3]],[7123,[32897,16449,3]],[7124,[32833,16513]],[7125,[32834,16514]],[7126,[32833,16513,3]],[7127,[32833,16513,3]],[7128,[32897,16449]],[7129,[32833,16513]],[7130,[32833,16449,192]],[7131,[32833,16449,192]],[7132,[32833,16449,192]],[7133,[32898,16450]],[7134,[32834,16514]],[7135,[32834,16450,192]],[7136,[32834,16450,192]],[7137,[32834,16450,192]],[7138,[32834,16449]],[7139,[32833,16450]],[7140,[32833,16449,3]],[7141,[32833,16449,3]],[7142,[32833,16449,3]],[7143,[32898,16513]],[7144,[32897,16514]],[7145,[32897,16513,3]],[7146,[32897,16513,3]],[7147,[32897,16513,3]],[7148,[65601,195]],[7149,[131137,195]],[7150,[131137,65601,195]],[7151,[131137,65601,195]],[7152,[65602,195]],[7153,[131138,195]],[7154,[131138,65602,195]],[7155,[131138,65602,195]],[7156,[131138,65601]],[7157,[131202,65665]],[7158,[131138,65601,192]],[7159,[131138,65601,192]],[7160,[131137,65602]],[7161,[131201,65666]],[7162,[131137,65602,192]],[7163,[131137,65602,192]],[7164,[131201,65601]],[7165,[131202,65602]],[7166,[131201,65601,3]],[7167,[131201,65601,3]],[7168,[131137,65665]],[7169,[131138,65666]],[7170,[131137,65665,3]],[7171,[131137,65665,3]],[7172,[131201,65601]],[7173,[131137,65665]],[7174,[131137,65601,192]],[7175,[131137,65601,192]],[7176,[131137,65601,192]],[7177,[131137,65601,192]],[7178,[131202,65602]],[7179,[131138,65666]],[7180,[131138,65602,192]],[7181,[131138,65602,192]],[7182,[131138,65602,192]],[7183,[131138,65602,192]],[7184,[131138,65601]],[7185,[131137,65602]],[7186,[131137,65601,3]],[7187,[131137,65601,3]],[7188,[131137,65601,3]],[7189,[131202,65665]],[7190,[131201,65666]],[7191,[131201,65665,3]],[7192,[131201,65665,3]],[7193,[131201,65665,3]],[7194,[262209,195]],[7195,[524353,195]],[7196,[524353,262209,195]],[7197,[524353,262209,195]],[7198,[262210,195]],[7199,[524354,195]],[7200,[524354,262210,195]],[7201,[524354,262210,195]],[7202,[524354,262209]],[7203,[524418,262273]],[7204,[524354,262209,192]],[7205,[524354,262209,192]],[7206,[524353,262210]],[7207,[524417,262274]],[7208,[524353,262210,192]],[7209,[524353,262210,192]],[7210,[524417,262209]],[7211,[524418,262210]],[7212,[524417,262209,3]],[7213,[524417,262209,3]],[7214,[524353,262273]],[7215,[524354,262274]],[7216,[524353,262273,3]],[7217,[524353,262273,3]],[7218,[524417,262209]],[7219,[524353,262273]],[7220,[524353,262209,192]],[7221,[524353,262209,192]],[7222,[524353,262209,192]],[7223,[524418,262210]],[7224,[524354,262274]],[7225,[524354,262210,192]],[7226,[524354,262210,192]],[7227,[524354,262210,192]],[7228,[524354,262209]],[7229,[524353,262210]],[7230,[524353,262209,3]],[7231,[524353,262209,3]],[7232,[524353,262209,3]],[7233,[524418,262273]],[7234,[524417,262274]],[7235,[524417,262273,3]],[7236,[524417,262273,3]],[7237,[524417,262273,3]],[7238,[1281,771]],[7239,[2305,771]],[7240,[2305,1281,771]],[7241,[2305,1281,771]],[7242,[1282,771]],[7243,[2306,771]],[7244,[2306,1282,771]],[7245,[2306,1282,771]],[7246,[2306,1281]],[7247,[2562,1537]],[7248,[2306,1281,768]],[7249,[2306,1281,768]],[7250,[2305,1282]],[7251,[2561,1538]],[7252,[2305,1282,768]],[7253,[2305,1282,768]],[7254,[2561,1281]],[7255,[2562,1282]],[7256,[2561,1281,3]],[7257,[2561,1281,3]],[7258,[2305,1537]],[7259,[2306,1538]],[7260,[2305,1537,3]],[7261,[2305,1537,3]],[7262,[2561,1281]],[7263,[2305,1537]],[7264,[2305,1281,768]],[7265,[2305,1281,768]],[7266,[2305,1281,768]],[7267,[2305,1281,768]],[7268,[2562,1282]],[7269,[2306,1538]],[7270,[2306,1282,768]],[7271,[2306,1282,768]],[7272,[2306,1282,768]],[7273,[2306,1282,768]],[7274,[2306,1281]],[7275,[2305,1282]],[7276,[2305,1281,3]],[7277,[2305,1281,3]],[7278,[2305,1281,3]],[7279,[2562,1537]],[7280,[2561,1538]],[7281,[2561,1537,3]],[7282,[2561,1537,3]],[7283,[2561,1537,3]],[7284,[4353,771]],[7285,[8449,771]],[7286,[8449,4353,771]],[7287,[8449,4353,771]],[7288,[4354,771]],[7289,[8450,771]],[7290,[8450,4354,771]],[7291,[8450,4354,771]],[7292,[8450,4353]],[7293,[8706,4609]],[7294,[8450,4353,768]],[7295,[8450,4353,768]],[7296,[8449,4354]],[7297,[8705,4610]],[7298,[8449,4354,768]],[7299,[8449,4354,768]],[7300,[8705,4353]],[7301,[8706,4354]],[7302,[8705,4353,3]],[7303,[8705,4353,3]],[7304,[8449,4609]],[7305,[8450,4610]],[7306,[8449,4609,3]],[7307,[8449,4609,3]],[7308,[8705,4353]],[7309,[8449,4609]],[7310,[8449,4353,768]],[7311,[8449,4353,768]],[7312,[8449,4353,768]],[7313,[8706,4354]],[7314,[8450,4610]],[7315,[8450,4354,768]],[7316,[8450,4354,768]],[7317,[8450,4354,768]],[7318,[8450,4353]],[7319,[8449,4354]],[7320,[8449,4353,3]],[7321,[8449,4353,3]],[7322,[8449,4353,3]],[7323,[8706,4609]],[7324,[8705,4610]],[7325,[8705,4609,3]],[7326,[8705,4609,3]],[7327,[8705,4609,3]],[7328,[16641,771]],[7329,[33025,771]],[7330,[33025,16641,771]],[7331,[33025,16641,771]],[7332,[16642,771]],[7333,[33026,771]],[7334,[33026,16642,771]],[7335,[33026,16642,771]],[7336,[33026,16641]],[7337,[33282,16897]],[7338,[33026,16641,768]],[7339,[33026,16641,768]],[7340,[33025,16642]],[7341,[33281,16898]],[7342,[33025,16642,768]],[7343,[33025,16642,768]],[7344,[33281,16641]],[7345,[33282,16642]],[7346,[33281,16641,3]],[7347,[33281,16641,3]],[7348,[33025,16897]],[7349,[33026,16898]],[7350,[33025,16897,3]],[7351,[33025,16897,3]],[7352,[33281,16641]],[7353,[33025,16897]],[7354,[33025,16641,768]],[7355,[33025,16641,768]],[7356,[33025,16641,768]],[7357,[33282,16642]],[7358,[33026,16898]],[7359,[33026,16642,768]],[7360,[33026,16642,768]],[7361,[33026,16642,768]],[7362,[33026,16641]],[7363,[33025,16642]],[7364,[33025,16641,3]],[7365,[33025,16641,3]],[7366,[33025,16641,3]],[7367,[33282,16897]],[7368,[33281,16898]],[7369,[33281,16897,3]],[7370,[33281,16897,3]],[7371,[33281,16897,3]],[7372,[65793,771]],[7373,[131329,771]],[7374,[131329,65793,771]],[7375,[131329,65793,771]],[7376,[65794,771]],[7377,[131330,771]],[7378,[131330,65794,771]],[7379,[131330,65794,771]],[7380,[131330,65793]],[7381,[131586,66049]],[7382,[131330,65793,768]],[7383,[131330,65793,768]],[7384,[131329,65794]],[7385,[131585,66050]],[7386,[131329,65794,768]],[7387,[131329,65794,768]],[7388,[131585,65793]],[7389,[131586,65794]],[7390,[131585,65793,3]],[7391,[131585,65793,3]],[7392,[131329,66049]],[7393,[131330,66050]],[7394,[131329,66049,3]],[7395,[131329,66049,3]],[7396,[131585,65793]],[7397,[131329,66049]],[7398,[131329,65793,768]],[7399,[131329,65793,768]],[7400,[131329,65793,768]],[7401,[131586,65794]],[7402,[131330,66050]],[7403,[131330,65794,768]],[7404,[131330,65794,768]],[7405,[131330,65794,768]],[7406,[131330,65793]],[7407,[131329,65794]],[7408,[131329,65793,3]],[7409,[131329,65793,3]],[7410,[131329,65793,3]],[7411,[131586,66049]],[7412,[131585,66050]],[7413,[131585,66049,3]],[7414,[131585,66049,3]],[7415,[131585,66049,3]],[7416,[262401,771]],[7417,[524545,771]],[7418,[524545,262401,771]],[7419,[524545,262401,771]],[7420,[262402,771]],[7421,[524546,771]],[7422,[524546,262402,771]],[7423,[524546,262402,771]],[7424,[524546,262401]],[7425,[524802,262657]],[7426,[524546,262401,768]],[7427,[524546,262401,768]],[7428,[524545,262402]],[7429,[524801,262658]],[7430,[524545,262402,768]],[7431,[524545,262402,768]],[7432,[524801,262401]],[7433,[524802,262402]],[7434,[524801,262401,3]],[7435,[524801,262401,3]],[7436,[524545,262657]],[7437,[524546,262658]],[7438,[524545,262657,3]],[7439,[524545,262657,3]],[7440,[524801,262401]],[7441,[524545,262657]],[7442,[524545,262401,768]],[7443,[524545,262401,768]],[7444,[524545,262401,768]],[7445,[524802,262402]],[7446,[524546,262658]],[7447,[524546,262402,768]],[7448,[524546,262402,768]],[7449,[524546,262402,768]],[7450,[524546,262401]],[7451,[524545,262402]],[7452,[524545,262401,3]],[7453,[524545,262401,3]],[7454,[524545,262401,3]],[7455,[524802,262657]],[7456,[524801,262658]],[7457,[524801,262657,3]],[7458,[524801,262657,3]],[7459,[524801,262657,3]],[7460,[5121,3075]],[7461,[9217,3075]],[7462,[9217,5121,3075]],[7463,[9217,5121,3075]],[7464,[5122,3075]],[7465,[9218,3075]],[7466,[9218,5122,3075]],[7467,[9218,5122,3075]],[7468,[9218,5121]],[7469,[10242,6145]],[7470,[9218,5121,3072]],[7471,[9218,5121,3072]],[7472,[9217,5122]],[7473,[10241,6146]],[7474,[9217,5122,3072]],[7475,[9217,5122,3072]],[7476,[10241,5121]],[7477,[10242,5122]],[7478,[10241,5121,3]],[7479,[10241,5121,3]],[7480,[9217,6145]],[7481,[9218,6146]],[7482,[9217,6145,3]],[7483,[9217,6145,3]],[7484,[10241,5121]],[7485,[9217,6145]],[7486,[9217,5121,3072]],[7487,[9217,5121,3072]],[7488,[9217,5121,3072]],[7489,[10242,5122]],[7490,[9218,6146]],[7491,[9218,5122,3072]],[7492,[9218,5122,3072]],[7493,[9218,5122,3072]],[7494,[9218,5121]],[7495,[9217,5122]],[7496,[9217,5121,3]],[7497,[9217,5121,3]],[7498,[9217,5121,3]],[7499,[10242,6145]],[7500,[10241,6146]],[7501,[10241,6145,3]],[7502,[10241,6145,3]],[7503,[10241,6145,3]],[7504,[17409,3075]],[7505,[33793,3075]],[7506,[33793,17409,3075]],[7507,[33793,17409,3075]],[7508,[17410,3075]],[7509,[33794,3075]],[7510,[33794,17410,3075]],[7511,[33794,17410,3075]],[7512,[33794,17409]],[7513,[34818,18433]],[7514,[33794,17409,3072]],[7515,[33794,17409,3072]],[7516,[33793,17410]],[7517,[34817,18434]],[7518,[33793,17410,3072]],[7519,[33793,17410,3072]],[7520,[34817,17409]],[7521,[34818,17410]],[7522,[34817,17409,3]],[7523,[34817,17409,3]],[7524,[33793,18433]],[7525,[33794,18434]],[7526,[33793,18433,3]],[7527,[33793,18433,3]],[7528,[34817,17409]],[7529,[33793,18433]],[7530,[33793,17409,3072]],[7531,[33793,17409,3072]],[7532,[33793,17409,3072]],[7533,[34818,17410]],[7534,[33794,18434]],[7535,[33794,17410,3072]],[7536,[33794,17410,3072]],[7537,[33794,17410,3072]],[7538,[33794,17409]],[7539,[33793,17410]],[7540,[33793,17409,3]],[7541,[33793,17409,3]],[7542,[33793,17409,3]],[7543,[34818,18433]],[7544,[34817,18434]],[7545,[34817,18433,3]],[7546,[34817,18433,3]],[7547,[34817,18433,3]],[7548,[66561,3075]],[7549,[132097,3075]],[7550,[132097,66561,3075]],[7551,[132097,66561,3075]],[7552,[66562,3075]],[7553,[132098,3075]],[7554,[132098,66562,3075]],[7555,[132098,66562,3075]],[7556,[132098,66561]],[7557,[133122,67585]],[7558,[132098,66561,3072]],[7559,[132098,66561,3072]],[7560,[132097,66562]],[7561,[133121,67586]],[7562,[132097,66562,3072]],[7563,[132097,66562,3072]],[7564,[133121,66561]],[7565,[133122,66562]],[7566,[133121,66561,3]],[7567,[133121,66561,3]],[7568,[132097,67585]],[7569,[132098,67586]],[7570,[132097,67585,3]],[7571,[132097,67585,3]],[7572,[133121,66561]],[7573,[132097,67585]],[7574,[132097,66561,3072]],[7575,[132097,66561,3072]],[7576,[132097,66561,3072]],[7577,[132097,66561,3072]],[7578,[133122,66562]],[7579,[132098,67586]],[7580,[132098,66562,3072]],[7581,[132098,66562,3072]],[7582,[132098,66562,3072]],[7583,[132098,66562,3072]],[7584,[132098,66561]],[7585,[132097,66562]],[7586,[132097,66561,3]],[7587,[132097,66561,3]],[7588,[132097,66561,3]],[7589,[133122,67585]],[7590,[133121,67586]],[7591,[133121,67585,3]],[7592,[133121,67585,3]],[7593,[133121,67585,3]],[7594,[263169,3075]],[7595,[525313,3075]],[7596,[525313,263169,3075]],[7597,[525313,263169,3075]],[7598,[263170,3075]],[7599,[525314,3075]],[7600,[525314,263170,3075]],[7601,[525314,263170,3075]],[7602,[525314,263169]],[7603,[526338,264193]],[7604,[525314,263169,3072]],[7605,[525314,263169,3072]],[7606,[525313,263170]],[7607,[526337,264194]],[7608,[525313,263170,3072]],[7609,[525313,263170,3072]],[7610,[526337,263169]],[7611,[526338,263170]],[7612,[526337,263169,3]],[7613,[526337,263169,3]],[7614,[525313,264193]],[7615,[525314,264194]],[7616,[525313,264193,3]],[7617,[525313,264193,3]],[7618,[526337,263169]],[7619,[525313,264193]],[7620,[525313,263169,3072]],[7621,[525313,263169,3072]],[7622,[525313,263169,3072]],[7623,[526338,263170]],[7624,[525314,264194]],[7625,[525314,263170,3072]],[7626,[525314,263170,3072]],[7627,[525314,263170,3072]],[7628,[525314,263169]],[7629,[525313,263170]],[7630,[525313,263169,3]],[7631,[525313,263169,3]],[7632,[525313,263169,3]],[7633,[526338,264193]],[7634,[526337,264194]],[7635,[526337,264193,3]],[7636,[526337,264193,3]],[7637,[526337,264193,3]],[7638,[20481,12291]],[7639,[36865,12291]],[7640,[36865,20481,12291]],[7641,[36865,20481,12291]],[7642,[20482,12291]],[7643,[36866,12291]],[7644,[36866,20482,12291]],[7645,[36866,20482,12291]],[7646,[36866,20481]],[7647,[40962,24577]],[7648,[36866,20481,12288]],[7649,[36866,20481,12288]],[7650,[36865,20482]],[7651,[40961,24578]],[7652,[36865,20482,12288]],[7653,[36865,20482,12288]],[7654,[40961,20481]],[7655,[40962,20482]],[7656,[40961,20481,3]],[7657,[40961,20481,3]],[7658,[36865,24577]],[7659,[36866,24578]],[7660,[36865,24577,3]],[7661,[36865,24577,3]],[7662,[40961,20481]],[7663,[36865,24577]],[7664,[36865,20481,12288]],[7665,[36865,20481,12288]],[7666,[36865,20481,12288]],[7667,[36865,20481,12288]],[7668,[40962,20482]],[7669,[36866,24578]],[7670,[36866,20482,12288]],[7671,[36866,20482,12288]],[7672,[36866,20482,12288]],[7673,[36866,20482,12288]],[7674,[36866,20481]],[7675,[36865,20482]],[7676,[36865,20481,3]],[7677,[36865,20481,3]],[7678,[36865,20481,3]],[7679,[40962,24577]],[7680,[40961,24578]],[7681,[40961,24577,3]],[7682,[40961,24577,3]],[7683,[40961,24577,3]],[7684,[69633,12291]],[7685,[135169,12291]],[7686,[135169,69633,12291]],[7687,[135169,69633,12291]],[7688,[69634,12291]],[7689,[135170,12291]],[7690,[135170,69634,12291]],[7691,[135170,69634,12291]],[7692,[135170,69633]],[7693,[139266,73729]],[7694,[135170,69633,12288]],[7695,[135170,69633,12288]],[7696,[135169,69634]],[7697,[139265,73730]],[7698,[135169,69634,12288]],[7699,[135169,69634,12288]],[7700,[139265,69633]],[7701,[139266,69634]],[7702,[139265,69633,3]],[7703,[139265,69633,3]],[7704,[135169,73729]],[7705,[135170,73730]],[7706,[135169,73729,3]],[7707,[135169,73729,3]],[7708,[139265,69633]],[7709,[135169,73729]],[7710,[135169,69633,12288]],[7711,[135169,69633,12288]],[7712,[135169,69633,12288]],[7713,[139266,69634]],[7714,[135170,73730]],[7715,[135170,69634,12288]],[7716,[135170,69634,12288]],[7717,[135170,69634,12288]],[7718,[135170,69633]],[7719,[135169,69634]],[7720,[135169,69633,3]],[7721,[135169,69633,3]],[7722,[135169,69633,3]],[7723,[139266,73729]],[7724,[139265,73730]],[7725,[139265,73729,3]],[7726,[139265,73729,3]],[7727,[139265,73729,3]],[7728,[266241,12291]],[7729,[528385,12291]],[7730,[528385,266241,12291]],[7731,[528385,266241,12291]],[7732,[266242,12291]],[7733,[528386,12291]],[7734,[528386,266242,12291]],[7735,[528386,266242,12291]],[7736,[528386,266241]],[7737,[532482,270337]],[7738,[528386,266241,12288]],[7739,[528386,266241,12288]],[7740,[528385,266242]],[7741,[532481,270338]],[7742,[528385,266242,12288]],[7743,[528385,266242,12288]],[7744,[532481,266241]],[7745,[532482,266242]],[7746,[532481,266241,3]],[7747,[532481,266241,3]],[7748,[528385,270337]],[7749,[528386,270338]],[7750,[528385,270337,3]],[7751,[528385,270337,3]],[7752,[532481,266241]],[7753,[528385,270337]],[7754,[528385,266241,12288]],[7755,[528385,266241,12288]],[7756,[528385,266241,12288]],[7757,[532482,266242]],[7758,[528386,270338]],[7759,[528386,266242,12288]],[7760,[528386,266242,12288]],[7761,[528386,266242,12288]],[7762,[528386,266241]],[7763,[528385,266242]],[7764,[528385,266241,3]],[7765,[528385,266241,3]],[7766,[528385,266241,3]],[7767,[532482,270337]],[7768,[532481,270338]],[7769,[532481,270337,3]],[7770,[532481,270337,3]],[7771,[532481,270337,3]],[7772,[81921,49155]],[7773,[147457,49155]],[7774,[147457,81921,49155]],[7775,[147457,81921,49155]],[7776,[81922,49155]],[7777,[147458,49155]],[7778,[147458,81922,49155]],[7779,[147458,81922,49155]],[7780,[147458,81921]],[7781,[163842,98305]],[7782,[147458,81921,49152]],[7783,[147458,81921,49152]],[7784,[147457,81922]],[7785,[163841,98306]],[7786,[147457,81922,49152]],[7787,[147457,81922,49152]],[7788,[163841,81921]],[7789,[163842,81922]],[7790,[163841,81921,3]],[7791,[163841,81921,3]],[7792,[147457,98305]],[7793,[147458,98306]],[7794,[147457,98305,3]],[7795,[147457,98305,3]],[7796,[163841,81921]],[7797,[147457,98305]],[7798,[147457,81921,49152]],[7799,[147457,81921,49152]],[7800,[147457,81921,49152]],[7801,[147457,81921,49152]],[7802,[163842,81922]],[7803,[147458,98306]],[7804,[147458,81922,49152]],[7805,[147458,81922,49152]],[7806,[147458,81922,49152]],[7807,[147458,81922,49152]],[7808,[147458,81921]],[7809,[147457,81922]],[7810,[147457,81921,3]],[7811,[147457,81921,3]],[7812,[147457,81921,3]],[7813,[163842,98305]],[7814,[163841,98306]],[7815,[163841,98305,3]],[7816,[163841,98305,3]],[7817,[163841,98305,3]],[7818,[278529,49155]],[7819,[540673,49155]],[7820,[540673,278529,49155]],[7821,[540673,278529,49155]],[7822,[278530,49155]],[7823,[540674,49155]],[7824,[540674,278530,49155]],[7825,[540674,278530,49155]],[7826,[540674,278529]],[7827,[557058,294913]],[7828,[540674,278529,49152]],[7829,[540674,278529,49152]],[7830,[540673,278530]],[7831,[557057,294914]],[7832,[540673,278530,49152]],[7833,[540673,278530,49152]],[7834,[557057,278529]],[7835,[557058,278530]],[7836,[557057,278529,3]],[7837,[557057,278529,3]],[7838,[540673,294913]],[7839,[540674,294914]],[7840,[540673,294913,3]],[7841,[540673,294913,3]],[7842,[557057,278529]],[7843,[540673,294913]],[7844,[540673,278529,49152]],[7845,[540673,278529,49152]],[7846,[540673,278529,49152]],[7847,[557058,278530]],[7848,[540674,294914]],[7849,[540674,278530,49152]],[7850,[540674,278530,49152]],[7851,[540674,278530,49152]],[7852,[540674,278529]],[7853,[540673,278530]],[7854,[540673,278529,3]],[7855,[540673,278529,3]],[7856,[540673,278529,3]],[7857,[557058,294913]],[7858,[557057,294914]],[7859,[557057,294913,3]],[7860,[557057,294913,3]],[7861,[557057,294913,3]],[7862,[327681,196611]],[7863,[589825,196611]],[7864,[589825,327681,196611]],[7865,[589825,327681,196611]],[7866,[327682,196611]],[7867,[589826,196611]],[7868,[589826,327682,196611]],[7869,[589826,327682,196611]],[7870,[589826,327681]],[7871,[655362,393217]],[7872,[589826,327681,196608]],[7873,[589826,327681,196608]],[7874,[589825,327682]],[7875,[655361,393218]],[7876,[589825,327682,196608]],[7877,[589825,327682,196608]],[7878,[655361,327681]],[7879,[655362,327682]],[7880,[655361,327681,3]],[7881,[655361,327681,3]],[7882,[589825,393217]],[7883,[589826,393218]],[7884,[589825,393217,3]],[7885,[589825,393217,3]],[7886,[655361,327681]],[7887,[589825,393217]],[7888,[589825,327681,196608]],[7889,[589825,327681,196608]],[7890,[589825,327681,196608]],[7891,[589825,327681,196608]],[7892,[655362,327682]],[7893,[589826,393218]],[7894,[589826,327682,196608]],[7895,[589826,327682,196608]],[7896,[589826,327682,196608]],[7897,[589826,327682,196608]],[7898,[589826,327681]],[7899,[589825,327682]],[7900,[589825,327681,3]],[7901,[589825,327681,3]],[7902,[589825,327681,3]],[7903,[655362,393217]],[7904,[655361,393218]],[7905,[655361,393217,3]],[7906,[655361,393217,3]],[7907,[655361,393217,3]],[7908,[84,60]],[7909,[148,60]],[7910,[148,84,60]],[7911,[148,84,60]],[7912,[88,60]],[7913,[152,60]],[7914,[152,88,60]],[7915,[152,88,60]],[7916,[152,84]],[7917,[168,100]],[7918,[152,84,48]],[7919,[152,84,48]],[7920,[148,88]],[7921,[164,104]],[7922,[148,88,48]],[7923,[148,88,48]],[7924,[164,84]],[7925,[168,88]],[7926,[164,84,12]],[7927,[164,84,12]],[7928,[148,100]],[7929,[152,104]],[7930,[148,100,12]],[7931,[148,100,12]],[7932,[164,84]],[7933,[148,100]],[7934,[148,84,48]],[7935,[148,84,48]],[7936,[148,84,48]],[7937,[148,84,48]],[7938,[168,88]],[7939,[152,104]],[7940,[152,88,48]],[7941,[152,88,48]],[7942,[152,88,48]],[7943,[152,88,48]],[7944,[152,84]],[7945,[148,88]],[7946,[148,84,12]],[7947,[148,84,12]],[7948,[148,84,12]],[7949,[148,84,12]],[7950,[168,100]],[7951,[164,104]],[7952,[164,100,12]],[7953,[164,100,12]],[7954,[164,100,12]],[7955,[164,100,12]],[7956,[276,60]],[7957,[532,60]],[7958,[532,276,60]],[7959,[532,276,60]],[7960,[280,60]],[7961,[536,60]],[7962,[536,280,60]],[7963,[536,280,60]],[7964,[536,276]],[7965,[552,292]],[7966,[536,276,48]],[7967,[536,276,48]],[7968,[532,280]],[7969,[548,296]],[7970,[532,280,48]],[7971,[532,280,48]],[7972,[548,276]],[7973,[552,280]],[7974,[548,276,12]],[7975,[548,276,12]],[7976,[532,292]],[7977,[536,296]],[7978,[532,292,12]],[7979,[532,292,12]],[7980,[548,276]],[7981,[532,292]],[7982,[532,276,48]],[7983,[532,276,48]],[7984,[532,276,48]],[7985,[552,280]],[7986,[536,296]],[7987,[536,280,48]],[7988,[536,280,48]],[7989,[536,280,48]],[7990,[536,276]],[7991,[532,280]],[7992,[532,276,12]],[7993,[532,276,12]],[7994,[532,276,12]],[7995,[552,292]],[7996,[548,296]],[7997,[548,292,12]],[7998,[548,292,12]],[7999,[548,292,12]],[8000,[1044,60]],[8001,[2068,60]],[8002,[2068,1044,60]],[8003,[2068,1044,60]],[8004,[1048,60]],[8005,[2072,60]],[8006,[2072,1048,60]],[8007,[2072,1048,60]],[8008,[2072,1044]],[8009,[2088,1060]],[8010,[2072,1044,48]],[8011,[2072,1044,48]],[8012,[2068,1048]],[8013,[2084,1064]],[8014,[2068,1048,48]],[8015,[2068,1048,48]],[8016,[2084,1044]],[8017,[2088,1048]],[8018,[2084,1044,12]],[8019,[2084,1044,12]],[8020,[2068,1060]],[8021,[2072,1064]],[8022,[2068,1060,12]],[8023,[2068,1060,12]],[8024,[2084,1044]],[8025,[2068,1060]],[8026,[2068,1044,48]],[8027,[2068,1044,48]],[8028,[2068,1044,48]],[8029,[2088,1048]],[8030,[2072,1064]],[8031,[2072,1048,48]],[8032,[2072,1048,48]],[8033,[2072,1048,48]],[8034,[2072,1044]],[8035,[2068,1048]],[8036,[2068,1044,12]],[8037,[2068,1044,12]],[8038,[2068,1044,12]],[8039,[2088,1060]],[8040,[2084,1064]],[8041,[2084,1060,12]],[8042,[2084,1060,12]],[8043,[2084,1060,12]],[8044,[4116,60]],[8045,[8212,60]],[8046,[8212,4116,60]],[8047,[8212,4116,60]],[8048,[4120,60]],[8049,[8216,60]],[8050,[8216,4120,60]],[8051,[8216,4120,60]],[8052,[8216,4116]],[8053,[8232,4132]],[8054,[8216,4116,48]],[8055,[8216,4116,48]],[8056,[8212,4120]],[8057,[8228,4136]],[8058,[8212,4120,48]],[8059,[8212,4120,48]],[8060,[8228,4116]],[8061,[8232,4120]],[8062,[8228,4116,12]],[8063,[8228,4116,12]],[8064,[8212,4132]],[8065,[8216,4136]],[8066,[8212,4132,12]],[8067,[8212,4132,12]],[8068,[8228,4116]],[8069,[8212,4132]],[8070,[8212,4116,48]],[8071,[8212,4116,48]],[8072,[8212,4116,48]],[8073,[8232,4120]],[8074,[8216,4136]],[8075,[8216,4120,48]],[8076,[8216,4120,48]],[8077,[8216,4120,48]],[8078,[8216,4116]],[8079,[8212,4120]],[8080,[8212,4116,12]],[8081,[8212,4116,12]],[8082,[8212,4116,12]],[8083,[8232,4132]],[8084,[8228,4136]],[8085,[8228,4132,12]],[8086,[8228,4132,12]],[8087,[8228,4132,12]],[8088,[16404,60]],[8089,[32788,60]],[8090,[32788,16404,60]],[8091,[32788,16404,60]],[8092,[16408,60]],[8093,[32792,60]],[8094,[32792,16408,60]],[8095,[32792,16408,60]],[8096,[32792,16404]],[8097,[32808,16420]],[8098,[32792,16404,48]],[8099,[32792,16404,48]],[8100,[32788,16408]],[8101,[32804,16424]],[8102,[32788,16408,48]],[8103,[32788,16408,48]],[8104,[32804,16404]],[8105,[32808,16408]],[8106,[32804,16404,12]],[8107,[32804,16404,12]],[8108,[32788,16420]],[8109,[32792,16424]],[8110,[32788,16420,12]],[8111,[32788,16420,12]],[8112,[32804,16404]],[8113,[32788,16420]],[8114,[32788,16404,48]],[8115,[32788,16404,48]],[8116,[32788,16404,48]],[8117,[32808,16408]],[8118,[32792,16424]],[8119,[32792,16408,48]],[8120,[32792,16408,48]],[8121,[32792,16408,48]],[8122,[32792,16404]],[8123,[32788,16408]],[8124,[32788,16404,12]],[8125,[32788,16404,12]],[8126,[32788,16404,12]],[8127,[32808,16420]],[8128,[32804,16424]],[8129,[32804,16420,12]],[8130,[32804,16420,12]],[8131,[32804,16420,12]],[8132,[65556,60]],[8133,[131092,60]],[8134,[131092,65556,60]],[8135,[131092,65556,60]],[8136,[65560,60]],[8137,[131096,60]],[8138,[131096,65560,60]],[8139,[131096,65560,60]],[8140,[131096,65556]],[8141,[131112,65572]],[8142,[131096,65556,48]],[8143,[131096,65556,48]],[8144,[131092,65560]],[8145,[131108,65576]],[8146,[131092,65560,48]],[8147,[131092,65560,48]],[8148,[131108,65556]],[8149,[131112,65560]],[8150,[131108,65556,12]],[8151,[131108,65556,12]],[8152,[131092,65572]],[8153,[131096,65576]],[8154,[131092,65572,12]],[8155,[131092,65572,12]],[8156,[131108,65556]],[8157,[131092,65572]],[8158,[131092,65556,48]],[8159,[131092,65556,48]],[8160,[131092,65556,48]],[8161,[131112,65560]],[8162,[131096,65576]],[8163,[131096,65560,48]],[8164,[131096,65560,48]],[8165,[131096,65560,48]],[8166,[131096,65556]],[8167,[131092,65560]],[8168,[131092,65556,12]],[8169,[131092,65556,12]],[8170,[131092,65556,12]],[8171,[131112,65572]],[8172,[131108,65576]],[8173,[131108,65572,12]],[8174,[131108,65572,12]],[8175,[131108,65572,12]],[8176,[262164,60]],[8177,[524308,60]],[8178,[524308,262164,60]],[8179,[524308,262164,60]],[8180,[262168,60]],[8181,[524312,60]],[8182,[524312,262168,60]],[8183,[524312,262168,60]],[8184,[524312,262164]],[8185,[524328,262180]],[8186,[524312,262164,48]],[8187,[524312,262164,48]],[8188,[524308,262168]],[8189,[524324,262184]],[8190,[524308,262168,48]],[8191,[524308,262168,48]],[8192,[524324,262164]],[8193,[524328,262168]],[8194,[524324,262164,12]],[8195,[524324,262164,12]],[8196,[524308,262180]],[8197,[524312,262184]],[8198,[524308,262180,12]],[8199,[524308,262180,12]],[8200,[524324,262164]],[8201,[524308,262180]],[8202,[524308,262164,48]],[8203,[524308,262164,48]],[8204,[524308,262164,48]],[8205,[524328,262168]],[8206,[524312,262184]],[8207,[524312,262168,48]],[8208,[524312,262168,48]],[8209,[524312,262168,48]],[8210,[524312,262164]],[8211,[524308,262168]],[8212,[524308,262164,12]],[8213,[524308,262164,12]],[8214,[524308,262164,12]],[8215,[524328,262180]],[8216,[524324,262184]],[8217,[524324,262180,12]],[8218,[524324,262180,12]],[8219,[524324,262180,12]],[8220,[324,204]],[8221,[580,204]],[8222,[580,324,204]],[8223,[580,324,204]],[8224,[328,204]],[8225,[584,204]],[8226,[584,328,204]],[8227,[584,328,204]],[8228,[584,324]],[8229,[648,388]],[8230,[584,324,192]],[8231,[584,324,192]],[8232,[580,328]],[8233,[644,392]],[8234,[580,328,192]],[8235,[580,328,192]],[8236,[644,324]],[8237,[648,328]],[8238,[644,324,12]],[8239,[644,324,12]],[8240,[580,388]],[8241,[584,392]],[8242,[580,388,12]],[8243,[580,388,12]],[8244,[644,324]],[8245,[580,388]],[8246,[580,324,192]],[8247,[580,324,192]],[8248,[580,324,192]],[8249,[580,324,192]],[8250,[648,328]],[8251,[584,392]],[8252,[584,328,192]],[8253,[584,328,192]],[8254,[584,328,192]],[8255,[584,328,192]],[8256,[584,324]],[8257,[580,328]],[8258,[580,324,12]],[8259,[580,324,12]],[8260,[580,324,12]],[8261,[648,388]],[8262,[644,392]],[8263,[644,388,12]],[8264,[644,388,12]],[8265,[644,388,12]],[8266,[1092,204]],[8267,[2116,204]],[8268,[2116,1092,204]],[8269,[2116,1092,204]],[8270,[1096,204]],[8271,[2120,204]],[8272,[2120,1096,204]],[8273,[2120,1096,204]],[8274,[2120,1092]],[8275,[2184,1156]],[8276,[2120,1092,192]],[8277,[2120,1092,192]],[8278,[2116,1096]],[8279,[2180,1160]],[8280,[2116,1096,192]],[8281,[2116,1096,192]],[8282,[2180,1092]],[8283,[2184,1096]],[8284,[2180,1092,12]],[8285,[2180,1092,12]],[8286,[2116,1156]],[8287,[2120,1160]],[8288,[2116,1156,12]],[8289,[2116,1156,12]],[8290,[2180,1092]],[8291,[2116,1156]],[8292,[2116,1092,192]],[8293,[2116,1092,192]],[8294,[2116,1092,192]],[8295,[2116,1092,192]],[8296,[2184,1096]],[8297,[2120,1160]],[8298,[2120,1096,192]],[8299,[2120,1096,192]],[8300,[2120,1096,192]],[8301,[2120,1096,192]],[8302,[2120,1092]],[8303,[2116,1096]],[8304,[2116,1092,12]],[8305,[2116,1092,12]],[8306,[2116,1092,12]],[8307,[2184,1156]],[8308,[2180,1160]],[8309,[2180,1156,12]],[8310,[2180,1156,12]],[8311,[2180,1156,12]],[8312,[4164,204]],[8313,[8260,204]],[8314,[8260,4164,204]],[8315,[8260,4164,204]],[8316,[4168,204]],[8317,[8264,204]],[8318,[8264,4168,204]],[8319,[8264,4168,204]],[8320,[8264,4164]],[8321,[8328,4228]],[8322,[8264,4164,192]],[8323,[8264,4164,192]],[8324,[8260,4168]],[8325,[8324,4232]],[8326,[8260,4168,192]],[8327,[8260,4168,192]],[8328,[8324,4164]],[8329,[8328,4168]],[8330,[8324,4164,12]],[8331,[8324,4164,12]],[8332,[8260,4228]],[8333,[8264,4232]],[8334,[8260,4228,12]],[8335,[8260,4228,12]],[8336,[8324,4164]],[8337,[8260,4228]],[8338,[8260,4164,192]],[8339,[8260,4164,192]],[8340,[8260,4164,192]],[8341,[8328,4168]],[8342,[8264,4232]],[8343,[8264,4168,192]],[8344,[8264,4168,192]],[8345,[8264,4168,192]],[8346,[8264,4164]],[8347,[8260,4168]],[8348,[8260,4164,12]],[8349,[8260,4164,12]],[8350,[8260,4164,12]],[8351,[8328,4228]],[8352,[8324,4232]],[8353,[8324,4228,12]],[8354,[8324,4228,12]],[8355,[8324,4228,12]],[8356,[16452,204]],[8357,[32836,204]],[8358,[32836,16452,204]],[8359,[32836,16452,204]],[8360,[16456,204]],[8361,[32840,204]],[8362,[32840,16456,204]],[8363,[32840,16456,204]],[8364,[32840,16452]],[8365,[32904,16516]],[8366,[32840,16452,192]],[8367,[32840,16452,192]],[8368,[32836,16456]],[8369,[32900,16520]],[8370,[32836,16456,192]],[8371,[32836,16456,192]],[8372,[32900,16452]],[8373,[32904,16456]],[8374,[32900,16452,12]],[8375,[32900,16452,12]],[8376,[32836,16516]],[8377,[32840,16520]],[8378,[32836,16516,12]],[8379,[32836,16516,12]],[8380,[32900,16452]],[8381,[32836,16516]],[8382,[32836,16452,192]],[8383,[32836,16452,192]],[8384,[32836,16452,192]],[8385,[32904,16456]],[8386,[32840,16520]],[8387,[32840,16456,192]],[8388,[32840,16456,192]],[8389,[32840,16456,192]],[8390,[32840,16452]],[8391,[32836,16456]],[8392,[32836,16452,12]],[8393,[32836,16452,12]],[8394,[32836,16452,12]],[8395,[32904,16516]],[8396,[32900,16520]],[8397,[32900,16516,12]],[8398,[32900,16516,12]],[8399,[32900,16516,12]],[8400,[65604,204]],[8401,[131140,204]],[8402,[131140,65604,204]],[8403,[131140,65604,204]],[8404,[65608,204]],[8405,[131144,204]],[8406,[131144,65608,204]],[8407,[131144,65608,204]],[8408,[131144,65604]],[8409,[131208,65668]],[8410,[131144,65604,192]],[8411,[131144,65604,192]],[8412,[131140,65608]],[8413,[131204,65672]],[8414,[131140,65608,192]],[8415,[131140,65608,192]],[8416,[131204,65604]],[8417,[131208,65608]],[8418,[131204,65604,12]],[8419,[131204,65604,12]],[8420,[131140,65668]],[8421,[131144,65672]],[8422,[131140,65668,12]],[8423,[131140,65668,12]],[8424,[131204,65604]],[8425,[131140,65668]],[8426,[131140,65604,192]],[8427,[131140,65604,192]],[8428,[131140,65604,192]],[8429,[131140,65604,192]],[8430,[131208,65608]],[8431,[131144,65672]],[8432,[131144,65608,192]],[8433,[131144,65608,192]],[8434,[131144,65608,192]],[8435,[131144,65608,192]],[8436,[131144,65604]],[8437,[131140,65608]],[8438,[131140,65604,12]],[8439,[131140,65604,12]],[8440,[131140,65604,12]],[8441,[131208,65668]],[8442,[131204,65672]],[8443,[131204,65668,12]],[8444,[131204,65668,12]],[8445,[131204,65668,12]],[8446,[262212,204]],[8447,[524356,204]],[8448,[524356,262212,204]],[8449,[524356,262212,204]],[8450,[262216,204]],[8451,[524360,204]],[8452,[524360,262216,204]],[8453,[524360,262216,204]],[8454,[524360,262212]],[8455,[524424,262276]],[8456,[524360,262212,192]],[8457,[524360,262212,192]],[8458,[524356,262216]],[8459,[524420,262280]],[8460,[524356,262216,192]],[8461,[524356,262216,192]],[8462,[524420,262212]],[8463,[524424,262216]],[8464,[524420,262212,12]],[8465,[524420,262212,12]],[8466,[524356,262276]],[8467,[524360,262280]],[8468,[524356,262276,12]],[8469,[524356,262276,12]],[8470,[524420,262212]],[8471,[524356,262276]],[8472,[524356,262212,192]],[8473,[524356,262212,192]],[8474,[524356,262212,192]],[8475,[524424,262216]],[8476,[524360,262280]],[8477,[524360,262216,192]],[8478,[524360,262216,192]],[8479,[524360,262216,192]],[8480,[524360,262212]],[8481,[524356,262216]],[8482,[524356,262212,12]],[8483,[524356,262212,12]],[8484,[524356,262212,12]],[8485,[524424,262276]],[8486,[524420,262280]],[8487,[524420,262276,12]],[8488,[524420,262276,12]],[8489,[524420,262276,12]],[8490,[1284,780]],[8491,[2308,780]],[8492,[2308,1284,780]],[8493,[2308,1284,780]],[8494,[1288,780]],[8495,[2312,780]],[8496,[2312,1288,780]],[8497,[2312,1288,780]],[8498,[2312,1284]],[8499,[2568,1540]],[8500,[2312,1284,768]],[8501,[2312,1284,768]],[8502,[2308,1288]],[8503,[2564,1544]],[8504,[2308,1288,768]],[8505,[2308,1288,768]],[8506,[2564,1284]],[8507,[2568,1288]],[8508,[2564,1284,12]],[8509,[2564,1284,12]],[8510,[2308,1540]],[8511,[2312,1544]],[8512,[2308,1540,12]],[8513,[2308,1540,12]],[8514,[2564,1284]],[8515,[2308,1540]],[8516,[2308,1284,768]],[8517,[2308,1284,768]],[8518,[2308,1284,768]],[8519,[2308,1284,768]],[8520,[2568,1288]],[8521,[2312,1544]],[8522,[2312,1288,768]],[8523,[2312,1288,768]],[8524,[2312,1288,768]],[8525,[2312,1288,768]],[8526,[2312,1284]],[8527,[2308,1288]],[8528,[2308,1284,12]],[8529,[2308,1284,12]],[8530,[2308,1284,12]],[8531,[2568,1540]],[8532,[2564,1544]],[8533,[2564,1540,12]],[8534,[2564,1540,12]],[8535,[2564,1540,12]],[8536,[4356,780]],[8537,[8452,780]],[8538,[8452,4356,780]],[8539,[8452,4356,780]],[8540,[4360,780]],[8541,[8456,780]],[8542,[8456,4360,780]],[8543,[8456,4360,780]],[8544,[8456,4356]],[8545,[8712,4612]],[8546,[8456,4356,768]],[8547,[8456,4356,768]],[8548,[8452,4360]],[8549,[8708,4616]],[8550,[8452,4360,768]],[8551,[8452,4360,768]],[8552,[8708,4356]],[8553,[8712,4360]],[8554,[8708,4356,12]],[8555,[8708,4356,12]],[8556,[8452,4612]],[8557,[8456,4616]],[8558,[8452,4612,12]],[8559,[8452,4612,12]],[8560,[8708,4356]],[8561,[8452,4612]],[8562,[8452,4356,768]],[8563,[8452,4356,768]],[8564,[8452,4356,768]],[8565,[8712,4360]],[8566,[8456,4616]],[8567,[8456,4360,768]],[8568,[8456,4360,768]],[8569,[8456,4360,768]],[8570,[8456,4356]],[8571,[8452,4360]],[8572,[8452,4356,12]],[8573,[8452,4356,12]],[8574,[8452,4356,12]],[8575,[8712,4612]],[8576,[8708,4616]],[8577,[8708,4612,12]],[8578,[8708,4612,12]],[8579,[8708,4612,12]],[8580,[16644,780]],[8581,[33028,780]],[8582,[33028,16644,780]],[8583,[33028,16644,780]],[8584,[16648,780]],[8585,[33032,780]],[8586,[33032,16648,780]],[8587,[33032,16648,780]],[8588,[33032,16644]],[8589,[33288,16900]],[8590,[33032,16644,768]],[8591,[33032,16644,768]],[8592,[33028,16648]],[8593,[33284,16904]],[8594,[33028,16648,768]],[8595,[33028,16648,768]],[8596,[33284,16644]],[8597,[33288,16648]],[8598,[33284,16644,12]],[8599,[33284,16644,12]],[8600,[33028,16900]],[8601,[33032,16904]],[8602,[33028,16900,12]],[8603,[33028,16900,12]],[8604,[33284,16644]],[8605,[33028,16900]],[8606,[33028,16644,768]],[8607,[33028,16644,768]],[8608,[33028,16644,768]],[8609,[33288,16648]],[8610,[33032,16904]],[8611,[33032,16648,768]],[8612,[33032,16648,768]],[8613,[33032,16648,768]],[8614,[33032,16644]],[8615,[33028,16648]],[8616,[33028,16644,12]],[8617,[33028,16644,12]],[8618,[33028,16644,12]],[8619,[33288,16900]],[8620,[33284,16904]],[8621,[33284,16900,12]],[8622,[33284,16900,12]],[8623,[33284,16900,12]],[8624,[65796,780]],[8625,[131332,780]],[8626,[131332,65796,780]],[8627,[131332,65796,780]],[8628,[65800,780]],[8629,[131336,780]],[8630,[131336,65800,780]],[8631,[131336,65800,780]],[8632,[131336,65796]],[8633,[131592,66052]],[8634,[131336,65796,768]],[8635,[131336,65796,768]],[8636,[131332,65800]],[8637,[131588,66056]],[8638,[131332,65800,768]],[8639,[131332,65800,768]],[8640,[131588,65796]],[8641,[131592,65800]],[8642,[131588,65796,12]],[8643,[131588,65796,12]],[8644,[131332,66052]],[8645,[131336,66056]],[8646,[131332,66052,12]],[8647,[131332,66052,12]],[8648,[131588,65796]],[8649,[131332,66052]],[8650,[131332,65796,768]],[8651,[131332,65796,768]],[8652,[131332,65796,768]],[8653,[131592,65800]],[8654,[131336,66056]],[8655,[131336,65800,768]],[8656,[131336,65800,768]],[8657,[131336,65800,768]],[8658,[131336,65796]],[8659,[131332,65800]],[8660,[131332,65796,12]],[8661,[131332,65796,12]],[8662,[131332,65796,12]],[8663,[131592,66052]],[8664,[131588,66056]],[8665,[131588,66052,12]],[8666,[131588,66052,12]],[8667,[131588,66052,12]],[8668,[262404,780]],[8669,[524548,780]],[8670,[524548,262404,780]],[8671,[524548,262404,780]],[8672,[262408,780]],[8673,[524552,780]],[8674,[524552,262408,780]],[8675,[524552,262408,780]],[8676,[524552,262404]],[8677,[524808,262660]],[8678,[524552,262404,768]],[8679,[524552,262404,768]],[8680,[524548,262408]],[8681,[524804,262664]],[8682,[524548,262408,768]],[8683,[524548,262408,768]],[8684,[524804,262404]],[8685,[524808,262408]],[8686,[524804,262404,12]],[8687,[524804,262404,12]],[8688,[524548,262660]],[8689,[524552,262664]],[8690,[524548,262660,12]],[8691,[524548,262660,12]],[8692,[524804,262404]],[8693,[524548,262660]],[8694,[524548,262404,768]],[8695,[524548,262404,768]],[8696,[524548,262404,768]],[8697,[524808,262408]],[8698,[524552,262664]],[8699,[524552,262408,768]],[8700,[524552,262408,768]],[8701,[524552,262408,768]],[8702,[524552,262404]],[8703,[524548,262408]],[8704,[524548,262404,12]],[8705,[524548,262404,12]],[8706,[524548,262404,12]],[8707,[524808,262660]],[8708,[524804,262664]],[8709,[524804,262660,12]],[8710,[524804,262660,12]],[8711,[524804,262660,12]],[8712,[5124,3084]],[8713,[9220,3084]],[8714,[9220,5124,3084]],[8715,[9220,5124,3084]],[8716,[5128,3084]],[8717,[9224,3084]],[8718,[9224,5128,3084]],[8719,[9224,5128,3084]],[8720,[9224,5124]],[8721,[10248,6148]],[8722,[9224,5124,3072]],[8723,[9224,5124,3072]],[8724,[9220,5128]],[8725,[10244,6152]],[8726,[9220,5128,3072]],[8727,[9220,5128,3072]],[8728,[10244,5124]],[8729,[10248,5128]],[8730,[10244,5124,12]],[8731,[10244,5124,12]],[8732,[9220,6148]],[8733,[9224,6152]],[8734,[9220,6148,12]],[8735,[9220,6148,12]],[8736,[10244,5124]],[8737,[9220,6148]],[8738,[9220,5124,3072]],[8739,[9220,5124,3072]],[8740,[9220,5124,3072]],[8741,[10248,5128]],[8742,[9224,6152]],[8743,[9224,5128,3072]],[8744,[9224,5128,3072]],[8745,[9224,5128,3072]],[8746,[9224,5124]],[8747,[9220,5128]],[8748,[9220,5124,12]],[8749,[9220,5124,12]],[8750,[9220,5124,12]],[8751,[10248,6148]],[8752,[10244,6152]],[8753,[10244,6148,12]],[8754,[10244,6148,12]],[8755,[10244,6148,12]],[8756,[17412,3084]],[8757,[33796,3084]],[8758,[33796,17412,3084]],[8759,[33796,17412,3084]],[8760,[17416,3084]],[8761,[33800,3084]],[8762,[33800,17416,3084]],[8763,[33800,17416,3084]],[8764,[33800,17412]],[8765,[34824,18436]],[8766,[33800,17412,3072]],[8767,[33800,17412,3072]],[8768,[33796,17416]],[8769,[34820,18440]],[8770,[33796,17416,3072]],[8771,[33796,17416,3072]],[8772,[34820,17412]],[8773,[34824,17416]],[8774,[34820,17412,12]],[8775,[34820,17412,12]],[8776,[33796,18436]],[8777,[33800,18440]],[8778,[33796,18436,12]],[8779,[33796,18436,12]],[8780,[34820,17412]],[8781,[33796,18436]],[8782,[33796,17412,3072]],[8783,[33796,17412,3072]],[8784,[33796,17412,3072]],[8785,[34824,17416]],[8786,[33800,18440]],[8787,[33800,17416,3072]],[8788,[33800,17416,3072]],[8789,[33800,17416,3072]],[8790,[33800,17412]],[8791,[33796,17416]],[8792,[33796,17412,12]],[8793,[33796,17412,12]],[8794,[33796,17412,12]],[8795,[34824,18436]],[8796,[34820,18440]],[8797,[34820,18436,12]],[8798,[34820,18436,12]],[8799,[34820,18436,12]],[8800,[66564,3084]],[8801,[132100,3084]],[8802,[132100,66564,3084]],[8803,[132100,66564,3084]],[8804,[66568,3084]],[8805,[132104,3084]],[8806,[132104,66568,3084]],[8807,[132104,66568,3084]],[8808,[132104,66564]],[8809,[133128,67588]],[8810,[132104,66564,3072]],[8811,[132104,66564,3072]],[8812,[132100,66568]],[8813,[133124,67592]],[8814,[132100,66568,3072]],[8815,[132100,66568,3072]],[8816,[133124,66564]],[8817,[133128,66568]],[8818,[133124,66564,12]],[8819,[133124,66564,12]],[8820,[132100,67588]],[8821,[132104,67592]],[8822,[132100,67588,12]],[8823,[132100,67588,12]],[8824,[133124,66564]],[8825,[132100,67588]],[8826,[132100,66564,3072]],[8827,[132100,66564,3072]],[8828,[132100,66564,3072]],[8829,[132100,66564,3072]],[8830,[133128,66568]],[8831,[132104,67592]],[8832,[132104,66568,3072]],[8833,[132104,66568,3072]],[8834,[132104,66568,3072]],[8835,[132104,66568,3072]],[8836,[132104,66564]],[8837,[132100,66568]],[8838,[132100,66564,12]],[8839,[132100,66564,12]],[8840,[132100,66564,12]],[8841,[133128,67588]],[8842,[133124,67592]],[8843,[133124,67588,12]],[8844,[133124,67588,12]],[8845,[133124,67588,12]],[8846,[263172,3084]],[8847,[525316,3084]],[8848,[525316,263172,3084]],[8849,[525316,263172,3084]],[8850,[263176,3084]],[8851,[525320,3084]],[8852,[525320,263176,3084]],[8853,[525320,263176,3084]],[8854,[525320,263172]],[8855,[526344,264196]],[8856,[525320,263172,3072]],[8857,[525320,263172,3072]],[8858,[525316,263176]],[8859,[526340,264200]],[8860,[525316,263176,3072]],[8861,[525316,263176,3072]],[8862,[526340,263172]],[8863,[526344,263176]],[8864,[526340,263172,12]],[8865,[526340,263172,12]],[8866,[525316,264196]],[8867,[525320,264200]],[8868,[525316,264196,12]],[8869,[525316,264196,12]],[8870,[526340,263172]],[8871,[525316,264196]],[8872,[525316,263172,3072]],[8873,[525316,263172,3072]],[8874,[525316,263172,3072]],[8875,[526344,263176]],[8876,[525320,264200]],[8877,[525320,263176,3072]],[8878,[525320,263176,3072]],[8879,[525320,263176,3072]],[8880,[525320,263172]],[8881,[525316,263176]],[8882,[525316,263172,12]],[8883,[525316,263172,12]],[8884,[525316,263172,12]],[8885,[526344,264196]],[8886,[526340,264200]],[8887,[526340,264196,12]],[8888,[526340,264196,12]],[8889,[526340,264196,12]],[8890,[20484,12300]],[8891,[36868,12300]],[8892,[36868,20484,12300]],[8893,[36868,20484,12300]],[8894,[20488,12300]],[8895,[36872,12300]],[8896,[36872,20488,12300]],[8897,[36872,20488,12300]],[8898,[36872,20484]],[8899,[40968,24580]],[8900,[36872,20484,12288]],[8901,[36872,20484,12288]],[8902,[36868,20488]],[8903,[40964,24584]],[8904,[36868,20488,12288]],[8905,[36868,20488,12288]],[8906,[40964,20484]],[8907,[40968,20488]],[8908,[40964,20484,12]],[8909,[40964,20484,12]],[8910,[36868,24580]],[8911,[36872,24584]],[8912,[36868,24580,12]],[8913,[36868,24580,12]],[8914,[40964,20484]],[8915,[36868,24580]],[8916,[36868,20484,12288]],[8917,[36868,20484,12288]],[8918,[36868,20484,12288]],[8919,[36868,20484,12288]],[8920,[40968,20488]],[8921,[36872,24584]],[8922,[36872,20488,12288]],[8923,[36872,20488,12288]],[8924,[36872,20488,12288]],[8925,[36872,20488,12288]],[8926,[36872,20484]],[8927,[36868,20488]],[8928,[36868,20484,12]],[8929,[36868,20484,12]],[8930,[36868,20484,12]],[8931,[40968,24580]],[8932,[40964,24584]],[8933,[40964,24580,12]],[8934,[40964,24580,12]],[8935,[40964,24580,12]],[8936,[69636,12300]],[8937,[135172,12300]],[8938,[135172,69636,12300]],[8939,[135172,69636,12300]],[8940,[69640,12300]],[8941,[135176,12300]],[8942,[135176,69640,12300]],[8943,[135176,69640,12300]],[8944,[135176,69636]],[8945,[139272,73732]],[8946,[135176,69636,12288]],[8947,[135176,69636,12288]],[8948,[135172,69640]],[8949,[139268,73736]],[8950,[135172,69640,12288]],[8951,[135172,69640,12288]],[8952,[139268,69636]],[8953,[139272,69640]],[8954,[139268,69636,12]],[8955,[139268,69636,12]],[8956,[135172,73732]],[8957,[135176,73736]],[8958,[135172,73732,12]],[8959,[135172,73732,12]],[8960,[139268,69636]],[8961,[135172,73732]],[8962,[135172,69636,12288]],[8963,[135172,69636,12288]],[8964,[135172,69636,12288]],[8965,[139272,69640]],[8966,[135176,73736]],[8967,[135176,69640,12288]],[8968,[135176,69640,12288]],[8969,[135176,69640,12288]],[8970,[135176,69636]],[8971,[135172,69640]],[8972,[135172,69636,12]],[8973,[135172,69636,12]],[8974,[135172,69636,12]],[8975,[139272,73732]],[8976,[139268,73736]],[8977,[139268,73732,12]],[8978,[139268,73732,12]],[8979,[139268,73732,12]],[8980,[266244,12300]],[8981,[528388,12300]],[8982,[528388,266244,12300]],[8983,[528388,266244,12300]],[8984,[266248,12300]],[8985,[528392,12300]],[8986,[528392,266248,12300]],[8987,[528392,266248,12300]],[8988,[528392,266244]],[8989,[532488,270340]],[8990,[528392,266244,12288]],[8991,[528392,266244,12288]],[8992,[528388,266248]],[8993,[532484,270344]],[8994,[528388,266248,12288]],[8995,[528388,266248,12288]],[8996,[532484,266244]],[8997,[532488,266248]],[8998,[532484,266244,12]],[8999,[532484,266244,12]],[9000,[528388,270340]],[9001,[528392,270344]],[9002,[528388,270340,12]],[9003,[528388,270340,12]],[9004,[532484,266244]],[9005,[528388,270340]],[9006,[528388,266244,12288]],[9007,[528388,266244,12288]],[9008,[528388,266244,12288]],[9009,[532488,266248]],[9010,[528392,270344]],[9011,[528392,266248,12288]],[9012,[528392,266248,12288]],[9013,[528392,266248,12288]],[9014,[528392,266244]],[9015,[528388,266248]],[9016,[528388,266244,12]],[9017,[528388,266244,12]],[9018,[528388,266244,12]],[9019,[532488,270340]],[9020,[532484,270344]],[9021,[532484,270340,12]],[9022,[532484,270340,12]],[9023,[532484,270340,12]],[9024,[81924,49164]],[9025,[147460,49164]],[9026,[147460,81924,49164]],[9027,[147460,81924,49164]],[9028,[81928,49164]],[9029,[147464,49164]],[9030,[147464,81928,49164]],[9031,[147464,81928,49164]],[9032,[147464,81924]],[9033,[163848,98308]],[9034,[147464,81924,49152]],[9035,[147464,81924,49152]],[9036,[147460,81928]],[9037,[163844,98312]],[9038,[147460,81928,49152]],[9039,[147460,81928,49152]],[9040,[163844,81924]],[9041,[163848,81928]],[9042,[163844,81924,12]],[9043,[163844,81924,12]],[9044,[147460,98308]],[9045,[147464,98312]],[9046,[147460,98308,12]],[9047,[147460,98308,12]],[9048,[163844,81924]],[9049,[147460,98308]],[9050,[147460,81924,49152]],[9051,[147460,81924,49152]],[9052,[147460,81924,49152]],[9053,[147460,81924,49152]],[9054,[163848,81928]],[9055,[147464,98312]],[9056,[147464,81928,49152]],[9057,[147464,81928,49152]],[9058,[147464,81928,49152]],[9059,[147464,81928,49152]],[9060,[147464,81924]],[9061,[147460,81928]],[9062,[147460,81924,12]],[9063,[147460,81924,12]],[9064,[147460,81924,12]],[9065,[163848,98308]],[9066,[163844,98312]],[9067,[163844,98308,12]],[9068,[163844,98308,12]],[9069,[163844,98308,12]],[9070,[278532,49164]],[9071,[540676,49164]],[9072,[540676,278532,49164]],[9073,[540676,278532,49164]],[9074,[278536,49164]],[9075,[540680,49164]],[9076,[540680,278536,49164]],[9077,[540680,278536,49164]],[9078,[540680,278532]],[9079,[557064,294916]],[9080,[540680,278532,49152]],[9081,[540680,278532,49152]],[9082,[540676,278536]],[9083,[557060,294920]],[9084,[540676,278536,49152]],[9085,[540676,278536,49152]],[9086,[557060,278532]],[9087,[557064,278536]],[9088,[557060,278532,12]],[9089,[557060,278532,12]],[9090,[540676,294916]],[9091,[540680,294920]],[9092,[540676,294916,12]],[9093,[540676,294916,12]],[9094,[557060,278532]],[9095,[540676,294916]],[9096,[540676,278532,49152]],[9097,[540676,278532,49152]],[9098,[540676,278532,49152]],[9099,[557064,278536]],[9100,[540680,294920]],[9101,[540680,278536,49152]],[9102,[540680,278536,49152]],[9103,[540680,278536,49152]],[9104,[540680,278532]],[9105,[540676,278536]],[9106,[540676,278532,12]],[9107,[540676,278532,12]],[9108,[540676,278532,12]],[9109,[557064,294916]],[9110,[557060,294920]],[9111,[557060,294916,12]],[9112,[557060,294916,12]],[9113,[557060,294916,12]],[9114,[327684,196620]],[9115,[589828,196620]],[9116,[589828,327684,196620]],[9117,[589828,327684,196620]],[9118,[327688,196620]],[9119,[589832,196620]],[9120,[589832,327688,196620]],[9121,[589832,327688,196620]],[9122,[589832,327684]],[9123,[655368,393220]],[9124,[589832,327684,196608]],[9125,[589832,327684,196608]],[9126,[589828,327688]],[9127,[655364,393224]],[9128,[589828,327688,196608]],[9129,[589828,327688,196608]],[9130,[655364,327684]],[9131,[655368,327688]],[9132,[655364,327684,12]],[9133,[655364,327684,12]],[9134,[589828,393220]],[9135,[589832,393224]],[9136,[589828,393220,12]],[9137,[589828,393220,12]],[9138,[655364,327684]],[9139,[589828,393220]],[9140,[589828,327684,196608]],[9141,[589828,327684,196608]],[9142,[589828,327684,196608]],[9143,[589828,327684,196608]],[9144,[655368,327688]],[9145,[589832,393224]],[9146,[589832,327688,196608]],[9147,[589832,327688,196608]],[9148,[589832,327688,196608]],[9149,[589832,327688,196608]],[9150,[589832,327684]],[9151,[589828,327688]],[9152,[589828,327684,12]],[9153,[589828,327684,12]],[9154,[589828,327684,12]],[9155,[655368,393220]],[9156,[655364,393224]],[9157,[655364,393220,12]],[9158,[655364,393220,12]],[9159,[655364,393220,12]],[9160,[336,240]],[9161,[592,240]],[9162,[592,336,240]],[9163,[592,336,240]],[9164,[352,240]],[9165,[608,240]],[9166,[608,352,240]],[9167,[608,352,240]],[9168,[608,336]],[9169,[672,400]],[9170,[608,336,192]],[9171,[608,336,192]],[9172,[592,352]],[9173,[656,416]],[9174,[592,352,192]],[9175,[592,352,192]],[9176,[656,336]],[9177,[672,352]],[9178,[656,336,48]],[9179,[656,336,48]],[9180,[592,400]],[9181,[608,416]],[9182,[592,400,48]],[9183,[592,400,48]],[9184,[656,336]],[9185,[592,400]],[9186,[592,336,192]],[9187,[592,336,192]],[9188,[592,336,192]],[9189,[592,336,192]],[9190,[672,352]],[9191,[608,416]],[9192,[608,352,192]],[9193,[608,352,192]],[9194,[608,352,192]],[9195,[608,352,192]],[9196,[608,336]],[9197,[592,352]],[9198,[592,336,48]],[9199,[592,336,48]],[9200,[592,336,48]],[9201,[592,336,48]],[9202,[672,400]],[9203,[656,416]],[9204,[656,400,48]],[9205,[656,400,48]],[9206,[656,400,48]],[9207,[656,400,48]],[9208,[1104,240]],[9209,[2128,240]],[9210,[2128,1104,240]],[9211,[2128,1104,240]],[9212,[1120,240]],[9213,[2144,240]],[9214,[2144,1120,240]],[9215,[2144,1120,240]],[9216,[2144,1104]],[9217,[2208,1168]],[9218,[2144,1104,192]],[9219,[2144,1104,192]],[9220,[2128,1120]],[9221,[2192,1184]],[9222,[2128,1120,192]],[9223,[2128,1120,192]],[9224,[2192,1104]],[9225,[2208,1120]],[9226,[2192,1104,48]],[9227,[2192,1104,48]],[9228,[2128,1168]],[9229,[2144,1184]],[9230,[2128,1168,48]],[9231,[2128,1168,48]],[9232,[2192,1104]],[9233,[2128,1168]],[9234,[2128,1104,192]],[9235,[2128,1104,192]],[9236,[2128,1104,192]],[9237,[2128,1104,192]],[9238,[2208,1120]],[9239,[2144,1184]],[9240,[2144,1120,192]],[9241,[2144,1120,192]],[9242,[2144,1120,192]],[9243,[2144,1120,192]],[9244,[2144,1104]],[9245,[2128,1120]],[9246,[2128,1104,48]],[9247,[2128,1104,48]],[9248,[2128,1104,48]],[9249,[2128,1104,48]],[9250,[2208,1168]],[9251,[2192,1184]],[9252,[2192,1168,48]],[9253,[2192,1168,48]],[9254,[2192,1168,48]],[9255,[2192,1168,48]],[9256,[4176,240]],[9257,[8272,240]],[9258,[8272,4176,240]],[9259,[8272,4176,240]],[9260,[4192,240]],[9261,[8288,240]],[9262,[8288,4192,240]],[9263,[8288,4192,240]],[9264,[8288,4176]],[9265,[8352,4240]],[9266,[8288,4176,192]],[9267,[8288,4176,192]],[9268,[8272,4192]],[9269,[8336,4256]],[9270,[8272,4192,192]],[9271,[8272,4192,192]],[9272,[8336,4176]],[9273,[8352,4192]],[9274,[8336,4176,48]],[9275,[8336,4176,48]],[9276,[8272,4240]],[9277,[8288,4256]],[9278,[8272,4240,48]],[9279,[8272,4240,48]],[9280,[8336,4176]],[9281,[8272,4240]],[9282,[8272,4176,192]],[9283,[8272,4176,192]],[9284,[8272,4176,192]],[9285,[8352,4192]],[9286,[8288,4256]],[9287,[8288,4192,192]],[9288,[8288,4192,192]],[9289,[8288,4192,192]],[9290,[8288,4176]],[9291,[8272,4192]],[9292,[8272,4176,48]],[9293,[8272,4176,48]],[9294,[8272,4176,48]],[9295,[8352,4240]],[9296,[8336,4256]],[9297,[8336,4240,48]],[9298,[8336,4240,48]],[9299,[8336,4240,48]],[9300,[16464,240]],[9301,[32848,240]],[9302,[32848,16464,240]],[9303,[32848,16464,240]],[9304,[16480,240]],[9305,[32864,240]],[9306,[32864,16480,240]],[9307,[32864,16480,240]],[9308,[32864,16464]],[9309,[32928,16528]],[9310,[32864,16464,192]],[9311,[32864,16464,192]],[9312,[32848,16480]],[9313,[32912,16544]],[9314,[32848,16480,192]],[9315,[32848,16480,192]],[9316,[32912,16464]],[9317,[32928,16480]],[9318,[32912,16464,48]],[9319,[32912,16464,48]],[9320,[32848,16528]],[9321,[32864,16544]],[9322,[32848,16528,48]],[9323,[32848,16528,48]],[9324,[32912,16464]],[9325,[32848,16528]],[9326,[32848,16464,192]],[9327,[32848,16464,192]],[9328,[32848,16464,192]],[9329,[32928,16480]],[9330,[32864,16544]],[9331,[32864,16480,192]],[9332,[32864,16480,192]],[9333,[32864,16480,192]],[9334,[32864,16464]],[9335,[32848,16480]],[9336,[32848,16464,48]],[9337,[32848,16464,48]],[9338,[32848,16464,48]],[9339,[32928,16528]],[9340,[32912,16544]],[9341,[32912,16528,48]],[9342,[32912,16528,48]],[9343,[32912,16528,48]],[9344,[65616,240]],[9345,[131152,240]],[9346,[131152,65616,240]],[9347,[131152,65616,240]],[9348,[65632,240]],[9349,[131168,240]],[9350,[131168,65632,240]],[9351,[131168,65632,240]],[9352,[131168,65616]],[9353,[131232,65680]],[9354,[131168,65616,192]],[9355,[131168,65616,192]],[9356,[131152,65632]],[9357,[131216,65696]],[9358,[131152,65632,192]],[9359,[131152,65632,192]],[9360,[131216,65616]],[9361,[131232,65632]],[9362,[131216,65616,48]],[9363,[131216,65616,48]],[9364,[131152,65680]],[9365,[131168,65696]],[9366,[131152,65680,48]],[9367,[131152,65680,48]],[9368,[131216,65616]],[9369,[131152,65680]],[9370,[131152,65616,192]],[9371,[131152,65616,192]],[9372,[131152,65616,192]],[9373,[131152,65616,192]],[9374,[131232,65632]],[9375,[131168,65696]],[9376,[131168,65632,192]],[9377,[131168,65632,192]],[9378,[131168,65632,192]],[9379,[131168,65632,192]],[9380,[131168,65616]],[9381,[131152,65632]],[9382,[131152,65616,48]],[9383,[131152,65616,48]],[9384,[131152,65616,48]],[9385,[131152,65616,48]],[9386,[131232,65680]],[9387,[131216,65696]],[9388,[131216,65680,48]],[9389,[131216,65680,48]],[9390,[131216,65680,48]],[9391,[131216,65680,48]],[9392,[262224,240]],[9393,[524368,240]],[9394,[524368,262224,240]],[9395,[524368,262224,240]],[9396,[262240,240]],[9397,[524384,240]],[9398,[524384,262240,240]],[9399,[524384,262240,240]],[9400,[524384,262224]],[9401,[524448,262288]],[9402,[524384,262224,192]],[9403,[524384,262224,192]],[9404,[524368,262240]],[9405,[524432,262304]],[9406,[524368,262240,192]],[9407,[524368,262240,192]],[9408,[524432,262224]],[9409,[524448,262240]],[9410,[524432,262224,48]],[9411,[524432,262224,48]],[9412,[524368,262288]],[9413,[524384,262304]],[9414,[524368,262288,48]],[9415,[524368,262288,48]],[9416,[524432,262224]],[9417,[524368,262288]],[9418,[524368,262224,192]],[9419,[524368,262224,192]],[9420,[524368,262224,192]],[9421,[524448,262240]],[9422,[524384,262304]],[9423,[524384,262240,192]],[9424,[524384,262240,192]],[9425,[524384,262240,192]],[9426,[524384,262224]],[9427,[524368,262240]],[9428,[524368,262224,48]],[9429,[524368,262224,48]],[9430,[524368,262224,48]],[9431,[524448,262288]],[9432,[524432,262304]],[9433,[524432,262288,48]],[9434,[524432,262288,48]],[9435,[524432,262288,48]],[9436,[1296,816]],[9437,[2320,816]],[9438,[2320,1296,816]],[9439,[2320,1296,816]],[9440,[1312,816]],[9441,[2336,816]],[9442,[2336,1312,816]],[9443,[2336,1312,816]],[9444,[2336,1296]],[9445,[2592,1552]],[9446,[2336,1296,768]],[9447,[2336,1296,768]],[9448,[2320,1312]],[9449,[2576,1568]],[9450,[2320,1312,768]],[9451,[2320,1312,768]],[9452,[2576,1296]],[9453,[2592,1312]],[9454,[2576,1296,48]],[9455,[2576,1296,48]],[9456,[2320,1552]],[9457,[2336,1568]],[9458,[2320,1552,48]],[9459,[2320,1552,48]],[9460,[2576,1296]],[9461,[2320,1552]],[9462,[2320,1296,768]],[9463,[2320,1296,768]],[9464,[2320,1296,768]],[9465,[2320,1296,768]],[9466,[2592,1312]],[9467,[2336,1568]],[9468,[2336,1312,768]],[9469,[2336,1312,768]],[9470,[2336,1312,768]],[9471,[2336,1312,768]],[9472,[2336,1296]],[9473,[2320,1312]],[9474,[2320,1296,48]],[9475,[2320,1296,48]],[9476,[2320,1296,48]],[9477,[2320,1296,48]],[9478,[2592,1552]],[9479,[2576,1568]],[9480,[2576,1552,48]],[9481,[2576,1552,48]],[9482,[2576,1552,48]],[9483,[2576,1552,48]],[9484,[4368,816]],[9485,[8464,816]],[9486,[8464,4368,816]],[9487,[8464,4368,816]],[9488,[4384,816]],[9489,[8480,816]],[9490,[8480,4384,816]],[9491,[8480,4384,816]],[9492,[8480,4368]],[9493,[8736,4624]],[9494,[8480,4368,768]],[9495,[8480,4368,768]],[9496,[8464,4384]],[9497,[8720,4640]],[9498,[8464,4384,768]],[9499,[8464,4384,768]],[9500,[8720,4368]],[9501,[8736,4384]],[9502,[8720,4368,48]],[9503,[8720,4368,48]],[9504,[8464,4624]],[9505,[8480,4640]],[9506,[8464,4624,48]],[9507,[8464,4624,48]],[9508,[8720,4368]],[9509,[8464,4624]],[9510,[8464,4368,768]],[9511,[8464,4368,768]],[9512,[8464,4368,768]],[9513,[8736,4384]],[9514,[8480,4640]],[9515,[8480,4384,768]],[9516,[8480,4384,768]],[9517,[8480,4384,768]],[9518,[8480,4368]],[9519,[8464,4384]],[9520,[8464,4368,48]],[9521,[8464,4368,48]],[9522,[8464,4368,48]],[9523,[8736,4624]],[9524,[8720,4640]],[9525,[8720,4624,48]],[9526,[8720,4624,48]],[9527,[8720,4624,48]],[9528,[16656,816]],[9529,[33040,816]],[9530,[33040,16656,816]],[9531,[33040,16656,816]],[9532,[16672,816]],[9533,[33056,816]],[9534,[33056,16672,816]],[9535,[33056,16672,816]],[9536,[33056,16656]],[9537,[33312,16912]],[9538,[33056,16656,768]],[9539,[33056,16656,768]],[9540,[33040,16672]],[9541,[33296,16928]],[9542,[33040,16672,768]],[9543,[33040,16672,768]],[9544,[33296,16656]],[9545,[33312,16672]],[9546,[33296,16656,48]],[9547,[33296,16656,48]],[9548,[33040,16912]],[9549,[33056,16928]],[9550,[33040,16912,48]],[9551,[33040,16912,48]],[9552,[33296,16656]],[9553,[33040,16912]],[9554,[33040,16656,768]],[9555,[33040,16656,768]],[9556,[33040,16656,768]],[9557,[33312,16672]],[9558,[33056,16928]],[9559,[33056,16672,768]],[9560,[33056,16672,768]],[9561,[33056,16672,768]],[9562,[33056,16656]],[9563,[33040,16672]],[9564,[33040,16656,48]],[9565,[33040,16656,48]],[9566,[33040,16656,48]],[9567,[33312,16912]],[9568,[33296,16928]],[9569,[33296,16912,48]],[9570,[33296,16912,48]],[9571,[33296,16912,48]],[9572,[65808,816]],[9573,[131344,816]],[9574,[131344,65808,816]],[9575,[131344,65808,816]],[9576,[65824,816]],[9577,[131360,816]],[9578,[131360,65824,816]],[9579,[131360,65824,816]],[9580,[131360,65808]],[9581,[131616,66064]],[9582,[131360,65808,768]],[9583,[131360,65808,768]],[9584,[131344,65824]],[9585,[131600,66080]],[9586,[131344,65824,768]],[9587,[131344,65824,768]],[9588,[131600,65808]],[9589,[131616,65824]],[9590,[131600,65808,48]],[9591,[131600,65808,48]],[9592,[131344,66064]],[9593,[131360,66080]],[9594,[131344,66064,48]],[9595,[131344,66064,48]],[9596,[131600,65808]],[9597,[131344,66064]],[9598,[131344,65808,768]],[9599,[131344,65808,768]],[9600,[131344,65808,768]],[9601,[131616,65824]],[9602,[131360,66080]],[9603,[131360,65824,768]],[9604,[131360,65824,768]],[9605,[131360,65824,768]],[9606,[131360,65808]],[9607,[131344,65824]],[9608,[131344,65808,48]],[9609,[131344,65808,48]],[9610,[131344,65808,48]],[9611,[131344,65808,48]],[9612,[131616,66064]],[9613,[131600,66080]],[9614,[131600,66064,48]],[9615,[131600,66064,48]],[9616,[131600,66064,48]],[9617,[131600,66064,48]],[9618,[262416,816]],[9619,[524560,816]],[9620,[524560,262416,816]],[9621,[524560,262416,816]],[9622,[262432,816]],[9623,[524576,816]],[9624,[524576,262432,816]],[9625,[524576,262432,816]],[9626,[524576,262416]],[9627,[524832,262672]],[9628,[524576,262416,768]],[9629,[524576,262416,768]],[9630,[524560,262432]],[9631,[524816,262688]],[9632,[524560,262432,768]],[9633,[524560,262432,768]],[9634,[524816,262416]],[9635,[524832,262432]],[9636,[524816,262416,48]],[9637,[524816,262416,48]],[9638,[524560,262672]],[9639,[524576,262688]],[9640,[524560,262672,48]],[9641,[524560,262672,48]],[9642,[524816,262416]],[9643,[524560,262672]],[9644,[524560,262416,768]],[9645,[524560,262416,768]],[9646,[524560,262416,768]],[9647,[524832,262432]],[9648,[524576,262688]],[9649,[524576,262432,768]],[9650,[524576,262432,768]],[9651,[524576,262432,768]],[9652,[524576,262416]],[9653,[524560,262432]],[9654,[524560,262416,48]],[9655,[524560,262416,48]],[9656,[524560,262416,48]],[9657,[524832,262672]],[9658,[524816,262688]],[9659,[524816,262672,48]],[9660,[524816,262672,48]],[9661,[524816,262672,48]],[9662,[5136,3120]],[9663,[9232,3120]],[9664,[9232,5136,3120]],[9665,[9232,5136,3120]],[9666,[5152,3120]],[9667,[9248,3120]],[9668,[9248,5152,3120]],[9669,[9248,5152,3120]],[9670,[9248,5136]],[9671,[10272,6160]],[9672,[9248,5136,3072]],[9673,[9248,5136,3072]],[9674,[9232,5152]],[9675,[10256,6176]],[9676,[9232,5152,3072]],[9677,[9232,5152,3072]],[9678,[10256,5136]],[9679,[10272,5152]],[9680,[10256,5136,48]],[9681,[10256,5136,48]],[9682,[9232,6160]],[9683,[9248,6176]],[9684,[9232,6160,48]],[9685,[9232,6160,48]],[9686,[10256,5136]],[9687,[9232,6160]],[9688,[9232,5136,3072]],[9689,[9232,5136,3072]],[9690,[9232,5136,3072]],[9691,[10272,5152]],[9692,[9248,6176]],[9693,[9248,5152,3072]],[9694,[9248,5152,3072]],[9695,[9248,5152,3072]],[9696,[9248,5136]],[9697,[9232,5152]],[9698,[9232,5136,48]],[9699,[9232,5136,48]],[9700,[9232,5136,48]],[9701,[10272,6160]],[9702,[10256,6176]],[9703,[10256,6160,48]],[9704,[10256,6160,48]],[9705,[10256,6160,48]],[9706,[17424,3120]],[9707,[33808,3120]],[9708,[33808,17424,3120]],[9709,[33808,17424,3120]],[9710,[17440,3120]],[9711,[33824,3120]],[9712,[33824,17440,3120]],[9713,[33824,17440,3120]],[9714,[33824,17424]],[9715,[34848,18448]],[9716,[33824,17424,3072]],[9717,[33824,17424,3072]],[9718,[33808,17440]],[9719,[34832,18464]],[9720,[33808,17440,3072]],[9721,[33808,17440,3072]],[9722,[34832,17424]],[9723,[34848,17440]],[9724,[34832,17424,48]],[9725,[34832,17424,48]],[9726,[33808,18448]],[9727,[33824,18464]],[9728,[33808,18448,48]],[9729,[33808,18448,48]],[9730,[34832,17424]],[9731,[33808,18448]],[9732,[33808,17424,3072]],[9733,[33808,17424,3072]],[9734,[33808,17424,3072]],[9735,[34848,17440]],[9736,[33824,18464]],[9737,[33824,17440,3072]],[9738,[33824,17440,3072]],[9739,[33824,17440,3072]],[9740,[33824,17424]],[9741,[33808,17440]],[9742,[33808,17424,48]],[9743,[33808,17424,48]],[9744,[33808,17424,48]],[9745,[34848,18448]],[9746,[34832,18464]],[9747,[34832,18448,48]],[9748,[34832,18448,48]],[9749,[34832,18448,48]],[9750,[66576,3120]],[9751,[132112,3120]],[9752,[132112,66576,3120]],[9753,[132112,66576,3120]],[9754,[66592,3120]],[9755,[132128,3120]],[9756,[132128,66592,3120]],[9757,[132128,66592,3120]],[9758,[132128,66576]],[9759,[133152,67600]],[9760,[132128,66576,3072]],[9761,[132128,66576,3072]],[9762,[132112,66592]],[9763,[133136,67616]],[9764,[132112,66592,3072]],[9765,[132112,66592,3072]],[9766,[133136,66576]],[9767,[133152,66592]],[9768,[133136,66576,48]],[9769,[133136,66576,48]],[9770,[132112,67600]],[9771,[132128,67616]],[9772,[132112,67600,48]],[9773,[132112,67600,48]],[9774,[133136,66576]],[9775,[132112,67600]],[9776,[132112,66576,3072]],[9777,[132112,66576,3072]],[9778,[132112,66576,3072]],[9779,[132112,66576,3072]],[9780,[133152,66592]],[9781,[132128,67616]],[9782,[132128,66592,3072]],[9783,[132128,66592,3072]],[9784,[132128,66592,3072]],[9785,[132128,66592,3072]],[9786,[132128,66576]],[9787,[132112,66592]],[9788,[132112,66576,48]],[9789,[132112,66576,48]],[9790,[132112,66576,48]],[9791,[132112,66576,48]],[9792,[133152,67600]],[9793,[133136,67616]],[9794,[133136,67600,48]],[9795,[133136,67600,48]],[9796,[133136,67600,48]],[9797,[133136,67600,48]],[9798,[263184,3120]],[9799,[525328,3120]],[9800,[525328,263184,3120]],[9801,[525328,263184,3120]],[9802,[263200,3120]],[9803,[525344,3120]],[9804,[525344,263200,3120]],[9805,[525344,263200,3120]],[9806,[525344,263184]],[9807,[526368,264208]],[9808,[525344,263184,3072]],[9809,[525344,263184,3072]],[9810,[525328,263200]],[9811,[526352,264224]],[9812,[525328,263200,3072]],[9813,[525328,263200,3072]],[9814,[526352,263184]],[9815,[526368,263200]],[9816,[526352,263184,48]],[9817,[526352,263184,48]],[9818,[525328,264208]],[9819,[525344,264224]],[9820,[525328,264208,48]],[9821,[525328,264208,48]],[9822,[526352,263184]],[9823,[525328,264208]],[9824,[525328,263184,3072]],[9825,[525328,263184,3072]],[9826,[525328,263184,3072]],[9827,[526368,263200]],[9828,[525344,264224]],[9829,[525344,263200,3072]],[9830,[525344,263200,3072]],[9831,[525344,263200,3072]],[9832,[525344,263184]],[9833,[525328,263200]],[9834,[525328,263184,48]],[9835,[525328,263184,48]],[9836,[525328,263184,48]],[9837,[526368,264208]],[9838,[526352,264224]],[9839,[526352,264208,48]],[9840,[526352,264208,48]],[9841,[526352,264208,48]],[9842,[20496,12336]],[9843,[36880,12336]],[9844,[36880,20496,12336]],[9845,[36880,20496,12336]],[9846,[20512,12336]],[9847,[36896,12336]],[9848,[36896,20512,12336]],[9849,[36896,20512,12336]],[9850,[36896,20496]],[9851,[40992,24592]],[9852,[36896,20496,12288]],[9853,[36896,20496,12288]],[9854,[36880,20512]],[9855,[40976,24608]],[9856,[36880,20512,12288]],[9857,[36880,20512,12288]],[9858,[40976,20496]],[9859,[40992,20512]],[9860,[40976,20496,48]],[9861,[40976,20496,48]],[9862,[36880,24592]],[9863,[36896,24608]],[9864,[36880,24592,48]],[9865,[36880,24592,48]],[9866,[40976,20496]],[9867,[36880,24592]],[9868,[36880,20496,12288]],[9869,[36880,20496,12288]],[9870,[36880,20496,12288]],[9871,[36880,20496,12288]],[9872,[40992,20512]],[9873,[36896,24608]],[9874,[36896,20512,12288]],[9875,[36896,20512,12288]],[9876,[36896,20512,12288]],[9877,[36896,20512,12288]],[9878,[36896,20496]],[9879,[36880,20512]],[9880,[36880,20496,48]],[9881,[36880,20496,48]],[9882,[36880,20496,48]],[9883,[40992,24592]],[9884,[40976,24608]],[9885,[40976,24592,48]],[9886,[40976,24592,48]],[9887,[40976,24592,48]],[9888,[69648,12336]],[9889,[135184,12336]],[9890,[135184,69648,12336]],[9891,[135184,69648,12336]],[9892,[69664,12336]],[9893,[135200,12336]],[9894,[135200,69664,12336]],[9895,[135200,69664,12336]],[9896,[135200,69648]],[9897,[139296,73744]],[9898,[135200,69648,12288]],[9899,[135200,69648,12288]],[9900,[135184,69664]],[9901,[139280,73760]],[9902,[135184,69664,12288]],[9903,[135184,69664,12288]],[9904,[139280,69648]],[9905,[139296,69664]],[9906,[139280,69648,48]],[9907,[139280,69648,48]],[9908,[135184,73744]],[9909,[135200,73760]],[9910,[135184,73744,48]],[9911,[135184,73744,48]],[9912,[139280,69648]],[9913,[135184,73744]],[9914,[135184,69648,12288]],[9915,[135184,69648,12288]],[9916,[135184,69648,12288]],[9917,[139296,69664]],[9918,[135200,73760]],[9919,[135200,69664,12288]],[9920,[135200,69664,12288]],[9921,[135200,69664,12288]],[9922,[135200,69648]],[9923,[135184,69664]],[9924,[135184,69648,48]],[9925,[135184,69648,48]],[9926,[135184,69648,48]],[9927,[135184,69648,48]],[9928,[139296,73744]],[9929,[139280,73760]],[9930,[139280,73744,48]],[9931,[139280,73744,48]],[9932,[139280,73744,48]],[9933,[139280,73744,48]],[9934,[266256,12336]],[9935,[528400,12336]],[9936,[528400,266256,12336]],[9937,[528400,266256,12336]],[9938,[266272,12336]],[9939,[528416,12336]],[9940,[528416,266272,12336]],[9941,[528416,266272,12336]],[9942,[528416,266256]],[9943,[532512,270352]],[9944,[528416,266256,12288]],[9945,[528416,266256,12288]],[9946,[528400,266272]],[9947,[532496,270368]],[9948,[528400,266272,12288]],[9949,[528400,266272,12288]],[9950,[532496,266256]],[9951,[532512,266272]],[9952,[532496,266256,48]],[9953,[532496,266256,48]],[9954,[528400,270352]],[9955,[528416,270368]],[9956,[528400,270352,48]],[9957,[528400,270352,48]],[9958,[532496,266256]],[9959,[528400,270352]],[9960,[528400,266256,12288]],[9961,[528400,266256,12288]],[9962,[528400,266256,12288]],[9963,[532512,266272]],[9964,[528416,270368]],[9965,[528416,266272,12288]],[9966,[528416,266272,12288]],[9967,[528416,266272,12288]],[9968,[528416,266256]],[9969,[528400,266272]],[9970,[528400,266256,48]],[9971,[528400,266256,48]],[9972,[528400,266256,48]],[9973,[532512,270352]],[9974,[532496,270368]],[9975,[532496,270352,48]],[9976,[532496,270352,48]],[9977,[532496,270352,48]],[9978,[81936,49200]],[9979,[147472,49200]],[9980,[147472,81936,49200]],[9981,[147472,81936,49200]],[9982,[81952,49200]],[9983,[147488,49200]],[9984,[147488,81952,49200]],[9985,[147488,81952,49200]],[9986,[147488,81936]],[9987,[163872,98320]],[9988,[147488,81936,49152]],[9989,[147488,81936,49152]],[9990,[147472,81952]],[9991,[163856,98336]],[9992,[147472,81952,49152]],[9993,[147472,81952,49152]],[9994,[163856,81936]],[9995,[163872,81952]],[9996,[163856,81936,48]],[9997,[163856,81936,48]],[9998,[147472,98320]],[9999,[147488,98336]],[10000,[147472,98320,48]],[10001,[147472,98320,48]],[10002,[163856,81936]],[10003,[147472,98320]],[10004,[147472,81936,49152]],[10005,[147472,81936,49152]],[10006,[147472,81936,49152]],[10007,[147472,81936,49152]],[10008,[163872,81952]],[10009,[147488,98336]],[10010,[147488,81952,49152]],[10011,[147488,81952,49152]],[10012,[147488,81952,49152]],[10013,[147488,81952,49152]],[10014,[147488,81936]],[10015,[147472,81952]],[10016,[147472,81936,48]],[10017,[147472,81936,48]],[10018,[147472,81936,48]],[10019,[147472,81936,48]],[10020,[163872,98320]],[10021,[163856,98336]],[10022,[163856,98320,48]],[10023,[163856,98320,48]],[10024,[163856,98320,48]],[10025,[163856,98320,48]],[10026,[278544,49200]],[10027,[540688,49200]],[10028,[540688,278544,49200]],[10029,[540688,278544,49200]],[10030,[278560,49200]],[10031,[540704,49200]],[10032,[540704,278560,49200]],[10033,[540704,278560,49200]],[10034,[540704,278544]],[10035,[557088,294928]],[10036,[540704,278544,49152]],[10037,[540704,278544,49152]],[10038,[540688,278560]],[10039,[557072,294944]],[10040,[540688,278560,49152]],[10041,[540688,278560,49152]],[10042,[557072,278544]],[10043,[557088,278560]],[10044,[557072,278544,48]],[10045,[557072,278544,48]],[10046,[540688,294928]],[10047,[540704,294944]],[10048,[540688,294928,48]],[10049,[540688,294928,48]],[10050,[557072,278544]],[10051,[540688,294928]],[10052,[540688,278544,49152]],[10053,[540688,278544,49152]],[10054,[540688,278544,49152]],[10055,[557088,278560]],[10056,[540704,294944]],[10057,[540704,278560,49152]],[10058,[540704,278560,49152]],[10059,[540704,278560,49152]],[10060,[540704,278544]],[10061,[540688,278560]],[10062,[540688,278544,48]],[10063,[540688,278544,48]],[10064,[540688,278544,48]],[10065,[557088,294928]],[10066,[557072,294944]],[10067,[557072,294928,48]],[10068,[557072,294928,48]],[10069,[557072,294928,48]],[10070,[327696,196656]],[10071,[589840,196656]],[10072,[589840,327696,196656]],[10073,[589840,327696,196656]],[10074,[327712,196656]],[10075,[589856,196656]],[10076,[589856,327712,196656]],[10077,[589856,327712,196656]],[10078,[589856,327696]],[10079,[655392,393232]],[10080,[589856,327696,196608]],[10081,[589856,327696,196608]],[10082,[589840,327712]],[10083,[655376,393248]],[10084,[589840,327712,196608]],[10085,[589840,327712,196608]],[10086,[655376,327696]],[10087,[655392,327712]],[10088,[655376,327696,48]],[10089,[655376,327696,48]],[10090,[589840,393232]],[10091,[589856,393248]],[10092,[589840,393232,48]],[10093,[589840,393232,48]],[10094,[655376,327696]],[10095,[589840,393232]],[10096,[589840,327696,196608]],[10097,[589840,327696,196608]],[10098,[589840,327696,196608]],[10099,[589840,327696,196608]],[10100,[655392,327712]],[10101,[589856,393248]],[10102,[589856,327712,196608]],[10103,[589856,327712,196608]],[10104,[589856,327712,196608]],[10105,[589856,327712,196608]],[10106,[589856,327696]],[10107,[589840,327712]],[10108,[589840,327696,48]],[10109,[589840,327696,48]],[10110,[589840,327696,48]],[10111,[655392,393232]],[10112,[655376,393248]],[10113,[655376,393232,48]],[10114,[655376,393232,48]],[10115,[655376,393232,48]],[10116,[1344,960]],[10117,[2368,960]],[10118,[2368,1344,960]],[10119,[2368,1344,960]],[10120,[1408,960]],[10121,[2432,960]],[10122,[2432,1408,960]],[10123,[2432,1408,960]],[10124,[2432,1344]],[10125,[2688,1600]],[10126,[2432,1344,768]],[10127,[2432,1344,768]],[10128,[2368,1408]],[10129,[2624,1664]],[10130,[2368,1408,768]],[10131,[2368,1408,768]],[10132,[2624,1344]],[10133,[2688,1408]],[10134,[2624,1344,192]],[10135,[2624,1344,192]],[10136,[2368,1600]],[10137,[2432,1664]],[10138,[2368,1600,192]],[10139,[2368,1600,192]],[10140,[2624,1344]],[10141,[2368,1600]],[10142,[2368,1344,768]],[10143,[2368,1344,768]],[10144,[2368,1344,768]],[10145,[2368,1344,768]],[10146,[2688,1408]],[10147,[2432,1664]],[10148,[2432,1408,768]],[10149,[2432,1408,768]],[10150,[2432,1408,768]],[10151,[2432,1408,768]],[10152,[2432,1344]],[10153,[2368,1408]],[10154,[2368,1344,192]],[10155,[2368,1344,192]],[10156,[2368,1344,192]],[10157,[2368,1344,192]],[10158,[2688,1600]],[10159,[2624,1664]],[10160,[2624,1600,192]],[10161,[2624,1600,192]],[10162,[2624,1600,192]],[10163,[2624,1600,192]],[10164,[4416,960]],[10165,[8512,960]],[10166,[8512,4416,960]],[10167,[8512,4416,960]],[10168,[4480,960]],[10169,[8576,960]],[10170,[8576,4480,960]],[10171,[8576,4480,960]],[10172,[8576,4416]],[10173,[8832,4672]],[10174,[8576,4416,768]],[10175,[8576,4416,768]],[10176,[8512,4480]],[10177,[8768,4736]],[10178,[8512,4480,768]],[10179,[8512,4480,768]],[10180,[8768,4416]],[10181,[8832,4480]],[10182,[8768,4416,192]],[10183,[8768,4416,192]],[10184,[8512,4672]],[10185,[8576,4736]],[10186,[8512,4672,192]],[10187,[8512,4672,192]],[10188,[8768,4416]],[10189,[8512,4672]],[10190,[8512,4416,768]],[10191,[8512,4416,768]],[10192,[8512,4416,768]],[10193,[8832,4480]],[10194,[8576,4736]],[10195,[8576,4480,768]],[10196,[8576,4480,768]],[10197,[8576,4480,768]],[10198,[8576,4416]],[10199,[8512,4480]],[10200,[8512,4416,192]],[10201,[8512,4416,192]],[10202,[8512,4416,192]],[10203,[8832,4672]],[10204,[8768,4736]],[10205,[8768,4672,192]],[10206,[8768,4672,192]],[10207,[8768,4672,192]],[10208,[16704,960]],[10209,[33088,960]],[10210,[33088,16704,960]],[10211,[33088,16704,960]],[10212,[16768,960]],[10213,[33152,960]],[10214,[33152,16768,960]],[10215,[33152,16768,960]],[10216,[33152,16704]],[10217,[33408,16960]],[10218,[33152,16704,768]],[10219,[33152,16704,768]],[10220,[33088,16768]],[10221,[33344,17024]],[10222,[33088,16768,768]],[10223,[33088,16768,768]],[10224,[33344,16704]],[10225,[33408,16768]],[10226,[33344,16704,192]],[10227,[33344,16704,192]],[10228,[33088,16960]],[10229,[33152,17024]],[10230,[33088,16960,192]],[10231,[33088,16960,192]],[10232,[33344,16704]],[10233,[33088,16960]],[10234,[33088,16704,768]],[10235,[33088,16704,768]],[10236,[33088,16704,768]],[10237,[33408,16768]],[10238,[33152,17024]],[10239,[33152,16768,768]],[10240,[33152,16768,768]],[10241,[33152,16768,768]],[10242,[33152,16704]],[10243,[33088,16768]],[10244,[33088,16704,192]],[10245,[33088,16704,192]],[10246,[33088,16704,192]],[10247,[33408,16960]],[10248,[33344,17024]],[10249,[33344,16960,192]],[10250,[33344,16960,192]],[10251,[33344,16960,192]],[10252,[65856,960]],[10253,[131392,960]],[10254,[131392,65856,960]],[10255,[131392,65856,960]],[10256,[65920,960]],[10257,[131456,960]],[10258,[131456,65920,960]],[10259,[131456,65920,960]],[10260,[131456,65856]],[10261,[131712,66112]],[10262,[131456,65856,768]],[10263,[131456,65856,768]],[10264,[131392,65920]],[10265,[131648,66176]],[10266,[131392,65920,768]],[10267,[131392,65920,768]],[10268,[131648,65856]],[10269,[131712,65920]],[10270,[131648,65856,192]],[10271,[131648,65856,192]],[10272,[131392,66112]],[10273,[131456,66176]],[10274,[131392,66112,192]],[10275,[131392,66112,192]],[10276,[131648,65856]],[10277,[131392,66112]],[10278,[131392,65856,768]],[10279,[131392,65856,768]],[10280,[131392,65856,768]],[10281,[131712,65920]],[10282,[131456,66176]],[10283,[131456,65920,768]],[10284,[131456,65920,768]],[10285,[131456,65920,768]],[10286,[131456,65856]],[10287,[131392,65920]],[10288,[131392,65856,192]],[10289,[131392,65856,192]],[10290,[131392,65856,192]],[10291,[131712,66112]],[10292,[131648,66176]],[10293,[131648,66112,192]],[10294,[131648,66112,192]],[10295,[131648,66112,192]],[10296,[262464,960]],[10297,[524608,960]],[10298,[524608,262464,960]],[10299,[524608,262464,960]],[10300,[262528,960]],[10301,[524672,960]],[10302,[524672,262528,960]],[10303,[524672,262528,960]],[10304,[524672,262464]],[10305,[524928,262720]],[10306,[524672,262464,768]],[10307,[524672,262464,768]],[10308,[524608,262528]],[10309,[524864,262784]],[10310,[524608,262528,768]],[10311,[524608,262528,768]],[10312,[524864,262464]],[10313,[524928,262528]],[10314,[524864,262464,192]],[10315,[524864,262464,192]],[10316,[524608,262720]],[10317,[524672,262784]],[10318,[524608,262720,192]],[10319,[524608,262720,192]],[10320,[524864,262464]],[10321,[524608,262720]],[10322,[524608,262464,768]],[10323,[524608,262464,768]],[10324,[524608,262464,768]],[10325,[524928,262528]],[10326,[524672,262784]],[10327,[524672,262528,768]],[10328,[524672,262528,768]],[10329,[524672,262528,768]],[10330,[524672,262464]],[10331,[524608,262528]],[10332,[524608,262464,192]],[10333,[524608,262464,192]],[10334,[524608,262464,192]],[10335,[524928,262720]],[10336,[524864,262784]],[10337,[524864,262720,192]],[10338,[524864,262720,192]],[10339,[524864,262720,192]],[10340,[5184,3264]],[10341,[9280,3264]],[10342,[9280,5184,3264]],[10343,[9280,5184,3264]],[10344,[5248,3264]],[10345,[9344,3264]],[10346,[9344,5248,3264]],[10347,[9344,5248,3264]],[10348,[9344,5184]],[10349,[10368,6208]],[10350,[9344,5184,3072]],[10351,[9344,5184,3072]],[10352,[9280,5248]],[10353,[10304,6272]],[10354,[9280,5248,3072]],[10355,[9280,5248,3072]],[10356,[10304,5184]],[10357,[10368,5248]],[10358,[10304,5184,192]],[10359,[10304,5184,192]],[10360,[9280,6208]],[10361,[9344,6272]],[10362,[9280,6208,192]],[10363,[9280,6208,192]],[10364,[10304,5184]],[10365,[9280,6208]],[10366,[9280,5184,3072]],[10367,[9280,5184,3072]],[10368,[9280,5184,3072]],[10369,[10368,5248]],[10370,[9344,6272]],[10371,[9344,5248,3072]],[10372,[9344,5248,3072]],[10373,[9344,5248,3072]],[10374,[9344,5184]],[10375,[9280,5248]],[10376,[9280,5184,192]],[10377,[9280,5184,192]],[10378,[9280,5184,192]],[10379,[10368,6208]],[10380,[10304,6272]],[10381,[10304,6208,192]],[10382,[10304,6208,192]],[10383,[10304,6208,192]],[10384,[17472,3264]],[10385,[33856,3264]],[10386,[33856,17472,3264]],[10387,[33856,17472,3264]],[10388,[17536,3264]],[10389,[33920,3264]],[10390,[33920,17536,3264]],[10391,[33920,17536,3264]],[10392,[33920,17472]],[10393,[34944,18496]],[10394,[33920,17472,3072]],[10395,[33920,17472,3072]],[10396,[33856,17536]],[10397,[34880,18560]],[10398,[33856,17536,3072]],[10399,[33856,17536,3072]],[10400,[34880,17472]],[10401,[34944,17536]],[10402,[34880,17472,192]],[10403,[34880,17472,192]],[10404,[33856,18496]],[10405,[33920,18560]],[10406,[33856,18496,192]],[10407,[33856,18496,192]],[10408,[34880,17472]],[10409,[33856,18496]],[10410,[33856,17472,3072]],[10411,[33856,17472,3072]],[10412,[33856,17472,3072]],[10413,[34944,17536]],[10414,[33920,18560]],[10415,[33920,17536,3072]],[10416,[33920,17536,3072]],[10417,[33920,17536,3072]],[10418,[33920,17472]],[10419,[33856,17536]],[10420,[33856,17472,192]],[10421,[33856,17472,192]],[10422,[33856,17472,192]],[10423,[34944,18496]],[10424,[34880,18560]],[10425,[34880,18496,192]],[10426,[34880,18496,192]],[10427,[34880,18496,192]],[10428,[66624,3264]],[10429,[132160,3264]],[10430,[132160,66624,3264]],[10431,[132160,66624,3264]],[10432,[66688,3264]],[10433,[132224,3264]],[10434,[132224,66688,3264]],[10435,[132224,66688,3264]],[10436,[132224,66624]],[10437,[133248,67648]],[10438,[132224,66624,3072]],[10439,[132224,66624,3072]],[10440,[132160,66688]],[10441,[133184,67712]],[10442,[132160,66688,3072]],[10443,[132160,66688,3072]],[10444,[133184,66624]],[10445,[133248,66688]],[10446,[133184,66624,192]],[10447,[133184,66624,192]],[10448,[132160,67648]],[10449,[132224,67712]],[10450,[132160,67648,192]],[10451,[132160,67648,192]],[10452,[133184,66624]],[10453,[132160,67648]],[10454,[132160,66624,3072]],[10455,[132160,66624,3072]],[10456,[132160,66624,3072]],[10457,[132160,66624,3072]],[10458,[133248,66688]],[10459,[132224,67712]],[10460,[132224,66688,3072]],[10461,[132224,66688,3072]],[10462,[132224,66688,3072]],[10463,[132224,66688,3072]],[10464,[132224,66624]],[10465,[132160,66688]],[10466,[132160,66624,192]],[10467,[132160,66624,192]],[10468,[132160,66624,192]],[10469,[133248,67648]],[10470,[133184,67712]],[10471,[133184,67648,192]],[10472,[133184,67648,192]],[10473,[133184,67648,192]],[10474,[263232,3264]],[10475,[525376,3264]],[10476,[525376,263232,3264]],[10477,[525376,263232,3264]],[10478,[263296,3264]],[10479,[525440,3264]],[10480,[525440,263296,3264]],[10481,[525440,263296,3264]],[10482,[525440,263232]],[10483,[526464,264256]],[10484,[525440,263232,3072]],[10485,[525440,263232,3072]],[10486,[525376,263296]],[10487,[526400,264320]],[10488,[525376,263296,3072]],[10489,[525376,263296,3072]],[10490,[526400,263232]],[10491,[526464,263296]],[10492,[526400,263232,192]],[10493,[526400,263232,192]],[10494,[525376,264256]],[10495,[525440,264320]],[10496,[525376,264256,192]],[10497,[525376,264256,192]],[10498,[526400,263232]],[10499,[525376,264256]],[10500,[525376,263232,3072]],[10501,[525376,263232,3072]],[10502,[525376,263232,3072]],[10503,[526464,263296]],[10504,[525440,264320]],[10505,[525440,263296,3072]],[10506,[525440,263296,3072]],[10507,[525440,263296,3072]],[10508,[525440,263232]],[10509,[525376,263296]],[10510,[525376,263232,192]],[10511,[525376,263232,192]],[10512,[525376,263232,192]],[10513,[526464,264256]],[10514,[526400,264320]],[10515,[526400,264256,192]],[10516,[526400,264256,192]],[10517,[526400,264256,192]],[10518,[20544,12480]],[10519,[36928,12480]],[10520,[36928,20544,12480]],[10521,[36928,20544,12480]],[10522,[20608,12480]],[10523,[36992,12480]],[10524,[36992,20608,12480]],[10525,[36992,20608,12480]],[10526,[36992,20544]],[10527,[41088,24640]],[10528,[36992,20544,12288]],[10529,[36992,20544,12288]],[10530,[36928,20608]],[10531,[41024,24704]],[10532,[36928,20608,12288]],[10533,[36928,20608,12288]],[10534,[41024,20544]],[10535,[41088,20608]],[10536,[41024,20544,192]],[10537,[41024,20544,192]],[10538,[36928,24640]],[10539,[36992,24704]],[10540,[36928,24640,192]],[10541,[36928,24640,192]],[10542,[41024,20544]],[10543,[36928,24640]],[10544,[36928,20544,12288]],[10545,[36928,20544,12288]],[10546,[36928,20544,12288]],[10547,[36928,20544,12288]],[10548,[41088,20608]],[10549,[36992,24704]],[10550,[36992,20608,12288]],[10551,[36992,20608,12288]],[10552,[36992,20608,12288]],[10553,[36992,20608,12288]],[10554,[36992,20544]],[10555,[36928,20608]],[10556,[36928,20544,192]],[10557,[36928,20544,192]],[10558,[36928,20544,192]],[10559,[41088,24640]],[10560,[41024,24704]],[10561,[41024,24640,192]],[10562,[41024,24640,192]],[10563,[41024,24640,192]],[10564,[69696,12480]],[10565,[135232,12480]],[10566,[135232,69696,12480]],[10567,[135232,69696,12480]],[10568,[69760,12480]],[10569,[135296,12480]],[10570,[135296,69760,12480]],[10571,[135296,69760,12480]],[10572,[135296,69696]],[10573,[139392,73792]],[10574,[135296,69696,12288]],[10575,[135296,69696,12288]],[10576,[135232,69760]],[10577,[139328,73856]],[10578,[135232,69760,12288]],[10579,[135232,69760,12288]],[10580,[139328,69696]],[10581,[139392,69760]],[10582,[139328,69696,192]],[10583,[139328,69696,192]],[10584,[135232,73792]],[10585,[135296,73856]],[10586,[135232,73792,192]],[10587,[135232,73792,192]],[10588,[139328,69696]],[10589,[135232,73792]],[10590,[135232,69696,12288]],[10591,[135232,69696,12288]],[10592,[135232,69696,12288]],[10593,[139392,69760]],[10594,[135296,73856]],[10595,[135296,69760,12288]],[10596,[135296,69760,12288]],[10597,[135296,69760,12288]],[10598,[135296,69696]],[10599,[135232,69760]],[10600,[135232,69696,192]],[10601,[135232,69696,192]],[10602,[135232,69696,192]],[10603,[139392,73792]],[10604,[139328,73856]],[10605,[139328,73792,192]],[10606,[139328,73792,192]],[10607,[139328,73792,192]],[10608,[266304,12480]],[10609,[528448,12480]],[10610,[528448,266304,12480]],[10611,[528448,266304,12480]],[10612,[266368,12480]],[10613,[528512,12480]],[10614,[528512,266368,12480]],[10615,[528512,266368,12480]],[10616,[528512,266304]],[10617,[532608,270400]],[10618,[528512,266304,12288]],[10619,[528512,266304,12288]],[10620,[528448,266368]],[10621,[532544,270464]],[10622,[528448,266368,12288]],[10623,[528448,266368,12288]],[10624,[532544,266304]],[10625,[532608,266368]],[10626,[532544,266304,192]],[10627,[532544,266304,192]],[10628,[528448,270400]],[10629,[528512,270464]],[10630,[528448,270400,192]],[10631,[528448,270400,192]],[10632,[532544,266304]],[10633,[528448,270400]],[10634,[528448,266304,12288]],[10635,[528448,266304,12288]],[10636,[528448,266304,12288]],[10637,[532608,266368]],[10638,[528512,270464]],[10639,[528512,266368,12288]],[10640,[528512,266368,12288]],[10641,[528512,266368,12288]],[10642,[528512,266304]],[10643,[528448,266368]],[10644,[528448,266304,192]],[10645,[528448,266304,192]],[10646,[528448,266304,192]],[10647,[532608,270400]],[10648,[532544,270464]],[10649,[532544,270400,192]],[10650,[532544,270400,192]],[10651,[532544,270400,192]],[10652,[81984,49344]],[10653,[147520,49344]],[10654,[147520,81984,49344]],[10655,[147520,81984,49344]],[10656,[82048,49344]],[10657,[147584,49344]],[10658,[147584,82048,49344]],[10659,[147584,82048,49344]],[10660,[147584,81984]],[10661,[163968,98368]],[10662,[147584,81984,49152]],[10663,[147584,81984,49152]],[10664,[147520,82048]],[10665,[163904,98432]],[10666,[147520,82048,49152]],[10667,[147520,82048,49152]],[10668,[163904,81984]],[10669,[163968,82048]],[10670,[163904,81984,192]],[10671,[163904,81984,192]],[10672,[147520,98368]],[10673,[147584,98432]],[10674,[147520,98368,192]],[10675,[147520,98368,192]],[10676,[163904,81984]],[10677,[147520,98368]],[10678,[147520,81984,49152]],[10679,[147520,81984,49152]],[10680,[147520,81984,49152]],[10681,[147520,81984,49152]],[10682,[163968,82048]],[10683,[147584,98432]],[10684,[147584,82048,49152]],[10685,[147584,82048,49152]],[10686,[147584,82048,49152]],[10687,[147584,82048,49152]],[10688,[147584,81984]],[10689,[147520,82048]],[10690,[147520,81984,192]],[10691,[147520,81984,192]],[10692,[147520,81984,192]],[10693,[163968,98368]],[10694,[163904,98432]],[10695,[163904,98368,192]],[10696,[163904,98368,192]],[10697,[163904,98368,192]],[10698,[278592,49344]],[10699,[540736,49344]],[10700,[540736,278592,49344]],[10701,[540736,278592,49344]],[10702,[278656,49344]],[10703,[540800,49344]],[10704,[540800,278656,49344]],[10705,[540800,278656,49344]],[10706,[540800,278592]],[10707,[557184,294976]],[10708,[540800,278592,49152]],[10709,[540800,278592,49152]],[10710,[540736,278656]],[10711,[557120,295040]],[10712,[540736,278656,49152]],[10713,[540736,278656,49152]],[10714,[557120,278592]],[10715,[557184,278656]],[10716,[557120,278592,192]],[10717,[557120,278592,192]],[10718,[540736,294976]],[10719,[540800,295040]],[10720,[540736,294976,192]],[10721,[540736,294976,192]],[10722,[557120,278592]],[10723,[540736,294976]],[10724,[540736,278592,49152]],[10725,[540736,278592,49152]],[10726,[540736,278592,49152]],[10727,[557184,278656]],[10728,[540800,295040]],[10729,[540800,278656,49152]],[10730,[540800,278656,49152]],[10731,[540800,278656,49152]],[10732,[540800,278592]],[10733,[540736,278656]],[10734,[540736,278592,192]],[10735,[540736,278592,192]],[10736,[540736,278592,192]],[10737,[557184,294976]],[10738,[557120,295040]],[10739,[557120,294976,192]],[10740,[557120,294976,192]],[10741,[557120,294976,192]],[10742,[327744,196800]],[10743,[589888,196800]],[10744,[589888,327744,196800]],[10745,[589888,327744,196800]],[10746,[327808,196800]],[10747,[589952,196800]],[10748,[589952,327808,196800]],[10749,[589952,327808,196800]],[10750,[589952,327744]],[10751,[655488,393280]],[10752,[589952,327744,196608]],[10753,[589952,327744,196608]],[10754,[589888,327808]],[10755,[655424,393344]],[10756,[589888,327808,196608]],[10757,[589888,327808,196608]],[10758,[655424,327744]],[10759,[655488,327808]],[10760,[655424,327744,192]],[10761,[655424,327744,192]],[10762,[589888,393280]],[10763,[589952,393344]],[10764,[589888,393280,192]],[10765,[589888,393280,192]],[10766,[655424,327744]],[10767,[589888,393280]],[10768,[589888,327744,196608]],[10769,[589888,327744,196608]],[10770,[589888,327744,196608]],[10771,[589888,327744,196608]],[10772,[655488,327808]],[10773,[589952,393344]],[10774,[589952,327808,196608]],[10775,[589952,327808,196608]],[10776,[589952,327808,196608]],[10777,[589952,327808,196608]],[10778,[589952,327744]],[10779,[589888,327808]],[10780,[589888,327744,192]],[10781,[589888,327744,192]],[10782,[589888,327744,192]],[10783,[655488,393280]],[10784,[655424,393344]],[10785,[655424,393280,192]],[10786,[655424,393280,192]],[10787,[655424,393280,192]],[10788,[5376,3840]],[10789,[9472,3840]],[10790,[9472,5376,3840]],[10791,[9472,5376,3840]],[10792,[5632,3840]],[10793,[9728,3840]],[10794,[9728,5632,3840]],[10795,[9728,5632,3840]],[10796,[9728,5376]],[10797,[10752,6400]],[10798,[9728,5376,3072]],[10799,[9728,5376,3072]],[10800,[9472,5632]],[10801,[10496,6656]],[10802,[9472,5632,3072]],[10803,[9472,5632,3072]],[10804,[10496,5376]],[10805,[10752,5632]],[10806,[10496,5376,768]],[10807,[10496,5376,768]],[10808,[9472,6400]],[10809,[9728,6656]],[10810,[9472,6400,768]],[10811,[9472,6400,768]],[10812,[10496,5376]],[10813,[9472,6400]],[10814,[9472,5376,3072]],[10815,[9472,5376,3072]],[10816,[9472,5376,3072]],[10817,[10752,5632]],[10818,[9728,6656]],[10819,[9728,5632,3072]],[10820,[9728,5632,3072]],[10821,[9728,5632,3072]],[10822,[9728,5376]],[10823,[9472,5632]],[10824,[9472,5376,768]],[10825,[9472,5376,768]],[10826,[9472,5376,768]],[10827,[10752,6400]],[10828,[10496,6656]],[10829,[10496,6400,768]],[10830,[10496,6400,768]],[10831,[10496,6400,768]],[10832,[17664,3840]],[10833,[34048,3840]],[10834,[34048,17664,3840]],[10835,[34048,17664,3840]],[10836,[17920,3840]],[10837,[34304,3840]],[10838,[34304,17920,3840]],[10839,[34304,17920,3840]],[10840,[34304,17664]],[10841,[35328,18688]],[10842,[34304,17664,3072]],[10843,[34304,17664,3072]],[10844,[34048,17920]],[10845,[35072,18944]],[10846,[34048,17920,3072]],[10847,[34048,17920,3072]],[10848,[35072,17664]],[10849,[35328,17920]],[10850,[35072,17664,768]],[10851,[35072,17664,768]],[10852,[34048,18688]],[10853,[34304,18944]],[10854,[34048,18688,768]],[10855,[34048,18688,768]],[10856,[35072,17664]],[10857,[34048,18688]],[10858,[34048,17664,3072]],[10859,[34048,17664,3072]],[10860,[34048,17664,3072]],[10861,[35328,17920]],[10862,[34304,18944]],[10863,[34304,17920,3072]],[10864,[34304,17920,3072]],[10865,[34304,17920,3072]],[10866,[34304,17664]],[10867,[34048,17920]],[10868,[34048,17664,768]],[10869,[34048,17664,768]],[10870,[34048,17664,768]],[10871,[35328,18688]],[10872,[35072,18944]],[10873,[35072,18688,768]],[10874,[35072,18688,768]],[10875,[35072,18688,768]],[10876,[66816,3840]],[10877,[132352,3840]],[10878,[132352,66816,3840]],[10879,[132352,66816,3840]],[10880,[67072,3840]],[10881,[132608,3840]],[10882,[132608,67072,3840]],[10883,[132608,67072,3840]],[10884,[132608,66816]],[10885,[133632,67840]],[10886,[132608,66816,3072]],[10887,[132608,66816,3072]],[10888,[132352,67072]],[10889,[133376,68096]],[10890,[132352,67072,3072]],[10891,[132352,67072,3072]],[10892,[133376,66816]],[10893,[133632,67072]],[10894,[133376,66816,768]],[10895,[133376,66816,768]],[10896,[132352,67840]],[10897,[132608,68096]],[10898,[132352,67840,768]],[10899,[132352,67840,768]],[10900,[133376,66816]],[10901,[132352,67840]],[10902,[132352,66816,3072]],[10903,[132352,66816,3072]],[10904,[132352,66816,3072]],[10905,[132352,66816,3072]],[10906,[133632,67072]],[10907,[132608,68096]],[10908,[132608,67072,3072]],[10909,[132608,67072,3072]],[10910,[132608,67072,3072]],[10911,[132608,67072,3072]],[10912,[132608,66816]],[10913,[132352,67072]],[10914,[132352,66816,768]],[10915,[132352,66816,768]],[10916,[132352,66816,768]],[10917,[132352,66816,768]],[10918,[133632,67840]],[10919,[133376,68096]],[10920,[133376,67840,768]],[10921,[133376,67840,768]],[10922,[133376,67840,768]],[10923,[133376,67840,768]],[10924,[263424,3840]],[10925,[525568,3840]],[10926,[525568,263424,3840]],[10927,[525568,263424,3840]],[10928,[263680,3840]],[10929,[525824,3840]],[10930,[525824,263680,3840]],[10931,[525824,263680,3840]],[10932,[525824,263424]],[10933,[526848,264448]],[10934,[525824,263424,3072]],[10935,[525824,263424,3072]],[10936,[525568,263680]],[10937,[526592,264704]],[10938,[525568,263680,3072]],[10939,[525568,263680,3072]],[10940,[526592,263424]],[10941,[526848,263680]],[10942,[526592,263424,768]],[10943,[526592,263424,768]],[10944,[525568,264448]],[10945,[525824,264704]],[10946,[525568,264448,768]],[10947,[525568,264448,768]],[10948,[526592,263424]],[10949,[525568,264448]],[10950,[525568,263424,3072]],[10951,[525568,263424,3072]],[10952,[525568,263424,3072]],[10953,[526848,263680]],[10954,[525824,264704]],[10955,[525824,263680,3072]],[10956,[525824,263680,3072]],[10957,[525824,263680,3072]],[10958,[525824,263424]],[10959,[525568,263680]],[10960,[525568,263424,768]],[10961,[525568,263424,768]],[10962,[525568,263424,768]],[10963,[526848,264448]],[10964,[526592,264704]],[10965,[526592,264448,768]],[10966,[526592,264448,768]],[10967,[526592,264448,768]],[10968,[20736,13056]],[10969,[37120,13056]],[10970,[37120,20736,13056]],[10971,[37120,20736,13056]],[10972,[20992,13056]],[10973,[37376,13056]],[10974,[37376,20992,13056]],[10975,[37376,20992,13056]],[10976,[37376,20736]],[10977,[41472,24832]],[10978,[37376,20736,12288]],[10979,[37376,20736,12288]],[10980,[37120,20992]],[10981,[41216,25088]],[10982,[37120,20992,12288]],[10983,[37120,20992,12288]],[10984,[41216,20736]],[10985,[41472,20992]],[10986,[41216,20736,768]],[10987,[41216,20736,768]],[10988,[37120,24832]],[10989,[37376,25088]],[10990,[37120,24832,768]],[10991,[37120,24832,768]],[10992,[41216,20736]],[10993,[37120,24832]],[10994,[37120,20736,12288]],[10995,[37120,20736,12288]],[10996,[37120,20736,12288]],[10997,[37120,20736,12288]],[10998,[41472,20992]],[10999,[37376,25088]],[11000,[37376,20992,12288]],[11001,[37376,20992,12288]],[11002,[37376,20992,12288]],[11003,[37376,20992,12288]],[11004,[37376,20736]],[11005,[37120,20992]],[11006,[37120,20736,768]],[11007,[37120,20736,768]],[11008,[37120,20736,768]],[11009,[41472,24832]],[11010,[41216,25088]],[11011,[41216,24832,768]],[11012,[41216,24832,768]],[11013,[41216,24832,768]],[11014,[69888,13056]],[11015,[135424,13056]],[11016,[135424,69888,13056]],[11017,[135424,69888,13056]],[11018,[70144,13056]],[11019,[135680,13056]],[11020,[135680,70144,13056]],[11021,[135680,70144,13056]],[11022,[135680,69888]],[11023,[139776,73984]],[11024,[135680,69888,12288]],[11025,[135680,69888,12288]],[11026,[135424,70144]],[11027,[139520,74240]],[11028,[135424,70144,12288]],[11029,[135424,70144,12288]],[11030,[139520,69888]],[11031,[139776,70144]],[11032,[139520,69888,768]],[11033,[139520,69888,768]],[11034,[135424,73984]],[11035,[135680,74240]],[11036,[135424,73984,768]],[11037,[135424,73984,768]],[11038,[139520,69888]],[11039,[135424,73984]],[11040,[135424,69888,12288]],[11041,[135424,69888,12288]],[11042,[135424,69888,12288]],[11043,[139776,70144]],[11044,[135680,74240]],[11045,[135680,70144,12288]],[11046,[135680,70144,12288]],[11047,[135680,70144,12288]],[11048,[135680,69888]],[11049,[135424,70144]],[11050,[135424,69888,768]],[11051,[135424,69888,768]],[11052,[135424,69888,768]],[11053,[135424,69888,768]],[11054,[139776,73984]],[11055,[139520,74240]],[11056,[139520,73984,768]],[11057,[139520,73984,768]],[11058,[139520,73984,768]],[11059,[139520,73984,768]],[11060,[266496,13056]],[11061,[528640,13056]],[11062,[528640,266496,13056]],[11063,[528640,266496,13056]],[11064,[266752,13056]],[11065,[528896,13056]],[11066,[528896,266752,13056]],[11067,[528896,266752,13056]],[11068,[528896,266496]],[11069,[532992,270592]],[11070,[528896,266496,12288]],[11071,[528896,266496,12288]],[11072,[528640,266752]],[11073,[532736,270848]],[11074,[528640,266752,12288]],[11075,[528640,266752,12288]],[11076,[532736,266496]],[11077,[532992,266752]],[11078,[532736,266496,768]],[11079,[532736,266496,768]],[11080,[528640,270592]],[11081,[528896,270848]],[11082,[528640,270592,768]],[11083,[528640,270592,768]],[11084,[532736,266496]],[11085,[528640,270592]],[11086,[528640,266496,12288]],[11087,[528640,266496,12288]],[11088,[528640,266496,12288]],[11089,[532992,266752]],[11090,[528896,270848]],[11091,[528896,266752,12288]],[11092,[528896,266752,12288]],[11093,[528896,266752,12288]],[11094,[528896,266496]],[11095,[528640,266752]],[11096,[528640,266496,768]],[11097,[528640,266496,768]],[11098,[528640,266496,768]],[11099,[532992,270592]],[11100,[532736,270848]],[11101,[532736,270592,768]],[11102,[532736,270592,768]],[11103,[532736,270592,768]],[11104,[82176,49920]],[11105,[147712,49920]],[11106,[147712,82176,49920]],[11107,[147712,82176,49920]],[11108,[82432,49920]],[11109,[147968,49920]],[11110,[147968,82432,49920]],[11111,[147968,82432,49920]],[11112,[147968,82176]],[11113,[164352,98560]],[11114,[147968,82176,49152]],[11115,[147968,82176,49152]],[11116,[147712,82432]],[11117,[164096,98816]],[11118,[147712,82432,49152]],[11119,[147712,82432,49152]],[11120,[164096,82176]],[11121,[164352,82432]],[11122,[164096,82176,768]],[11123,[164096,82176,768]],[11124,[147712,98560]],[11125,[147968,98816]],[11126,[147712,98560,768]],[11127,[147712,98560,768]],[11128,[164096,82176]],[11129,[147712,98560]],[11130,[147712,82176,49152]],[11131,[147712,82176,49152]],[11132,[147712,82176,49152]],[11133,[147712,82176,49152]],[11134,[164352,82432]],[11135,[147968,98816]],[11136,[147968,82432,49152]],[11137,[147968,82432,49152]],[11138,[147968,82432,49152]],[11139,[147968,82432,49152]],[11140,[147968,82176]],[11141,[147712,82432]],[11142,[147712,82176,768]],[11143,[147712,82176,768]],[11144,[147712,82176,768]],[11145,[147712,82176,768]],[11146,[164352,98560]],[11147,[164096,98816]],[11148,[164096,98560,768]],[11149,[164096,98560,768]],[11150,[164096,98560,768]],[11151,[164096,98560,768]],[11152,[278784,49920]],[11153,[540928,49920]],[11154,[540928,278784,49920]],[11155,[540928,278784,49920]],[11156,[279040,49920]],[11157,[541184,49920]],[11158,[541184,279040,49920]],[11159,[541184,279040,49920]],[11160,[541184,278784]],[11161,[557568,295168]],[11162,[541184,278784,49152]],[11163,[541184,278784,49152]],[11164,[540928,279040]],[11165,[557312,295424]],[11166,[540928,279040,49152]],[11167,[540928,279040,49152]],[11168,[557312,278784]],[11169,[557568,279040]],[11170,[557312,278784,768]],[11171,[557312,278784,768]],[11172,[540928,295168]],[11173,[541184,295424]],[11174,[540928,295168,768]],[11175,[540928,295168,768]],[11176,[557312,278784]],[11177,[540928,295168]],[11178,[540928,278784,49152]],[11179,[540928,278784,49152]],[11180,[540928,278784,49152]],[11181,[557568,279040]],[11182,[541184,295424]],[11183,[541184,279040,49152]],[11184,[541184,279040,49152]],[11185,[541184,279040,49152]],[11186,[541184,278784]],[11187,[540928,279040]],[11188,[540928,278784,768]],[11189,[540928,278784,768]],[11190,[540928,278784,768]],[11191,[557568,295168]],[11192,[557312,295424]],[11193,[557312,295168,768]],[11194,[557312,295168,768]],[11195,[557312,295168,768]],[11196,[327936,197376]],[11197,[590080,197376]],[11198,[590080,327936,197376]],[11199,[590080,327936,197376]],[11200,[328192,197376]],[11201,[590336,197376]],[11202,[590336,328192,197376]],[11203,[590336,328192,197376]],[11204,[590336,327936]],[11205,[655872,393472]],[11206,[590336,327936,196608]],[11207,[590336,327936,196608]],[11208,[590080,328192]],[11209,[655616,393728]],[11210,[590080,328192,196608]],[11211,[590080,328192,196608]],[11212,[655616,327936]],[11213,[655872,328192]],[11214,[655616,327936,768]],[11215,[655616,327936,768]],[11216,[590080,393472]],[11217,[590336,393728]],[11218,[590080,393472,768]],[11219,[590080,393472,768]],[11220,[655616,327936]],[11221,[590080,393472]],[11222,[590080,327936,196608]],[11223,[590080,327936,196608]],[11224,[590080,327936,196608]],[11225,[590080,327936,196608]],[11226,[655872,328192]],[11227,[590336,393728]],[11228,[590336,328192,196608]],[11229,[590336,328192,196608]],[11230,[590336,328192,196608]],[11231,[590336,328192,196608]],[11232,[590336,327936]],[11233,[590080,328192]],[11234,[590080,327936,768]],[11235,[590080,327936,768]],[11236,[590080,327936,768]],[11237,[655872,393472]],[11238,[655616,393728]],[11239,[655616,393472,768]],[11240,[655616,393472,768]],[11241,[655616,393472,768]],[11242,[21504,15360]],[11243,[37888,15360]],[11244,[37888,21504,15360]],[11245,[37888,21504,15360]],[11246,[22528,15360]],[11247,[38912,15360]],[11248,[38912,22528,15360]],[11249,[38912,22528,15360]],[11250,[38912,21504]],[11251,[43008,25600]],[11252,[38912,21504,12288]],[11253,[38912,21504,12288]],[11254,[37888,22528]],[11255,[41984,26624]],[11256,[37888,22528,12288]],[11257,[37888,22528,12288]],[11258,[41984,21504]],[11259,[43008,22528]],[11260,[41984,21504,3072]],[11261,[41984,21504,3072]],[11262,[37888,25600]],[11263,[38912,26624]],[11264,[37888,25600,3072]],[11265,[37888,25600,3072]],[11266,[41984,21504]],[11267,[37888,25600]],[11268,[37888,21504,12288]],[11269,[37888,21504,12288]],[11270,[37888,21504,12288]],[11271,[37888,21504,12288]],[11272,[43008,22528]],[11273,[38912,26624]],[11274,[38912,22528,12288]],[11275,[38912,22528,12288]],[11276,[38912,22528,12288]],[11277,[38912,22528,12288]],[11278,[38912,21504]],[11279,[37888,22528]],[11280,[37888,21504,3072]],[11281,[37888,21504,3072]],[11282,[37888,21504,3072]],[11283,[37888,21504,3072]],[11284,[43008,25600]],[11285,[41984,26624]],[11286,[41984,25600,3072]],[11287,[41984,25600,3072]],[11288,[41984,25600,3072]],[11289,[41984,25600,3072]],[11290,[70656,15360]],[11291,[136192,15360]],[11292,[136192,70656,15360]],[11293,[136192,70656,15360]],[11294,[71680,15360]],[11295,[137216,15360]],[11296,[137216,71680,15360]],[11297,[137216,71680,15360]],[11298,[137216,70656]],[11299,[141312,74752]],[11300,[137216,70656,12288]],[11301,[137216,70656,12288]],[11302,[136192,71680]],[11303,[140288,75776]],[11304,[136192,71680,12288]],[11305,[136192,71680,12288]],[11306,[140288,70656]],[11307,[141312,71680]],[11308,[140288,70656,3072]],[11309,[140288,70656,3072]],[11310,[136192,74752]],[11311,[137216,75776]],[11312,[136192,74752,3072]],[11313,[136192,74752,3072]],[11314,[140288,70656]],[11315,[136192,74752]],[11316,[136192,70656,12288]],[11317,[136192,70656,12288]],[11318,[136192,70656,12288]],[11319,[141312,71680]],[11320,[137216,75776]],[11321,[137216,71680,12288]],[11322,[137216,71680,12288]],[11323,[137216,71680,12288]],[11324,[137216,70656]],[11325,[136192,71680]],[11326,[136192,70656,3072]],[11327,[136192,70656,3072]],[11328,[136192,70656,3072]],[11329,[141312,74752]],[11330,[140288,75776]],[11331,[140288,74752,3072]],[11332,[140288,74752,3072]],[11333,[140288,74752,3072]],[11334,[267264,15360]],[11335,[529408,15360]],[11336,[529408,267264,15360]],[11337,[529408,267264,15360]],[11338,[268288,15360]],[11339,[530432,15360]],[11340,[530432,268288,15360]],[11341,[530432,268288,15360]],[11342,[530432,267264]],[11343,[534528,271360]],[11344,[530432,267264,12288]],[11345,[530432,267264,12288]],[11346,[529408,268288]],[11347,[533504,272384]],[11348,[529408,268288,12288]],[11349,[529408,268288,12288]],[11350,[533504,267264]],[11351,[534528,268288]],[11352,[533504,267264,3072]],[11353,[533504,267264,3072]],[11354,[529408,271360]],[11355,[530432,272384]],[11356,[529408,271360,3072]],[11357,[529408,271360,3072]],[11358,[533504,267264]],[11359,[529408,271360]],[11360,[529408,267264,12288]],[11361,[529408,267264,12288]],[11362,[529408,267264,12288]],[11363,[534528,268288]],[11364,[530432,272384]],[11365,[530432,268288,12288]],[11366,[530432,268288,12288]],[11367,[530432,268288,12288]],[11368,[530432,267264]],[11369,[529408,268288]],[11370,[529408,267264,3072]],[11371,[529408,267264,3072]],[11372,[529408,267264,3072]],[11373,[534528,271360]],[11374,[533504,272384]],[11375,[533504,271360,3072]],[11376,[533504,271360,3072]],[11377,[533504,271360,3072]],[11378,[82944,52224]],[11379,[148480,52224]],[11380,[148480,82944,52224]],[11381,[148480,82944,52224]],[11382,[83968,52224]],[11383,[149504,52224]],[11384,[149504,83968,52224]],[11385,[149504,83968,52224]],[11386,[149504,82944]],[11387,[165888,99328]],[11388,[149504,82944,49152]],[11389,[149504,82944,49152]],[11390,[148480,83968]],[11391,[164864,100352]],[11392,[148480,83968,49152]],[11393,[148480,83968,49152]],[11394,[164864,82944]],[11395,[165888,83968]],[11396,[164864,82944,3072]],[11397,[164864,82944,3072]],[11398,[148480,99328]],[11399,[149504,100352]],[11400,[148480,99328,3072]],[11401,[148480,99328,3072]],[11402,[164864,82944]],[11403,[148480,99328]],[11404,[148480,82944,49152]],[11405,[148480,82944,49152]],[11406,[148480,82944,49152]],[11407,[148480,82944,49152]],[11408,[165888,83968]],[11409,[149504,100352]],[11410,[149504,83968,49152]],[11411,[149504,83968,49152]],[11412,[149504,83968,49152]],[11413,[149504,83968,49152]],[11414,[149504,82944]],[11415,[148480,83968]],[11416,[148480,82944,3072]],[11417,[148480,82944,3072]],[11418,[148480,82944,3072]],[11419,[165888,99328]],[11420,[164864,100352]],[11421,[164864,99328,3072]],[11422,[164864,99328,3072]],[11423,[164864,99328,3072]],[11424,[279552,52224]],[11425,[541696,52224]],[11426,[541696,279552,52224]],[11427,[541696,279552,52224]],[11428,[280576,52224]],[11429,[542720,52224]],[11430,[542720,280576,52224]],[11431,[542720,280576,52224]],[11432,[542720,279552]],[11433,[559104,295936]],[11434,[542720,279552,49152]],[11435,[542720,279552,49152]],[11436,[541696,280576]],[11437,[558080,296960]],[11438,[541696,280576,49152]],[11439,[541696,280576,49152]],[11440,[558080,279552]],[11441,[559104,280576]],[11442,[558080,279552,3072]],[11443,[558080,279552,3072]],[11444,[541696,295936]],[11445,[542720,296960]],[11446,[541696,295936,3072]],[11447,[541696,295936,3072]],[11448,[558080,279552]],[11449,[541696,295936]],[11450,[541696,279552,49152]],[11451,[541696,279552,49152]],[11452,[541696,279552,49152]],[11453,[559104,280576]],[11454,[542720,296960]],[11455,[542720,280576,49152]],[11456,[542720,280576,49152]],[11457,[542720,280576,49152]],[11458,[542720,279552]],[11459,[541696,280576]],[11460,[541696,279552,3072]],[11461,[541696,279552,3072]],[11462,[541696,279552,3072]],[11463,[559104,295936]],[11464,[558080,296960]],[11465,[558080,295936,3072]],[11466,[558080,295936,3072]],[11467,[558080,295936,3072]],[11468,[328704,199680]],[11469,[590848,199680]],[11470,[590848,328704,199680]],[11471,[590848,328704,199680]],[11472,[329728,199680]],[11473,[591872,199680]],[11474,[591872,329728,199680]],[11475,[591872,329728,199680]],[11476,[591872,328704]],[11477,[657408,394240]],[11478,[591872,328704,196608]],[11479,[591872,328704,196608]],[11480,[590848,329728]],[11481,[656384,395264]],[11482,[590848,329728,196608]],[11483,[590848,329728,196608]],[11484,[656384,328704]],[11485,[657408,329728]],[11486,[656384,328704,3072]],[11487,[656384,328704,3072]],[11488,[590848,394240]],[11489,[591872,395264]],[11490,[590848,394240,3072]],[11491,[590848,394240,3072]],[11492,[656384,328704]],[11493,[590848,394240]],[11494,[590848,328704,196608]],[11495,[590848,328704,196608]],[11496,[590848,328704,196608]],[11497,[590848,328704,196608]],[11498,[657408,329728]],[11499,[591872,395264]],[11500,[591872,329728,196608]],[11501,[591872,329728,196608]],[11502,[591872,329728,196608]],[11503,[591872,329728,196608]],[11504,[591872,328704]],[11505,[590848,329728]],[11506,[590848,328704,3072]],[11507,[590848,328704,3072]],[11508,[590848,328704,3072]],[11509,[657408,394240]],[11510,[656384,395264]],[11511,[656384,394240,3072]],[11512,[656384,394240,3072]],[11513,[656384,394240,3072]],[11514,[86016,61440]],[11515,[151552,61440]],[11516,[151552,86016,61440]],[11517,[151552,86016,61440]],[11518,[90112,61440]],[11519,[155648,61440]],[11520,[155648,90112,61440]],[11521,[155648,90112,61440]],[11522,[155648,86016]],[11523,[172032,102400]],[11524,[155648,86016,49152]],[11525,[155648,86016,49152]],[11526,[151552,90112]],[11527,[167936,106496]],[11528,[151552,90112,49152]],[11529,[151552,90112,49152]],[11530,[167936,86016]],[11531,[172032,90112]],[11532,[167936,86016,12288]],[11533,[167936,86016,12288]],[11534,[151552,102400]],[11535,[155648,106496]],[11536,[151552,102400,12288]],[11537,[151552,102400,12288]],[11538,[167936,86016]],[11539,[151552,102400]],[11540,[151552,86016,49152]],[11541,[151552,86016,49152]],[11542,[151552,86016,49152]],[11543,[151552,86016,49152]],[11544,[172032,90112]],[11545,[155648,106496]],[11546,[155648,90112,49152]],[11547,[155648,90112,49152]],[11548,[155648,90112,49152]],[11549,[155648,90112,49152]],[11550,[155648,86016]],[11551,[151552,90112]],[11552,[151552,86016,12288]],[11553,[151552,86016,12288]],[11554,[151552,86016,12288]],[11555,[151552,86016,12288]],[11556,[172032,102400]],[11557,[167936,106496]],[11558,[167936,102400,12288]],[11559,[167936,102400,12288]],[11560,[167936,102400,12288]],[11561,[167936,102400,12288]],[11562,[282624,61440]],[11563,[544768,61440]],[11564,[544768,282624,61440]],[11565,[544768,282624,61440]],[11566,[286720,61440]],[11567,[548864,61440]],[11568,[548864,286720,61440]],[11569,[548864,286720,61440]],[11570,[548864,282624]],[11571,[565248,299008]],[11572,[548864,282624,49152]],[11573,[548864,282624,49152]],[11574,[544768,286720]],[11575,[561152,303104]],[11576,[544768,286720,49152]],[11577,[544768,286720,49152]],[11578,[561152,282624]],[11579,[565248,286720]],[11580,[561152,282624,12288]],[11581,[561152,282624,12288]],[11582,[544768,299008]],[11583,[548864,303104]],[11584,[544768,299008,12288]],[11585,[544768,299008,12288]],[11586,[561152,282624]],[11587,[544768,299008]],[11588,[544768,282624,49152]],[11589,[544768,282624,49152]],[11590,[544768,282624,49152]],[11591,[565248,286720]],[11592,[548864,303104]],[11593,[548864,286720,49152]],[11594,[548864,286720,49152]],[11595,[548864,286720,49152]],[11596,[548864,282624]],[11597,[544768,286720]],[11598,[544768,282624,12288]],[11599,[544768,282624,12288]],[11600,[544768,282624,12288]],[11601,[565248,299008]],[11602,[561152,303104]],[11603,[561152,299008,12288]],[11604,[561152,299008,12288]],[11605,[561152,299008,12288]],[11606,[331776,208896]],[11607,[593920,208896]],[11608,[593920,331776,208896]],[11609,[593920,331776,208896]],[11610,[335872,208896]],[11611,[598016,208896]],[11612,[598016,335872,208896]],[11613,[598016,335872,208896]],[11614,[598016,331776]],[11615,[663552,397312]],[11616,[598016,331776,196608]],[11617,[598016,331776,196608]],[11618,[593920,335872]],[11619,[659456,401408]],[11620,[593920,335872,196608]],[11621,[593920,335872,196608]],[11622,[659456,331776]],[11623,[663552,335872]],[11624,[659456,331776,12288]],[11625,[659456,331776,12288]],[11626,[593920,397312]],[11627,[598016,401408]],[11628,[593920,397312,12288]],[11629,[593920,397312,12288]],[11630,[659456,331776]],[11631,[593920,397312]],[11632,[593920,331776,196608]],[11633,[593920,331776,196608]],[11634,[593920,331776,196608]],[11635,[593920,331776,196608]],[11636,[663552,335872]],[11637,[598016,401408]],[11638,[598016,335872,196608]],[11639,[598016,335872,196608]],[11640,[598016,335872,196608]],[11641,[598016,335872,196608]],[11642,[598016,331776]],[11643,[593920,335872]],[11644,[593920,331776,12288]],[11645,[593920,331776,12288]],[11646,[593920,331776,12288]],[11647,[663552,397312]],[11648,[659456,401408]],[11649,[659456,397312,12288]],[11650,[659456,397312,12288]],[11651,[659456,397312,12288]],[11652,[344064,245760]],[11653,[606208,245760]],[11654,[606208,344064,245760]],[11655,[606208,344064,245760]],[11656,[360448,245760]],[11657,[622592,245760]],[11658,[622592,360448,245760]],[11659,[622592,360448,245760]],[11660,[622592,344064]],[11661,[688128,409600]],[11662,[622592,344064,196608]],[11663,[622592,344064,196608]],[11664,[606208,360448]],[11665,[671744,425984]],[11666,[606208,360448,196608]],[11667,[606208,360448,196608]],[11668,[671744,344064]],[11669,[688128,360448]],[11670,[671744,344064,49152]],[11671,[671744,344064,49152]],[11672,[606208,409600]],[11673,[622592,425984]],[11674,[606208,409600,49152]],[11675,[606208,409600,49152]],[11676,[671744,344064]],[11677,[606208,409600]],[11678,[606208,344064,196608]],[11679,[606208,344064,196608]],[11680,[606208,344064,196608]],[11681,[606208,344064,196608]],[11682,[688128,360448]],[11683,[622592,425984]],[11684,[622592,360448,196608]],[11685,[622592,360448,196608]],[11686,[622592,360448,196608]],[11687,[622592,360448,196608]],[11688,[622592,344064]],[11689,[606208,360448]],[11690,[606208,344064,49152]],[11691,[606208,344064,49152]],[11692,[606208,344064,49152]],[11693,[606208,344064,49152]],[11694,[688128,409600]],[11695,[671744,425984]],[11696,[671744,409600,49152]],[11697,[671744,409600,49152]],[11698,[671744,409600,49152]],[11699,[671744,409600,49152]],[11700,[37,21,12,3]],[11701,[37,21,12,3]],[11702,[37,21,12,3]],[11703,[37,21,12,3]],[11704,[133,69,12,3]],[11705,[133,69,12,3]],[11706,[133,69,12,3]],[11707,[133,69,12,3]],[11708,[517,261,12,3]],[11709,[517,261,12,3]],[11710,[517,261,12,3]],[11711,[517,261,12,3]],[11712,[2053,1029,12,3]],[11713,[2053,1029,12,3]],[11714,[2053,1029,12,3]],[11715,[2053,1029,12,3]],[11716,[8197,4101,12,3]],[11717,[8197,4101,12,3]],[11718,[8197,4101,12,3]],[11719,[8197,4101,12,3]],[11720,[8197,4101,12,3]],[11721,[32773,16389,12,3]],[11722,[32773,16389,12,3]],[11723,[32773,16389,12,3]],[11724,[32773,16389,12,3]],[11725,[32773,16389,12,3]],[11726,[131077,65541,12,3]],[11727,[131077,65541,12,3]],[11728,[131077,65541,12,3]],[11729,[131077,65541,12,3]],[11730,[524293,262149,12,3]],[11731,[524293,262149,12,3]],[11732,[524293,262149,12,3]],[11733,[524293,262149,12,3]],[11734,[145,81,48,3]],[11735,[145,81,48,3]],[11736,[145,81,48,3]],[11737,[145,81,48,3]],[11738,[529,273,48,3]],[11739,[529,273,48,3]],[11740,[529,273,48,3]],[11741,[529,273,48,3]],[11742,[2065,1041,48,3]],[11743,[2065,1041,48,3]],[11744,[2065,1041,48,3]],[11745,[2065,1041,48,3]],[11746,[8209,4113,48,3]],[11747,[8209,4113,48,3]],[11748,[8209,4113,48,3]],[11749,[8209,4113,48,3]],[11750,[32785,16401,48,3]],[11751,[32785,16401,48,3]],[11752,[32785,16401,48,3]],[11753,[32785,16401,48,3]],[11754,[131089,65553,48,3]],[11755,[131089,65553,48,3]],[11756,[131089,65553,48,3]],[11757,[131089,65553,48,3]],[11758,[524305,262161,48,3]],[11759,[524305,262161,48,3]],[11760,[524305,262161,48,3]],[11761,[524305,262161,48,3]],[11762,[524305,262161,48,3]],[11763,[577,321,192,3]],[11764,[577,321,192,3]],[11765,[577,321,192,3]],[11766,[577,321,192,3]],[11767,[577,321,192,3]],[11768,[2113,1089,192,3]],[11769,[2113,1089,192,3]],[11770,[2113,1089,192,3]],[11771,[2113,1089,192,3]],[11772,[8257,4161,192,3]],[11773,[8257,4161,192,3]],[11774,[8257,4161,192,3]],[11775,[8257,4161,192,3]],[11776,[8257,4161,192,3]],[11777,[8257,4161,192,3]],[11778,[32833,16449,192,3]],[11779,[32833,16449,192,3]],[11780,[32833,16449,192,3]],[11781,[32833,16449,192,3]],[11782,[131137,65601,192,3]],[11783,[131137,65601,192,3]],[11784,[131137,65601,192,3]],[11785,[131137,65601,192,3]],[11786,[131137,65601,192,3]],[11787,[524353,262209,192,3]],[11788,[524353,262209,192,3]],[11789,[524353,262209,192,3]],[11790,[524353,262209,192,3]],[11791,[2305,1281,768,3]],[11792,[2305,1281,768,3]],[11793,[2305,1281,768,3]],[11794,[2305,1281,768,3]],[11795,[2305,1281,768,3]],[11796,[8449,4353,768,3]],[11797,[8449,4353,768,3]],[11798,[8449,4353,768,3]],[11799,[8449,4353,768,3]],[11800,[33025,16641,768,3]],[11801,[33025,16641,768,3]],[11802,[33025,16641,768,3]],[11803,[33025,16641,768,3]],[11804,[131329,65793,768,3]],[11805,[131329,65793,768,3]],[11806,[131329,65793,768,3]],[11807,[131329,65793,768,3]],[11808,[524545,262401,768,3]],[11809,[524545,262401,768,3]],[11810,[524545,262401,768,3]],[11811,[524545,262401,768,3]],[11812,[9217,5121,3072,3]],[11813,[9217,5121,3072,3]],[11814,[9217,5121,3072,3]],[11815,[9217,5121,3072,3]],[11816,[33793,17409,3072,3]],[11817,[33793,17409,3072,3]],[11818,[33793,17409,3072,3]],[11819,[33793,17409,3072,3]],[11820,[132097,66561,3072,3]],[11821,[132097,66561,3072,3]],[11822,[132097,66561,3072,3]],[11823,[132097,66561,3072,3]],[11824,[525313,263169,3072,3]],[11825,[525313,263169,3072,3]],[11826,[525313,263169,3072,3]],[11827,[525313,263169,3072,3]],[11828,[36865,20481,12288,3]],[11829,[36865,20481,12288,3]],[11830,[36865,20481,12288,3]],[11831,[36865,20481,12288,3]],[11832,[36865,20481,12288,3]],[11833,[135169,69633,12288,3]],[11834,[135169,69633,12288,3]],[11835,[135169,69633,12288,3]],[11836,[135169,69633,12288,3]],[11837,[528385,266241,12288,3]],[11838,[528385,266241,12288,3]],[11839,[528385,266241,12288,3]],[11840,[528385,266241,12288,3]],[11841,[147457,81921,49152,3]],[11842,[147457,81921,49152,3]],[11843,[147457,81921,49152,3]],[11844,[147457,81921,49152,3]],[11845,[147457,81921,49152,3]],[11846,[540673,278529,49152,3]],[11847,[540673,278529,49152,3]],[11848,[540673,278529,49152,3]],[11849,[540673,278529,49152,3]],[11850,[589825,327681,196608,3]],[11851,[589825,327681,196608,3]],[11852,[589825,327681,196608,3]],[11853,[589825,327681,196608,3]],[11854,[148,84,48,12]],[11855,[148,84,48,12]],[11856,[148,84,48,12]],[11857,[148,84,48,12]],[11858,[148,84,48,12]],[11859,[532,276,48,12]],[11860,[532,276,48,12]],[11861,[532,276,48,12]],[11862,[532,276,48,12]],[11863,[2068,1044,48,12]],[11864,[2068,1044,48,12]],[11865,[2068,1044,48,12]],[11866,[2068,1044,48,12]],[11867,[8212,4116,48,12]],[11868,[8212,4116,48,12]],[11869,[8212,4116,48,12]],[11870,[8212,4116,48,12]],[11871,[32788,16404,48,12]],[11872,[32788,16404,48,12]],[11873,[32788,16404,48,12]],[11874,[32788,16404,48,12]],[11875,[131092,65556,48,12]],[11876,[131092,65556,48,12]],[11877,[131092,65556,48,12]],[11878,[131092,65556,48,12]],[11879,[524308,262164,48,12]],[11880,[524308,262164,48,12]],[11881,[524308,262164,48,12]],[11882,[524308,262164,48,12]],[11883,[580,324,192,12]],[11884,[580,324,192,12]],[11885,[580,324,192,12]],[11886,[580,324,192,12]],[11887,[2116,1092,192,12]],[11888,[2116,1092,192,12]],[11889,[2116,1092,192,12]],[11890,[2116,1092,192,12]],[11891,[8260,4164,192,12]],[11892,[8260,4164,192,12]],[11893,[8260,4164,192,12]],[11894,[8260,4164,192,12]],[11895,[32836,16452,192,12]],[11896,[32836,16452,192,12]],[11897,[32836,16452,192,12]],[11898,[32836,16452,192,12]],[11899,[131140,65604,192,12]],[11900,[131140,65604,192,12]],[11901,[131140,65604,192,12]],[11902,[131140,65604,192,12]],[11903,[524356,262212,192,12]],[11904,[524356,262212,192,12]],[11905,[524356,262212,192,12]],[11906,[524356,262212,192,12]],[11907,[524356,262212,192,12]],[11908,[2308,1284,768,12]],[11909,[2308,1284,768,12]],[11910,[2308,1284,768,12]],[11911,[2308,1284,768,12]],[11912,[8452,4356,768,12]],[11913,[8452,4356,768,12]],[11914,[8452,4356,768,12]],[11915,[8452,4356,768,12]],[11916,[33028,16644,768,12]],[11917,[33028,16644,768,12]],[11918,[33028,16644,768,12]],[11919,[33028,16644,768,12]],[11920,[131332,65796,768,12]],[11921,[131332,65796,768,12]],[11922,[131332,65796,768,12]],[11923,[131332,65796,768,12]],[11924,[131332,65796,768,12]],[11925,[524548,262404,768,12]],[11926,[524548,262404,768,12]],[11927,[524548,262404,768,12]],[11928,[524548,262404,768,12]],[11929,[9220,5124,3072,12]],[11930,[9220,5124,3072,12]],[11931,[9220,5124,3072,12]],[11932,[9220,5124,3072,12]],[11933,[33796,17412,3072,12]],[11934,[33796,17412,3072,12]],[11935,[33796,17412,3072,12]],[11936,[33796,17412,3072,12]],[11937,[132100,66564,3072,12]],[11938,[132100,66564,3072,12]],[11939,[132100,66564,3072,12]],[11940,[132100,66564,3072,12]],[11941,[132100,66564,3072,12]],[11942,[525316,263172,3072,12]],[11943,[525316,263172,3072,12]],[11944,[525316,263172,3072,12]],[11945,[525316,263172,3072,12]],[11946,[36868,20484,12288,12]],[11947,[36868,20484,12288,12]],[11948,[36868,20484,12288,12]],[11949,[36868,20484,12288,12]],[11950,[36868,20484,12288,12]],[11951,[36868,20484,12288,12]],[11952,[36868,20484,12288,12]],[11953,[135172,69636,12288,12]],[11954,[135172,69636,12288,12]],[11955,[135172,69636,12288,12]],[11956,[135172,69636,12288,12]],[11957,[528388,266244,12288,12]],[11958,[528388,266244,12288,12]],[11959,[528388,266244,12288,12]],[11960,[528388,266244,12288,12]],[11961,[147460,81924,49152,12]],[11962,[147460,81924,49152,12]],[11963,[147460,81924,49152,12]],[11964,[147460,81924,49152,12]],[11965,[540676,278532,49152,12]],[11966,[540676,278532,49152,12]],[11967,[540676,278532,49152,12]],[11968,[540676,278532,49152,12]],[11969,[589828,327684,196608,12]],[11970,[589828,327684,196608,12]],[11971,[589828,327684,196608,12]],[11972,[589828,327684,196608,12]],[11973,[592,336,192,48]],[11974,[592,336,192,48]],[11975,[592,336,192,48]],[11976,[592,336,192,48]],[11977,[2128,1104,192,48]],[11978,[2128,1104,192,48]],[11979,[2128,1104,192,48]],[11980,[2128,1104,192,48]],[11981,[8272,4176,192,48]],[11982,[8272,4176,192,48]],[11983,[8272,4176,192,48]],[11984,[8272,4176,192,48]],[11985,[32848,16464,192,48]],[11986,[32848,16464,192,48]],[11987,[32848,16464,192,48]],[11988,[32848,16464,192,48]],[11989,[131152,65616,192,48]],[11990,[131152,65616,192,48]],[11991,[131152,65616,192,48]],[11992,[131152,65616,192,48]],[11993,[524368,262224,192,48]],[11994,[524368,262224,192,48]],[11995,[524368,262224,192,48]],[11996,[524368,262224,192,48]],[11997,[2320,1296,768,48]],[11998,[2320,1296,768,48]],[11999,[2320,1296,768,48]],[12000,[2320,1296,768,48]],[12001,[8464,4368,768,48]],[12002,[8464,4368,768,48]],[12003,[8464,4368,768,48]],[12004,[8464,4368,768,48]],[12005,[33040,16656,768,48]],[12006,[33040,16656,768,48]],[12007,[33040,16656,768,48]],[12008,[33040,16656,768,48]],[12009,[131344,65808,768,48]],[12010,[131344,65808,768,48]],[12011,[131344,65808,768,48]],[12012,[131344,65808,768,48]],[12013,[524560,262416,768,48]],[12014,[524560,262416,768,48]],[12015,[524560,262416,768,48]],[12016,[524560,262416,768,48]],[12017,[524560,262416,768,48]],[12018,[9232,5136,3072,48]],[12019,[9232,5136,3072,48]],[12020,[9232,5136,3072,48]],[12021,[9232,5136,3072,48]],[12022,[33808,17424,3072,48]],[12023,[33808,17424,3072,48]],[12024,[33808,17424,3072,48]],[12025,[33808,17424,3072,48]],[12026,[132112,66576,3072,48]],[12027,[132112,66576,3072,48]],[12028,[132112,66576,3072,48]],[12029,[132112,66576,3072,48]],[12030,[132112,66576,3072,48]],[12031,[525328,263184,3072,48]],[12032,[525328,263184,3072,48]],[12033,[525328,263184,3072,48]],[12034,[525328,263184,3072,48]],[12035,[36880,20496,12288,48]],[12036,[36880,20496,12288,48]],[12037,[36880,20496,12288,48]],[12038,[36880,20496,12288,48]],[12039,[135184,69648,12288,48]],[12040,[135184,69648,12288,48]],[12041,[135184,69648,12288,48]],[12042,[135184,69648,12288,48]],[12043,[528400,266256,12288,48]],[12044,[528400,266256,12288,48]],[12045,[528400,266256,12288,48]],[12046,[528400,266256,12288,48]],[12047,[147472,81936,49152,48]],[12048,[147472,81936,49152,48]],[12049,[147472,81936,49152,48]],[12050,[147472,81936,49152,48]],[12051,[147472,81936,49152,48]],[12052,[540688,278544,49152,48]],[12053,[540688,278544,49152,48]],[12054,[540688,278544,49152,48]],[12055,[540688,278544,49152,48]],[12056,[589840,327696,196608,48]],[12057,[589840,327696,196608,48]],[12058,[589840,327696,196608,48]],[12059,[589840,327696,196608,48]],[12060,[2368,1344,768,192]],[12061,[2368,1344,768,192]],[12062,[2368,1344,768,192]],[12063,[2368,1344,768,192]],[12064,[8512,4416,768,192]],[12065,[8512,4416,768,192]],[12066,[8512,4416,768,192]],[12067,[8512,4416,768,192]],[12068,[33088,16704,768,192]],[12069,[33088,16704,768,192]],[12070,[33088,16704,768,192]],[12071,[33088,16704,768,192]],[12072,[131392,65856,768,192]],[12073,[131392,65856,768,192]],[12074,[131392,65856,768,192]],[12075,[131392,65856,768,192]],[12076,[131392,65856,768,192]],[12077,[524608,262464,768,192]],[12078,[524608,262464,768,192]],[12079,[524608,262464,768,192]],[12080,[524608,262464,768,192]],[12081,[9280,5184,3072,192]],[12082,[9280,5184,3072,192]],[12083,[9280,5184,3072,192]],[12084,[9280,5184,3072,192]],[12085,[33856,17472,3072,192]],[12086,[33856,17472,3072,192]],[12087,[33856,17472,3072,192]],[12088,[33856,17472,3072,192]],[12089,[132160,66624,3072,192]],[12090,[132160,66624,3072,192]],[12091,[132160,66624,3072,192]],[12092,[132160,66624,3072,192]],[12093,[525376,263232,3072,192]],[12094,[525376,263232,3072,192]],[12095,[525376,263232,3072,192]],[12096,[525376,263232,3072,192]],[12097,[36928,20544,12288,192]],[12098,[36928,20544,12288,192]],[12099,[36928,20544,12288,192]],[12100,[36928,20544,12288,192]],[12101,[135232,69696,12288,192]],[12102,[135232,69696,12288,192]],[12103,[135232,69696,12288,192]],[12104,[135232,69696,12288,192]],[12105,[528448,266304,12288,192]],[12106,[528448,266304,12288,192]],[12107,[528448,266304,12288,192]],[12108,[528448,266304,12288,192]],[12109,[147520,81984,49152,192]],[12110,[147520,81984,49152,192]],[12111,[147520,81984,49152,192]],[12112,[147520,81984,49152,192]],[12113,[540736,278592,49152,192]],[12114,[540736,278592,49152,192]],[12115,[540736,278592,49152,192]],[12116,[540736,278592,49152,192]],[12117,[589888,327744,196608,192]],[12118,[589888,327744,196608,192]],[12119,[589888,327744,196608,192]],[12120,[589888,327744,196608,192]],[12121,[9472,5376,3072,768]],[12122,[9472,5376,3072,768]],[12123,[9472,5376,3072,768]],[12124,[9472,5376,3072,768]],[12125,[34048,17664,3072,768]],[12126,[34048,17664,3072,768]],[12127,[34048,17664,3072,768]],[12128,[34048,17664,3072,768]],[12129,[132352,66816,3072,768]],[12130,[132352,66816,3072,768]],[12131,[132352,66816,3072,768]],[12132,[132352,66816,3072,768]],[12133,[132352,66816,3072,768]],[12134,[525568,263424,3072,768]],[12135,[525568,263424,3072,768]],[12136,[525568,263424,3072,768]],[12137,[525568,263424,3072,768]],[12138,[525568,263424,3072,768]],[12139,[37120,20736,12288,768]],[12140,[37120,20736,12288,768]],[12141,[37120,20736,12288,768]],[12142,[37120,20736,12288,768]],[12143,[135424,69888,12288,768]],[12144,[135424,69888,12288,768]],[12145,[135424,69888,12288,768]],[12146,[135424,69888,12288,768]],[12147,[528640,266496,12288,768]],[12148,[528640,266496,12288,768]],[12149,[528640,266496,12288,768]],[12150,[528640,266496,12288,768]],[12151,[147712,82176,49152,768]],[12152,[147712,82176,49152,768]],[12153,[147712,82176,49152,768]],[12154,[147712,82176,49152,768]],[12155,[540928,278784,49152,768]],[12156,[540928,278784,49152,768]],[12157,[540928,278784,49152,768]],[12158,[540928,278784,49152,768]],[12159,[590080,327936,196608,768]],[12160,[590080,327936,196608,768]],[12161,[590080,327936,196608,768]],[12162,[590080,327936,196608,768]],[12163,[37888,21504,12288,3072]],[12164,[37888,21504,12288,3072]],[12165,[37888,21504,12288,3072]],[12166,[37888,21504,12288,3072]],[12167,[136192,70656,12288,3072]],[12168,[136192,70656,12288,3072]],[12169,[136192,70656,12288,3072]],[12170,[136192,70656,12288,3072]],[12171,[529408,267264,12288,3072]],[12172,[529408,267264,12288,3072]],[12173,[529408,267264,12288,3072]],[12174,[529408,267264,12288,3072]],[12175,[148480,82944,49152,3072]],[12176,[148480,82944,49152,3072]],[12177,[148480,82944,49152,3072]],[12178,[148480,82944,49152,3072]],[12179,[148480,82944,49152,3072]],[12180,[541696,279552,49152,3072]],[12181,[541696,279552,49152,3072]],[12182,[541696,279552,49152,3072]],[12183,[541696,279552,49152,3072]],[12184,[590848,328704,196608,3072]],[12185,[590848,328704,196608,3072]],[12186,[590848,328704,196608,3072]],[12187,[590848,328704,196608,3072]],[12188,[151552,86016,49152,12288]],[12189,[151552,86016,49152,12288]],[12190,[151552,86016,49152,12288]],[12191,[151552,86016,49152,12288]],[12192,[544768,282624,49152,12288]],[12193,[544768,282624,49152,12288]],[12194,[544768,282624,49152,12288]],[12195,[544768,282624,49152,12288]],[12196,[593920,331776,196608,12288]],[12197,[593920,331776,196608,12288]],[12198,[593920,331776,196608,12288]],[12199,[593920,331776,196608,12288]],[12200,[606208,344064,196608,49152]],[12201,[606208,344064,196608,49152]],[12202,[606208,344064,196608,49152]],[12203,[606208,344064,196608,49152]],[12204,[2052,1028,36,20,12,1]],[12205,[2052,1028,36,20,12,1]],[12206,[2052,1028,36,20,12,1]],[12207,[2052,1028,36,20,12,1]],[12208,[33024,16640,8448,4352,768,1]],[12209,[33024,16640,8448,4352,768,1]],[12210,[528385,266241,135169,69633,12288]],[12211,[528385,266241,135169,69633,12288]],[12214,[32833,16449,8257,4161,192]],[12215,[33024,16640,8448,4352,768,1]],[12217,[524293,262149,36,20,12]],[12218,[524293,262149,36,20,12]],[12220,[32772,16388,8196,4100,12,1]],[12221,[32772,16388,8196,4100,12,1]],[12222,[524353,262209,131137,65601,192]],[12223,[524353,262209,131137,65601,192]],[12224,[528,272,144,80,48,1]],[12225,[32785,16401,8209,4113,48]],[12226,[32785,16401,8209,4113,48]],[12227,[32785,16401,8209,4113,48]],[12228,[32832,16448,576,320,192,1]],[12229,[524293,262149,131077,65541,12]],[12230,[524293,262149,131077,65541,12]],[12231,[32773,16389,36,20,12]],[12232,[32773,16389,36,20,12]],[12233,[32832,16448,576,320,192,1]],[12234,[525313,263169,132097,66561,3072]],[12235,[525313,263169,132097,66561,3072]],[12236,[33792,17408,9216,5120,3072,1]],[12237,[33792,17408,9216,5120,3072,1]],[12238,[8256,4160,2112,1088,192,1]],[12239,[8256,4160,2112,1088,192,1]],[12240,[8256,4160,2112,1088,192,1]],[12241,[2053,1029,517,261,12]],[12242,[2053,1029,517,261,12]],[12243,[528,272,144,80,48,1]],[12244,[33792,17408,9216,5120,3072,1]],[12245,[33792,17408,9216,5120,3072,1]],[12246,[517,261,36,20,12]],[12247,[517,261,36,20,12]],[12248,[32832,16448,576,320,192,1]],[12250,[1047552,516,260,132,68,36,20,12,1]],[12251,[8197,4101,36,20,12]],[12252,[8197,4101,36,20,12]],[12256,[131089,65553,32785,16401,48]],[12257,[2052,1028,36,20,12,2]],[12258,[2052,1028,36,20,12,2]],[12259,[2052,1028,36,20,12,2]],[12260,[2052,1028,36,20,12,2]],[12261,[33024,16640,8448,4352,768,2]],[12262,[33024,16640,8448,4352,768,2]],[12263,[528386,266242,135170,69634,12288]],[12264,[528386,266242,135170,69634,12288]],[12267,[32834,16450,8258,4162,192]],[12268,[33024,16640,8448,4352,768,2]],[12270,[524294,262150,36,20,12]],[12271,[524294,262150,36,20,12]],[12273,[32772,16388,8196,4100,12,2]],[12274,[32772,16388,8196,4100,12,2]],[12275,[524354,262210,131138,65602,192]],[12276,[524354,262210,131138,65602,192]],[12277,[528,272,144,80,48,2]],[12278,[32786,16402,8210,4114,48]],[12279,[32786,16402,8210,4114,48]],[12280,[32786,16402,8210,4114,48]],[12281,[32832,16448,576,320,192,2]],[12282,[524294,262150,131078,65542,12]],[12283,[524294,262150,131078,65542,12]],[12284,[32774,16390,36,20,12]],[12285,[32774,16390,36,20,12]],[12286,[32832,16448,576,320,192,2]],[12287,[525314,263170,132098,66562,3072]],[12288,[525314,263170,132098,66562,3072]],[12289,[33792,17408,9216,5120,3072,2]],[12290,[33792,17408,9216,5120,3072,2]],[12291,[8256,4160,2112,1088,192,2]],[12292,[8256,4160,2112,1088,192,2]],[12293,[8256,4160,2112,1088,192,2]],[12294,[2054,1030,518,262,12]],[12295,[2054,1030,518,262,12]],[12296,[528,272,144,80,48,2]],[12297,[33792,17408,9216,5120,3072,2]],[12298,[33792,17408,9216,5120,3072,2]],[12299,[518,262,36,20,12]],[12300,[518,262,36,20,12]],[12301,[32832,16448,576,320,192,2]],[12303,[1047552,516,260,132,68,36,20,12,2]],[12304,[8198,4102,36,20,12]],[12305,[8198,4102,36,20,12]],[12309,[131090,65554,32786,16402,48]],[12310,[2049,1025,33,17,4,3]],[12311,[2049,1025,33,17,4,3]],[12312,[2049,1025,33,17,4,3]],[12313,[2049,1025,33,17,4,3]],[12314,[33024,16640,8448,4352,768,4]],[12315,[33024,16640,8448,4352,768,4]],[12316,[528388,266244,135172,69636,12288]],[12317,[528388,266244,135172,69636,12288]],[12320,[32836,16452,8260,4164,192]],[12321,[33024,16640,8448,4352,768,4]],[12323,[524293,262149,33,17,3]],[12324,[524293,262149,33,17,3]],[12326,[32769,16385,8193,4097,4,3]],[12327,[32769,16385,8193,4097,4,3]],[12328,[524356,262212,131140,65604,192]],[12329,[524356,262212,131140,65604,192]],[12330,[528,272,144,80,48,4]],[12331,[32788,16404,8212,4116,48]],[12332,[32788,16404,8212,4116,48]],[12333,[32788,16404,8212,4116,48]],[12334,[32832,16448,576,320,192,4]],[12335,[524293,262149,131077,65541,3]],[12336,[524293,262149,131077,65541,3]],[12337,[32773,16389,33,17,3]],[12338,[32773,16389,33,17,3]],[12339,[32832,16448,576,320,192,4]],[12340,[525316,263172,132100,66564,3072]],[12341,[525316,263172,132100,66564,3072]],[12342,[33792,17408,9216,5120,3072,4]],[12343,[33792,17408,9216,5120,3072,4]],[12344,[8256,4160,2112,1088,192,4]],[12345,[8256,4160,2112,1088,192,4]],[12346,[8256,4160,2112,1088,192,4]],[12347,[2053,1029,517,261,3]],[12348,[2053,1029,517,261,3]],[12349,[528,272,144,80,48,4]],[12350,[33792,17408,9216,5120,3072,4]],[12351,[33792,17408,9216,5120,3072,4]],[12352,[517,261,33,17,3]],[12353,[517,261,33,17,3]],[12354,[32832,16448,576,320,192,4]],[12356,[1047552,513,257,129,65,33,17,4,3]],[12357,[8197,4101,33,17,3]],[12358,[8197,4101,33,17,3]],[12362,[131092,65556,32788,16404,48]],[12363,[2049,1025,33,17,8,3]],[12364,[2049,1025,33,17,8,3]],[12365,[2049,1025,33,17,8,3]],[12366,[2049,1025,33,17,8,3]],[12367,[33024,16640,8448,4352,768,8]],[12368,[33024,16640,8448,4352,768,8]],[12369,[528392,266248,135176,69640,12288]],[12370,[528392,266248,135176,69640,12288]],[12373,[32840,16456,8264,4168,192]],[12374,[33024,16640,8448,4352,768,8]],[12376,[524297,262153,33,17,3]],[12377,[524297,262153,33,17,3]],[12379,[32769,16385,8193,4097,8,3]],[12380,[32769,16385,8193,4097,8,3]],[12381,[524360,262216,131144,65608,192]],[12382,[524360,262216,131144,65608,192]],[12383,[528,272,144,80,48,8]],[12384,[32792,16408,8216,4120,48]],[12385,[32792,16408,8216,4120,48]],[12386,[32792,16408,8216,4120,48]],[12387,[32832,16448,576,320,192,8]],[12388,[524297,262153,131081,65545,3]],[12389,[524297,262153,131081,65545,3]],[12390,[32777,16393,33,17,3]],[12391,[32777,16393,33,17,3]],[12392,[32832,16448,576,320,192,8]],[12393,[525320,263176,132104,66568,3072]],[12394,[525320,263176,132104,66568,3072]],[12395,[33792,17408,9216,5120,3072,8]],[12396,[33792,17408,9216,5120,3072,8]],[12397,[8256,4160,2112,1088,192,8]],[12398,[8256,4160,2112,1088,192,8]],[12399,[8256,4160,2112,1088,192,8]],[12400,[2057,1033,521,265,3]],[12401,[2057,1033,521,265,3]],[12402,[528,272,144,80,48,8]],[12403,[33792,17408,9216,5120,3072,8]],[12404,[33792,17408,9216,5120,3072,8]],[12405,[521,265,33,17,3]],[12406,[521,265,33,17,3]],[12407,[32832,16448,576,320,192,8]],[12409,[1047552,513,257,129,65,33,17,8,3]],[12410,[8201,4105,33,17,3]],[12411,[8201,4105,33,17,3]],[12415,[131096,65560,32792,16408,48]],[12416,[2049,1025,16,9,5,3]],[12417,[2049,1025,16,9,5,3]],[12418,[2049,1025,16,9,5,3]],[12419,[2049,1025,16,9,5,3]],[12420,[33024,16640,8448,4352,768,16]],[12421,[33024,16640,8448,4352,768,16]],[12422,[528400,266256,135184,69648,12288]],[12423,[528400,266256,135184,69648,12288]],[12426,[32848,16464,8272,4176,192]],[12427,[33024,16640,8448,4352,768,16]],[12429,[524305,262161,9,5,3]],[12430,[524305,262161,9,5,3]],[12432,[32769,16385,8193,4097,16,3]],[12433,[32769,16385,8193,4097,16,3]],[12434,[524368,262224,131152,65616,192]],[12435,[524368,262224,131152,65616,192]],[12436,[516,260,132,68,16,12]],[12437,[32788,16404,8212,4116,12]],[12438,[32788,16404,8212,4116,12]],[12439,[32788,16404,8212,4116,12]],[12440,[32832,16448,576,320,192,16]],[12441,[524305,262161,131089,65553,3]],[12442,[524305,262161,131089,65553,3]],[12443,[32785,16401,9,5,3]],[12444,[32785,16401,9,5,3]],[12445,[32832,16448,576,320,192,16]],[12446,[525328,263184,132112,66576,3072]],[12447,[525328,263184,132112,66576,3072]],[12448,[33792,17408,9216,5120,3072,16]],[12449,[33792,17408,9216,5120,3072,16]],[12450,[8256,4160,2112,1088,192,16]],[12451,[8256,4160,2112,1088,192,16]],[12452,[8256,4160,2112,1088,192,16]],[12453,[2065,1041,529,273,3]],[12454,[2065,1041,529,273,3]],[12455,[516,260,132,68,16,12]],[12456,[33792,17408,9216,5120,3072,16]],[12457,[33792,17408,9216,5120,3072,16]],[12458,[529,273,9,5,3]],[12459,[529,273,9,5,3]],[12460,[32832,16448,576,320,192,16]],[12462,[1047552,513,257,129,65,16,9,5,3]],[12463,[8209,4113,9,5,3]],[12464,[8209,4113,9,5,3]],[12468,[131092,65556,32788,16404,12]],[12469,[2049,1025,32,9,5,3]],[12470,[2049,1025,32,9,5,3]],[12471,[2049,1025,32,9,5,3]],[12472,[2049,1025,32,9,5,3]],[12473,[33024,16640,8448,4352,768,32]],[12474,[33024,16640,8448,4352,768,32]],[12475,[528416,266272,135200,69664,12288]],[12476,[528416,266272,135200,69664,12288]],[12479,[32864,16480,8288,4192,192]],[12480,[33024,16640,8448,4352,768,32]],[12482,[524321,262177,9,5,3]],[12483,[524321,262177,9,5,3]],[12485,[32769,16385,8193,4097,32,3]],[12486,[32769,16385,8193,4097,32,3]],[12487,[524384,262240,131168,65632,192]],[12488,[524384,262240,131168,65632,192]],[12489,[516,260,132,68,32,12]],[12490,[32804,16420,8228,4132,12]],[12491,[32804,16420,8228,4132,12]],[12492,[32804,16420,8228,4132,12]],[12493,[32832,16448,576,320,192,32]],[12494,[524321,262177,131105,65569,3]],[12495,[524321,262177,131105,65569,3]],[12496,[32801,16417,9,5,3]],[12497,[32801,16417,9,5,3]],[12498,[32832,16448,576,320,192,32]],[12499,[525344,263200,132128,66592,3072]],[12500,[525344,263200,132128,66592,3072]],[12501,[33792,17408,9216,5120,3072,32]],[12502,[33792,17408,9216,5120,3072,32]],[12503,[8256,4160,2112,1088,192,32]],[12504,[8256,4160,2112,1088,192,32]],[12505,[8256,4160,2112,1088,192,32]],[12506,[2081,1057,545,289,3]],[12507,[2081,1057,545,289,3]],[12508,[516,260,132,68,32,12]],[12509,[33792,17408,9216,5120,3072,32]],[12510,[33792,17408,9216,5120,3072,32]],[12511,[545,289,9,5,3]],[12512,[545,289,9,5,3]],[12513,[32832,16448,576,320,192,32]],[12515,[1047552,513,257,129,65,32,9,5,3]],[12516,[8225,4129,9,5,3]],[12517,[8225,4129,9,5,3]],[12521,[131108,65572,32804,16420,12]],[12522,[2049,1025,64,9,5,3]],[12523,[2049,1025,64,9,5,3]],[12524,[2049,1025,64,9,5,3]],[12525,[2049,1025,64,9,5,3]],[12526,[33024,16640,8448,4352,768,64]],[12527,[33024,16640,8448,4352,768,64]],[12528,[528448,266304,135232,69696,12288]],[12529,[528448,266304,135232,69696,12288]],[12532,[32848,16464,8272,4176,48]],[12533,[33024,16640,8448,4352,768,64]],[12535,[524353,262209,9,5,3]],[12536,[524353,262209,9,5,3]],[12538,[32769,16385,8193,4097,64,3]],[12539,[32769,16385,8193,4097,64,3]],[12540,[524368,262224,131152,65616,48]],[12541,[524368,262224,131152,65616,48]],[12542,[516,260,64,36,20,12]],[12543,[32836,16452,8260,4164,12]],[12544,[32836,16452,8260,4164,12]],[12545,[32836,16452,8260,4164,12]],[12546,[32784,16400,528,272,64,48]],[12547,[524353,262209,131137,65601,3]],[12548,[524353,262209,131137,65601,3]],[12549,[32833,16449,9,5,3]],[12550,[32833,16449,9,5,3]],[12551,[32784,16400,528,272,64,48]],[12552,[525376,263232,132160,66624,3072]],[12553,[525376,263232,132160,66624,3072]],[12554,[33792,17408,9216,5120,3072,64]],[12555,[33792,17408,9216,5120,3072,64]],[12556,[8208,4112,2064,1040,64,48]],[12557,[8208,4112,2064,1040,64,48]],[12558,[8208,4112,2064,1040,64,48]],[12559,[2113,1089,577,321,3]],[12560,[2113,1089,577,321,3]],[12561,[516,260,64,36,20,12]],[12562,[33792,17408,9216,5120,3072,64]],[12563,[33792,17408,9216,5120,3072,64]],[12564,[577,321,9,5,3]],[12565,[577,321,9,5,3]],[12566,[32784,16400,528,272,64,48]],[12568,[1047552,513,257,64,33,17,9,5,3]],[12569,[8257,4161,9,5,3]],[12570,[8257,4161,9,5,3]],[12574,[131140,65604,32836,16452,12]],[12575,[2049,1025,128,9,5,3]],[12576,[2049,1025,128,9,5,3]],[12577,[2049,1025,128,9,5,3]],[12578,[2049,1025,128,9,5,3]],[12579,[33024,16640,8448,4352,768,128]],[12580,[33024,16640,8448,4352,768,128]],[12581,[528512,266368,135296,69760,12288]],[12582,[528512,266368,135296,69760,12288]],[12585,[32912,16528,8336,4240,48]],[12586,[33024,16640,8448,4352,768,128]],[12588,[524417,262273,9,5,3]],[12589,[524417,262273,9,5,3]],[12591,[32769,16385,8193,4097,128,3]],[12592,[32769,16385,8193,4097,128,3]],[12593,[524432,262288,131216,65680,48]],[12594,[524432,262288,131216,65680,48]],[12595,[516,260,128,36,20,12]],[12596,[32900,16516,8324,4228,12]],[12597,[32900,16516,8324,4228,12]],[12598,[32900,16516,8324,4228,12]],[12599,[32784,16400,528,272,128,48]],[12600,[524417,262273,131201,65665,3]],[12601,[524417,262273,131201,65665,3]],[12602,[32897,16513,9,5,3]],[12603,[32897,16513,9,5,3]],[12604,[32784,16400,528,272,128,48]],[12605,[525440,263296,132224,66688,3072]],[12606,[525440,263296,132224,66688,3072]],[12607,[33792,17408,9216,5120,3072,128]],[12608,[33792,17408,9216,5120,3072,128]],[12609,[8208,4112,2064,1040,128,48]],[12610,[8208,4112,2064,1040,128,48]],[12611,[8208,4112,2064,1040,128,48]],[12612,[2177,1153,641,385,3]],[12613,[2177,1153,641,385,3]],[12614,[516,260,128,36,20,12]],[12615,[33792,17408,9216,5120,3072,128]],[12616,[33792,17408,9216,5120,3072,128]],[12617,[641,385,9,5,3]],[12618,[641,385,9,5,3]],[12619,[32784,16400,528,272,128,48]],[12621,[1047552,513,257,128,33,17,9,5,3]],[12622,[8321,4225,9,5,3]],[12623,[8321,4225,9,5,3]],[12627,[131204,65668,32900,16516,12]],[12628,[2049,1025,256,9,5,3]],[12629,[2049,1025,256,9,5,3]],[12630,[2049,1025,256,9,5,3]],[12631,[2049,1025,256,9,5,3]],[12632,[32832,16448,8256,4160,256,192]],[12633,[32832,16448,8256,4160,256,192]],[12634,[528640,266496,135424,69888,12288]],[12635,[528640,266496,135424,69888,12288]],[12638,[33040,16656,8464,4368,48]],[12639,[32832,16448,8256,4160,256,192]],[12641,[524545,262401,9,5,3]],[12642,[524545,262401,9,5,3]],[12644,[32769,16385,8193,4097,256,3]],[12645,[32769,16385,8193,4097,256,3]],[12646,[524560,262416,131344,65808,48]],[12647,[524560,262416,131344,65808,48]],[12648,[256,132,68,36,20,12]],[12649,[33028,16644,8452,4356,12]],[12650,[33028,16644,8452,4356,12]],[12651,[33028,16644,8452,4356,12]],[12652,[32784,16400,256,144,80,48]],[12653,[524545,262401,131329,65793,3]],[12654,[524545,262401,131329,65793,3]],[12655,[33025,16641,9,5,3]],[12656,[33025,16641,9,5,3]],[12657,[32784,16400,256,144,80,48]],[12658,[525568,263424,132352,66816,3072]],[12659,[525568,263424,132352,66816,3072]],[12660,[33792,17408,9216,5120,3072,256]],[12661,[33792,17408,9216,5120,3072,256]],[12662,[8208,4112,2064,1040,256,48]],[12663,[8208,4112,2064,1040,256,48]],[12664,[8208,4112,2064,1040,256,48]],[12665,[2112,1088,321,192,3]],[12666,[2112,1088,321,192,3]],[12667,[256,132,68,36,20,12]],[12668,[33792,17408,9216,5120,3072,256]],[12669,[33792,17408,9216,5120,3072,256]],[12670,[321,192,9,5,3]],[12671,[321,192,9,5,3]],[12672,[32784,16400,256,144,80,48]],[12674,[1047552,256,129,65,33,17,9,5,3]],[12675,[8449,4353,9,5,3]],[12676,[8449,4353,9,5,3]],[12680,[131332,65796,33028,16644,12]],[12681,[2049,1025,512,9,5,3]],[12682,[2049,1025,512,9,5,3]],[12683,[2049,1025,512,9,5,3]],[12684,[2049,1025,512,9,5,3]],[12685,[32832,16448,8256,4160,512,192]],[12686,[32832,16448,8256,4160,512,192]],[12687,[528896,266752,135680,70144,12288]],[12688,[528896,266752,135680,70144,12288]],[12691,[33296,16912,8720,4624,48]],[12692,[32832,16448,8256,4160,512,192]],[12694,[524801,262657,9,5,3]],[12695,[524801,262657,9,5,3]],[12697,[32769,16385,8193,4097,512,3]],[12698,[32769,16385,8193,4097,512,3]],[12699,[524816,262672,131600,66064,48]],[12700,[524816,262672,131600,66064,48]],[12701,[512,132,68,36,20,12]],[12702,[33284,16900,8708,4612,12]],[12703,[33284,16900,8708,4612,12]],[12704,[33284,16900,8708,4612,12]],[12705,[32784,16400,512,144,80,48]],[12706,[524801,262657,131585,66049,3]],[12707,[524801,262657,131585,66049,3]],[12708,[33281,16897,9,5,3]],[12709,[33281,16897,9,5,3]],[12710,[32784,16400,512,144,80,48]],[12711,[525824,263680,132608,67072,3072]],[12712,[525824,263680,132608,67072,3072]],[12713,[33792,17408,9216,5120,3072,512]],[12714,[33792,17408,9216,5120,3072,512]],[12715,[8208,4112,2064,1040,512,48]],[12716,[8208,4112,2064,1040,512,48]],[12717,[8208,4112,2064,1040,512,48]],[12718,[2112,1088,577,192,3]],[12719,[2112,1088,577,192,3]],[12720,[512,132,68,36,20,12]],[12721,[33792,17408,9216,5120,3072,512]],[12722,[33792,17408,9216,5120,3072,512]],[12723,[577,192,9,5,3]],[12724,[577,192,9,5,3]],[12725,[32784,16400,512,144,80,48]],[12727,[1047552,512,129,65,33,17,9,5,3]],[12728,[8705,4609,9,5,3]],[12729,[8705,4609,9,5,3]],[12733,[131588,66052,33284,16900,12]],[12734,[1024,513,257,9,5,3]],[12735,[1024,513,257,9,5,3]],[12736,[1024,513,257,9,5,3]],[12737,[1024,513,257,9,5,3]],[12738,[32832,16448,8256,4160,1024,192]],[12739,[32832,16448,8256,4160,1024,192]],[12740,[529408,267264,136192,70656,12288]],[12741,[529408,267264,136192,70656,12288]],[12744,[33808,17424,9232,5136,48]],[12745,[32832,16448,8256,4160,1024,192]],[12747,[525313,263169,9,5,3]],[12748,[525313,263169,9,5,3]],[12750,[32769,16385,8193,4097,1024,3]],[12751,[32769,16385,8193,4097,1024,3]],[12752,[525328,263184,132112,66576,48]],[12753,[525328,263184,132112,66576,48]],[12754,[1024,132,68,36,20,12]],[12755,[33796,17412,9220,5124,12]],[12756,[33796,17412,9220,5124,12]],[12757,[33796,17412,9220,5124,12]],[12758,[32784,16400,1024,144,80,48]],[12759,[525313,263169,132097,66561,3]],[12760,[525313,263169,132097,66561,3]],[12761,[33793,17409,9,5,3]],[12762,[33793,17409,9,5,3]],[12763,[32784,16400,1024,144,80,48]],[12764,[525568,263424,132352,66816,768]],[12765,[525568,263424,132352,66816,768]],[12766,[33024,16640,8448,4352,1024,768]],[12767,[33024,16640,8448,4352,1024,768]],[12768,[8208,4112,1024,528,272,48]],[12769,[8208,4112,1024,528,272,48]],[12770,[8208,4112,1024,528,272,48]],[12771,[1089,576,320,192,3]],[12772,[1089,576,320,192,3]],[12773,[1024,132,68,36,20,12]],[12774,[33024,16640,8448,4352,1024,768]],[12775,[33024,16640,8448,4352,1024,768]],[12776,[1089,192,9,5,3]],[12777,[1089,192,9,5,3]],[12778,[32784,16400,1024,144,80,48]],[12780,[1045248,1024,129,65,33,17,9,5,3]],[12781,[9217,5121,9,5,3]],[12782,[9217,5121,9,5,3]],[12786,[132100,66564,33796,17412,12]],[12787,[2048,513,257,9,5,3]],[12788,[2048,513,257,9,5,3]],[12789,[2048,513,257,9,5,3]],[12790,[2048,513,257,9,5,3]],[12791,[32832,16448,8256,4160,2048,192]],[12792,[32832,16448,8256,4160,2048,192]],[12793,[530432,268288,137216,71680,12288]],[12794,[530432,268288,137216,71680,12288]],[12797,[34832,18448,10256,6160,48]],[12798,[32832,16448,8256,4160,2048,192]],[12800,[526337,264193,9,5,3]],[12801,[526337,264193,9,5,3]],[12803,[32769,16385,8193,4097,2048,3]],[12804,[32769,16385,8193,4097,2048,3]],[12805,[526352,264208,133136,67600,48]],[12806,[526352,264208,133136,67600,48]],[12807,[2048,132,68,36,20,12]],[12808,[34820,18436,10244,6148,12]],[12809,[34820,18436,10244,6148,12]],[12810,[34820,18436,10244,6148,12]],[12811,[32784,16400,2048,144,80,48]],[12812,[526337,264193,133121,67585,3]],[12813,[526337,264193,133121,67585,3]],[12814,[34817,18433,9,5,3]],[12815,[34817,18433,9,5,3]],[12816,[32784,16400,2048,144,80,48]],[12817,[526592,264448,133376,67840,768]],[12818,[526592,264448,133376,67840,768]],[12819,[33024,16640,8448,4352,2048,768]],[12820,[33024,16640,8448,4352,2048,768]],[12821,[8208,4112,2048,528,272,48]],[12822,[8208,4112,2048,528,272,48]],[12823,[8208,4112,2048,528,272,48]],[12824,[2113,576,320,192,3]],[12825,[2113,576,320,192,3]],[12826,[2048,132,68,36,20,12]],[12827,[33024,16640,8448,4352,2048,768]],[12828,[33024,16640,8448,4352,2048,768]],[12829,[2113,192,9,5,3]],[12830,[2113,192,9,5,3]],[12831,[32784,16400,2048,144,80,48]],[12833,[1045248,2048,129,65,33,17,9,5,3]],[12834,[10241,6145,9,5,3]],[12835,[10241,6145,9,5,3]],[12839,[133124,67588,34820,18436,12]],[12840,[4096,513,257,9,5,3]],[12841,[4096,513,257,9,5,3]],[12842,[4096,513,257,9,5,3]],[12843,[4096,513,257,9,5,3]],[12844,[32832,16448,4096,2112,1088,192]],[12845,[32832,16448,4096,2112,1088,192]],[12846,[529408,267264,136192,70656,3072]],[12847,[529408,267264,136192,70656,3072]],[12850,[33792,17408,5136,3072,48]],[12851,[32832,16448,4096,2112,1088,192]],[12853,[528385,266241,9,5,3]],[12854,[528385,266241,9,5,3]],[12856,[32769,16385,4096,2049,1025,3]],[12857,[32769,16385,4096,2049,1025,3]],[12858,[528400,266256,135184,69648,48]],[12859,[528400,266256,135184,69648,48]],[12860,[4096,132,68,36,20,12]],[12861,[33792,17408,5124,3072,12]],[12862,[33792,17408,5124,3072,12]],[12863,[33792,17408,5124,3072,12]],[12864,[32784,16400,4096,144,80,48]],[12865,[528385,266241,135169,69633,3]],[12866,[528385,266241,135169,69633,3]],[12867,[36865,20481,9,5,3]],[12868,[36865,20481,9,5,3]],[12869,[32784,16400,4096,144,80,48]],[12870,[528640,266496,135424,69888,768]],[12871,[528640,266496,135424,69888,768]],[12872,[33024,16640,4096,2304,1280,768]],[12873,[33024,16640,4096,2304,1280,768]],[12874,[4096,2064,1040,528,272,48]],[12875,[4096,2064,1040,528,272,48]],[12876,[4096,2064,1040,528,272,48]],[12877,[4161,576,320,192,3]],[12878,[4161,576,320,192,3]],[12879,[4096,132,68,36,20,12]],[12880,[33024,16640,4096,2304,1280,768]],[12881,[33024,16640,4096,2304,1280,768]],[12882,[4161,192,9,5,3]],[12883,[4161,192,9,5,3]],[12884,[32784,16400,4096,144,80,48]],[12886,[1036032,4096,129,65,33,17,9,5,3]],[12887,[5121,3072,9,5,3]],[12888,[5121,3072,9,5,3]],[12892,[135172,69636,36868,20484,12]],[12893,[8192,513,257,9,5,3]],[12894,[8192,513,257,9,5,3]],[12895,[8192,513,257,9,5,3]],[12896,[8192,513,257,9,5,3]],[12897,[32832,16448,8192,2112,1088,192]],[12898,[32832,16448,8192,2112,1088,192]],[12899,[533504,271360,140288,74752,3072]],[12900,[533504,271360,140288,74752,3072]],[12903,[33792,17408,9232,3072,48]],[12904,[32832,16448,8192,2112,1088,192]],[12906,[532481,270337,9,5,3]],[12907,[532481,270337,9,5,3]],[12909,[32769,16385,8192,2049,1025,3]],[12910,[32769,16385,8192,2049,1025,3]],[12911,[532496,270352,139280,73744,48]],[12912,[532496,270352,139280,73744,48]],[12913,[8192,132,68,36,20,12]],[12914,[33792,17408,9220,3072,12]],[12915,[33792,17408,9220,3072,12]],[12916,[33792,17408,9220,3072,12]],[12917,[32784,16400,8192,144,80,48]],[12918,[532481,270337,139265,73729,3]],[12919,[532481,270337,139265,73729,3]],[12920,[40961,24577,9,5,3]],[12921,[40961,24577,9,5,3]],[12922,[32784,16400,8192,144,80,48]],[12923,[532736,270592,139520,73984,768]],[12924,[532736,270592,139520,73984,768]],[12925,[33024,16640,8192,2304,1280,768]],[12926,[33024,16640,8192,2304,1280,768]],[12927,[8192,2064,1040,528,272,48]],[12928,[8192,2064,1040,528,272,48]],[12929,[8192,2064,1040,528,272,48]],[12930,[8257,576,320,192,3]],[12931,[8257,576,320,192,3]],[12932,[8192,132,68,36,20,12]],[12933,[33024,16640,8192,2304,1280,768]],[12934,[33024,16640,8192,2304,1280,768]],[12935,[8257,192,9,5,3]],[12936,[8257,192,9,5,3]],[12937,[32784,16400,8192,144,80,48]],[12939,[1036032,8192,129,65,33,17,9,5,3]],[12940,[9217,3072,9,5,3]],[12941,[9217,3072,9,5,3]],[12945,[139268,73732,40964,24580,12]],[12946,[16384,513,257,9,5,3]],[12947,[16384,513,257,9,5,3]],[12948,[16384,513,257,9,5,3]],[12949,[16384,513,257,9,5,3]],[12950,[16384,8256,4160,2112,1088,192]],[12951,[16384,8256,4160,2112,1088,192]],[12952,[541696,279552,148480,82944,3072]],[12953,[541696,279552,148480,82944,3072]],[12956,[17424,9216,5120,3072,48]],[12957,[16384,8256,4160,2112,1088,192]],[12959,[540673,278529,9,5,3]],[12960,[540673,278529,9,5,3]],[12962,[16384,8193,4097,2049,1025,3]],[12963,[16384,8193,4097,2049,1025,3]],[12964,[540688,278544,147472,81936,48]],[12965,[540688,278544,147472,81936,48]],[12966,[16384,132,68,36,20,12]],[12967,[17412,9216,5120,3072,12]],[12968,[17412,9216,5120,3072,12]],[12969,[17412,9216,5120,3072,12]],[12970,[16384,8208,4112,144,80,48]],[12971,[540673,278529,147457,81921,3]],[12972,[540673,278529,147457,81921,3]],[12973,[20481,12288,9,5,3]],[12974,[20481,12288,9,5,3]],[12975,[16384,8208,4112,144,80,48]],[12976,[540928,278784,147712,82176,768]],[12977,[540928,278784,147712,82176,768]],[12978,[16384,8448,4352,2304,1280,768]],[12979,[16384,8448,4352,2304,1280,768]],[12980,[16384,2064,1040,528,272,48]],[12981,[16384,2064,1040,528,272,48]],[12982,[16384,2064,1040,528,272,48]],[12983,[16449,576,320,192,3]],[12984,[16449,576,320,192,3]],[12985,[16384,132,68,36,20,12]],[12986,[16384,8448,4352,2304,1280,768]],[12987,[16384,8448,4352,2304,1280,768]],[12988,[16449,192,9,5,3]],[12989,[16449,192,9,5,3]],[12990,[16384,8208,4112,144,80,48]],[12992,[999168,16384,129,65,33,17,9,5,3]],[12993,[17409,3072,9,5,3]],[12994,[17409,3072,9,5,3]],[12998,[135168,69632,20484,12288,12]],[12999,[32768,513,257,9,5,3]],[13000,[32768,513,257,9,5,3]],[13001,[32768,513,257,9,5,3]],[13002,[32768,513,257,9,5,3]],[13003,[32768,8256,4160,2112,1088,192]],[13004,[32768,8256,4160,2112,1088,192]],[13005,[558080,295936,164864,99328,3072]],[13006,[558080,295936,164864,99328,3072]],[13009,[33808,9216,5120,3072,48]],[13010,[32768,8256,4160,2112,1088,192]],[13012,[557057,294913,9,5,3]],[13013,[557057,294913,9,5,3]],[13015,[32768,8193,4097,2049,1025,3]],[13016,[32768,8193,4097,2049,1025,3]],[13017,[557072,294928,163856,98320,48]],[13018,[557072,294928,163856,98320,48]],[13019,[32768,132,68,36,20,12]],[13020,[33796,9216,5120,3072,12]],[13021,[33796,9216,5120,3072,12]],[13022,[33796,9216,5120,3072,12]],[13023,[32768,8208,4112,144,80,48]],[13024,[557057,294913,163841,98305,3]],[13025,[557057,294913,163841,98305,3]],[13026,[36865,12288,9,5,3]],[13027,[36865,12288,9,5,3]],[13028,[32768,8208,4112,144,80,48]],[13029,[557312,295168,164096,98560,768]],[13030,[557312,295168,164096,98560,768]],[13031,[32768,8448,4352,2304,1280,768]],[13032,[32768,8448,4352,2304,1280,768]],[13033,[32768,2064,1040,528,272,48]],[13034,[32768,2064,1040,528,272,48]],[13035,[32768,2064,1040,528,272,48]],[13036,[32833,576,320,192,3]],[13037,[32833,576,320,192,3]],[13038,[32768,132,68,36,20,12]],[13039,[32768,8448,4352,2304,1280,768]],[13040,[32768,8448,4352,2304,1280,768]],[13041,[32833,192,9,5,3]],[13042,[32833,192,9,5,3]],[13043,[32768,8208,4112,144,80,48]],[13045,[999168,32768,129,65,33,17,9,5,3]],[13046,[33793,3072,9,5,3]],[13047,[33793,3072,9,5,3]],[13051,[135168,69632,36868,12288,12]],[13052,[65536,513,257,9,5,3]],[13053,[65536,513,257,9,5,3]],[13054,[65536,513,257,9,5,3]],[13055,[65536,513,257,9,5,3]],[13056,[65536,8256,4160,2112,1088,192]],[13057,[65536,8256,4160,2112,1088,192]],[13058,[540672,278528,82944,49152,3072]],[13059,[540672,278528,82944,49152,3072]],[13062,[66576,9216,5120,3072,48]],[13063,[65536,8256,4160,2112,1088,192]],[13065,[589825,327681,9,5,3]],[13066,[589825,327681,9,5,3]],[13068,[65536,8193,4097,2049,1025,3]],[13069,[65536,8193,4097,2049,1025,3]],[13070,[540672,278528,81936,49152,48]],[13071,[540672,278528,81936,49152,48]],[13072,[65536,132,68,36,20,12]],[13073,[66564,9216,5120,3072,12]],[13074,[66564,9216,5120,3072,12]],[13075,[66564,9216,5120,3072,12]],[13076,[65536,8208,4112,144,80,48]],[13077,[540672,278528,81921,49152,3]],[13078,[540672,278528,81921,49152,3]],[13079,[69633,12288,9,5,3]],[13080,[69633,12288,9,5,3]],[13081,[65536,8208,4112,144,80,48]],[13082,[540672,278528,82176,49152,768]],[13083,[540672,278528,82176,49152,768]],[13084,[65536,8448,4352,2304,1280,768]],[13085,[65536,8448,4352,2304,1280,768]],[13086,[65536,2064,1040,528,272,48]],[13087,[65536,2064,1040,528,272,48]],[13088,[65536,2064,1040,528,272,48]],[13089,[65601,576,320,192,3]],[13090,[65601,576,320,192,3]],[13091,[65536,132,68,36,20,12]],[13092,[65536,8448,4352,2304,1280,768]],[13093,[65536,8448,4352,2304,1280,768]],[13094,[65601,192,9,5,3]],[13095,[65601,192,9,5,3]],[13096,[65536,8208,4112,144,80,48]],[13098,[851712,65536,129,65,33,17,9,5,3]],[13099,[66561,3072,9,5,3]],[13100,[66561,3072,9,5,3]],[13104,[69636,36864,20480,12288,12]],[13105,[131072,513,257,9,5,3]],[13106,[131072,513,257,9,5,3]],[13107,[131072,513,257,9,5,3]],[13108,[131072,513,257,9,5,3]],[13109,[131072,8256,4160,2112,1088,192]],[13110,[131072,8256,4160,2112,1088,192]],[13111,[540672,278528,148480,49152,3072]],[13112,[540672,278528,148480,49152,3072]],[13115,[132112,9216,5120,3072,48]],[13116,[131072,8256,4160,2112,1088,192]],[13118,[655361,393217,9,5,3]],[13119,[655361,393217,9,5,3]],[13121,[131072,8193,4097,2049,1025,3]],[13122,[131072,8193,4097,2049,1025,3]],[13123,[540672,278528,147472,49152,48]],[13124,[540672,278528,147472,49152,48]],[13125,[131072,132,68,36,20,12]],[13126,[132100,9216,5120,3072,12]],[13127,[132100,9216,5120,3072,12]],[13128,[132100,9216,5120,3072,12]],[13129,[131072,8208,4112,144,80,48]],[13130,[540672,278528,147457,49152,3]],[13131,[540672,278528,147457,49152,3]],[13132,[135169,12288,9,5,3]],[13133,[135169,12288,9,5,3]],[13134,[131072,8208,4112,144,80,48]],[13135,[540672,278528,147712,49152,768]],[13136,[540672,278528,147712,49152,768]],[13137,[131072,8448,4352,2304,1280,768]],[13138,[131072,8448,4352,2304,1280,768]],[13139,[131072,2064,1040,528,272,48]],[13140,[131072,2064,1040,528,272,48]],[13141,[131072,2064,1040,528,272,48]],[13142,[131137,576,320,192,3]],[13143,[131137,576,320,192,3]],[13144,[131072,132,68,36,20,12]],[13145,[131072,8448,4352,2304,1280,768]],[13146,[131072,8448,4352,2304,1280,768]],[13147,[131137,192,9,5,3]],[13148,[131137,192,9,5,3]],[13149,[131072,8208,4112,144,80,48]],[13151,[851712,131072,129,65,33,17,9,5,3]],[13152,[132097,3072,9,5,3]],[13153,[132097,3072,9,5,3]],[13157,[135172,36864,20480,12288,12]],[13158,[262144,513,257,9,5,3]],[13159,[262144,513,257,9,5,3]],[13160,[262144,513,257,9,5,3]],[13161,[262144,513,257,9,5,3]],[13162,[262144,8256,4160,2112,1088,192]],[13163,[262144,8256,4160,2112,1088,192]],[13164,[279552,147456,81920,49152,3072]],[13165,[279552,147456,81920,49152,3072]],[13168,[263184,9216,5120,3072,48]],[13169,[262144,8256,4160,2112,1088,192]],[13171,[327681,196608,9,5,3]],[13172,[327681,196608,9,5,3]],[13174,[262144,8193,4097,2049,1025,3]],[13175,[262144,8193,4097,2049,1025,3]],[13176,[278544,147456,81920,49152,48]],[13177,[278544,147456,81920,49152,48]],[13178,[262144,132,68,36,20,12]],[13179,[263172,9216,5120,3072,12]],[13180,[263172,9216,5120,3072,12]],[13181,[263172,9216,5120,3072,12]],[13182,[262144,8208,4112,144,80,48]],[13183,[278529,147456,81920,49152,3]],[13184,[278529,147456,81920,49152,3]],[13185,[266241,12288,9,5,3]],[13186,[266241,12288,9,5,3]],[13187,[262144,8208,4112,144,80,48]],[13188,[278784,147456,81920,49152,768]],[13189,[278784,147456,81920,49152,768]],[13190,[262144,8448,4352,2304,1280,768]],[13191,[262144,8448,4352,2304,1280,768]],[13192,[262144,2064,1040,528,272,48]],[13193,[262144,2064,1040,528,272,48]],[13194,[262144,2064,1040,528,272,48]],[13195,[262209,576,320,192,3]],[13196,[262209,576,320,192,3]],[13197,[262144,132,68,36,20,12]],[13198,[262144,8448,4352,2304,1280,768]],[13199,[262144,8448,4352,2304,1280,768]],[13200,[262209,192,9,5,3]],[13201,[262209,192,9,5,3]],[13202,[262144,8208,4112,144,80,48]],[13204,[262144,261888,129,65,33,17,9,5,3]],[13205,[263169,3072,9,5,3]],[13206,[263169,3072,9,5,3]],[13210,[266244,36864,20480,12288,12]],[13211,[524288,513,257,9,5,3]],[13212,[524288,513,257,9,5,3]],[13213,[524288,513,257,9,5,3]],[13214,[524288,513,257,9,5,3]],[13215,[524288,8256,4160,2112,1088,192]],[13216,[524288,8256,4160,2112,1088,192]],[13217,[541696,147456,81920,49152,3072]],[13218,[541696,147456,81920,49152,3072]],[13221,[525328,9216,5120,3072,48]],[13222,[524288,8256,4160,2112,1088,192]],[13224,[589825,196608,9,5,3]],[13225,[589825,196608,9,5,3]],[13227,[524288,8193,4097,2049,1025,3]],[13228,[524288,8193,4097,2049,1025,3]],[13229,[540688,147456,81920,49152,48]],[13230,[540688,147456,81920,49152,48]],[13231,[524288,132,68,36,20,12]],[13232,[525316,9216,5120,3072,12]],[13233,[525316,9216,5120,3072,12]],[13234,[525316,9216,5120,3072,12]],[13235,[524288,8208,4112,144,80,48]],[13236,[540673,147456,81920,49152,3]],[13237,[540673,147456,81920,49152,3]],[13238,[528385,12288,9,5,3]],[13239,[528385,12288,9,5,3]],[13240,[524288,8208,4112,144,80,48]],[13241,[540928,147456,81920,49152,768]],[13242,[540928,147456,81920,49152,768]],[13243,[524288,8448,4352,2304,1280,768]],[13244,[524288,8448,4352,2304,1280,768]],[13245,[524288,2064,1040,528,272,48]],[13246,[524288,2064,1040,528,272,48]],[13247,[524288,2064,1040,528,272,48]],[13248,[524353,576,320,192,3]],[13249,[524353,576,320,192,3]],[13250,[524288,132,68,36,20,12]],[13251,[524288,8448,4352,2304,1280,768]],[13252,[524288,8448,4352,2304,1280,768]],[13253,[524353,192,9,5,3]],[13254,[524353,192,9,5,3]],[13255,[524288,8208,4112,144,80,48]],[13257,[524288,261888,129,65,33,17,9,5,3]],[13258,[525313,3072,9,5,3]],[13259,[525313,3072,9,5,3]],[13263,[528388,36864,20480,12288,12]],[13264,[2053,1029,133,69,15]],[13265,[131077,65541,8197,4101,15]],[13266,[524293,262149,32773,16389,15]],[13267,[524293,262149,32773,16389,15]],[13268,[133,69,37,21,15]],[13269,[2054,1030,134,70,15]],[13270,[131078,65542,8198,4102,15]],[13271,[524294,262150,32774,16390,15]],[13272,[524294,262150,32774,16390,15]],[13273,[134,70,38,22,15]],[13274,[2065,1041,145,81,51]],[13275,[131089,65553,8209,4113,51]],[13276,[524305,262161,32785,16401,51]],[13277,[524305,262161,32785,16401,51]],[13278,[132,68,38,21,12]],[13279,[2066,1042,146,82,51]],[13280,[131090,65554,8210,4114,51]],[13281,[524306,262162,32786,16402,51]],[13282,[524306,262162,32786,16402,51]],[13283,[132,68,37,22,12]],[13284,[2064,1040,146,81,48]],[13285,[131137,65601,8257,4161,195]],[13286,[524353,262209,32833,16449,195]],[13287,[524353,262209,32833,16449,195]],[13288,[134,69,36,20,12]],[13289,[2064,1040,145,82,48]],[13290,[131138,65602,8258,4162,195]],[13291,[524354,262210,32834,16450,195]],[13292,[524354,262210,32834,16450,195]],[13293,[133,70,36,20,12]],[13294,[2064,1040,530,273,48]],[13295,[131329,65793,8449,4353,771]],[13296,[524545,262401,33025,16641,771]],[13297,[524545,262401,33025,16641,771]],[13298,[518,261,36,20,12]],[13299,[2064,1040,529,274,48]],[13300,[131330,65794,8450,4354,771]],[13301,[524546,262402,33026,16642,771]],[13302,[524546,262402,33026,16642,771]],[13303,[517,262,36,20,12]],[13304,[2066,1041,528,272,48]],[13305,[132097,66561,9217,5121,3075]],[13306,[525313,263169,33793,17409,3075]],[13307,[525313,263169,33793,17409,3075]],[13308,[2054,1029,36,20,12]],[13309,[2065,1042,528,272,48]],[13310,[132098,66562,9218,5122,3075]],[13311,[525314,263170,33794,17410,3075]],[13312,[525314,263170,33794,17410,3075]],[13313,[2053,1030,36,20,12]],[13314,[8210,4113,528,272,48]],[13315,[132096,66560,9218,5121,3072]],[13316,[528385,266241,36865,20481,12291]],[13317,[528385,266241,36865,20481,12291]],[13318,[8198,4101,36,20,12]],[13319,[8209,4114,528,272,48]],[13320,[132096,66560,9217,5122,3072]],[13321,[528386,266242,36866,20482,12291]],[13322,[528386,266242,36866,20482,12291]],[13323,[8197,4102,36,20,12]],[13324,[32786,16401,528,272,48]],[13325,[132096,66560,33794,17409,3072]],[13326,[528384,266240,36866,20481,12288]],[13327,[528384,266240,36866,20481,12288]],[13328,[32774,16389,36,20,12]],[13329,[32785,16402,528,272,48]],[13330,[132096,66560,33793,17410,3072]],[13331,[528384,266240,36865,20482,12288]],[13332,[528384,266240,36865,20482,12288]],[13333,[32773,16390,36,20,12]],[13334,[131090,65553,528,272,48]],[13335,[132098,66561,33792,17408,3072]],[13336,[528384,266240,135170,69633,12288]],[13337,[528384,266240,135170,69633,12288]],[13338,[131078,65541,36,20,12]],[13339,[131089,65554,528,272,48]],[13340,[132097,66562,33792,17408,3072]],[13341,[528384,266240,135169,69634,12288]],[13342,[528384,266240,135169,69634,12288]],[13343,[131077,65542,36,20,12]],[13344,[524306,262161,528,272,48]],[13345,[525314,263169,33792,17408,3072]],[13346,[528386,266241,135168,69632,12288]],[13347,[528386,266241,135168,69632,12288]],[13348,[524294,262149,36,20,12]],[13349,[524305,262162,528,272,48]],[13350,[525313,263170,33792,17408,3072]],[13351,[528385,266242,135168,69632,12288]],[13352,[528385,266242,135168,69632,12288]],[13353,[524293,262150,36,20,12]],[13354,[2068,1044,148,84,60]],[13355,[131092,65556,8212,4116,60]],[13356,[524308,262164,32788,16404,60]],[13357,[524308,262164,32788,16404,60]],[13358,[129,65,41,21,3]],[13359,[2072,1048,152,88,60]],[13360,[131096,65560,8216,4120,60]],[13361,[524312,262168,32792,16408,60]],[13362,[524312,262168,32792,16408,60]],[13363,[129,65,37,25,3]],[13364,[2064,1040,152,84,48]],[13365,[131140,65604,8260,4164,204]],[13366,[524356,262212,32836,16452,204]],[13367,[524356,262212,32836,16452,204]],[13368,[137,69,33,17,3]],[13369,[2064,1040,148,88,48]],[13370,[131144,65608,8264,4168,204]],[13371,[524360,262216,32840,16456,204]],[13372,[524360,262216,32840,16456,204]],[13373,[133,73,33,17,3]],[13374,[2064,1040,536,276,48]],[13375,[131332,65796,8452,4356,780]],[13376,[524548,262404,33028,16644,780]],[13377,[524548,262404,33028,16644,780]],[13378,[521,261,33,17,3]],[13379,[2064,1040,532,280,48]],[13380,[131336,65800,8456,4360,780]],[13381,[524552,262408,33032,16648,780]],[13382,[524552,262408,33032,16648,780]],[13383,[517,265,33,17,3]],[13384,[2072,1044,528,272,48]],[13385,[132100,66564,9220,5124,3084]],[13386,[525316,263172,33796,17412,3084]],[13387,[525316,263172,33796,17412,3084]],[13388,[2057,1029,33,17,3]],[13389,[2068,1048,528,272,48]],[13390,[132104,66568,9224,5128,3084]],[13391,[525320,263176,33800,17416,3084]],[13392,[525320,263176,33800,17416,3084]],[13393,[2053,1033,33,17,3]],[13394,[8216,4116,528,272,48]],[13395,[132096,66560,9224,5124,3072]],[13396,[528388,266244,36868,20484,12300]],[13397,[528388,266244,36868,20484,12300]],[13398,[8201,4101,33,17,3]],[13399,[8212,4120,528,272,48]],[13400,[132096,66560,9220,5128,3072]],[13401,[528392,266248,36872,20488,12300]],[13402,[528392,266248,36872,20488,12300]],[13403,[8197,4105,33,17,3]],[13404,[32792,16404,528,272,48]],[13405,[132096,66560,33800,17412,3072]],[13406,[528384,266240,36872,20484,12288]],[13407,[528384,266240,36872,20484,12288]],[13408,[32777,16389,33,17,3]],[13409,[32788,16408,528,272,48]],[13410,[132096,66560,33796,17416,3072]],[13411,[528384,266240,36868,20488,12288]],[13412,[528384,266240,36868,20488,12288]],[13413,[32773,16393,33,17,3]],[13414,[131096,65556,528,272,48]],[13415,[132104,66564,33792,17408,3072]],[13416,[528384,266240,135176,69636,12288]],[13417,[528384,266240,135176,69636,12288]],[13418,[131081,65541,33,17,3]],[13419,[131092,65560,528,272,48]],[13420,[132100,66568,33792,17408,3072]],[13421,[528384,266240,135172,69640,12288]],[13422,[528384,266240,135172,69640,12288]],[13423,[131077,65545,33,17,3]],[13424,[524312,262164,528,272,48]],[13425,[525320,263172,33792,17408,3072]],[13426,[528392,266244,135168,69632,12288]],[13427,[528392,266244,135168,69632,12288]],[13428,[524297,262149,33,17,3]],[13429,[524308,262168,528,272,48]],[13430,[525316,263176,33792,17408,3072]],[13431,[528388,266248,135168,69632,12288]],[13432,[528388,266248,135168,69632,12288]],[13433,[524293,262153,33,17,3]],[13434,[2052,1028,164,84,12]],[13435,[131152,65616,8272,4176,240]],[13436,[524368,262224,32848,16464,240]],[13437,[524368,262224,32848,16464,240]],[13438,[161,81,9,5,3]],[13439,[2052,1028,148,100,12]],[13440,[131168,65632,8288,4192,240]],[13441,[524384,262240,32864,16480,240]],[13442,[524384,262240,32864,16480,240]],[13443,[145,97,9,5,3]],[13444,[2052,1028,548,276,12]],[13445,[131344,65808,8464,4368,816]],[13446,[524560,262416,33040,16656,816]],[13447,[524560,262416,33040,16656,816]],[13448,[545,273,9,5,3]],[13449,[2052,1028,532,292,12]],[13450,[131360,65824,8480,4384,816]],[13451,[524576,262432,33056,16672,816]],[13452,[524576,262432,33056,16672,816]],[13453,[529,289,9,5,3]],[13454,[2084,1044,516,260,12]],[13455,[132112,66576,9232,5136,3120]],[13456,[525328,263184,33808,17424,3120]],[13457,[525328,263184,33808,17424,3120]],[13458,[2081,1041,9,5,3]],[13459,[2068,1060,516,260,12]],[13460,[132128,66592,9248,5152,3120]],[13461,[525344,263200,33824,17440,3120]],[13462,[525344,263200,33824,17440,3120]],[13463,[2065,1057,9,5,3]],[13464,[8228,4116,516,260,12]],[13465,[132096,66560,9248,5136,3072]],[13466,[528400,266256,36880,20496,12336]],[13467,[528400,266256,36880,20496,12336]],[13468,[8225,4113,9,5,3]],[13469,[8212,4132,516,260,12]],[13470,[132096,66560,9232,5152,3072]],[13471,[528416,266272,36896,20512,12336]],[13472,[528416,266272,36896,20512,12336]],[13473,[8209,4129,9,5,3]],[13474,[32804,16404,516,260,12]],[13475,[132096,66560,33824,17424,3072]],[13476,[528384,266240,36896,20496,12288]],[13477,[528384,266240,36896,20496,12288]],[13478,[32801,16401,9,5,3]],[13479,[32788,16420,516,260,12]],[13480,[132096,66560,33808,17440,3072]],[13481,[528384,266240,36880,20512,12288]],[13482,[528384,266240,36880,20512,12288]],[13483,[32785,16417,9,5,3]],[13484,[131108,65556,516,260,12]],[13485,[132128,66576,33792,17408,3072]],[13486,[528384,266240,135200,69648,12288]],[13487,[528384,266240,135200,69648,12288]],[13488,[131105,65553,9,5,3]],[13489,[131092,65572,516,260,12]],[13490,[132112,66592,33792,17408,3072]],[13491,[528384,266240,135184,69664,12288]],[13492,[528384,266240,135184,69664,12288]],[13493,[131089,65569,9,5,3]],[13494,[524324,262164,516,260,12]],[13495,[525344,263184,33792,17408,3072]],[13496,[528416,266256,135168,69632,12288]],[13497,[528416,266256,135168,69632,12288]],[13498,[524321,262161,9,5,3]],[13499,[524308,262180,516,260,12]],[13500,[525328,263200,33792,17408,3072]],[13501,[528400,266272,135168,69632,12288]],[13502,[528400,266272,135168,69632,12288]],[13503,[524305,262177,9,5,3]],[13504,[2052,1028,644,324,12]],[13505,[131392,65856,8512,4416,960]],[13506,[524608,262464,33088,16704,960]],[13507,[524608,262464,33088,16704,960]],[13508,[641,321,9,5,3]],[13509,[2052,1028,580,388,12]],[13510,[131456,65920,8576,4480,960]],[13511,[524672,262528,33152,16768,960]],[13512,[524672,262528,33152,16768,960]],[13513,[577,385,9,5,3]],[13514,[2180,1092,516,260,12]],[13515,[132160,66624,9280,5184,3264]],[13516,[525376,263232,33856,17472,3264]],[13517,[525376,263232,33856,17472,3264]],[13518,[2177,1089,9,5,3]],[13519,[2116,1156,516,260,12]],[13520,[132224,66688,9344,5248,3264]],[13521,[525440,263296,33920,17536,3264]],[13522,[525440,263296,33920,17536,3264]],[13523,[2113,1153,9,5,3]],[13524,[8324,4164,516,260,12]],[13525,[132096,66560,9344,5184,3072]],[13526,[528448,266304,36928,20544,12480]],[13527,[528448,266304,36928,20544,12480]],[13528,[8321,4161,9,5,3]],[13529,[8260,4228,516,260,12]],[13530,[132096,66560,9280,5248,3072]],[13531,[528512,266368,36992,20608,12480]],[13532,[528512,266368,36992,20608,12480]],[13533,[8257,4225,9,5,3]],[13534,[32900,16452,516,260,12]],[13535,[132096,66560,33920,17472,3072]],[13536,[528384,266240,36992,20544,12288]],[13537,[528384,266240,36992,20544,12288]],[13538,[32897,16449,9,5,3]],[13539,[32836,16516,516,260,12]],[13540,[132096,66560,33856,17536,3072]],[13541,[528384,266240,36928,20608,12288]],[13542,[528384,266240,36928,20608,12288]],[13543,[32833,16513,9,5,3]],[13544,[131204,65604,516,260,12]],[13545,[132224,66624,33792,17408,3072]],[13546,[528384,266240,135296,69696,12288]],[13547,[528384,266240,135296,69696,12288]],[13548,[131201,65601,9,5,3]],[13549,[131140,65668,516,260,12]],[13550,[132160,66688,33792,17408,3072]],[13551,[528384,266240,135232,69760,12288]],[13552,[528384,266240,135232,69760,12288]],[13553,[131137,65665,9,5,3]],[13554,[524420,262212,516,260,12]],[13555,[525440,263232,33792,17408,3072]],[13556,[528512,266304,135168,69632,12288]],[13557,[528512,266304,135168,69632,12288]],[13558,[524417,262209,9,5,3]],[13559,[524356,262276,516,260,12]],[13560,[525376,263296,33792,17408,3072]],[13561,[528448,266368,135168,69632,12288]],[13562,[528448,266368,135168,69632,12288]],[13563,[524353,262273,9,5,3]],[13564,[2564,1284,132,68,12]],[13565,[132352,66816,9472,5376,3840]],[13566,[525568,263424,34048,17664,3840]],[13567,[525568,263424,34048,17664,3840]],[13568,[2561,1281,9,5,3]],[13569,[2308,1540,132,68,12]],[13570,[132608,67072,9728,5632,3840]],[13571,[525824,263680,34304,17920,3840]],[13572,[525824,263680,34304,17920,3840]],[13573,[2305,1537,9,5,3]],[13574,[8708,4356,132,68,12]],[13575,[132096,66560,9728,5376,3072]],[13576,[528640,266496,37120,20736,13056]],[13577,[528640,266496,37120,20736,13056]],[13578,[8705,4353,9,5,3]],[13579,[8452,4612,132,68,12]],[13580,[132096,66560,9472,5632,3072]],[13581,[528896,266752,37376,20992,13056]],[13582,[528896,266752,37376,20992,13056]],[13583,[8449,4609,9,5,3]],[13584,[33284,16644,132,68,12]],[13585,[132096,66560,34304,17664,3072]],[13586,[528384,266240,37376,20736,12288]],[13587,[528384,266240,37376,20736,12288]],[13588,[33281,16641,9,5,3]],[13589,[33028,16900,132,68,12]],[13590,[132096,66560,34048,17920,3072]],[13591,[528384,266240,37120,20992,12288]],[13592,[528384,266240,37120,20992,12288]],[13593,[33025,16897,9,5,3]],[13594,[131588,65796,132,68,12]],[13595,[132608,66816,33792,17408,3072]],[13596,[528384,266240,135680,69888,12288]],[13597,[528384,266240,135680,69888,12288]],[13598,[131585,65793,9,5,3]],[13599,[131332,66052,132,68,12]],[13600,[132352,67072,33792,17408,3072]],[13601,[528384,266240,135424,70144,12288]],[13602,[528384,266240,135424,70144,12288]],[13603,[131329,66049,9,5,3]],[13604,[524804,262404,132,68,12]],[13605,[525824,263424,33792,17408,3072]],[13606,[528896,266496,135168,69632,12288]],[13607,[528896,266496,135168,69632,12288]],[13608,[524801,262401,9,5,3]],[13609,[524548,262660,132,68,12]],[13610,[525568,263680,33792,17408,3072]],[13611,[528640,266752,135168,69632,12288]],[13612,[528640,266752,135168,69632,12288]],[13613,[524545,262657,9,5,3]],[13614,[10244,5124,132,68,12]],[13615,[131328,65792,10496,5376,768]],[13616,[529408,267264,37888,21504,15360]],[13617,[529408,267264,37888,21504,15360]],[13618,[10241,5121,9,5,3]],[13619,[9220,6148,132,68,12]],[13620,[131328,65792,9472,6400,768]],[13621,[530432,268288,38912,22528,15360]],[13622,[530432,268288,38912,22528,15360]],[13623,[9217,6145,9,5,3]],[13624,[34820,17412,132,68,12]],[13625,[131328,65792,35072,17664,768]],[13626,[528384,266240,38912,21504,12288]],[13627,[528384,266240,38912,21504,12288]],[13628,[34817,17409,9,5,3]],[13629,[33796,18436,132,68,12]],[13630,[131328,65792,34048,18688,768]],[13631,[528384,266240,37888,22528,12288]],[13632,[528384,266240,37888,22528,12288]],[13633,[33793,18433,9,5,3]],[13634,[133124,66564,132,68,12]],[13635,[133376,66816,33024,16640,768]],[13636,[528384,266240,137216,70656,12288]],[13637,[528384,266240,137216,70656,12288]],[13638,[133121,66561,9,5,3]],[13639,[132100,67588,132,68,12]],[13640,[132352,67840,33024,16640,768]],[13641,[528384,266240,136192,71680,12288]],[13642,[528384,266240,136192,71680,12288]],[13643,[132097,67585,9,5,3]],[13644,[526340,263172,132,68,12]],[13645,[526592,263424,33024,16640,768]],[13646,[530432,267264,135168,69632,12288]],[13647,[530432,267264,135168,69632,12288]],[13648,[526337,263169,9,5,3]],[13649,[525316,264196,132,68,12]],[13650,[525568,264448,33024,16640,768]],[13651,[529408,268288,135168,69632,12288]],[13652,[529408,268288,135168,69632,12288]],[13653,[525313,264193,9,5,3]],[13654,[40964,20484,132,68,12]],[13655,[131328,65792,41216,20736,768]],[13656,[525312,263168,41984,21504,3072]],[13657,[525312,263168,41984,21504,3072]],[13658,[40961,20481,9,5,3]],[13659,[36868,24580,132,68,12]],[13660,[131328,65792,37120,24832,768]],[13661,[525312,263168,37888,25600,3072]],[13662,[525312,263168,37888,25600,3072]],[13663,[36865,24577,9,5,3]],[13664,[139268,69636,132,68,12]],[13665,[139520,69888,33024,16640,768]],[13666,[525312,263168,140288,70656,3072]],[13667,[525312,263168,140288,70656,3072]],[13668,[139265,69633,9,5,3]],[13669,[135172,73732,132,68,12]],[13670,[135424,73984,33024,16640,768]],[13671,[525312,263168,136192,74752,3072]],[13672,[525312,263168,136192,74752,3072]],[13673,[135169,73729,9,5,3]],[13674,[532484,266244,132,68,12]],[13675,[532736,266496,33024,16640,768]],[13676,[533504,267264,132096,66560,3072]],[13677,[533504,267264,132096,66560,3072]],[13678,[532481,266241,9,5,3]],[13679,[528388,270340,132,68,12]],[13680,[528640,270592,33024,16640,768]],[13681,[529408,271360,132096,66560,3072]],[13682,[529408,271360,132096,66560,3072]],[13683,[528385,270337,9,5,3]],[13684,[163844,81924,132,68,12]],[13685,[164096,82176,8448,4352,768]],[13686,[525312,263168,164864,82944,3072]],[13687,[525312,263168,164864,82944,3072]],[13688,[163841,81921,9,5,3]],[13689,[147460,98308,132,68,12]],[13690,[147712,98560,8448,4352,768]],[13691,[525312,263168,148480,99328,3072]],[13692,[525312,263168,148480,99328,3072]],[13693,[147457,98305,9,5,3]],[13694,[557060,278532,132,68,12]],[13695,[557312,278784,8448,4352,768]],[13696,[558080,279552,132096,66560,3072]],[13697,[558080,279552,132096,66560,3072]],[13698,[557057,278529,9,5,3]],[13699,[540676,294916,132,68,12]],[13700,[540928,295168,8448,4352,768]],[13701,[541696,295936,132096,66560,3072]],[13702,[541696,295936,132096,66560,3072]],[13703,[540673,294913,9,5,3]],[13704,[655364,327684,132,68,12]],[13705,[655616,327936,8448,4352,768]],[13706,[656384,328704,33792,17408,3072]],[13707,[656384,328704,33792,17408,3072]],[13708,[655361,327681,9,5,3]],[13709,[589828,393220,132,68,12]],[13710,[590080,393472,8448,4352,768]],[13711,[590848,394240,33792,17408,3072]],[13712,[590848,394240,33792,17408,3072]],[13713,[589825,393217,9,5,3]],[13714,[135168,69632,36864,20480,12288,1]],[13715,[540672,278528,147456,81920,49152,1]],[13716,[540672,278528,147456,81920,49152,1]],[13717,[540672,278528,147456,81920,49152,1]],[13718,[135168,69632,36864,20480,12288,2]],[13719,[540672,278528,147456,81920,49152,2]],[13720,[540672,278528,147456,81920,49152,2]],[13721,[540672,278528,147456,81920,49152,2]],[13722,[135168,69632,36864,20480,12288,4]],[13723,[540672,278528,147456,81920,49152,4]],[13724,[540672,278528,147456,81920,49152,4]],[13725,[540672,278528,147456,81920,49152,4]],[13726,[135168,69632,36864,20480,12288,8]],[13727,[540672,278528,147456,81920,49152,8]],[13728,[540672,278528,147456,81920,49152,8]],[13729,[540672,278528,147456,81920,49152,8]],[13730,[135168,69632,36864,20480,12288,16]],[13731,[540672,278528,147456,81920,49152,16]],[13732,[540672,278528,147456,81920,49152,16]],[13733,[540672,278528,147456,81920,49152,16]],[13734,[135168,69632,36864,20480,12288,32]],[13735,[540672,278528,147456,81920,49152,32]],[13736,[540672,278528,147456,81920,49152,32]],[13737,[540672,278528,147456,81920,49152,32]],[13738,[135168,69632,36864,20480,12288,64]],[13739,[540672,278528,147456,81920,49152,64]],[13740,[540672,278528,147456,81920,49152,64]],[13741,[540672,278528,147456,81920,49152,64]],[13742,[135168,69632,36864,20480,12288,128]],[13743,[540672,278528,147456,81920,49152,128]],[13744,[540672,278528,147456,81920,49152,128]],[13745,[540672,278528,147456,81920,49152,128]],[13746,[135168,69632,36864,20480,12288,256]],[13747,[540672,278528,147456,81920,49152,256]],[13748,[540672,278528,147456,81920,49152,256]],[13749,[540672,278528,147456,81920,49152,256]],[13750,[135168,69632,36864,20480,12288,512]],[13751,[540672,278528,147456,81920,49152,512]],[13752,[540672,278528,147456,81920,49152,512]],[13753,[540672,278528,147456,81920,49152,512]],[13754,[135168,69632,36864,20480,12288,1024]],[13755,[540672,278528,147456,81920,49152,1024]],[13756,[540672,278528,147456,81920,49152,1024]],[13757,[540672,278528,147456,81920,49152,1024]],[13758,[135168,69632,36864,20480,12288,2048]],[13759,[540672,278528,147456,81920,49152,2048]],[13760,[540672,278528,147456,81920,49152,2048]],[13761,[540672,278528,147456,81920,49152,2048]],[13762,[132096,66560,33792,17408,4096,3072]],[13763,[540672,278528,147456,81920,49152,4096]],[13764,[540672,278528,147456,81920,49152,4096]],[13765,[540672,278528,147456,81920,49152,4096]],[13766,[132096,66560,33792,17408,8192,3072]],[13767,[540672,278528,147456,81920,49152,8192]],[13768,[540672,278528,147456,81920,49152,8192]],[13769,[540672,278528,147456,81920,49152,8192]],[13770,[132096,66560,16384,9216,5120,3072]],[13771,[528384,266240,135168,69632,16384,12288]],[13772,[528384,266240,135168,69632,16384,12288]],[13773,[528384,266240,135168,69632,16384,12288]],[13774,[132096,66560,32768,9216,5120,3072]],[13775,[528384,266240,135168,69632,32768,12288]],[13776,[528384,266240,135168,69632,32768,12288]],[13777,[528384,266240,135168,69632,32768,12288]],[13778,[65536,33792,17408,9216,5120,3072]],[13779,[528384,266240,65536,36864,20480,12288]],[13780,[528384,266240,65536,36864,20480,12288]],[13781,[528384,266240,65536,36864,20480,12288]],[13782,[131072,33792,17408,9216,5120,3072]],[13783,[528384,266240,131072,36864,20480,12288]],[13784,[528384,266240,131072,36864,20480,12288]],[13785,[528384,266240,131072,36864,20480,12288]],[13786,[262144,33792,17408,9216,5120,3072]],[13787,[262144,135168,69632,36864,20480,12288]],[13788,[262144,135168,69632,36864,20480,12288]],[13789,[262144,135168,69632,36864,20480,12288]],[13790,[524288,33792,17408,9216,5120,3072]],[13791,[524288,135168,69632,36864,20480,12288]],[13792,[524288,135168,69632,36864,20480,12288]],[13793,[524288,135168,69632,36864,20480,12288]],[13794,[524352,262208,135232,69696,12288,192]],[13798,[131332,65796,2308,1284,768,12]],[13800,[8209,4113,144,80,48,3]],[13807,[524304,262160,135184,69648,12288,48]],[13808,[524304,262160,135184,69648,12288,48]],[13809,[524304,262160,135184,69648,12288,48]],[13818,[33025,16641,2304,1280,768,3]],[13819,[33025,16641,2304,1280,768,3]],[13820,[524304,262160,132112,66576,3072,48]],[13821,[524304,262160,132112,66576,3072,48]],[13822,[524304,262160,132112,66576,3072,48]],[13830,[524304,262160,32785,16401,48,3]],[13834,[2053,1029,517,261,12,3]],[13835,[2053,1029,517,261,12,3]],[13838,[131136,65600,2112,1088,192,32,16]],[13839,[131136,65600,2112,1088,192,32,16]],[13840,[33088,16704,8512,4416,768,192]],[13841,[33088,16704,8512,4416,768,192]],[13848,[131076,65540,2116,1092,192,12]],[13851,[525328,263184,3072,528,272,48]],[13864,[524352,262208,131152,65616,192,48]],[13865,[8449,4353,2304,1280,768,3]],[13867,[524304,262160,147472,81936,49152,48]],[13868,[524304,262160,147472,81936,49152,48]],[13869,[524304,262160,147472,81936,49152,48]],[13888,[524304,262160,131089,65553,48,3]],[13889,[524304,262160,131089,65553,48,3]],[13899,[135169,69633,36864,20480,12288,3]],[13916,[593920,331776,196608,36864,20480,12288]],[13917,[593920,331776,196608,36864,20480,12288]],[13918,[524545,262401,2304,1280,768,3]],[13930,[131392,65856,2368,1344,768,192]],[13936,[32769,16385,8193,4097,32,16,3]],[13937,[32769,16385,8193,4097,32,16,3]],[13938,[32769,16385,8193,4097,32,16,3]],[13939,[32769,16385,8193,4097,32,16,3]],[13940,[32769,16385,8193,4097,32,16,3]],[13957,[524352,262208,8256,4160,2048,1024,192]],[13964,[524305,262161,145,81,48,3]],[13974,[524352,262208,8256,4160,2048,1024,192]],[13981,[524304,262160,8272,4176,192,48]],[13983,[524308,262164,144,80,48,12]],[13984,[135184,69648,36864,20480,12288,48]],[13985,[135184,69648,36864,20480,12288,48]],[14000,[540676,278532,49152,132,68,12]],[14001,[540676,278532,49152,132,68,12]],[14002,[36880,20496,12288,144,80,48]],[14017,[528385,266241,36864,20480,12288,3]],[14018,[8464,4368,2304,1280,768,48]],[14030,[524304,262160,32784,16400,512,256,48]],[14031,[524304,262160,32784,16400,512,256,48]],[14032,[524304,262160,32784,16400,512,256,48]],[14041,[147460,81924,49152,132,68,12]],[14064,[32769,16385,8193,4097,512,256,3]],[14076,[524305,262161,131089,65553,48]],[14077,[131077,65541,36,20,12]],[14078,[131077,65541,36,20,12]],[14079,[525313,263169,33792,17408,3072]],[14080,[524306,262162,131090,65554,48]],[14081,[131078,65542,36,20,12]],[14082,[131078,65542,36,20,12]],[14083,[525314,263170,33792,17408,3072]],[14084,[524308,262164,131092,65556,48]],[14085,[131077,65541,33,17,3]],[14086,[131077,65541,33,17,3]],[14087,[525316,263172,33792,17408,3072]],[14088,[524312,262168,131096,65560,48]],[14089,[131081,65545,33,17,3]],[14090,[131081,65545,33,17,3]],[14091,[525320,263176,33792,17408,3072]],[14092,[524308,262164,131092,65556,12]],[14093,[131089,65553,9,5,3]],[14094,[131089,65553,9,5,3]],[14095,[525328,263184,33792,17408,3072]],[14096,[524324,262180,131108,65572,12]],[14097,[131105,65569,9,5,3]],[14098,[131105,65569,9,5,3]],[14099,[525344,263200,33792,17408,3072]],[14100,[524356,262212,131140,65604,12]],[14101,[131137,65601,9,5,3]],[14102,[131137,65601,9,5,3]],[14103,[525376,263232,33792,17408,3072]],[14104,[524420,262276,131204,65668,12]],[14105,[131201,65665,9,5,3]],[14106,[131201,65665,9,5,3]],[14107,[525440,263296,33792,17408,3072]],[14108,[524548,262404,131332,65796,12]],[14109,[131329,65793,9,5,3]],[14110,[131329,65793,9,5,3]],[14111,[525568,263424,33792,17408,3072]],[14112,[524804,262660,131588,66052,12]],[14113,[131585,66049,9,5,3]],[14114,[131585,66049,9,5,3]],[14115,[525824,263680,33792,17408,3072]],[14116,[525316,263172,132100,66564,12]],[14117,[132097,66561,9,5,3]],[14118,[132097,66561,9,5,3]],[14119,[525568,263424,33024,16640,768]],[14120,[526340,264196,133124,67588,12]],[14121,[133121,67585,9,5,3]],[14122,[133121,67585,9,5,3]],[14123,[526592,264448,33024,16640,768]],[14124,[528388,266244,135172,69636,12]],[14125,[135169,69633,9,5,3]],[14126,[135169,69633,9,5,3]],[14127,[528640,266496,33024,16640,768]],[14128,[532484,270340,139268,73732,12]],[14129,[139265,73729,9,5,3]],[14130,[139265,73729,9,5,3]],[14131,[532736,270592,33024,16640,768]],[14132,[540676,278532,147460,81924,12]],[14133,[147457,81921,9,5,3]],[14134,[147457,81921,9,5,3]],[14135,[540928,278784,8448,4352,768]],[14136,[557060,294916,163844,98308,12]],[14137,[163841,98305,9,5,3]],[14138,[163841,98305,9,5,3]],[14139,[557312,295168,8448,4352,768]],[14140,[540672,278528,81924,49152,12]],[14141,[81921,49152,9,5,3]],[14142,[81921,49152,9,5,3]],[14143,[590080,327936,8448,4352,768]],[14144,[540672,278528,147460,49152,12]],[14145,[147457,49152,9,5,3]],[14146,[147457,49152,9,5,3]],[14147,[655616,393472,8448,4352,768]],[14148,[278532,147456,81920,49152,12]],[14149,[278529,49152,9,5,3]],[14150,[278529,49152,9,5,3]],[14151,[327936,196608,8448,4352,768]],[14152,[540676,147456,81920,49152,12]],[14153,[540673,49152,9,5,3]],[14154,[540673,49152,9,5,3]],[14155,[590080,196608,8448,4352,768]],[14156,[135168,69632,36864,20480,12288,1]],[14157,[135168,69632,36864,20480,12288,1]],[14158,[135168,69632,36864,20480,12288,2]],[14159,[135168,69632,36864,20480,12288,2]],[14160,[135168,69632,36864,20480,12288,4]],[14161,[135168,69632,36864,20480,12288,4]],[14162,[135168,69632,36864,20480,12288,8]],[14163,[135168,69632,36864,20480,12288,8]],[14164,[135168,69632,36864,20480,12288,16]],[14165,[135168,69632,36864,20480,12288,16]],[14166,[135168,69632,36864,20480,12288,32]],[14167,[135168,69632,36864,20480,12288,32]],[14168,[135168,69632,36864,20480,12288,64]],[14169,[135168,69632,36864,20480,12288,64]],[14170,[135168,69632,36864,20480,12288,128]],[14171,[135168,69632,36864,20480,12288,128]],[14172,[135168,69632,36864,20480,12288,256]],[14173,[135168,69632,36864,20480,12288,256]],[14174,[135168,69632,36864,20480,12288,512]],[14175,[135168,69632,36864,20480,12288,512]],[14176,[135168,69632,36864,20480,12288,1024]],[14177,[135168,69632,36864,20480,12288,1024]],[14178,[135168,69632,36864,20480,12288,2048]],[14179,[135168,69632,36864,20480,12288,2048]],[14180,[132096,66560,33792,17408,4096,3072]],[14181,[132096,66560,33792,17408,4096,3072]],[14182,[132096,66560,33792,17408,8192,3072]],[14183,[132096,66560,33792,17408,8192,3072]],[14184,[132096,66560,16384,9216,5120,3072]],[14185,[132096,66560,16384,9216,5120,3072]],[14186,[132096,66560,32768,9216,5120,3072]],[14187,[132096,66560,32768,9216,5120,3072]],[14188,[65536,33792,17408,9216,5120,3072]],[14189,[65536,33792,17408,9216,5120,3072]],[14190,[131072,33792,17408,9216,5120,3072]],[14191,[131072,33792,17408,9216,5120,3072]],[14192,[262144,33792,17408,9216,5120,3072]],[14193,[262144,33792,17408,9216,5120,3072]],[14194,[524288,33792,17408,9216,5120,3072]],[14195,[524288,33792,17408,9216,5120,3072]],[14196,[524288,262144,32768,16384,2048,1024,2,1]],[14197,[524288,262144,32768,16384,2048,1024,2,1]],[14201,[131076,65540,2068,1044,48,12]],[14202,[525316,263172,131076,65540,3072,12]],[14203,[525316,263172,131076,65540,3072,12]],[14204,[32769,16385,9217,5121,3072,3]],[14205,[524288,262144,8196,4100,132,68,12]],[14206,[132,68,37,21,12,3]],[14207,[524288,262144,512,256,128,64,32,16]],[14208,[524288,262144,512,256,128,64,32,16]],[14209,[32772,16388,132,68,32,16,12]],[14210,[131072,65536,512,256,128,64,8,4]],[14213,[8192,4096,128,64,32,16,8,4]],[14214,[131072,65536,2048,1024,128,64,8,4]],[14215,[131076,65540,8452,4356,768,12]],[14216,[131076,65540,8452,4356,768,12]],[14217,[32769,16385,2048,1024,129,65,3]],[14218,[131072,65536,512,256,8,4,2,1]],[14219,[131072,65536,512,256,8,4,2,1]],[14220,[524288,262144,131076,65540,132,68,12]],[14221,[524288,262144,131076,65540,132,68,12]],[14222,[2128,1104,592,336,192,48]],[14223,[2128,1104,592,336,192,48]],[14224,[131072,65536,8192,4096,8,4,2,1]],[14225,[131072,65536,32768,16384,8192,4096,2,1]],[14226,[32772,16388,8196,4100,512,256,12]],[14227,[32768,16384,8192,4096,2048,1024,2,1]],[14228,[32768,16384,8192,4096,2048,1024,2,1]],[14229,[32768,16384,8192,4096,2048,1024,2,1]],[14230,[131072,65536,2048,1024,8,4,2,1]],[14231,[131072,65536,2048,1024,8,4,2,1]],[14232,[135169,69633,12288,129,65,3]],[14233,[131072,65536,32768,16384,2048,1024,8,4]],[14234,[524288,262144,128,64,8,4,2,1]],[14235,[524288,262144,128,64,8,4,2,1]],[14236,[131072,65536,512,256,32,16,8,4]],[14237,[131072,65536,128,64,8,4,2,1]],[14238,[540673,278529,131073,65537,49152,3]],[14239,[8192,4096,2048,1024,512,256,8,4]],[14240,[131076,65540,32772,16388,512,256,12]],[14241,[131076,65540,32772,16388,512,256,12]],[14242,[131072,65536,32768,16384,2048,1024,8,4]],[14243,[131072,65536,128,64,8,4,2,1]],[14244,[524288,262144,131076,65540,132,68,12]],[14245,[524288,262144,8192,4096,32,16,2,1]],[14246,[524288,262144,8192,4096,32,16,2,1]],[14247,[32768,16384,2048,1024,512,256,32,16]],[14248,[32772,16388,132,68,32,16,12]],[14249,[524288,262144,32,16,8,4,2,1]],[14250,[524288,262144,32,16,8,4,2,1]],[14251,[524288,262144,32,16,8,4,2,1]],[14252,[524288,262144,32768,16384,128,64,2,1]],[14253,[32769,16385,8193,4097,512,256,3]],[14254,[32769,16385,8193,4097,512,256,3]],[14255,[32769,16385,8193,4097,512,256,3]],[14256,[32769,16385,529,273,48,3]],[14257,[524288,262144,8196,4100,132,68,12]],[14258,[524304,262160,32784,16400,512,256,48]],[14259,[32769,16385,2048,1024,129,65,3]],[14260,[32768,16384,8192,4096,32,16,8,4]],[14261,[32768,16384,2048,1024,512,256,2,1]],[14262,[32772,16388,8196,4100,36,20,12,1]],[14263,[32772,16388,8196,4100,36,20,12,1]],[14264,[32772,16388,8196,4100,36,20,12,1]],[14266,[132096,66560,33793,17409,3072]],[14267,[32832,16448,8256,4160,2112,1088,192,1]],[14269,[32832,16448,8256,4160,2112,1088,192,1]],[14270,[524293,262149,32772,16388,36,20,12]],[14272,[2065,1041,529,273,48]],[14273,[2065,1041,529,273,48]],[14274,[2113,1089,576,320,192]],[14277,[131137,65601,577,321,192]],[14283,[131137,65601,2112,1088,192]],[14288,[32832,16448,8256,4160,2112,1088,192,1]],[14290,[32772,16388,8196,4100,36,20,12,2]],[14291,[32772,16388,8196,4100,36,20,12,2]],[14292,[32772,16388,8196,4100,36,20,12,2]],[14294,[132096,66560,33794,17410,3072]],[14295,[32832,16448,8256,4160,2112,1088,192,2]],[14297,[32832,16448,8256,4160,2112,1088,192,2]],[14298,[524294,262150,32772,16388,36,20,12]],[14300,[2066,1042,530,274,48]],[14301,[2066,1042,530,274,48]],[14302,[2114,1090,576,320,192]],[14305,[131138,65602,578,322,192]],[14311,[131138,65602,2112,1088,192]],[14316,[32832,16448,8256,4160,2112,1088,192,2]],[14318,[32769,16385,8193,4097,33,17,4,3]],[14319,[32769,16385,8193,4097,33,17,4,3]],[14320,[32769,16385,8193,4097,33,17,4,3]],[14322,[132096,66560,33796,17412,3072]],[14323,[32832,16448,8256,4160,2112,1088,192,4]],[14325,[32832,16448,8256,4160,2112,1088,192,4]],[14326,[524293,262149,32769,16385,33,17,3]],[14328,[2068,1044,532,276,48]],[14329,[2068,1044,532,276,48]],[14330,[2116,1092,576,320,192]],[14333,[131140,65604,580,324,192]],[14339,[131140,65604,2112,1088,192]],[14344,[32832,16448,8256,4160,2112,1088,192,4]],[14346,[32769,16385,8193,4097,33,17,8,3]],[14347,[32769,16385,8193,4097,33,17,8,3]],[14348,[32769,16385,8193,4097,33,17,8,3]],[14350,[132096,66560,33800,17416,3072]],[14351,[32832,16448,8256,4160,2112,1088,192,8]],[14353,[32832,16448,8256,4160,2112,1088,192,8]],[14354,[524297,262153,32769,16385,33,17,3]],[14356,[2072,1048,536,280,48]],[14357,[2072,1048,536,280,48]],[14358,[2120,1096,576,320,192]],[14361,[131144,65608,584,328,192]],[14367,[131144,65608,2112,1088,192]],[14372,[32832,16448,8256,4160,2112,1088,192,8]],[14374,[32769,16385,8193,4097,16,9,5,3]],[14375,[32769,16385,8193,4097,16,9,5,3]],[14376,[32769,16385,8193,4097,16,9,5,3]],[14378,[132096,66560,33808,17424,3072]],[14379,[32832,16448,8256,4160,2112,1088,192,16]],[14381,[32832,16448,8256,4160,2112,1088,192,16]],[14382,[524305,262161,32769,16385,9,5,3]],[14384,[2068,1044,532,276,12]],[14385,[2068,1044,532,276,12]],[14386,[2128,1104,576,320,192]],[14389,[131152,65616,592,336,192]],[14395,[131152,65616,2112,1088,192]],[14400,[32832,16448,8256,4160,2112,1088,192,16]],[14402,[32769,16385,8193,4097,32,9,5,3]],[14403,[32769,16385,8193,4097,32,9,5,3]],[14404,[32769,16385,8193,4097,32,9,5,3]],[14406,[132096,66560,33824,17440,3072]],[14407,[32832,16448,8256,4160,2112,1088,192,32]],[14409,[32832,16448,8256,4160,2112,1088,192,32]],[14410,[524321,262177,32769,16385,9,5,3]],[14412,[2084,1060,548,292,12]],[14413,[2084,1060,548,292,12]],[14414,[2144,1120,576,320,192]],[14417,[131168,65632,608,352,192]],[14423,[131168,65632,2112,1088,192]],[14428,[32832,16448,8256,4160,2112,1088,192,32]],[14430,[32769,16385,8193,4097,64,9,5,3]],[14431,[32769,16385,8193,4097,64,9,5,3]],[14432,[32769,16385,8193,4097,64,9,5,3]],[14434,[132096,66560,33856,17472,3072]],[14435,[32784,16400,8208,4112,2064,1040,64,48]],[14437,[32784,16400,8208,4112,2064,1040,64,48]],[14438,[524353,262209,32769,16385,9,5,3]],[14440,[2116,1092,580,324,12]],[14441,[2116,1092,580,324,12]],[14442,[2128,1104,528,272,48]],[14445,[131152,65616,592,336,48]],[14451,[131152,65616,2064,1040,48]],[14456,[32784,16400,8208,4112,2064,1040,64,48]],[14458,[32769,16385,8193,4097,128,9,5,3]],[14459,[32769,16385,8193,4097,128,9,5,3]],[14460,[32769,16385,8193,4097,128,9,5,3]],[14462,[132096,66560,33920,17536,3072]],[14463,[32784,16400,8208,4112,2064,1040,128,48]],[14465,[32784,16400,8208,4112,2064,1040,128,48]],[14466,[524417,262273,32769,16385,9,5,3]],[14468,[2180,1156,644,388,12]],[14469,[2180,1156,644,388,12]],[14470,[2192,1168,528,272,48]],[14473,[131216,65680,656,400,48]],[14479,[131216,65680,2064,1040,48]],[14484,[32784,16400,8208,4112,2064,1040,128,48]],[14486,[32769,16385,8193,4097,256,9,5,3]],[14487,[32769,16385,8193,4097,256,9,5,3]],[14488,[32769,16385,8193,4097,256,9,5,3]],[14490,[132096,66560,34048,17664,3072]],[14491,[32784,16400,8208,4112,2064,1040,256,48]],[14493,[32784,16400,8208,4112,2064,1040,256,48]],[14494,[524545,262401,32769,16385,9,5,3]],[14496,[2112,1088,324,192,12]],[14497,[2112,1088,324,192,12]],[14498,[2320,1296,144,80,48]],[14501,[131136,65600,336,192,48]],[14507,[131344,65808,2064,1040,48]],[14512,[32784,16400,8208,4112,2064,1040,256,48]],[14514,[32769,16385,8193,4097,512,9,5,3]],[14515,[32769,16385,8193,4097,512,9,5,3]],[14516,[32769,16385,8193,4097,512,9,5,3]],[14518,[132096,66560,34304,17920,3072]],[14519,[32784,16400,8208,4112,2064,1040,512,48]],[14521,[32784,16400,8208,4112,2064,1040,512,48]],[14522,[524801,262657,32769,16385,9,5,3]],[14524,[2112,1088,580,192,12]],[14525,[2112,1088,580,192,12]],[14526,[2576,1552,144,80,48]],[14529,[131136,65600,592,192,48]],[14535,[131600,66064,2064,1040,48]],[14540,[32784,16400,8208,4112,2064,1040,512,48]],[14542,[32769,16385,8193,4097,1024,9,5,3]],[14543,[32769,16385,8193,4097,1024,9,5,3]],[14544,[32769,16385,8193,4097,1024,9,5,3]],[14546,[131328,65792,34048,17664,768]],[14547,[32784,16400,8208,4112,1024,528,272,48]],[14549,[32784,16400,8208,4112,1024,528,272,48]],[14550,[525313,263169,32769,16385,9,5,3]],[14552,[1092,576,320,192,12]],[14553,[1092,576,320,192,12]],[14554,[1296,768,144,80,48]],[14557,[131136,65600,1104,192,48]],[14563,[132112,66576,528,272,48]],[14568,[32784,16400,8208,4112,1024,528,272,48]],[14570,[32769,16385,8193,4097,2048,9,5,3]],[14571,[32769,16385,8193,4097,2048,9,5,3]],[14572,[32769,16385,8193,4097,2048,9,5,3]],[14574,[131328,65792,35072,18688,768]],[14575,[32784,16400,8208,4112,2048,528,272,48]],[14577,[32784,16400,8208,4112,2048,528,272,48]],[14578,[526337,264193,32769,16385,9,5,3]],[14580,[2116,576,320,192,12]],[14581,[2116,576,320,192,12]],[14582,[2320,768,144,80,48]],[14585,[131136,65600,2128,192,48]],[14591,[133136,67600,528,272,48]],[14596,[32784,16400,8208,4112,2048,528,272,48]],[14598,[32769,16385,4096,2049,1025,9,5,3]],[14599,[32769,16385,4096,2049,1025,9,5,3]],[14600,[32769,16385,4096,2049,1025,9,5,3]],[14602,[131328,65792,37120,20736,768]],[14603,[32784,16400,4096,2064,1040,528,272,48]],[14605,[32784,16400,4096,2064,1040,528,272,48]],[14606,[528385,266241,32769,16385,9,5,3]],[14608,[4164,576,320,192,12]],[14609,[4164,576,320,192,12]],[14610,[4368,768,144,80,48]],[14613,[131136,65600,4176,192,48]],[14619,[135184,69648,528,272,48]],[14624,[32784,16400,4096,2064,1040,528,272,48]],[14626,[32769,16385,8192,2049,1025,9,5,3]],[14627,[32769,16385,8192,2049,1025,9,5,3]],[14628,[32769,16385,8192,2049,1025,9,5,3]],[14630,[131328,65792,41216,24832,768]],[14631,[32784,16400,8192,2064,1040,528,272,48]],[14633,[32784,16400,8192,2064,1040,528,272,48]],[14634,[532481,270337,32769,16385,9,5,3]],[14636,[8260,576,320,192,12]],[14637,[8260,576,320,192,12]],[14638,[8464,768,144,80,48]],[14641,[131136,65600,8272,192,48]],[14647,[139280,73744,528,272,48]],[14652,[32784,16400,8192,2064,1040,528,272,48]],[14654,[16384,8193,4097,2049,1025,9,5,3]],[14655,[16384,8193,4097,2049,1025,9,5,3]],[14656,[16384,8193,4097,2049,1025,9,5,3]],[14658,[131328,65792,20736,12288,768]],[14659,[16384,8208,4112,2064,1040,528,272,48]],[14661,[16384,8208,4112,2064,1040,528,272,48]],[14662,[540673,278529,8193,4097,9,5,3]],[14664,[16452,576,320,192,12]],[14665,[16452,576,320,192,12]],[14666,[16656,768,144,80,48]],[14669,[131136,65600,16464,192,48]],[14675,[147472,81936,528,272,48]],[14680,[16384,8208,4112,2064,1040,528,272,48]],[14682,[32768,8193,4097,2049,1025,9,5,3]],[14683,[32768,8193,4097,2049,1025,9,5,3]],[14684,[32768,8193,4097,2049,1025,9,5,3]],[14686,[131328,65792,37120,12288,768]],[14687,[32768,8208,4112,2064,1040,528,272,48]],[14689,[32768,8208,4112,2064,1040,528,272,48]],[14690,[557057,294913,8193,4097,9,5,3]],[14692,[32836,576,320,192,12]],[14693,[32836,576,320,192,12]],[14694,[33040,768,144,80,48]],[14697,[131136,65600,32848,192,48]],[14703,[163856,98320,528,272,48]],[14708,[32768,8208,4112,2064,1040,528,272,48]],[14710,[65536,8193,4097,2049,1025,9,5,3]],[14711,[65536,8193,4097,2049,1025,9,5,3]],[14712,[65536,8193,4097,2049,1025,9,5,3]],[14714,[69888,33024,16640,12288,768]],[14715,[65536,8208,4112,2064,1040,528,272,48]],[14717,[65536,8208,4112,2064,1040,528,272,48]],[14718,[589825,327681,8193,4097,9,5,3]],[14720,[65604,576,320,192,12]],[14721,[65604,576,320,192,12]],[14722,[65808,768,144,80,48]],[14725,[65616,32832,16448,192,48]],[14731,[81936,49152,528,272,48]],[14736,[65536,8208,4112,2064,1040,528,272,48]],[14738,[131072,8193,4097,2049,1025,9,5,3]],[14739,[131072,8193,4097,2049,1025,9,5,3]],[14740,[131072,8193,4097,2049,1025,9,5,3]],[14742,[135424,33024,16640,12288,768]],[14743,[131072,8208,4112,2064,1040,528,272,48]],[14745,[131072,8208,4112,2064,1040,528,272,48]],[14746,[655361,393217,8193,4097,9,5,3]],[14748,[131140,576,320,192,12]],[14749,[131140,576,320,192,12]],[14750,[131344,768,144,80,48]],[14753,[131152,32832,16448,192,48]],[14759,[147472,49152,528,272,48]],[14764,[131072,8208,4112,2064,1040,528,272,48]],[14766,[262144,8193,4097,2049,1025,9,5,3]],[14767,[262144,8193,4097,2049,1025,9,5,3]],[14768,[262144,8193,4097,2049,1025,9,5,3]],[14770,[266496,33024,16640,12288,768]],[14771,[262144,8208,4112,2064,1040,528,272,48]],[14773,[262144,8208,4112,2064,1040,528,272,48]],[14774,[327681,196608,8193,4097,9,5,3]],[14776,[262212,576,320,192,12]],[14777,[262212,576,320,192,12]],[14778,[262416,768,144,80,48]],[14781,[262224,32832,16448,192,48]],[14787,[278544,49152,528,272,48]],[14792,[262144,8208,4112,2064,1040,528,272,48]],[14794,[524288,8193,4097,2049,1025,9,5,3]],[14795,[524288,8193,4097,2049,1025,9,5,3]],[14796,[524288,8193,4097,2049,1025,9,5,3]],[14798,[528640,33024,16640,12288,768]],[14799,[524288,8208,4112,2064,1040,528,272,48]],[14801,[524288,8208,4112,2064,1040,528,272,48]],[14802,[589825,196608,8193,4097,9,5,3]],[14804,[524356,576,320,192,12]],[14805,[524356,576,320,192,12]],[14806,[524560,768,144,80,48]],[14809,[524368,32832,16448,192,48]],[14815,[540688,49152,528,272,48]],[14820,[524288,8208,4112,2064,1040,528,272,48]],[14822,[517,261,133,69,37,21,15]],[14823,[524293,262149,131077,65541,32773,16389,15]],[14824,[524293,262149,131077,65541,8197,4101,15]],[14825,[518,262,134,70,38,22,15]],[14826,[524294,262150,131078,65542,32774,16390,15]],[14827,[524294,262150,131078,65542,8198,4102,15]],[14828,[516,260,132,68,38,21,12]],[14829,[524305,262161,131089,65553,32785,16401,51]],[14830,[524305,262161,131089,65553,8209,4113,51]],[14831,[516,260,132,68,37,22,12]],[14832,[524306,262162,131090,65554,32786,16402,51]],[14833,[524306,262162,131090,65554,8210,4114,51]],[14834,[516,260,134,69,36,20,12]],[14835,[524353,262209,131137,65601,32833,16449,195]],[14836,[524353,262209,131137,65601,8257,4161,195]],[14837,[516,260,133,70,36,20,12]],[14838,[524354,262210,131138,65602,32834,16450,195]],[14839,[524354,262210,131138,65602,8258,4162,195]],[14840,[518,261,132,68,36,20,12]],[14841,[524545,262401,131329,65793,33025,16641,771]],[14842,[524545,262401,131329,65793,8449,4353,771]],[14843,[517,262,132,68,36,20,12]],[14844,[524546,262402,131330,65794,33026,16642,771]],[14845,[524546,262402,131330,65794,8450,4354,771]],[14846,[2054,1029,132,68,36,20,12]],[14847,[525313,263169,132097,66561,33793,17409,3075]],[14848,[525313,263169,132097,66561,9217,5121,3075]],[14849,[2053,1030,132,68,36,20,12]],[14850,[525314,263170,132098,66562,33794,17410,3075]],[14851,[525314,263170,132098,66562,9218,5122,3075]],[14852,[8198,4101,132,68,36,20,12]],[14853,[528385,266241,135169,69633,36865,20481,12291]],[14854,[525312,263168,132096,66560,9218,5121,3072]],[14855,[8197,4102,132,68,36,20,12]],[14856,[528386,266242,135170,69634,36866,20482,12291]],[14857,[525312,263168,132096,66560,9217,5122,3072]],[14858,[32774,16389,132,68,36,20,12]],[14859,[528384,266240,135168,69632,36866,20481,12288]],[14860,[525312,263168,132096,66560,33794,17409,3072]],[14861,[32773,16390,132,68,36,20,12]],[14862,[528384,266240,135168,69632,36865,20482,12288]],[14863,[525312,263168,132096,66560,33793,17410,3072]],[14864,[131078,65541,132,68,36,20,12]],[14865,[528384,266240,135170,69633,36864,20480,12288]],[14866,[525312,263168,132098,66561,33792,17408,3072]],[14867,[131077,65542,132,68,36,20,12]],[14868,[528384,266240,135169,69634,36864,20480,12288]],[14869,[525312,263168,132097,66562,33792,17408,3072]],[14870,[524294,262149,132,68,36,20,12]],[14871,[528386,266241,135168,69632,36864,20480,12288]],[14872,[525314,263169,132096,66560,33792,17408,3072]],[14873,[524293,262150,132,68,36,20,12]],[14874,[528385,266242,135168,69632,36864,20480,12288]],[14875,[525313,263170,132096,66560,33792,17408,3072]],[14876,[513,257,129,65,41,21,3]],[14877,[524308,262164,131092,65556,32788,16404,60]],[14878,[524308,262164,131092,65556,8212,4116,60]],[14879,[513,257,129,65,37,25,3]],[14880,[524312,262168,131096,65560,32792,16408,60]],[14881,[524312,262168,131096,65560,8216,4120,60]],[14882,[513,257,137,69,33,17,3]],[14883,[524356,262212,131140,65604,32836,16452,204]],[14884,[524356,262212,131140,65604,8260,4164,204]],[14885,[513,257,133,73,33,17,3]],[14886,[524360,262216,131144,65608,32840,16456,204]],[14887,[524360,262216,131144,65608,8264,4168,204]],[14888,[521,261,129,65,33,17,3]],[14889,[524548,262404,131332,65796,33028,16644,780]],[14890,[524548,262404,131332,65796,8452,4356,780]],[14891,[517,265,129,65,33,17,3]],[14892,[524552,262408,131336,65800,33032,16648,780]],[14893,[524552,262408,131336,65800,8456,4360,780]],[14894,[2057,1029,129,65,33,17,3]],[14895,[525316,263172,132100,66564,33796,17412,3084]],[14896,[525316,263172,132100,66564,9220,5124,3084]],[14897,[2053,1033,129,65,33,17,3]],[14898,[525320,263176,132104,66568,33800,17416,3084]],[14899,[525320,263176,132104,66568,9224,5128,3084]],[14900,[8201,4101,129,65,33,17,3]],[14901,[528388,266244,135172,69636,36868,20484,12300]],[14902,[525312,263168,132096,66560,9224,5124,3072]],[14903,[8197,4105,129,65,33,17,3]],[14904,[528392,266248,135176,69640,36872,20488,12300]],[14905,[525312,263168,132096,66560,9220,5128,3072]],[14906,[32777,16389,129,65,33,17,3]],[14907,[528384,266240,135168,69632,36872,20484,12288]],[14908,[525312,263168,132096,66560,33800,17412,3072]],[14909,[32773,16393,129,65,33,17,3]],[14910,[528384,266240,135168,69632,36868,20488,12288]],[14911,[525312,263168,132096,66560,33796,17416,3072]],[14912,[131081,65541,129,65,33,17,3]],[14913,[528384,266240,135176,69636,36864,20480,12288]],[14914,[525312,263168,132104,66564,33792,17408,3072]],[14915,[131077,65545,129,65,33,17,3]],[14916,[528384,266240,135172,69640,36864,20480,12288]],[14917,[525312,263168,132100,66568,33792,17408,3072]],[14918,[524297,262149,129,65,33,17,3]],[14919,[528392,266244,135168,69632,36864,20480,12288]],[14920,[525320,263172,132096,66560,33792,17408,3072]],[14921,[524293,262153,129,65,33,17,3]],[14922,[528388,266248,135168,69632,36864,20480,12288]],[14923,[525316,263176,132096,66560,33792,17408,3072]],[14924,[513,257,161,81,9,5,3]],[14925,[524368,262224,131152,65616,32848,16464,240]],[14926,[524368,262224,131152,65616,8272,4176,240]],[14927,[513,257,145,97,9,5,3]],[14928,[524384,262240,131168,65632,32864,16480,240]],[14929,[524384,262240,131168,65632,8288,4192,240]],[14930,[545,273,129,65,9,5,3]],[14931,[524560,262416,131344,65808,33040,16656,816]],[14932,[524560,262416,131344,65808,8464,4368,816]],[14933,[529,289,129,65,9,5,3]],[14934,[524576,262432,131360,65824,33056,16672,816]],[14935,[524576,262432,131360,65824,8480,4384,816]],[14936,[2081,1041,129,65,9,5,3]],[14937,[525328,263184,132112,66576,33808,17424,3120]],[14938,[525328,263184,132112,66576,9232,5136,3120]],[14939,[2065,1057,129,65,9,5,3]],[14940,[525344,263200,132128,66592,33824,17440,3120]],[14941,[525344,263200,132128,66592,9248,5152,3120]],[14942,[8225,4113,129,65,9,5,3]],[14943,[528400,266256,135184,69648,36880,20496,12336]],[14944,[525312,263168,132096,66560,9248,5136,3072]],[14945,[8209,4129,129,65,9,5,3]],[14946,[528416,266272,135200,69664,36896,20512,12336]],[14947,[525312,263168,132096,66560,9232,5152,3072]],[14948,[32801,16401,129,65,9,5,3]],[14949,[528384,266240,135168,69632,36896,20496,12288]],[14950,[525312,263168,132096,66560,33824,17424,3072]],[14951,[32785,16417,129,65,9,5,3]],[14952,[528384,266240,135168,69632,36880,20512,12288]],[14953,[525312,263168,132096,66560,33808,17440,3072]],[14954,[131105,65553,129,65,9,5,3]],[14955,[528384,266240,135200,69648,36864,20480,12288]],[14956,[525312,263168,132128,66576,33792,17408,3072]],[14957,[131089,65569,129,65,9,5,3]],[14958,[528384,266240,135184,69664,36864,20480,12288]],[14959,[525312,263168,132112,66592,33792,17408,3072]],[14960,[524321,262161,129,65,9,5,3]],[14961,[528416,266256,135168,69632,36864,20480,12288]],[14962,[525344,263184,132096,66560,33792,17408,3072]],[14963,[524305,262177,129,65,9,5,3]],[14964,[528400,266272,135168,69632,36864,20480,12288]],[14965,[525328,263200,132096,66560,33792,17408,3072]],[14966,[641,321,33,17,9,5,3]],[14967,[524608,262464,131392,65856,33088,16704,960]],[14968,[524608,262464,131392,65856,8512,4416,960]],[14969,[577,385,33,17,9,5,3]],[14970,[524672,262528,131456,65920,33152,16768,960]],[14971,[524672,262528,131456,65920,8576,4480,960]],[14972,[2177,1089,33,17,9,5,3]],[14973,[525376,263232,132160,66624,33856,17472,3264]],[14974,[525376,263232,132160,66624,9280,5184,3264]],[14975,[2113,1153,33,17,9,5,3]],[14976,[525440,263296,132224,66688,33920,17536,3264]],[14977,[525440,263296,132224,66688,9344,5248,3264]],[14978,[8321,4161,33,17,9,5,3]],[14979,[528448,266304,135232,69696,36928,20544,12480]],[14980,[525312,263168,132096,66560,9344,5184,3072]],[14981,[8257,4225,33,17,9,5,3]],[14982,[528512,266368,135296,69760,36992,20608,12480]],[14983,[525312,263168,132096,66560,9280,5248,3072]],[14984,[32897,16449,33,17,9,5,3]],[14985,[528384,266240,135168,69632,36992,20544,12288]],[14986,[525312,263168,132096,66560,33920,17472,3072]],[14987,[32833,16513,33,17,9,5,3]],[14988,[528384,266240,135168,69632,36928,20608,12288]],[14989,[525312,263168,132096,66560,33856,17536,3072]],[14990,[131201,65601,33,17,9,5,3]],[14991,[528384,266240,135296,69696,36864,20480,12288]],[14992,[525312,263168,132224,66624,33792,17408,3072]],[14993,[131137,65665,33,17,9,5,3]],[14994,[528384,266240,135232,69760,36864,20480,12288]],[14995,[525312,263168,132160,66688,33792,17408,3072]],[14996,[524417,262209,33,17,9,5,3]],[14997,[528512,266304,135168,69632,36864,20480,12288]],[14998,[525440,263232,132096,66560,33792,17408,3072]],[14999,[524353,262273,33,17,9,5,3]],[15000,[528448,266368,135168,69632,36864,20480,12288]],[15001,[525376,263296,132096,66560,33792,17408,3072]],[15002,[2561,1281,33,17,9,5,3]],[15003,[525568,263424,132352,66816,34048,17664,3840]],[15004,[525568,263424,132352,66816,9472,5376,3840]],[15005,[2305,1537,33,17,9,5,3]],[15006,[525824,263680,132608,67072,34304,17920,3840]],[15007,[525824,263680,132608,67072,9728,5632,3840]],[15008,[8705,4353,33,17,9,5,3]],[15009,[528640,266496,135424,69888,37120,20736,13056]],[15010,[525312,263168,132096,66560,9728,5376,3072]],[15011,[8449,4609,33,17,9,5,3]],[15012,[528896,266752,135680,70144,37376,20992,13056]],[15013,[525312,263168,132096,66560,9472,5632,3072]],[15014,[33281,16641,33,17,9,5,3]],[15015,[528384,266240,135168,69632,37376,20736,12288]],[15016,[525312,263168,132096,66560,34304,17664,3072]],[15017,[33025,16897,33,17,9,5,3]],[15018,[528384,266240,135168,69632,37120,20992,12288]],[15019,[525312,263168,132096,66560,34048,17920,3072]],[15020,[131585,65793,33,17,9,5,3]],[15021,[528384,266240,135680,69888,36864,20480,12288]],[15022,[525312,263168,132608,66816,33792,17408,3072]],[15023,[131329,66049,33,17,9,5,3]],[15024,[528384,266240,135424,70144,36864,20480,12288]],[15025,[525312,263168,132352,67072,33792,17408,3072]],[15026,[524801,262401,33,17,9,5,3]],[15027,[528896,266496,135168,69632,36864,20480,12288]],[15028,[525824,263424,132096,66560,33792,17408,3072]],[15029,[524545,262657,33,17,9,5,3]],[15030,[528640,266752,135168,69632,36864,20480,12288]],[15031,[525568,263680,132096,66560,33792,17408,3072]],[15032,[10241,5121,33,17,9,5,3]],[15033,[529408,267264,136192,70656,37888,21504,15360]],[15034,[524544,262400,131328,65792,10496,5376,768]],[15035,[9217,6145,33,17,9,5,3]],[15036,[530432,268288,137216,71680,38912,22528,15360]],[15037,[524544,262400,131328,65792,9472,6400,768]],[15038,[34817,17409,33,17,9,5,3]],[15039,[528384,266240,135168,69632,38912,21504,12288]],[15040,[524544,262400,131328,65792,35072,17664,768]],[15041,[33793,18433,33,17,9,5,3]],[15042,[528384,266240,135168,69632,37888,22528,12288]],[15043,[524544,262400,131328,65792,34048,18688,768]],[15044,[133121,66561,33,17,9,5,3]],[15045,[528384,266240,137216,70656,36864,20480,12288]],[15046,[524544,262400,133376,66816,33024,16640,768]],[15047,[132097,67585,33,17,9,5,3]],[15048,[528384,266240,136192,71680,36864,20480,12288]],[15049,[524544,262400,132352,67840,33024,16640,768]],[15050,[526337,263169,33,17,9,5,3]],[15051,[530432,267264,135168,69632,36864,20480,12288]],[15052,[526592,263424,131328,65792,33024,16640,768]],[15053,[525313,264193,33,17,9,5,3]],[15054,[529408,268288,135168,69632,36864,20480,12288]],[15055,[525568,264448,131328,65792,33024,16640,768]],[15056,[40961,20481,33,17,9,5,3]],[15057,[525312,263168,132096,66560,41984,21504,3072]],[15058,[524544,262400,131328,65792,41216,20736,768]],[15059,[36865,24577,33,17,9,5,3]],[15060,[525312,263168,132096,66560,37888,25600,3072]],[15061,[524544,262400,131328,65792,37120,24832,768]],[15062,[139265,69633,33,17,9,5,3]],[15063,[525312,263168,140288,70656,33792,17408,3072]],[15064,[524544,262400,139520,69888,33024,16640,768]],[15065,[135169,73729,33,17,9,5,3]],[15066,[525312,263168,136192,74752,33792,17408,3072]],[15067,[524544,262400,135424,73984,33024,16640,768]],[15068,[532481,266241,33,17,9,5,3]],[15069,[533504,267264,132096,66560,33792,17408,3072]],[15070,[532736,266496,131328,65792,33024,16640,768]],[15071,[528385,270337,33,17,9,5,3]],[15072,[529408,271360,132096,66560,33792,17408,3072]],[15073,[528640,270592,131328,65792,33024,16640,768]],[15074,[163841,81921,33,17,9,5,3]],[15075,[525312,263168,164864,82944,9216,5120,3072]],[15076,[524544,262400,164096,82176,8448,4352,768]],[15077,[147457,98305,33,17,9,5,3]],[15078,[525312,263168,148480,99328,9216,5120,3072]],[15079,[524544,262400,147712,98560,8448,4352,768]],[15080,[557057,278529,33,17,9,5,3]],[15081,[558080,279552,132096,66560,9216,5120,3072]],[15082,[557312,278784,131328,65792,8448,4352,768]],[15083,[540673,294913,33,17,9,5,3]],[15084,[541696,295936,132096,66560,9216,5120,3072]],[15085,[540928,295168,131328,65792,8448,4352,768]],[15086,[655361,327681,33,17,9,5,3]],[15087,[656384,328704,33792,17408,9216,5120,3072]],[15088,[655616,327936,33024,16640,8448,4352,768]],[15089,[589825,393217,33,17,9,5,3]],[15090,[590848,394240,33792,17408,9216,5120,3072]],[15091,[590080,393472,33024,16640,8448,4352,768]],[15136,[33796,17412,9220,5124,3072,12]],[15137,[33796,17412,9220,5124,3072,12]],[15163,[524608,262464,131136,65600,768,192]],[15164,[131072,65536,8192,4096,2048,1024,8,4]],[15214,[786483,131072,65536,32768,16384,8192,4096,3843,128,64,8,4]],[15216,[32768,16384,8192,4096,8,4,2,1]],[15233,[32772,16388,8196,4100,512,256,12]],[15234,[131072,65536,8192,4096,8,4,2,1]],[15235,[32768,16384,8192,4096,2048,1024,32,16]],[15259,[131072,65536,8192,4096,2048,1024,2,1]],[15261,[528640,266496,36864,20480,12288,768]],[15275,[32768,16384,8192,4096,128,64,8,4]],[15276,[32768,16384,8192,4096,128,64,8,4]],[15281,[8193,4097,145,81,48,3]],[15282,[32769,16385,145,81,48,3]],[15283,[32769,16385,8193,4097,512,256,129,65,3]],[15284,[8256,4160,592,336,192,48]],[15299,[8256,4160,2116,1092,192,12]],[15300,[131329,65793,8193,4097,768,3]],[15303,[33025,16641,768,129,65,3]],[15304,[32768,16384,2048,1024,32,16,2,1]],[15305,[524545,262401,768,9,5,3]],[15307,[8192,4096,128,64,8,4,2,1]],[15308,[524288,262144,8192,4096,128,64,2,1]],[15313,[524305,262161,131089,65553,8209,4113,48]],[15317,[8197,4101,516,260,36,20,12]],[15321,[8197,4101,2053,1029,517,261,12]],[15323,[131089,65553,32785,16401,8209,4113,48]],[15327,[524306,262162,131090,65554,8210,4114,48]],[15331,[8198,4102,516,260,36,20,12]],[15335,[8198,4102,2054,1030,518,262,12]],[15337,[131090,65554,32786,16402,8210,4114,48]],[15341,[524308,262164,131092,65556,8212,4116,48]],[15345,[8197,4101,513,257,33,17,3]],[15349,[8197,4101,2053,1029,517,261,3]],[15351,[131092,65556,32788,16404,8212,4116,48]],[15355,[524312,262168,131096,65560,8216,4120,48]],[15359,[8201,4105,513,257,33,17,3]],[15363,[8201,4105,2057,1033,521,265,3]],[15365,[131096,65560,32792,16408,8216,4120,48]],[15369,[524308,262164,131092,65556,8212,4116,12]],[15373,[8209,4113,513,257,9,5,3]],[15377,[8209,4113,2065,1041,529,273,3]],[15379,[131092,65556,32788,16404,8212,4116,12]],[15383,[524324,262180,131108,65572,8228,4132,12]],[15387,[8225,4129,513,257,9,5,3]],[15391,[8225,4129,2081,1057,545,289,3]],[15393,[131108,65572,32804,16420,8228,4132,12]],[15397,[524356,262212,131140,65604,8260,4164,12]],[15401,[8257,4161,513,257,9,5,3]],[15405,[8257,4161,2113,1089,577,321,3]],[15407,[131140,65604,32836,16452,8260,4164,12]],[15411,[524420,262276,131204,65668,8324,4228,12]],[15415,[8321,4225,513,257,9,5,3]],[15419,[8321,4225,2177,1153,641,385,3]],[15421,[131204,65668,32900,16516,8324,4228,12]],[15425,[524548,262404,131332,65796,8452,4356,12]],[15429,[8449,4353,129,65,9,5,3]],[15433,[8256,4160,2112,1088,321,192,3]],[15435,[131332,65796,33028,16644,8452,4356,12]],[15439,[524804,262660,131588,66052,8708,4612,12]],[15443,[8705,4609,129,65,9,5,3]],[15447,[8256,4160,2112,1088,577,192,3]],[15449,[131588,66052,33284,16900,8708,4612,12]],[15453,[525316,263172,132100,66564,9220,5124,12]],[15457,[9217,5121,129,65,9,5,3]],[15461,[8256,4160,1089,576,320,192,3]],[15463,[132100,66564,33796,17412,9220,5124,12]],[15467,[526340,264196,133124,67588,10244,6148,12]],[15471,[10241,6145,129,65,9,5,3]],[15475,[8256,4160,2113,576,320,192,3]],[15477,[133124,67588,34820,18436,10244,6148,12]],[15481,[525312,263168,132096,66560,5124,3072,12]],[15485,[5121,3072,129,65,9,5,3]],[15491,[132096,66560,33792,17408,5124,3072,12]],[15495,[525312,263168,132096,66560,9220,3072,12]],[15499,[9217,3072,129,65,9,5,3]],[15505,[132096,66560,33792,17408,9220,3072,12]],[15509,[525312,263168,132096,66560,17412,3072,12]],[15513,[17409,3072,129,65,9,5,3]],[15519,[132096,66560,17412,9216,5120,3072,12]],[15523,[525312,263168,132096,66560,33796,3072,12]],[15527,[33793,3072,129,65,9,5,3]],[15533,[132096,66560,33796,9216,5120,3072,12]],[15537,[525312,263168,66564,33792,17408,3072,12]],[15541,[66561,3072,129,65,9,5,3]],[15547,[66564,33792,17408,9216,5120,3072,12]],[15551,[525312,263168,132100,33792,17408,3072,12]],[15555,[132097,3072,129,65,9,5,3]],[15561,[132100,33792,17408,9216,5120,3072,12]],[15565,[263172,132096,66560,33792,17408,3072,12]],[15569,[263169,3072,129,65,9,5,3]],[15575,[263172,33792,17408,9216,5120,3072,12]],[15579,[525316,132096,66560,33792,17408,3072,12]],[15583,[525313,3072,129,65,9,5,3]],[15589,[525316,33792,17408,9216,5120,3072,12]],[15590,[524288,262144,8192,4096,128,64,8,4,2,1]],[15591,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15595,[131072,65536,2048,1024,128,64,32,16,8,4]],[15596,[131072,65536,512,256,128,64,8,4,2,1]],[15598,[32768,16384,8192,4096,2048,1024,128,64,2,1]],[15600,[524288,262144,131072,65536,2048,1024,512,256,8,4]],[15603,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15605,[524288,262144,131072,65536,2048,1024,512,256,2,1]],[15606,[524288,262144,131072,65536,2048,1024,512,256,2,1]],[15607,[524288,262144,131072,65536,2048,1024,512,256,2,1]],[15608,[524288,262144,8192,4096,512,256,128,64,32,16]],[15613,[131076,65540,32772,16388,8196,4100,512,256,12]],[15614,[131076,65540,32772,16388,8196,4100,512,256,12]],[15615,[131076,65540,32772,16388,8196,4100,512,256,12]],[15621,[524288,262144,32768,16384,128,64,32,16,8,4]],[15622,[131072,65536,8192,4096,32,16,8,4]],[15623,[524288,262144,8192,4096,128,64,32,16,8,4]],[15624,[524288,262144,8192,4096,128,64,32,16,8,4]],[15625,[131072,65536,8192,4096,2048,1024,512,256,2,1]],[15626,[131072,65536,8192,4096,2048,1024,512,256,2,1]],[15627,[524288,262144,512,256,128,64,32,16,2,1]],[15628,[524288,262144,32768,16384,128,64,32,16,8,4]],[15629,[524288,262144,32768,16384,128,64,32,16,8,4]],[15630,[8192,4096,2048,1024,512,256,32,16,2,1]],[15631,[524288,262144,131072,65536,32768,16384,8192,4096,2,1]],[15632,[524288,262144,131072,65536,32768,16384,8192,4096,2,1]],[15633,[131072,65536,32768,16384,128,64,8,4,2,1]],[15634,[524288,262144,8192,4096,128,64,32,16,2,1]],[15635,[524288,262144,8192,4096,128,64,32,16,2,1]],[15636,[524288,262144,8192,4096,128,64,32,16,2,1]],[15637,[524288,262144,131072,65536,128,64,32,16,2,1]],[15638,[524288,262144,2048,1024,128,64,32,16,2,1]],[15639,[131072,65536,32768,16384,128,64,8,4,2,1]],[15642,[524288,262144,2048,1024,128,64,32,16,8,4]],[15645,[131072,65536,32768,16384,2048,1024,512,256,128,64]],[15647,[32768,16384,8192,4096,128,64,8,4,2,1]],[15649,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15650,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15651,[32768,16384,2048,1024,512,256,128,64,8,4]],[15652,[32768,16384,2048,1024,512,256,8,4,2,1]],[15653,[32768,16384,2048,1024,512,256,128,64,8,4]],[15654,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[15655,[524288,262144,32768,16384,8192,4096,32,16,8,4]],[15656,[524288,262144,32768,16384,8192,4096,32,16,8,4]],[15657,[524288,262144,32768,16384,8192,4096,32,16,8,4]],[15658,[524288,262144,32768,16384,8192,4096,32,16,8,4]],[15659,[524288,262144,32768,16384,8192,4096,32,16,8,4]],[15660,[524288,262144,32768,16384,8192,4096,128,64,8,4]],[15661,[524288,262144,32768,16384,8192,4096,128,64,8,4]],[15662,[524288,262144,32768,16384,8192,4096,128,64,8,4]],[15663,[32768,16384,8192,4096,2048,1024,512,256,32,16]],[15666,[524288,262144,8192,4096,128,64,32,16,2,1]],[15667,[524288,262144,8192,4096,128,64,32,16,2,1]],[15669,[32769,16385,8193,4097,512,256,129,65,3]],[15670,[789552,199692,32768,16384,8192,4096,512,256,128,64,2,1]],[15674,[524288,262144,8192,4096,2048,1024,32,16,2,1]],[15675,[524288,262144,32768,16384,2048,1024,128,64,32,16]],[15678,[131072,65536,32768,16384,128,64,8,4,2,1]],[15679,[131072,65536,32768,16384,128,64,8,4,2,1]],[15680,[524288,262144,32768,16384,2048,1024,512,256,32,16]],[15681,[524288,262144,32768,16384,8192,4096,2048,1024,32,16]],[15684,[524288,262144,8192,4096,512,256,32,16,2,1]],[15685,[524288,262144,8192,4096,128,64,32,16,8,4]],[15689,[524288,262144,2048,1024,512,256,8,4,2,1]],[15691,[524288,262144,32768,16384,128,64,32,16,8,4]],[15692,[524288,262144,131072,65536,32768,16384,12291,3843,128,64,32,16,8,4]],[15693,[524288,262144,131072,65536,32768,16384,2048,1024,512,256]],[15696,[8192,4096,2048,1024,512,256,8,4,2,1]],[15700,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15701,[32768,16384,8192,4096,2048,1024,512,256,8,4]],[15702,[524288,262144,2048,1024,512,256,128,64,32,16]],[15703,[524288,262144,2048,1024,512,256,128,64,32,16]],[15709,[131072,65536,8192,4096,32,16,8,4]],[15717,[131072,65536,512,256,32,16,8,4]],[15719,[8196,4100,512,256,132,68,12]],[15720,[131072,65536,32768,16384,2048,1024,512,256,8,4]],[15727,[32772,16388,8196,4100,132,68,36,20,12,1]],[15728,[524352,262208,2113,1089,576,320,192]],[15729,[524293,262149,32772,16388,8196,4100,36,20,12]],[15734,[2064,1040,528,272,144,80,48,1]],[15742,[32772,16388,8196,4100,132,68,36,20,12,2]],[15743,[524352,262208,2114,1090,576,320,192]],[15744,[524294,262150,32772,16388,8196,4100,36,20,12]],[15749,[2064,1040,528,272,144,80,48,2]],[15757,[32769,16385,8193,4097,129,65,33,17,4,3]],[15758,[524352,262208,2116,1092,576,320,192]],[15759,[524293,262149,32769,16385,8193,4097,33,17,3]],[15764,[2064,1040,528,272,144,80,48,4]],[15772,[32769,16385,8193,4097,129,65,33,17,8,3]],[15773,[524352,262208,2120,1096,576,320,192]],[15774,[524297,262153,32769,16385,8193,4097,33,17,3]],[15779,[2064,1040,528,272,144,80,48,8]],[15787,[32769,16385,8193,4097,129,65,16,9,5,3]],[15788,[524352,262208,2128,1104,576,320,192]],[15789,[524305,262161,32769,16385,8193,4097,9,5,3]],[15794,[2052,1028,516,260,132,68,16,12]],[15802,[32769,16385,8193,4097,129,65,32,9,5,3]],[15803,[524352,262208,2144,1120,576,320,192]],[15804,[524321,262177,32769,16385,8193,4097,9,5,3]],[15809,[2052,1028,516,260,132,68,32,12]],[15817,[32769,16385,8193,4097,64,33,17,9,5,3]],[15818,[524304,262160,2128,1104,528,272,48]],[15819,[524353,262209,32769,16385,8193,4097,9,5,3]],[15824,[2052,1028,516,260,64,36,20,12]],[15832,[32769,16385,8193,4097,128,33,17,9,5,3]],[15833,[524304,262160,2192,1168,528,272,48]],[15834,[524417,262273,32769,16385,8193,4097,9,5,3]],[15839,[2052,1028,516,260,128,36,20,12]],[15847,[32769,16385,8193,4097,256,33,17,9,5,3]],[15848,[524304,262160,2320,1296,144,80,48]],[15849,[524545,262401,32769,16385,8193,4097,9,5,3]],[15854,[2052,1028,256,132,68,36,20,12]],[15862,[32769,16385,8193,4097,512,33,17,9,5,3]],[15863,[524304,262160,2576,1552,144,80,48]],[15864,[524801,262657,32769,16385,8193,4097,9,5,3]],[15869,[2052,1028,512,132,68,36,20,12]],[15877,[32769,16385,8193,4097,1024,33,17,9,5,3]],[15878,[524304,262160,1296,768,144,80,48]],[15879,[525313,263169,32769,16385,8193,4097,9,5,3]],[15884,[1024,516,260,132,68,36,20,12]],[15892,[32769,16385,8193,4097,2048,33,17,9,5,3]],[15893,[524304,262160,2320,768,144,80,48]],[15894,[526337,264193,32769,16385,8193,4097,9,5,3]],[15899,[2048,516,260,132,68,36,20,12]],[15907,[32769,16385,4096,2049,1025,33,17,9,5,3]],[15908,[524304,262160,4368,768,144,80,48]],[15909,[528385,266241,32769,16385,2049,1025,9,5,3]],[15914,[4096,516,260,132,68,36,20,12]],[15922,[32769,16385,8192,2049,1025,33,17,9,5,3]],[15923,[524304,262160,8464,768,144,80,48]],[15924,[532481,270337,32769,16385,2049,1025,9,5,3]],[15929,[8192,516,260,132,68,36,20,12]],[15937,[16384,8193,4097,2049,1025,33,17,9,5,3]],[15938,[524304,262160,16656,768,144,80,48]],[15939,[540673,278529,8193,4097,2049,1025,9,5,3]],[15944,[16384,516,260,132,68,36,20,12]],[15952,[32768,8193,4097,2049,1025,33,17,9,5,3]],[15953,[524304,262160,33040,768,144,80,48]],[15954,[557057,294913,8193,4097,2049,1025,9,5,3]],[15959,[32768,516,260,132,68,36,20,12]],[15967,[65536,8193,4097,2049,1025,33,17,9,5,3]],[15968,[524304,262160,65808,768,144,80,48]],[15969,[589825,327681,8193,4097,2049,1025,9,5,3]],[15974,[65536,516,260,132,68,36,20,12]],[15982,[131072,8193,4097,2049,1025,33,17,9,5,3]],[15983,[524304,262160,131344,768,144,80,48]],[15984,[655361,393217,8193,4097,2049,1025,9,5,3]],[15989,[131072,516,260,132,68,36,20,12]],[15997,[262144,8193,4097,2049,1025,33,17,9,5,3]],[15998,[262416,131088,65552,768,144,80,48]],[15999,[327681,196608,8193,4097,2049,1025,9,5,3]],[16004,[262144,516,260,132,68,36,20,12]],[16012,[524288,8193,4097,2049,1025,33,17,9,5,3]],[16013,[524560,131088,65552,768,144,80,48]],[16014,[589825,196608,8193,4097,2049,1025,9,5,3]],[16019,[524288,516,260,132,68,36,20,12]],[16021,[524293,262149,32773,16389,517,261,15]],[16022,[2053,1029,517,261,133,69,37,21,15]],[16023,[524293,262149,131077,65541,32773,16389,8197,4101,15]],[16024,[524294,262150,32774,16390,518,262,15]],[16025,[2054,1030,518,262,134,70,38,22,15]],[16026,[524294,262150,131078,65542,32774,16390,8198,4102,15]],[16027,[524305,262161,32785,16401,529,273,51]],[16028,[2052,1028,516,260,132,68,38,21,12]],[16029,[524305,262161,131089,65553,32785,16401,8209,4113,51]],[16030,[524306,262162,32786,16402,530,274,51]],[16031,[2052,1028,516,260,132,68,37,22,12]],[16032,[524306,262162,131090,65554,32786,16402,8210,4114,51]],[16033,[524353,262209,32833,16449,577,321,195]],[16034,[2052,1028,516,260,134,69,36,20,12]],[16035,[524353,262209,131137,65601,32833,16449,8257,4161,195]],[16036,[524354,262210,32834,16450,578,322,195]],[16037,[2052,1028,516,260,133,70,36,20,12]],[16038,[524354,262210,131138,65602,32834,16450,8258,4162,195]],[16039,[524352,262208,32832,16448,578,321,192]],[16040,[2052,1028,518,261,132,68,36,20,12]],[16041,[524545,262401,131329,65793,33025,16641,8449,4353,771]],[16042,[524352,262208,32832,16448,577,322,192]],[16043,[2052,1028,517,262,132,68,36,20,12]],[16044,[524546,262402,131330,65794,33026,16642,8450,4354,771]],[16045,[524352,262208,32832,16448,2114,1089,192]],[16046,[2054,1029,516,260,132,68,36,20,12]],[16047,[525313,263169,132097,66561,33793,17409,9217,5121,3075]],[16048,[524352,262208,32832,16448,2113,1090,192]],[16049,[2053,1030,516,260,132,68,36,20,12]],[16050,[525314,263170,132098,66562,33794,17410,9218,5122,3075]],[16051,[524352,262208,32832,16448,8258,4161,192]],[16052,[8198,4101,516,260,132,68,36,20,12]],[16053,[525312,263168,132096,66560,33792,17408,9218,5121,3072]],[16054,[524352,262208,32832,16448,8257,4162,192]],[16055,[8197,4102,516,260,132,68,36,20,12]],[16056,[525312,263168,132096,66560,33792,17408,9217,5122,3072]],[16057,[524352,262208,32834,16449,8256,4160,192]],[16058,[32774,16389,516,260,132,68,36,20,12]],[16059,[525312,263168,132096,66560,33794,17409,9216,5120,3072]],[16060,[524352,262208,32833,16450,8256,4160,192]],[16061,[32773,16390,516,260,132,68,36,20,12]],[16062,[525312,263168,132096,66560,33793,17410,9216,5120,3072]],[16063,[524352,262208,131138,65601,8256,4160,192]],[16064,[131078,65541,516,260,132,68,36,20,12]],[16065,[525312,263168,132098,66561,33792,17408,9216,5120,3072]],[16066,[524352,262208,131137,65602,8256,4160,192]],[16067,[131077,65542,516,260,132,68,36,20,12]],[16068,[525312,263168,132097,66562,33792,17408,9216,5120,3072]],[16069,[524354,262209,131136,65600,8256,4160,192]],[16070,[524294,262149,516,260,132,68,36,20,12]],[16071,[525314,263169,132096,66560,33792,17408,9216,5120,3072]],[16072,[524353,262210,131136,65600,8256,4160,192]],[16073,[524293,262150,516,260,132,68,36,20,12]],[16074,[525313,263170,132096,66560,33792,17408,9216,5120,3072]],[16075,[524308,262164,32788,16404,532,276,60]],[16076,[2049,1025,513,257,129,65,41,21,3]],[16077,[524308,262164,131092,65556,32788,16404,8212,4116,60]],[16078,[524312,262168,32792,16408,536,280,60]],[16079,[2049,1025,513,257,129,65,37,25,3]],[16080,[524312,262168,131096,65560,32792,16408,8216,4120,60]],[16081,[524356,262212,32836,16452,580,324,204]],[16082,[2049,1025,513,257,137,69,33,17,3]],[16083,[524356,262212,131140,65604,32836,16452,8260,4164,204]],[16084,[524360,262216,32840,16456,584,328,204]],[16085,[2049,1025,513,257,133,73,33,17,3]],[16086,[524360,262216,131144,65608,32840,16456,8264,4168,204]],[16087,[524352,262208,32832,16448,584,324,192]],[16088,[2049,1025,521,261,129,65,33,17,3]],[16089,[524548,262404,131332,65796,33028,16644,8452,4356,780]],[16090,[524352,262208,32832,16448,580,328,192]],[16091,[2049,1025,517,265,129,65,33,17,3]],[16092,[524552,262408,131336,65800,33032,16648,8456,4360,780]],[16093,[524352,262208,32832,16448,2120,1092,192]],[16094,[2057,1029,513,257,129,65,33,17,3]],[16095,[525316,263172,132100,66564,33796,17412,9220,5124,3084]],[16096,[524352,262208,32832,16448,2116,1096,192]],[16097,[2053,1033,513,257,129,65,33,17,3]],[16098,[525320,263176,132104,66568,33800,17416,9224,5128,3084]],[16099,[524352,262208,32832,16448,8264,4164,192]],[16100,[8201,4101,513,257,129,65,33,17,3]],[16101,[525312,263168,132096,66560,33792,17408,9224,5124,3072]],[16102,[524352,262208,32832,16448,8260,4168,192]],[16103,[8197,4105,513,257,129,65,33,17,3]],[16104,[525312,263168,132096,66560,33792,17408,9220,5128,3072]],[16105,[524352,262208,32840,16452,8256,4160,192]],[16106,[32777,16389,513,257,129,65,33,17,3]],[16107,[525312,263168,132096,66560,33800,17412,9216,5120,3072]],[16108,[524352,262208,32836,16456,8256,4160,192]],[16109,[32773,16393,513,257,129,65,33,17,3]],[16110,[525312,263168,132096,66560,33796,17416,9216,5120,3072]],[16111,[524352,262208,131144,65604,8256,4160,192]],[16112,[131081,65541,513,257,129,65,33,17,3]],[16113,[525312,263168,132104,66564,33792,17408,9216,5120,3072]],[16114,[524352,262208,131140,65608,8256,4160,192]],[16115,[131077,65545,513,257,129,65,33,17,3]],[16116,[525312,263168,132100,66568,33792,17408,9216,5120,3072]],[16117,[524360,262212,131136,65600,8256,4160,192]],[16118,[524297,262149,513,257,129,65,33,17,3]],[16119,[525320,263172,132096,66560,33792,17408,9216,5120,3072]],[16120,[524356,262216,131136,65600,8256,4160,192]],[16121,[524293,262153,513,257,129,65,33,17,3]],[16122,[525316,263176,132096,66560,33792,17408,9216,5120,3072]],[16123,[524368,262224,32848,16464,592,336,240]],[16124,[2049,1025,513,257,161,81,9,5,3]],[16125,[524368,262224,131152,65616,32848,16464,8272,4176,240]],[16126,[524384,262240,32864,16480,608,352,240]],[16127,[2049,1025,513,257,145,97,9,5,3]],[16128,[524384,262240,131168,65632,32864,16480,8288,4192,240]],[16129,[524352,262208,32832,16448,608,336,192]],[16130,[2049,1025,545,273,129,65,9,5,3]],[16131,[524560,262416,131344,65808,33040,16656,8464,4368,816]],[16132,[524352,262208,32832,16448,592,352,192]],[16133,[2049,1025,529,289,129,65,9,5,3]],[16134,[524576,262432,131360,65824,33056,16672,8480,4384,816]],[16135,[524352,262208,32832,16448,2144,1104,192]],[16136,[2081,1041,513,257,129,65,9,5,3]],[16137,[525328,263184,132112,66576,33808,17424,9232,5136,3120]],[16138,[524352,262208,32832,16448,2128,1120,192]],[16139,[2065,1057,513,257,129,65,9,5,3]],[16140,[525344,263200,132128,66592,33824,17440,9248,5152,3120]],[16141,[524352,262208,32832,16448,8288,4176,192]],[16142,[8225,4113,513,257,129,65,9,5,3]],[16143,[525312,263168,132096,66560,33792,17408,9248,5136,3072]],[16144,[524352,262208,32832,16448,8272,4192,192]],[16145,[8209,4129,513,257,129,65,9,5,3]],[16146,[525312,263168,132096,66560,33792,17408,9232,5152,3072]],[16147,[524352,262208,32864,16464,8256,4160,192]],[16148,[32801,16401,513,257,129,65,9,5,3]],[16149,[525312,263168,132096,66560,33824,17424,9216,5120,3072]],[16150,[524352,262208,32848,16480,8256,4160,192]],[16151,[32785,16417,513,257,129,65,9,5,3]],[16152,[525312,263168,132096,66560,33808,17440,9216,5120,3072]],[16153,[524352,262208,131168,65616,8256,4160,192]],[16154,[131105,65553,513,257,129,65,9,5,3]],[16155,[525312,263168,132128,66576,33792,17408,9216,5120,3072]],[16156,[524352,262208,131152,65632,8256,4160,192]],[16157,[131089,65569,513,257,129,65,9,5,3]],[16158,[525312,263168,132112,66592,33792,17408,9216,5120,3072]],[16159,[524384,262224,131136,65600,8256,4160,192]],[16160,[524321,262161,513,257,129,65,9,5,3]],[16161,[525344,263184,132096,66560,33792,17408,9216,5120,3072]],[16162,[524368,262240,131136,65600,8256,4160,192]],[16163,[524305,262177,513,257,129,65,9,5,3]],[16164,[525328,263200,132096,66560,33792,17408,9216,5120,3072]],[16165,[524304,262160,32784,16400,656,336,48]],[16166,[2049,1025,641,321,33,17,9,5,3]],[16167,[524608,262464,131392,65856,33088,16704,8512,4416,960]],[16168,[524304,262160,32784,16400,592,400,48]],[16169,[2049,1025,577,385,33,17,9,5,3]],[16170,[524672,262528,131456,65920,33152,16768,8576,4480,960]],[16171,[524304,262160,32784,16400,2192,1104,48]],[16172,[2177,1089,513,257,33,17,9,5,3]],[16173,[525376,263232,132160,66624,33856,17472,9280,5184,3264]],[16174,[524304,262160,32784,16400,2128,1168,48]],[16175,[2113,1153,513,257,33,17,9,5,3]],[16176,[525440,263296,132224,66688,33920,17536,9344,5248,3264]],[16177,[524304,262160,32784,16400,8336,4176,48]],[16178,[8321,4161,513,257,33,17,9,5,3]],[16179,[525312,263168,132096,66560,33792,17408,9344,5184,3072]],[16180,[524304,262160,32784,16400,8272,4240,48]],[16181,[8257,4225,513,257,33,17,9,5,3]],[16182,[525312,263168,132096,66560,33792,17408,9280,5248,3072]],[16183,[524304,262160,32912,16464,8208,4112,48]],[16184,[32897,16449,513,257,33,17,9,5,3]],[16185,[525312,263168,132096,66560,33920,17472,9216,5120,3072]],[16186,[524304,262160,32848,16528,8208,4112,48]],[16187,[32833,16513,513,257,33,17,9,5,3]],[16188,[525312,263168,132096,66560,33856,17536,9216,5120,3072]],[16189,[524304,262160,131216,65616,8208,4112,48]],[16190,[131201,65601,513,257,33,17,9,5,3]],[16191,[525312,263168,132224,66624,33792,17408,9216,5120,3072]],[16192,[524304,262160,131152,65680,8208,4112,48]],[16193,[131137,65665,513,257,33,17,9,5,3]],[16194,[525312,263168,132160,66688,33792,17408,9216,5120,3072]],[16195,[524432,262224,131088,65552,8208,4112,48]],[16196,[524417,262209,513,257,33,17,9,5,3]],[16197,[525440,263232,132096,66560,33792,17408,9216,5120,3072]],[16198,[524368,262288,131088,65552,8208,4112,48]],[16199,[524353,262273,513,257,33,17,9,5,3]],[16200,[525376,263296,132096,66560,33792,17408,9216,5120,3072]],[16201,[524304,262160,32784,16400,2576,1296,48]],[16202,[2561,1281,129,65,33,17,9,5,3]],[16203,[525568,263424,132352,66816,34048,17664,9472,5376,3840]],[16204,[524304,262160,32784,16400,2320,1552,48]],[16205,[2305,1537,129,65,33,17,9,5,3]],[16206,[525824,263680,132608,67072,34304,17920,9728,5632,3840]],[16207,[524304,262160,32784,16400,8720,4368,48]],[16208,[8705,4353,129,65,33,17,9,5,3]],[16209,[525312,263168,132096,66560,33792,17408,9728,5376,3072]],[16210,[524304,262160,32784,16400,8464,4624,48]],[16211,[8449,4609,129,65,33,17,9,5,3]],[16212,[525312,263168,132096,66560,33792,17408,9472,5632,3072]],[16213,[524304,262160,33296,16656,8208,4112,48]],[16214,[33281,16641,129,65,33,17,9,5,3]],[16215,[525312,263168,132096,66560,34304,17664,9216,5120,3072]],[16216,[524304,262160,33040,16912,8208,4112,48]],[16217,[33025,16897,129,65,33,17,9,5,3]],[16218,[525312,263168,132096,66560,34048,17920,9216,5120,3072]],[16219,[524304,262160,131600,65808,8208,4112,48]],[16220,[131585,65793,129,65,33,17,9,5,3]],[16221,[525312,263168,132608,66816,33792,17408,9216,5120,3072]],[16222,[524304,262160,131344,66064,8208,4112,48]],[16223,[131329,66049,129,65,33,17,9,5,3]],[16224,[525312,263168,132352,67072,33792,17408,9216,5120,3072]],[16225,[524816,262416,131088,65552,8208,4112,48]],[16226,[524801,262401,129,65,33,17,9,5,3]],[16227,[525824,263424,132096,66560,33792,17408,9216,5120,3072]],[16228,[524560,262672,131088,65552,8208,4112,48]],[16229,[524545,262657,129,65,33,17,9,5,3]],[16230,[525568,263680,132096,66560,33792,17408,9216,5120,3072]],[16231,[524304,262160,32784,16400,10256,5136,48]],[16232,[10241,5121,129,65,33,17,9,5,3]],[16233,[524544,262400,131328,65792,33024,16640,10496,5376,768]],[16234,[524304,262160,32784,16400,9232,6160,48]],[16235,[9217,6145,129,65,33,17,9,5,3]],[16236,[524544,262400,131328,65792,33024,16640,9472,6400,768]],[16237,[524304,262160,34832,17424,8208,4112,48]],[16238,[34817,17409,129,65,33,17,9,5,3]],[16239,[524544,262400,131328,65792,35072,17664,8448,4352,768]],[16240,[524304,262160,33808,18448,8208,4112,48]],[16241,[33793,18433,129,65,33,17,9,5,3]],[16242,[524544,262400,131328,65792,34048,18688,8448,4352,768]],[16243,[524304,262160,133136,66576,8208,4112,48]],[16244,[133121,66561,129,65,33,17,9,5,3]],[16245,[524544,262400,133376,66816,33024,16640,8448,4352,768]],[16246,[524304,262160,132112,67600,8208,4112,48]],[16247,[132097,67585,129,65,33,17,9,5,3]],[16248,[524544,262400,132352,67840,33024,16640,8448,4352,768]],[16249,[526352,263184,131088,65552,8208,4112,48]],[16250,[526337,263169,129,65,33,17,9,5,3]],[16251,[526592,263424,131328,65792,33024,16640,8448,4352,768]],[16252,[525328,264208,131088,65552,8208,4112,48]],[16253,[525313,264193,129,65,33,17,9,5,3]],[16254,[525568,264448,131328,65792,33024,16640,8448,4352,768]],[16255,[524304,262160,40976,20496,2064,1040,48]],[16256,[40961,20481,129,65,33,17,9,5,3]],[16257,[524544,262400,131328,65792,41216,20736,2304,1280,768]],[16258,[524304,262160,36880,24592,2064,1040,48]],[16259,[36865,24577,129,65,33,17,9,5,3]],[16260,[524544,262400,131328,65792,37120,24832,2304,1280,768]],[16261,[524304,262160,139280,69648,2064,1040,48]],[16262,[139265,69633,129,65,33,17,9,5,3]],[16263,[524544,262400,139520,69888,33024,16640,2304,1280,768]],[16264,[524304,262160,135184,73744,2064,1040,48]],[16265,[135169,73729,129,65,33,17,9,5,3]],[16266,[524544,262400,135424,73984,33024,16640,2304,1280,768]],[16267,[532496,266256,131088,65552,2064,1040,48]],[16268,[532481,266241,129,65,33,17,9,5,3]],[16269,[532736,266496,131328,65792,33024,16640,2304,1280,768]],[16270,[528400,270352,131088,65552,2064,1040,48]],[16271,[528385,270337,129,65,33,17,9,5,3]],[16272,[528640,270592,131328,65792,33024,16640,2304,1280,768]],[16273,[524304,262160,163856,81936,2064,1040,48]],[16274,[163841,81921,129,65,33,17,9,5,3]],[16275,[524544,262400,164096,82176,8448,4352,2304,1280,768]],[16276,[524304,262160,147472,98320,2064,1040,48]],[16277,[147457,98305,129,65,33,17,9,5,3]],[16278,[524544,262400,147712,98560,8448,4352,2304,1280,768]],[16279,[557072,278544,131088,65552,2064,1040,48]],[16280,[557057,278529,129,65,33,17,9,5,3]],[16281,[557312,278784,131328,65792,8448,4352,2304,1280,768]],[16282,[540688,294928,131088,65552,2064,1040,48]],[16283,[540673,294913,129,65,33,17,9,5,3]],[16284,[540928,295168,131328,65792,8448,4352,2304,1280,768]],[16285,[655376,327696,32784,16400,2064,1040,48]],[16286,[655361,327681,129,65,33,17,9,5,3]],[16287,[655616,327936,33024,16640,8448,4352,2304,1280,768]],[16288,[589840,393232,32784,16400,2064,1040,48]],[16289,[589825,393217,129,65,33,17,9,5,3]],[16290,[590080,393472,33024,16640,8448,4352,2304,1280,768]],[16371,[131136,65600,2112,1088,192,32,16]],[16372,[524288,262144,258051,512,256,128,64,32,16,8,4]],[16373,[131072,65536,512,256,128,64,8,4,2,1]],[16374,[524288,262144,131072,65536,2048,1024,512,256,8,4]],[16376,[32768,16384,8192,4096,2048,1024,128,64,2,1]],[16377,[32768,16384,8192,4096,2048,1024,128,64,2,1]],[16380,[131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[16382,[524288,262144,32768,16384,128,64,8,4,2,1]],[16385,[131072,65536,8192,4096,128,64,8,4,2,1]],[16386,[524288,262144,8192,4096,32,16,8,4,2,1]],[16387,[524288,262144,2048,1024,512,256,128,64,32,16]],[16392,[524304,262160,132112,66576,3072,144,80,48]],[16396,[835824,131072,65536,8192,4096,512,256,8,4,2,1]],[16398,[524288,262144,32768,16384,128,64,8,4,2,1]],[16399,[524288,262144,32768,16384,8192,4096,8,4,2,1]],[16402,[524288,262144,8192,4096,32,16,8,4,2,1]],[16404,[524288,262144,512,256,128,64,32,16,2,1]],[16409,[524288,262144,197388,32768,16384,8192,4096,3084,128,64,32,16,2,1]],[16417,[789552,131072,65536,32768,16384,8192,4096,816,128,64,8,4,2,1]],[16427,[524288,262144,197379,32768,16384,8192,4096,3843,128,64,32,16,8,4]],[16428,[32768,16384,8192,4096,128,64,32,16,8,4]],[16429,[32768,16384,8192,4096,128,64,32,16,8,4]],[16430,[32768,16384,8192,4096,128,64,32,16,8,4]],[16431,[524288,262144,8192,4096,128,64,8,4,2,1]],[16436,[786447,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,60]],[16440,[32768,16384,2048,1024,512,256,8,4,2,1]],[16444,[524288,262144,196623,49155,8192,4096,2048,1024,512,256,128,64,32,16]],[16446,[131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[16447,[131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[16451,[524288,262144,8192,4096,128,64,8,4,2,1]],[16452,[131073,65537,8193,4097,145,81,48,3]],[16457,[524288,262144,512,256,128,64,32,16,2,1]],[16458,[524288,262144,512,256,128,64,32,16,2,1]],[16459,[524288,262144,8192,4096,512,256,32,16,2,1]],[16462,[786627,131072,65536,32768,16384,8192,4096,2048,1024,512,256,51,8,4]],[16463,[131329,65793,8193,4097,768,129,65,3]],[16464,[524545,262401,32769,16385,8193,4097,768,3]],[16465,[524288,262144,2048,1024,128,64,32,16,2,1]],[16466,[524288,262144,2048,1024,128,64,32,16,2,1]],[16469,[32768,16384,8192,4096,2048,1024,512,256,32,16]],[16471,[524288,262144,131072,65536,32,16,8,4,2,1]],[16472,[524288,262144,131072,65536,32,16,8,4,2,1]],[16473,[524608,262464,131136,65600,32832,16448,768,192]],[16478,[131072,65536,8192,4096,128,64,8,4,2,1]],[16479,[131072,65536,8192,4096,128,64,8,4,2,1]],[16480,[131072,65536,8192,4096,128,64,8,4,2,1]],[16481,[131072,65536,8192,4096,128,64,8,4,2,1]],[16484,[8193,4097,529,273,129,65,48,3]],[16485,[524545,262401,131073,65537,768,9,5,3]],[16486,[32832,16448,8256,4160,2116,1092,192,12]],[16487,[540672,278528,148480,82944,49152,3072]],[16491,[525316,263172,131076,65540,3072,132,68,12]],[16493,[8196,4100,512,256,132,68,12]],[16494,[995520,32768,16384,512,256,32,16,8,4,2,1]],[16495,[524289,262145,135169,69633,12288,129,65,3]],[16496,[131072,65536,2048,1024,128,64,32,16,8,4]],[16497,[8192,4096,2048,1024,512,256,8,4,2,1]],[16507,[983100,32832,16448,8256,4160,2112,1088,576,320,192,1]],[16509,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,1]],[16519,[983100,32832,16448,8256,4160,2112,1088,576,320,192,2]],[16521,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,2]],[16531,[983091,32832,16448,8256,4160,2112,1088,576,320,192,4]],[16533,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,4]],[16543,[983091,32832,16448,8256,4160,2112,1088,576,320,192,8]],[16545,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,8]],[16555,[983055,32832,16448,8256,4160,2112,1088,576,320,192,16]],[16557,[524292,262148,131076,65540,32772,16388,8196,4100,4035,16,12]],[16567,[983055,32832,16448,8256,4160,2112,1088,576,320,192,32]],[16569,[524292,262148,131076,65540,32772,16388,8196,4100,4035,32,12]],[16579,[983055,32784,16400,8208,4112,2064,1040,528,272,64,48]],[16581,[524292,262148,131076,65540,32772,16388,8196,4100,3891,64,12]],[16591,[983055,32784,16400,8208,4112,2064,1040,528,272,128,48]],[16593,[524292,262148,131076,65540,32772,16388,8196,4100,3891,128,12]],[16603,[983055,32784,16400,8208,4112,2064,1040,256,144,80,48]],[16605,[524292,262148,131076,65540,32772,16388,8196,4100,3315,256,12]],[16615,[983055,32784,16400,8208,4112,2064,1040,512,144,80,48]],[16617,[524292,262148,131076,65540,32772,16388,8196,4100,3315,512,12]],[16627,[983055,32784,16400,8208,4112,1024,528,272,144,80,48]],[16629,[524292,262148,131076,65540,32772,16388,8196,4100,1024,1011,12]],[16639,[983055,32784,16400,8208,4112,2048,528,272,144,80,48]],[16641,[524292,262148,131076,65540,32772,16388,8196,4100,2048,1011,12]],[16651,[983055,32784,16400,4096,2064,1040,528,272,144,80,48]],[16653,[524292,262148,131076,65540,32772,16388,4096,2052,1028,1011,12]],[16663,[983055,32784,16400,8192,2064,1040,528,272,144,80,48]],[16665,[524292,262148,131076,65540,32772,16388,8192,2052,1028,1011,12]],[16675,[983055,16384,8208,4112,2064,1040,528,272,144,80,48]],[16677,[524292,262148,131076,65540,16384,8196,4100,2052,1028,1011,12]],[16687,[983055,32768,8208,4112,2064,1040,528,272,144,80,48]],[16689,[524292,262148,131076,65540,32768,8196,4100,2052,1028,1011,12]],[16699,[835599,65536,8208,4112,2064,1040,528,272,144,80,48]],[16701,[524292,262148,65536,32772,16388,8196,4100,2052,1028,1011,12]],[16711,[835599,131072,8208,4112,2064,1040,528,272,144,80,48]],[16713,[524292,262148,131072,32772,16388,8196,4100,2052,1028,1011,12]],[16723,[262144,245775,8208,4112,2064,1040,528,272,144,80,48]],[16725,[262144,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[16735,[524288,245775,8208,4112,2064,1040,528,272,144,80,48]],[16737,[524288,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[16759,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[16761,[524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[16762,[524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[16764,[524288,262144,131072,65536,32768,16384,128,64,32,16,8,4]],[16766,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[16768,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16]],[16769,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16]],[16770,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16]],[16774,[524288,262144,8192,4096,2048,1024,512,256,32,16,8,4]],[16775,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16777,[524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[16781,[524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[16782,[524288,262144,32768,16384,8192,4096,128,64,8,4,2,1]],[16783,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[16789,[524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[16790,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16792,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[16793,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[16794,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[16795,[524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[16796,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[16798,[524288,262144,32768,16384,8192,4096,128,64,8,4,2,1]],[16801,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[16802,[524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[16808,[524288,262144,32768,16384,8192,4096,128,64,8,4,2,1]],[16809,[524288,262144,196656,32768,16384,8192,4096,3888,128,64,8,4,2,1]],[16814,[524288,262144,32768,16384,8192,4096,2048,1024,128,64,32,16]],[16817,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[16827,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[16828,[524288,262144,131072,65536,8192,4096,128,64,32,16,8,4]],[16829,[524288,262144,131072,65536,49155,8192,4096,3843,128,64,32,16,8,4]],[16830,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16]],[16831,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16]],[16833,[524288,262144,8192,4096,512,256,128,64,32,16,2,1]],[16837,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[16845,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[16851,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16852,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[16853,[786444,131072,65536,32768,16384,8192,4096,2048,1024,512,256,252,2,1]],[16860,[524288,262144,131072,65536,128,64,32,16,8,4,2,1]],[16861,[524288,262144,131072,65536,52992,16128,128,64,32,16,8,4,2,1]],[16862,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[16863,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[16864,[524288,262144,131072,65536,32768,16384,128,64,32,16,8,4]],[16867,[131072,65536,8192,4096,2048,1024,512,256,128,64,8,4]],[16868,[786483,131072,65536,49155,8192,4096,2048,1024,512,256,128,64,8,4]],[16878,[524288,262144,131072,65536,2048,1024,512,256,32,16,2,1]],[16879,[524288,262144,131072,65536,61452,2048,1024,512,256,204,32,16,2,1]],[16880,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[16887,[131072,65536,61635,2048,1024,512,256,32,16,8,4]],[16893,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[16894,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[16895,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[16896,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[16897,[131077,65541,32773,16389,12]],[16898,[32772,16388,8196,4100,132,68,36,20,12,1]],[16901,[850944,131072,65536,512,256,128,64,32,16,8,4,1]],[16904,[524288,262144,131072,65536,62400,2048,1024,32,16,8,4,1]],[16905,[524288,262144,131072,65536,62400,2048,1024,32,16,8,4,1]],[16911,[1044480,2052,1028,516,260,132,68,36,20,12,1]],[16913,[850944,131072,65536,512,256,128,64,32,16,8,4,1]],[16914,[524352,262208,131136,65600,52284,8256,4160,576,320,192,1]],[16916,[848064,131072,65536,2048,1024,512,256,32,16,8,4,1]],[16920,[983280,32772,16388,8196,4100,2052,1028,516,260,12,1]],[16922,[8256,4160,2112,1088,192,1]],[16925,[131078,65542,32774,16390,12]],[16926,[32772,16388,8196,4100,132,68,36,20,12,2]],[16929,[850944,131072,65536,512,256,128,64,32,16,8,4,2]],[16932,[524288,262144,131072,65536,62400,2048,1024,32,16,8,4,2]],[16933,[524288,262144,131072,65536,62400,2048,1024,32,16,8,4,2]],[16939,[1044480,2052,1028,516,260,132,68,36,20,12,2]],[16941,[850944,131072,65536,512,256,128,64,32,16,8,4,2]],[16942,[524352,262208,131136,65600,52284,8256,4160,576,320,192,2]],[16944,[848064,131072,65536,2048,1024,512,256,32,16,8,4,2]],[16948,[983280,32772,16388,8196,4100,2052,1028,516,260,12,2]],[16950,[8256,4160,2112,1088,192,2]],[16953,[131077,65541,32773,16389,3]],[16954,[32769,16385,8193,4097,129,65,33,17,4,3]],[16957,[850944,131072,65536,512,256,128,64,32,16,4,2,1]],[16960,[524288,262144,131072,65536,62400,2048,1024,32,16,4,2,1]],[16961,[524288,262144,131072,65536,62400,2048,1024,32,16,4,2,1]],[16967,[1044480,2049,1025,513,257,129,65,33,17,4,3]],[16969,[850944,131072,65536,512,256,128,64,32,16,4,2,1]],[16970,[524352,262208,131136,65600,52275,8256,4160,576,320,192,4]],[16972,[848064,131072,65536,2048,1024,512,256,32,16,4,2,1]],[16976,[983280,32769,16385,8193,4097,2049,1025,513,257,4,3]],[16978,[8256,4160,2112,1088,192,4]],[16981,[131081,65545,32777,16393,3]],[16982,[32769,16385,8193,4097,129,65,33,17,8,3]],[16985,[850944,131072,65536,512,256,128,64,32,16,8,2,1]],[16988,[524288,262144,131072,65536,62400,2048,1024,32,16,8,2,1]],[16989,[524288,262144,131072,65536,62400,2048,1024,32,16,8,2,1]],[16995,[1044480,2049,1025,513,257,129,65,33,17,8,3]],[16997,[850944,131072,65536,512,256,128,64,32,16,8,2,1]],[16998,[524352,262208,131136,65600,52275,8256,4160,576,320,192,8]],[17000,[848064,131072,65536,2048,1024,512,256,32,16,8,2,1]],[17004,[983280,32769,16385,8193,4097,2049,1025,513,257,8,3]],[17006,[8256,4160,2112,1088,192,8]],[17009,[131089,65553,32785,16401,3]],[17010,[32769,16385,8193,4097,129,65,16,9,5,3]],[17013,[850944,131072,65536,512,256,128,64,16,8,4,2,1]],[17016,[524288,262144,131072,65536,62400,2048,1024,16,8,4,2,1]],[17017,[524288,262144,131072,65536,62400,2048,1024,16,8,4,2,1]],[17023,[1044480,2049,1025,513,257,129,65,16,9,5,3]],[17025,[850944,131072,65536,512,256,128,64,16,8,4,2,1]],[17026,[524352,262208,131136,65600,52239,8256,4160,576,320,192,16]],[17028,[848064,131072,65536,2048,1024,512,256,16,8,4,2,1]],[17032,[983244,32769,16385,8193,4097,2049,1025,513,257,16,3]],[17034,[8256,4160,2112,1088,192,16]],[17037,[131105,65569,32801,16417,3]],[17038,[32769,16385,8193,4097,129,65,32,9,5,3]],[17041,[850944,131072,65536,512,256,128,64,32,8,4,2,1]],[17044,[524288,262144,131072,65536,62400,2048,1024,32,8,4,2,1]],[17045,[524288,262144,131072,65536,62400,2048,1024,32,8,4,2,1]],[17051,[1044480,2049,1025,513,257,129,65,32,9,5,3]],[17053,[850944,131072,65536,512,256,128,64,32,8,4,2,1]],[17054,[524352,262208,131136,65600,52239,8256,4160,576,320,192,32]],[17056,[848064,131072,65536,2048,1024,512,256,32,8,4,2,1]],[17060,[983244,32769,16385,8193,4097,2049,1025,513,257,32,3]],[17062,[8256,4160,2112,1088,192,32]],[17065,[131137,65601,32833,16449,3]],[17066,[32769,16385,8193,4097,64,33,17,9,5,3]],[17069,[850944,131072,65536,512,256,64,32,16,8,4,2,1]],[17072,[524288,262144,131072,65536,62256,2048,1024,64,8,4,2,1]],[17073,[524288,262144,131072,65536,62256,2048,1024,64,8,4,2,1]],[17079,[1044480,2049,1025,513,257,64,33,17,9,5,3]],[17081,[850944,131072,65536,512,256,64,32,16,8,4,2,1]],[17082,[524304,262160,131088,65552,52239,8208,4112,528,272,64,48]],[17084,[847920,131072,65536,2048,1024,512,256,64,8,4,2,1]],[17088,[983100,32769,16385,8193,4097,2049,1025,513,257,64,3]],[17090,[8208,4112,2064,1040,64,48]],[17093,[131201,65665,32897,16513,3]],[17094,[32769,16385,8193,4097,128,33,17,9,5,3]],[17097,[850944,131072,65536,512,256,128,32,16,8,4,2,1]],[17100,[524288,262144,131072,65536,62256,2048,1024,128,8,4,2,1]],[17101,[524288,262144,131072,65536,62256,2048,1024,128,8,4,2,1]],[17107,[1044480,2049,1025,513,257,128,33,17,9,5,3]],[17109,[850944,131072,65536,512,256,128,32,16,8,4,2,1]],[17110,[524304,262160,131088,65552,52239,8208,4112,528,272,128,48]],[17112,[847920,131072,65536,2048,1024,512,256,128,8,4,2,1]],[17116,[983100,32769,16385,8193,4097,2049,1025,513,257,128,3]],[17118,[8208,4112,2064,1040,128,48]],[17121,[131329,65793,33025,16641,3]],[17122,[32769,16385,8193,4097,256,33,17,9,5,3]],[17125,[850944,131072,65536,256,128,64,32,16,8,4,2,1]],[17128,[524288,262144,131072,65536,61680,2048,1024,256,8,4,2,1]],[17129,[524288,262144,131072,65536,61680,2048,1024,256,8,4,2,1]],[17135,[1044480,2049,1025,256,129,65,33,17,9,5,3]],[17137,[850944,131072,65536,256,128,64,32,16,8,4,2,1]],[17138,[524304,262160,131088,65552,52239,8208,4112,256,144,80,48]],[17140,[847920,131072,65536,2048,1024,256,128,64,8,4,2,1]],[17144,[983100,32769,16385,8193,4097,2049,1025,256,129,65,3]],[17146,[8208,4112,2064,1040,256,48]],[17149,[131585,66049,33281,16897,3]],[17150,[32769,16385,8193,4097,512,33,17,9,5,3]],[17153,[850944,131072,65536,512,128,64,32,16,8,4,2,1]],[17156,[524288,262144,131072,65536,61680,2048,1024,512,8,4,2,1]],[17157,[524288,262144,131072,65536,61680,2048,1024,512,8,4,2,1]],[17163,[1044480,2049,1025,512,129,65,33,17,9,5,3]],[17165,[850944,131072,65536,512,128,64,32,16,8,4,2,1]],[17166,[524304,262160,131088,65552,52239,8208,4112,512,144,80,48]],[17168,[847920,131072,65536,2048,1024,512,128,64,8,4,2,1]],[17172,[983100,32769,16385,8193,4097,2049,1025,512,129,65,3]],[17174,[8208,4112,2064,1040,512,48]],[17177,[132097,66561,33793,17409,3]],[17178,[32769,16385,8193,4097,1024,33,17,9,5,3]],[17181,[848640,131072,65536,1024,128,64,32,16,8,4,2,1]],[17184,[524288,262144,131072,65536,61680,1024,512,256,8,4,2,1]],[17185,[524288,262144,131072,65536,61680,1024,512,256,8,4,2,1]],[17191,[1044480,1024,513,257,129,65,33,17,9,5,3]],[17193,[848640,131072,65536,1024,128,64,32,16,8,4,2,1]],[17194,[524304,262160,131088,65552,49935,8208,4112,1024,144,80,48]],[17196,[847920,131072,65536,1024,512,256,128,64,8,4,2,1]],[17200,[983100,32769,16385,8193,4097,1024,513,257,129,65,3]],[17202,[8208,4112,1024,528,272,48]],[17205,[133121,67585,34817,18433,3]],[17206,[32769,16385,8193,4097,2048,33,17,9,5,3]],[17209,[848640,131072,65536,2048,128,64,32,16,8,4,2,1]],[17212,[524288,262144,131072,65536,61680,2048,512,256,8,4,2,1]],[17213,[524288,262144,131072,65536,61680,2048,512,256,8,4,2,1]],[17219,[1044480,2048,513,257,129,65,33,17,9,5,3]],[17221,[848640,131072,65536,2048,128,64,32,16,8,4,2,1]],[17222,[524304,262160,131088,65552,49935,8208,4112,2048,144,80,48]],[17224,[847920,131072,65536,2048,512,256,128,64,8,4,2,1]],[17228,[983100,32769,16385,8193,4097,2048,513,257,129,65,3]],[17230,[8208,4112,2048,528,272,48]],[17233,[135169,69633,36865,20481,3]],[17234,[32769,16385,4096,2049,1025,33,17,9,5,3]],[17237,[839424,131072,65536,4096,128,64,32,16,8,4,2,1]],[17240,[524288,262144,131072,65536,52464,4096,512,256,8,4,2,1]],[17241,[524288,262144,131072,65536,52464,4096,512,256,8,4,2,1]],[17247,[1035264,4096,513,257,129,65,33,17,9,5,3]],[17249,[839424,131072,65536,4096,128,64,32,16,8,4,2,1]],[17250,[524304,262160,131088,65552,49935,4096,2064,1040,144,80,48]],[17252,[838704,131072,65536,4096,512,256,128,64,8,4,2,1]],[17256,[983100,32768,16384,4096,2048,1024,512,256,128,64,2,1]],[17258,[4096,2064,1040,528,272,48]],[17261,[139265,73729,40961,24577,3]],[17262,[32769,16385,8192,2049,1025,33,17,9,5,3]],[17265,[839424,131072,65536,8192,128,64,32,16,8,4,2,1]],[17268,[524288,262144,131072,65536,52464,8192,512,256,8,4,2,1]],[17269,[524288,262144,131072,65536,52464,8192,512,256,8,4,2,1]],[17275,[1035264,8192,513,257,129,65,33,17,9,5,3]],[17277,[839424,131072,65536,8192,128,64,32,16,8,4,2,1]],[17278,[524304,262160,131088,65552,49935,8192,2064,1040,144,80,48]],[17280,[838704,131072,65536,8192,512,256,128,64,8,4,2,1]],[17284,[983100,32768,16384,8192,2048,1024,512,256,128,64,2,1]],[17286,[8192,2064,1040,528,272,48]],[17289,[135168,69632,20481,12288,3]],[17290,[16384,8193,4097,2049,1025,33,17,9,5,3]],[17293,[802560,131072,65536,16384,128,64,32,16,8,4,2,1]],[17296,[524288,262144,131072,65536,16384,15600,512,256,8,4,2,1]],[17297,[524288,262144,131072,65536,16384,15600,512,256,8,4,2,1]],[17303,[998400,16384,513,257,129,65,33,17,9,5,3]],[17305,[802560,131072,65536,16384,128,64,32,16,8,4,2,1]],[17306,[524304,262160,131088,65552,16384,13071,2064,1040,144,80,48]],[17308,[801840,131072,65536,16384,512,256,128,64,8,4,2,1]],[17312,[983100,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[17314,[16384,2064,1040,528,272,48]],[17317,[135168,69632,36865,12288,3]],[17318,[32768,8193,4097,2049,1025,33,17,9,5,3]],[17321,[802560,131072,65536,32768,128,64,32,16,8,4,2,1]],[17324,[524288,262144,131072,65536,32768,15600,512,256,8,4,2,1]],[17325,[524288,262144,131072,65536,32768,15600,512,256,8,4,2,1]],[17331,[998400,32768,513,257,129,65,33,17,9,5,3]],[17333,[802560,131072,65536,32768,128,64,32,16,8,4,2,1]],[17334,[524304,262160,131088,65552,32768,13071,2064,1040,144,80,48]],[17336,[801840,131072,65536,32768,512,256,128,64,8,4,2,1]],[17340,[983100,32768,8192,4096,2048,1024,512,256,128,64,2,1]],[17342,[32768,2064,1040,528,272,48]],[17345,[69633,36864,20480,12288,3]],[17346,[65536,8193,4097,2049,1025,33,17,9,5,3]],[17349,[802560,65536,32768,16384,128,64,32,16,8,4,2,1]],[17352,[524288,262144,65536,32768,16384,15600,512,256,8,4,2,1]],[17353,[524288,262144,65536,32768,16384,15600,512,256,8,4,2,1]],[17359,[850944,65536,513,257,129,65,33,17,9,5,3]],[17361,[802560,65536,32768,16384,128,64,32,16,8,4,2,1]],[17362,[524304,262160,65536,32784,16400,13071,2064,1040,144,80,48]],[17364,[801840,65536,32768,16384,512,256,128,64,8,4,2,1]],[17368,[835644,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[17370,[65536,2064,1040,528,272,48]],[17373,[135169,36864,20480,12288,3]],[17374,[131072,8193,4097,2049,1025,33,17,9,5,3]],[17377,[802560,131072,32768,16384,128,64,32,16,8,4,2,1]],[17380,[524288,262144,131072,32768,16384,15600,512,256,8,4,2,1]],[17381,[524288,262144,131072,32768,16384,15600,512,256,8,4,2,1]],[17387,[850944,131072,513,257,129,65,33,17,9,5,3]],[17389,[802560,131072,32768,16384,128,64,32,16,8,4,2,1]],[17390,[524304,262160,131072,32784,16400,13071,2064,1040,144,80,48]],[17392,[801840,131072,32768,16384,512,256,128,64,8,4,2,1]],[17396,[835644,131072,8192,4096,2048,1024,512,256,128,64,2,1]],[17398,[131072,2064,1040,528,272,48]],[17401,[266241,36864,20480,12288,3]],[17402,[262144,8193,4097,2049,1025,33,17,9,5,3]],[17405,[262144,212736,32768,16384,128,64,32,16,8,4,2,1]],[17408,[262144,131072,65536,32768,16384,15600,512,256,8,4,2,1]],[17409,[262144,131072,65536,32768,16384,15600,512,256,8,4,2,1]],[17415,[262144,261120,513,257,129,65,33,17,9,5,3]],[17417,[262144,212736,32768,16384,128,64,32,16,8,4,2,1]],[17418,[262144,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[17420,[262144,212016,32768,16384,512,256,128,64,8,4,2,1]],[17424,[262144,245820,8192,4096,2048,1024,512,256,128,64,2,1]],[17426,[262144,2064,1040,528,272,48]],[17429,[528385,36864,20480,12288,3]],[17430,[524288,8193,4097,2049,1025,33,17,9,5,3]],[17433,[524288,212736,32768,16384,128,64,32,16,8,4,2,1]],[17436,[524288,131072,65536,32768,16384,15600,512,256,8,4,2,1]],[17437,[524288,131072,65536,32768,16384,15600,512,256,8,4,2,1]],[17443,[524288,261120,513,257,129,65,33,17,9,5,3]],[17445,[524288,212736,32768,16384,128,64,32,16,8,4,2,1]],[17446,[524288,131088,65552,32784,16400,13071,2064,1040,144,80,48]],[17448,[524288,212016,32768,16384,512,256,128,64,8,4,2,1]],[17452,[524288,245820,8192,4096,2048,1024,512,256,128,64,2,1]],[17454,[524288,2064,1040,528,272,48]],[17818,[524304,262160,258060,2064,1040,528,272,144,80,48,1]],[17820,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,1]],[17821,[524352,262208,131136,65600,32832,16448,15420,576,320,192,1]],[17822,[524292,262148,131076,65540,32772,16388,8196,4100,4080,12,1]],[17827,[524304,262160,258060,2064,1040,528,272,144,80,48,2]],[17829,[524304,262160,131088,65552,32784,16400,8208,4112,4044,48,2]],[17830,[524352,262208,131136,65600,32832,16448,15420,576,320,192,2]],[17831,[524292,262148,131076,65540,32772,16388,8196,4100,4080,12,2]],[17836,[524304,262160,258051,2064,1040,528,272,144,80,48,4]],[17838,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,4]],[17839,[524352,262208,131136,65600,32832,16448,15411,576,320,192,4]],[17840,[524289,262145,131073,65537,32769,16385,8193,4097,4080,4,3]],[17845,[524304,262160,258051,2064,1040,528,272,144,80,48,8]],[17847,[524304,262160,131088,65552,32784,16400,8208,4112,4035,48,8]],[17848,[524352,262208,131136,65600,32832,16448,15411,576,320,192,8]],[17849,[524289,262145,131073,65537,32769,16385,8193,4097,4080,8,3]],[17854,[524292,262148,258051,2052,1028,516,260,132,68,16,12]],[17856,[524292,262148,131076,65540,32772,16388,8196,4100,4035,16,12]],[17857,[524352,262208,131136,65600,32832,16448,15375,576,320,192,16]],[17858,[524289,262145,131073,65537,32769,16385,8193,4097,4044,16,3]],[17863,[524292,262148,258051,2052,1028,516,260,132,68,32,12]],[17865,[524292,262148,131076,65540,32772,16388,8196,4100,4035,32,12]],[17866,[524352,262208,131136,65600,32832,16448,15375,576,320,192,32]],[17867,[524289,262145,131073,65537,32769,16385,8193,4097,4044,32,3]],[17872,[524292,262148,258051,2052,1028,516,260,64,36,20,12]],[17874,[524292,262148,131076,65540,32772,16388,8196,4100,3891,64,12]],[17875,[524304,262160,131088,65552,32784,16400,15375,528,272,64,48]],[17876,[524289,262145,131073,65537,32769,16385,8193,4097,3900,64,3]],[17881,[524292,262148,258051,2052,1028,516,260,128,36,20,12]],[17883,[524292,262148,131076,65540,32772,16388,8196,4100,3891,128,12]],[17884,[524304,262160,131088,65552,32784,16400,15375,528,272,128,48]],[17885,[524289,262145,131073,65537,32769,16385,8193,4097,3900,128,3]],[17890,[524292,262148,258051,2052,1028,256,132,68,36,20,12]],[17892,[524292,262148,131076,65540,32772,16388,8196,4100,3315,256,12]],[17893,[524304,262160,131088,65552,32784,16400,15375,256,144,80,48]],[17894,[524289,262145,131073,65537,32769,16385,8193,4097,3324,256,3]],[17899,[524292,262148,258051,2052,1028,512,132,68,36,20,12]],[17901,[524292,262148,131076,65540,32772,16388,8196,4100,3315,512,12]],[17902,[524304,262160,131088,65552,32784,16400,15375,512,144,80,48]],[17903,[524289,262145,131073,65537,32769,16385,8193,4097,3324,512,3]],[17908,[524292,262148,258051,1024,516,260,132,68,36,20,12]],[17910,[524292,262148,131076,65540,32772,16388,8196,4100,1024,1011,12]],[17911,[524304,262160,131088,65552,32784,16400,13071,1024,144,80,48]],[17912,[524289,262145,131073,65537,32769,16385,8193,4097,1024,1020,3]],[17917,[524292,262148,258051,2048,516,260,132,68,36,20,12]],[17919,[524292,262148,131076,65540,32772,16388,8196,4100,2048,1011,12]],[17920,[524304,262160,131088,65552,32784,16400,13071,2048,144,80,48]],[17921,[524289,262145,131073,65537,32769,16385,8193,4097,2048,1020,3]],[17926,[524292,262148,248835,4096,516,260,132,68,36,20,12]],[17928,[524292,262148,131076,65540,32772,16388,4096,2052,1028,1011,12]],[17929,[524304,262160,131088,65552,32784,16400,4096,3855,144,80,48]],[17930,[524289,262145,131073,65537,32769,16385,4096,2049,1025,1020,3]],[17935,[524292,262148,248835,8192,516,260,132,68,36,20,12]],[17937,[524292,262148,131076,65540,32772,16388,8192,2052,1028,1011,12]],[17938,[524304,262160,131088,65552,32784,16400,8192,3855,144,80,48]],[17939,[524289,262145,131073,65537,32769,16385,8192,2049,1025,1020,3]],[17944,[524292,262148,211971,16384,516,260,132,68,36,20,12]],[17946,[524292,262148,131076,65540,16384,8196,4100,2052,1028,1011,12]],[17947,[524304,262160,131088,65552,16384,8208,4112,3855,144,80,48]],[17948,[524289,262145,131073,65537,16384,8193,4097,2049,1025,1020,3]],[17953,[524292,262148,211971,32768,516,260,132,68,36,20,12]],[17955,[524292,262148,131076,65540,32768,8196,4100,2052,1028,1011,12]],[17956,[524304,262160,131088,65552,32768,8208,4112,3855,144,80,48]],[17957,[524289,262145,131073,65537,32768,8193,4097,2049,1025,1020,3]],[17962,[524292,262148,65536,64515,516,260,132,68,36,20,12]],[17964,[524292,262148,65536,32772,16388,8196,4100,2052,1028,1011,12]],[17965,[524304,262160,65536,32784,16400,8208,4112,3855,144,80,48]],[17966,[524289,262145,65536,32769,16385,8193,4097,2049,1025,1020,3]],[17971,[524292,262148,131072,64515,516,260,132,68,36,20,12]],[17973,[524292,262148,131072,32772,16388,8196,4100,2052,1028,1011,12]],[17974,[524304,262160,131072,32784,16400,8208,4112,3855,144,80,48]],[17975,[524289,262145,131072,32769,16385,8193,4097,2049,1025,1020,3]],[17980,[262144,131076,65540,64515,516,260,132,68,36,20,12]],[17982,[262144,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[17983,[262144,131088,65552,32784,16400,8208,4112,3855,144,80,48]],[17984,[262144,131073,65537,32769,16385,8193,4097,2049,1025,1020,3]],[17989,[524288,131076,65540,64515,516,260,132,68,36,20,12]],[17991,[524288,131076,65540,32772,16388,8196,4100,2052,1028,1011,12]],[17992,[524288,131088,65552,32784,16400,8208,4112,3855,144,80,48]],[17993,[524288,131073,65537,32769,16385,8193,4097,2049,1025,1020,3]],[17999,[131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18000,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18001,[524288,262144,131072,65536,49167,8192,4096,2048,1024,512,256,128,64]],[18003,[524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[18004,[524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[18006,[524288,262144,131072,65536,49167,8192,4096,2048,1024,512,256,32,16]],[18007,[524288,262144,131072,65536,49167,8192,4096,2048,1024,512,256,32,16]],[18008,[131072,65536,32768,16384,2048,1024,512,256,128,64,2,1]],[18010,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[18012,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[18013,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[18014,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[18015,[524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[18016,[524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[18017,[524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[18019,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[18020,[32768,16384,2048,1024,512,256,128,64,8,4,2,1]],[18021,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[18022,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18023,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18024,[524288,262144,32768,16384,12303,2048,1024,512,256,128,64,32,16]],[18025,[524288,262144,32768,16384,12303,2048,1024,512,256,128,64,32,16]],[18026,[32768,16384,2048,1024,512,256,128,64,8,4,2,1]],[18029,[524288,262144,131072,65536,32768,16384,16128,128,64,8,4,2,1]],[18030,[524288,262144,131072,65536,2048,1024,512,256,8,4,2,1]],[18031,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[18034,[32768,16384,2048,1024,512,256,128,64,8,4,2,1]],[18036,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[18038,[524288,262144,131072,65536,32768,16384,12303,512,256,128,64,32,16]],[18039,[524288,262144,131072,65536,32768,16384,12492,512,256,32,16,2,1]],[18040,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[18042,[786483,131072,65536,32768,16384,8192,4096,512,256,128,64,8,4]],[18043,[524288,262144,131072,65536,49356,8192,4096,2048,1024,512,256,2,1]],[18044,[524288,262144,131072,65536,49356,8192,4096,2048,1024,512,256,2,1]],[18045,[524288,262144,131072,65536,49356,8192,4096,2048,1024,512,256,2,1]],[18046,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18047,[524288,262144,131072,65536,61632,2048,1024,32,16,8,4,2,1]],[18049,[524288,262144,8192,4096,2048,1024,128,64,32,16,2,1]],[18050,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[18051,[524288,262144,208908,32768,16384,2048,1024,512,256,128,64,2,1]],[18054,[524288,262144,208899,32768,16384,2048,1024,512,256,32,16,8,4]],[18055,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18056,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18057,[258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[18058,[524288,262144,8192,4096,512,256,128,64,32,16,2,1]],[18059,[524288,262144,8192,4096,2048,1024,512,256,32,16,8,4]],[18064,[524288,262144,131072,65536,61632,512,256,32,16,8,4,2,1]],[18068,[524288,262144,32768,16384,8192,4096,2048,1024,128,64,32,16]],[18069,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[18073,[524288,262144,131072,65536,49923,8192,4096,2048,1024,128,64,32,16]],[18074,[786636,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[18075,[786636,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[18076,[524288,262144,8192,4096,2048,1024,128,64,32,16,2,1]],[18077,[131072,65536,32768,16384,12492,2048,1024,512,256,32,16,2,1]],[18078,[786672,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[18079,[524288,262144,2048,1024,512,256,128,64,32,16,8,4]],[18080,[524288,262144,258048,2048,1024,512,256,128,64,8,4,2,1]],[18082,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[18083,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[18084,[524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[18085,[524288,262144,131072,65536,32768,16384,16128,128,64,8,4,2,1]],[18088,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[18089,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,207]],[18093,[131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18094,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16]],[18095,[524288,262144,32768,16384,8192,4096,32,16,8,4,2,1]],[18098,[258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[18099,[131072,65536,32768,16384,12492,2048,1024,512,256,32,16,2,1]],[18100,[524288,262144,8192,4096,512,256,128,64,32,16,2,1]],[18104,[524288,262144,258048,2048,1024,512,256,128,64,8,4,2,1]],[18107,[524288,262144,131072,65536,32768,16384,16128,128,64,8,4,2,1]],[18111,[131072,65536,32768,16384,2048,1024,512,256,128,64,2,1]],[18112,[524288,262144,32768,16384,8192,4096,2048,1024,128,64,32,16]],[18117,[131072,65536,2048,1024,512,256,128,64,8,4,2,1]],[18118,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,2,1]],[18120,[835632,131072,65536,8192,4096,2048,1024,128,64,8,4,2,1]],[18126,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18127,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[18128,[32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[18130,[524288,262144,131072,65536,61632,512,256,32,16,8,4,2,1]],[18132,[524288,262144,8192,4096,2048,1024,128,64,32,16,2,1]],[18136,[786672,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[18137,[786672,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[18138,[786672,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[18141,[524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[18145,[786624,131072,65536,32768,16384,8192,4096,32,16,8,4,2,1]],[18146,[786624,131072,65536,32768,16384,8192,4096,32,16,8,4,2,1]],[18147,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,207,32,16]],[18149,[131072,65536,32768,16384,2048,1024,512,256,128,64,2,1]],[18153,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[18156,[131072,65536,8192,4096,2048,1024,512,256,32,16,2,1]],[18157,[524288,262144,131072,65536,32768,16384,4032,32,16,8,4,2,1]],[18158,[786624,131072,65536,32768,16384,8192,4096,32,16,8,4,2,1]],[18160,[131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[18162,[131072,65536,32768,16384,12483,2048,1024,512,256,32,16,8,4]],[18163,[798768,131072,65536,32768,16384,2048,1024,128,64,8,4,2,1]],[18164,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[18165,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[18166,[835632,131072,65536,8192,4096,512,256,128,64,8,4,2,1]],[18169,[798912,131072,65536,32768,16384,512,256,32,16,8,4,2,1]],[18170,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16]],[18174,[524288,262144,131072,65536,8192,4096,128,64,32,16,2,1]],[18175,[524288,262144,131072,65536,8192,4096,128,64,32,16,2,1]],[18176,[524288,262144,131072,65536,8192,4096,128,64,32,16,2,1]],[18180,[524288,262144,131072,65536,61632,2048,1024,32,16,8,4,2,1]],[18181,[524288,262144,131072,65536,32768,16384,12492,512,256,32,16,2,1]],[18182,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[18184,[524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[18437,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,1]],[18440,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,1]],[18441,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,1]],[18446,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,1]],[18448,[524288,262144,245952,8192,4096,2048,1024,512,256,32,16,8,4,1]],[18451,[983232,32772,16388,8196,4100,2052,1028,516,260,36,20,12,1]],[18455,[524288,262144,131072,65536,61632,2048,1024,512,256,32,16,8,4,1]],[18465,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,2]],[18468,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,2]],[18469,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,4,2]],[18474,[524288,262144,196668,32768,16384,8192,4096,2048,1024,512,256,128,64,2]],[18476,[524288,262144,245952,8192,4096,2048,1024,512,256,32,16,8,4,2]],[18479,[983232,32772,16388,8196,4100,2052,1028,516,260,36,20,12,2]],[18483,[524288,262144,131072,65536,61632,2048,1024,512,256,32,16,8,4,2]],[18493,[847872,131072,65536,2048,1024,512,256,128,64,32,16,4,2,1]],[18496,[847872,131072,65536,2048,1024,512,256,128,64,32,16,4,2,1]],[18497,[847872,131072,65536,2048,1024,512,256,128,64,32,16,4,2,1]],[18502,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,4]],[18504,[524288,262144,245952,8192,4096,2048,1024,512,256,32,16,4,2,1]],[18507,[983232,32769,16385,8193,4097,2049,1025,513,257,33,17,4,3]],[18511,[524288,262144,131072,65536,61632,2048,1024,512,256,32,16,4,2,1]],[18521,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,2,1]],[18524,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,2,1]],[18525,[847872,131072,65536,2048,1024,512,256,128,64,32,16,8,2,1]],[18530,[524288,262144,196659,32768,16384,8192,4096,2048,1024,512,256,128,64,8]],[18532,[524288,262144,245952,8192,4096,2048,1024,512,256,32,16,8,2,1]],[18535,[983232,32769,16385,8193,4097,2049,1025,513,257,33,17,8,3]],[18539,[524288,262144,131072,65536,61632,2048,1024,512,256,32,16,8,2,1]],[18549,[847872,131072,65536,2048,1024,512,256,128,64,16,8,4,2,1]],[18552,[847872,131072,65536,2048,1024,512,256,128,64,16,8,4,2,1]],[18553,[847872,131072,65536,2048,1024,512,256,128,64,16,8,4,2,1]],[18558,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,16]],[18560,[524288,262144,245952,8192,4096,2048,1024,512,256,16,8,4,2,1]],[18563,[983232,32769,16385,8193,4097,2049,1025,513,257,16,9,5,3]],[18567,[524288,262144,131072,65536,61632,2048,1024,512,256,16,8,4,2,1]],[18577,[847872,131072,65536,2048,1024,512,256,128,64,32,8,4,2,1]],[18580,[847872,131072,65536,2048,1024,512,256,128,64,32,8,4,2,1]],[18581,[847872,131072,65536,2048,1024,512,256,128,64,32,8,4,2,1]],[18586,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,64,32]],[18588,[524288,262144,245952,8192,4096,2048,1024,512,256,32,8,4,2,1]],[18591,[983232,32769,16385,8193,4097,2049,1025,513,257,32,9,5,3]],[18595,[524288,262144,131072,65536,61632,2048,1024,512,256,32,8,4,2,1]],[18605,[847872,131072,65536,2048,1024,512,256,64,32,16,8,4,2,1]],[18608,[847872,131072,65536,2048,1024,512,256,64,32,16,8,4,2,1]],[18609,[847872,131072,65536,2048,1024,512,256,64,32,16,8,4,2,1]],[18614,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,64,32,16]],[18616,[524288,262144,245808,8192,4096,2048,1024,512,256,64,8,4,2,1]],[18619,[983088,32769,16385,8193,4097,2049,1025,513,257,64,9,5,3]],[18623,[524288,262144,131072,65536,61488,2048,1024,512,256,64,8,4,2,1]],[18633,[847872,131072,65536,2048,1024,512,256,128,32,16,8,4,2,1]],[18636,[847872,131072,65536,2048,1024,512,256,128,32,16,8,4,2,1]],[18637,[847872,131072,65536,2048,1024,512,256,128,32,16,8,4,2,1]],[18642,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,256,128,32,16]],[18644,[524288,262144,245808,8192,4096,2048,1024,512,256,128,8,4,2,1]],[18647,[983088,32769,16385,8193,4097,2049,1025,513,257,128,9,5,3]],[18651,[524288,262144,131072,65536,61488,2048,1024,512,256,128,8,4,2,1]],[18661,[847872,131072,65536,2048,1024,256,128,64,32,16,8,4,2,1]],[18664,[847872,131072,65536,2048,1024,256,128,64,32,16,8,4,2,1]],[18665,[847872,131072,65536,2048,1024,256,128,64,32,16,8,4,2,1]],[18670,[524288,262144,196623,32768,16384,8192,4096,2048,1024,256,128,64,32,16]],[18672,[524288,262144,245808,8192,4096,2048,1024,256,128,64,8,4,2,1]],[18675,[983088,32769,16385,8193,4097,2049,1025,256,129,65,9,5,3]],[18679,[524288,262144,131072,65536,61488,2048,1024,256,128,64,8,4,2,1]],[18689,[847872,131072,65536,2048,1024,512,128,64,32,16,8,4,2,1]],[18692,[847872,131072,65536,2048,1024,512,128,64,32,16,8,4,2,1]],[18693,[847872,131072,65536,2048,1024,512,128,64,32,16,8,4,2,1]],[18698,[524288,262144,196623,32768,16384,8192,4096,2048,1024,512,128,64,32,16]],[18700,[524288,262144,245808,8192,4096,2048,1024,512,128,64,8,4,2,1]],[18703,[983088,32769,16385,8193,4097,2049,1025,512,129,65,9,5,3]],[18707,[524288,262144,131072,65536,61488,2048,1024,512,128,64,8,4,2,1]],[18717,[847872,131072,65536,1024,512,256,128,64,32,16,8,4,2,1]],[18720,[847872,131072,65536,1024,512,256,128,64,32,16,8,4,2,1]],[18721,[847872,131072,65536,1024,512,256,128,64,32,16,8,4,2,1]],[18726,[524288,262144,196623,32768,16384,8192,4096,1024,512,256,128,64,32,16]],[18728,[524288,262144,245808,8192,4096,1024,512,256,128,64,8,4,2,1]],[18731,[983088,32769,16385,8193,4097,1024,513,257,129,65,9,5,3]],[18735,[524288,262144,131072,65536,61488,1024,512,256,128,64,8,4,2,1]],[18745,[847872,131072,65536,2048,512,256,128,64,32,16,8,4,2,1]],[18748,[847872,131072,65536,2048,512,256,128,64,32,16,8,4,2,1]],[18749,[847872,131072,65536,2048,512,256,128,64,32,16,8,4,2,1]],[18754,[524288,262144,196623,32768,16384,8192,4096,2048,512,256,128,64,32,16]],[18756,[524288,262144,245808,8192,4096,2048,512,256,128,64,8,4,2,1]],[18759,[983088,32769,16385,8193,4097,2048,513,257,129,65,9,5,3]],[18763,[524288,262144,131072,65536,61488,2048,512,256,128,64,8,4,2,1]],[18773,[838656,131072,65536,4096,512,256,128,64,32,16,8,4,2,1]],[18776,[838656,131072,65536,4096,512,256,128,64,32,16,8,4,2,1]],[18777,[838656,131072,65536,4096,512,256,128,64,32,16,8,4,2,1]],[18782,[524288,262144,196623,32768,16384,4096,2048,1024,512,256,128,64,32,16]],[18784,[524288,262144,245808,4096,2048,1024,512,256,128,64,8,4,2,1]],[18791,[524288,262144,131072,65536,52272,4096,512,256,128,64,8,4,2,1]],[18801,[838656,131072,65536,8192,512,256,128,64,32,16,8,4,2,1]],[18804,[838656,131072,65536,8192,512,256,128,64,32,16,8,4,2,1]],[18805,[838656,131072,65536,8192,512,256,128,64,32,16,8,4,2,1]],[18810,[524288,262144,196623,32768,16384,8192,2048,1024,512,256,128,64,32,16]],[18812,[524288,262144,245808,8192,2048,1024,512,256,128,64,8,4,2,1]],[18819,[524288,262144,131072,65536,52272,8192,512,256,128,64,8,4,2,1]],[18829,[801792,131072,65536,16384,512,256,128,64,32,16,8,4,2,1]],[18832,[801792,131072,65536,16384,512,256,128,64,32,16,8,4,2,1]],[18833,[801792,131072,65536,16384,512,256,128,64,32,16,8,4,2,1]],[18838,[524288,262144,196623,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[18840,[524288,262144,208944,16384,2048,1024,512,256,128,64,8,4,2,1]],[18847,[524288,262144,131072,65536,16384,15408,512,256,128,64,8,4,2,1]],[18857,[801792,131072,65536,32768,512,256,128,64,32,16,8,4,2,1]],[18860,[801792,131072,65536,32768,512,256,128,64,32,16,8,4,2,1]],[18861,[801792,131072,65536,32768,512,256,128,64,32,16,8,4,2,1]],[18866,[524288,262144,196623,32768,8192,4096,2048,1024,512,256,128,64,32,16]],[18868,[524288,262144,208944,32768,2048,1024,512,256,128,64,8,4,2,1]],[18875,[524288,262144,131072,65536,32768,15408,512,256,128,64,8,4,2,1]],[18885,[801792,65536,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18888,[801792,65536,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18889,[801792,65536,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18894,[524288,262144,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18896,[524288,262144,65536,61488,2048,1024,512,256,128,64,8,4,2,1]],[18903,[524288,262144,65536,32768,16384,15408,512,256,128,64,8,4,2,1]],[18914,[801792,131072,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18917,[801792,131072,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18918,[801792,131072,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18923,[524288,262144,131072,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18925,[524288,262144,131072,61488,2048,1024,512,256,128,64,8,4,2,1]],[18932,[524288,262144,131072,32768,16384,15408,512,256,128,64,8,4,2,1]],[18943,[262144,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18946,[262144,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18947,[262144,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18952,[262144,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18954,[262144,131072,65536,61488,2048,1024,512,256,128,64,8,4,2,1]],[18961,[262144,131072,65536,32768,16384,15408,512,256,128,64,8,4,2,1]],[18974,[524288,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18977,[524288,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18978,[524288,211968,32768,16384,512,256,128,64,32,16,8,4,2,1]],[18983,[524288,131072,65536,49167,8192,4096,2048,1024,512,256,128,64,32,16]],[18985,[524288,131072,65536,61488,2048,1024,512,256,128,64,8,4,2,1]],[18992,[524288,131072,65536,32768,16384,15408,512,256,128,64,8,4,2,1]],[19271,[131137,65601,32833,16449,192]],[19272,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,1]],[19275,[524292,262148,131076,65540,32772,16388,8196,4100,3312,516,260,12,1]],[19280,[524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,972,48,1]],[19284,[131138,65602,32834,16450,192]],[19285,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,2]],[19288,[524292,262148,131076,65540,32772,16388,8196,4100,3312,516,260,12,2]],[19293,[524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,972,48,2]],[19297,[131140,65604,32836,16452,192]],[19298,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,4,2,1]],[19301,[524289,262145,131073,65537,32769,16385,8193,4097,3312,513,257,4,3]],[19306,[524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,963,48,4]],[19310,[131144,65608,32840,16456,192]],[19311,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,2,1]],[19314,[524289,262145,131073,65537,32769,16385,8193,4097,3312,513,257,8,3]],[19319,[524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,963,48,8]],[19323,[131152,65616,32848,16464,192]],[19324,[787392,131072,65536,32768,16384,8192,4096,2048,1024,16,8,4,2,1]],[19327,[524289,262145,131073,65537,32769,16385,8193,4097,3276,513,257,16,3]],[19332,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,963,16,12]],[19336,[131168,65632,32864,16480,192]],[19337,[787392,131072,65536,32768,16384,8192,4096,2048,1024,32,8,4,2,1]],[19340,[524289,262145,131073,65537,32769,16385,8193,4097,3276,513,257,32,3]],[19345,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,963,32,12]],[19349,[131152,65616,32848,16464,48]],[19350,[787248,131072,65536,32768,16384,8192,4096,2048,1024,64,8,4,2,1]],[19353,[524289,262145,131073,65537,32769,16385,8193,4097,3132,513,257,64,3]],[19358,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,819,64,12]],[19362,[131216,65680,32912,16528,48]],[19363,[787248,131072,65536,32768,16384,8192,4096,2048,1024,128,8,4,2,1]],[19366,[524289,262145,131073,65537,32769,16385,8193,4097,3132,513,257,128,3]],[19371,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,819,128,12]],[19375,[131344,65808,33040,16656,48]],[19376,[786672,131072,65536,32768,16384,8192,4096,2048,1024,256,8,4,2,1]],[19379,[524289,262145,131073,65537,32769,16385,8193,4097,3132,256,129,65,3]],[19384,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,256,243,12]],[19388,[131600,66064,33296,16912,48]],[19389,[786672,131072,65536,32768,16384,8192,4096,2048,1024,512,8,4,2,1]],[19392,[524289,262145,131073,65537,32769,16385,8193,4097,3132,512,129,65,3]],[19397,[524292,262148,131076,65540,32772,16388,8196,4100,2052,1028,512,243,12]],[19401,[132112,66576,33808,17424,48]],[19402,[786672,131072,65536,32768,16384,8192,4096,1024,512,256,8,4,2,1]],[19405,[524289,262145,131073,65537,32769,16385,8193,4097,1024,828,129,65,3]],[19410,[524292,262148,131076,65540,32772,16388,8196,4100,1024,516,260,243,12]],[19414,[133136,67600,34832,18448,48]],[19415,[786672,131072,65536,32768,16384,8192,4096,2048,512,256,8,4,2,1]],[19418,[524289,262145,131073,65537,32769,16385,8193,4097,2048,828,129,65,3]],[19423,[524292,262148,131076,65540,32772,16388,8196,4100,2048,516,260,243,12]],[19427,[135184,69648,36880,20496,48]],[19428,[786672,131072,65536,32768,16384,4096,2048,1024,512,256,8,4,2,1]],[19431,[524289,262145,131073,65537,32769,16385,4096,2049,1025,828,129,65,3]],[19436,[524292,262148,131076,65540,32772,16388,4096,2052,1028,516,260,243,12]],[19440,[139280,73744,40976,24592,48]],[19441,[786672,131072,65536,32768,16384,8192,2048,1024,512,256,8,4,2,1]],[19444,[524289,262145,131073,65537,32769,16385,8192,2049,1025,828,129,65,3]],[19449,[524292,262148,131076,65540,32772,16388,8192,2052,1028,516,260,243,12]],[19453,[135168,69632,20496,12288,48]],[19454,[786672,131072,65536,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19457,[524289,262145,131073,65537,16384,8193,4097,2049,1025,828,129,65,3]],[19462,[524292,262148,131076,65540,16384,8196,4100,2052,1028,516,260,243,12]],[19466,[135168,69632,36880,12288,48]],[19467,[786672,131072,65536,32768,8192,4096,2048,1024,512,256,8,4,2,1]],[19470,[524289,262145,131073,65537,32768,8193,4097,2049,1025,828,129,65,3]],[19475,[524292,262148,131076,65540,32768,8196,4100,2052,1028,516,260,243,12]],[19479,[69648,36864,20480,12288,48]],[19480,[786672,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19483,[524289,262145,65536,32769,16385,8193,4097,2049,1025,828,129,65,3]],[19488,[524292,262148,65536,32772,16388,8196,4100,2052,1028,516,260,243,12]],[19492,[135184,36864,20480,12288,48]],[19493,[786672,131072,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19496,[524289,262145,131072,32769,16385,8193,4097,2049,1025,828,129,65,3]],[19501,[524292,262148,131072,32772,16388,8196,4100,2052,1028,516,260,243,12]],[19505,[266256,36864,20480,12288,48]],[19506,[262144,196848,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19509,[262144,131073,65537,32769,16385,8193,4097,2049,1025,828,129,65,3]],[19514,[262144,131076,65540,32772,16388,8196,4100,2052,1028,516,260,243,12]],[19518,[528400,36864,20480,12288,48]],[19519,[524288,196848,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[19522,[524288,131073,65537,32769,16385,8193,4097,2049,1025,828,129,65,3]],[19527,[524288,131076,65540,32772,16388,8196,4100,2052,1028,516,260,243,12]],[19530,[131072,65536,512,256,128,64,8,4,2,1]],[19549,[131072,65536,32768,16384,12492,2048,1024,512,256,32,16,2,1]],[19596,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[19597,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[19598,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[19647,[200448,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[23827,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,1]],[23842,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,2]],[23857,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,4]],[23872,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,8]],[23887,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,16]],[23902,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,32]],[23917,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,64,63]],[23932,[524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,128,63]],[23947,[524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,256,192,63]],[23962,[524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,512,192,63]],[23977,[524352,262208,131136,65600,32832,16448,8256,4160,1024,576,320,192,63]],[23992,[524352,262208,131136,65600,32832,16448,8256,4160,2048,576,320,192,63]],[24007,[524352,262208,131136,65600,32832,16448,4096,2112,1088,576,320,192,63]],[24022,[524352,262208,131136,65600,32832,16448,8192,2112,1088,576,320,192,63]],[24037,[524352,262208,131136,65600,16384,8256,4160,2112,1088,576,320,192,63]],[24052,[524352,262208,131136,65600,32768,8256,4160,2112,1088,576,320,192,63]],[24067,[524352,262208,65536,32832,16448,8256,4160,2112,1088,576,320,192,63]],[24082,[524352,262208,131072,32832,16448,8256,4160,2112,1088,576,320,192,63]],[24097,[262144,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[24112,[524288,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-mw.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-mw.json new file mode 100644 index 0000000000..8c549f40d8 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-mw.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR200/233 maximum-weight late compensated pairing (pairs_mw.py) with the last late pair moved to the phase cut.","pairs":[[5290,10005,null],[5387,10006,null],[5399,10007,null],[5543,10008,null],[1554,10009,null],[5531,10010,null],[5410,10011,null],[5554,10012,null],[5111,10013,null],[5530,10014,null],[5495,10015,null],[1542,10016,20214],[5483,10017,null],[5386,10018,null],[5506,10019,null],[346,10020,null],[4498,10021,null],[5482,10022,null],[695,10023,null],[4619,10024,null],[5303,10025,null],[683,10026,null],[354,10027,null],[678,10028,20298],[418,10029,null],[1570,10030,null],[443,10031,null],[1212,10032,null],[1158,10033,20329],[971,10034,null],[983,10035,null],[347,10036,null],[4786,10037,null],[1206,10038,20360],[5099,10039,null],[119,10040,null],[4042,10041,null],[10,10042,null],[4234,10043,null],[5194,10044,null],[3527,10045,null],[726,10046,20397],[658,10047,null],[4487,10048,null],[3371,10049,null],[738,10050,null],[3706,10051,null],[359,10052,null],[5243,10053,null],[1210,10054,null],[1787,10055,null],[348,10056,null],[5146,10057,null],[3335,10058,null],[1234,10059,null],[4439,10060,null],[370,10061,null],[4907,10062,null],[11,10063,null],[2338,10064,null],[1762,10065,null],[3575,10066,null],[706,10067,null],[994,10068,null],[5242,10069,null],[402,10070,null],[970,10071,null],[390,10072,20494],[503,10073,null],[1218,10074,null],[395,10075,null],[4235,10076,null],[396,10077,null],[450,10078,null],[1403,10079,null],[5255,10080,null],[5266,10081,null],[682,10082,null],[2098,10083,null],[66,10084,null],[4955,10085,null],[4306,10086,null],[4978,10087,null],[3322,10088,null],[690,10089,null],[743,10090,null],[972,10091,null],[4295,10092,null],[107,10093,null],[491,10094,null],[60,10095,null],[1415,10096,null],[732,10097,null],[3346,10098,null],[3106,10099,null],[1223,10100,null],[4954,10101,null],[731,10102,null],[1211,10103,null],[4906,10104,null],[4967,10105,null],[4114,10106,null],[1404,10107,null],[2075,10108,null],[82,10109,null],[4930,10110,null],[3323,10111,null],[2759,10112,null],[4210,10113,null],[4727,10114,null],[3250,10115,null],[3084,10116,null],[1410,10117,null],[786,10118,null],[1402,10119,null],[4282,10120,null],[4474,10121,null],[23,10122,null],[5098,10123,null],[3754,10124,null],[3778,10125,null],[1398,10126,20626],[3154,10127,null],[514,10128,null],[4151,10129,null],[1026,10130,null],[4475,10131,null],[466,10132,null],[3479,10133,null],[3755,10134,null],[780,10135,null],[2315,10136,null],[2327,10137,null],[54,10138,20650],[2555,10139,null],[5207,10140,null],[5195,10141,null],[5122,10142,null],[978,10143,null],[2554,10144,null],[342,10145,20660],[1426,10146,null],[2026,10147,null],[5218,10148,null],[3095,10149,null],[4715,10150,null],[1751,10151,null],[156,10152,null],[791,10153,null],[3131,10154,null],[490,10155,null],[1031,10156,null],[4091,10157,null],[3143,10158,null],[407,10159,null],[4618,10160,null],[3083,10161,null],[4283,10162,null],[1042,10163,null],[1018,10164,null],[1547,10165,null],[778,10166,null],[18,10167,null],[130,10168,null],[444,10169,null],[1738,10170,null],[59,10171,null],[4642,10172,null],[2314,10173,null],[108,10174,null],[2074,10175,null],[730,10176,null],[455,10177,null],[394,10178,null],[3586,10179,null],[4811,10180,null],[442,10181,null],[4834,10182,null],[647,10183,null],[4199,10184,null],[935,10185,null],[3082,10186,null],[3239,10187,null],[5015,10188,null],[3226,10189,null],[71,10190,null],[3659,10191,null],[4426,10192,null],[4090,10193,null],[779,10194,null],[4103,10195,null],[3383,10196,null],[754,10197,null],[4859,10198,null],[922,10199,null],[4186,10200,null],[5362,10201,null],[58,10202,null],[5339,10203,null],[5447,10204,null],[5435,10205,null],[5434,10206,null],[34,10207,null],[4882,10208,null],[438,10209,20789],[5338,10210,null],[2266,10211,null],[5351,10212,null],[4667,10213,null],[102,10214,20797],[4666,10215,null],[3287,10216,null],[3418,10217,null],[1175,10218,null],[5052,10219,null],[4919,10220,null],[3538,10221,null],[3970,10222,null],[2459,10223,null],[3467,10224,null],[4187,10225,null],[4139,10226,null],[5002,10227,null],[5458,10228,null],[3730,10229,null],[1378,10230,null],[4908,10231,null],[4450,10232,null],[4427,10233,null],[3719,10234,null],[4247,10235,null],[4258,10236,null],[3490,10237,null],[4391,10238,null],[1020,10239,null],[4571,10240,null],[2386,10241,null],[5051,10242,null],[298,10243,null],[2722,10244,null],[5430,10245,20856],[1019,10246,null],[4378,10247,null],[4194,10248,null],[3707,10249,null],[4343,10250,null],[3275,10251,null],[4871,10252,null],[4858,10253,null],[5170,10254,null],[4583,10255,null],[5050,10256,null],[3514,10257,null],[4810,10258,null],[3515,10259,null],[2694,10260,20880],[4738,10261,null],[5578,10262,null],[5147,10263,null],[3911,10264,null],[5159,10265,null],[4631,10266,null],[5026,10267,null],[5074,10268,null],[5715,10269,20898],[5063,10270,null],[4763,10271,null],[5484,10272,null],[4775,10273,null],[4823,10274,null],[5291,10275,null],[4236,10276,null],[5442,10277,null],[5724,10278,null],[4762,10279,null],[4594,10280,null],[2290,10281,null],[2747,10282,null],[4379,10283,null],[5314,10284,null],[5730,10285,null],[5003,10286,null],[4402,10287,null],[5720,10288,20936],[2567,10289,null],[2562,10290,null],[2674,10291,null],[5334,10292,20944],[3671,10293,null],[2746,10294,null],[3563,10295,null],[2770,10296,null],[2842,10297,null],[3898,10298,null],[5490,10299,null],[3658,10300,null],[5436,10301,null],[2363,10302,null],[3946,10303,null],[2986,10304,null],[4055,10305,null],[2050,10306,null],[4957,10307,20974],[2375,10308,null],[4716,10309,null],[4690,10310,null],[3324,10311,null],[5682,10312,null],[4535,10313,null],[4043,10314,null],[3767,10315,null],[3298,10316,null],[3995,10317,null],[4764,10318,null],[4714,10319,null],[2914,10320,null],[4523,10321,null],[4354,10322,null],[3130,10323,null],[2122,10324,null],[3227,10325,null],[5244,10326,null],[4570,10327,null],[5250,10328,null],[3826,10329,null],[4162,10330,null],[3562,10331,null],[4138,10332,null],[3466,10333,null],[2087,10334,null],[3851,10335,null],[5196,10336,null],[3850,10337,null],[3874,10338,null],[2578,10339,null],[4522,10340,null],[2506,10341,null],[2987,10342,null],[3394,10343,null],[5238,10344,21048],[4679,10345,null],[4476,10346,null],[3994,10347,null],[2458,10348,null],[3959,10349,null],[4962,10350,null],[4668,10351,null],[2362,10352,null],[4770,10353,null],[4482,10354,null],[2135,10355,null],[2267,10356,null],[4066,10357,null],[2519,10358,null],[4278,10359,21078],[3623,10360,null],[3058,10361,null],[4290,10362,null],[2615,10363,null],[3610,10364,null],[3202,10365,null],[4092,10366,null],[3634,10367,null],[5382,10368,21096],[4331,10369,null],[2711,10370,null],[4098,10371,null],[2699,10372,null],[4007,10373,null],[4710,10374,21108],[3370,10375,null],[1786,10376,null],[1835,10377,null],[1739,10378,null],[2123,10379,null],[3431,10380,null],[4546,10381,null],[4330,10382,null],[3179,10383,null],[4956,10384,null],[3922,10385,null],[4018,10386,null],[2891,10387,null],[3366,10388,21136],[1810,10389,null],[5046,10390,21140],[3815,10391,null],[3516,10392,null],[2146,10393,null],[1943,10394,null],[3863,10395,null],[3419,10396,null],[5058,10397,null],[5142,10398,21156],[3682,10399,null],[5298,10400,null],[4422,10401,21162],[2279,10402,null],[1978,10403,null],[4182,10404,21168],[4914,10405,null],[5154,10406,null],[5394,10407,null],[1618,10408,null],[1602,10409,null],[1690,10410,null],[1302,10411,21182],[4902,10412,21184],[5721,10413,21186],[1548,10414,null],[5718,10415,21190],[5634,10416,null],[1474,10417,null],[5526,10418,21196],[5478,10419,21198],[4662,10420,21200],[1362,10421,null],[4854,10422,21204],[3899,10423,null],[1686,10424,21208],[1559,10425,null],[1703,10426,null],[8693,10427,21214],[3474,10428,null],[3948,10429,null],[4860,10430,null],[3611,10431,null],[5628,10432,null],[5676,10433,null],[3442,10434,null],[3803,10435,null],[1594,10436,null],[5538,10437,null],[1666,10438,null],[5712,10439,21238],[5574,10440,21240],[3274,10441,null],[1354,10442,null],[1642,10443,null],[4428,10444,null],[5725,10445,21250],[1644,10446,null],[3858,10447,null],[1405,10448,21256],[3191,10449,null],[3618,10450,null],[3178,10451,null],[875,10452,null],[1638,10453,21266],[1655,10454,null],[3947,10455,null],[5106,10456,null],[1499,10457,null],[3330,10458,null],[966,10459,21278],[594,10460,null],[4284,10461,null],[5100,10462,null],[3222,10463,21286],[1691,10464,null],[4758,10465,21290],[4230,10466,21292],[5190,10467,21294],[4566,10468,21296],[4002,10469,null],[1186,10470,null],[4722,10471,null],[3564,10472,null],[1607,10473,null],[1355,10474,null],[5202,10475,null],[1170,10476,null],[1590,10477,21314],[1116,10478,null],[3762,10479,null],[586,10480,null],[1714,10481,null],[3570,10482,null],[3078,10483,21326],[3132,10484,null],[4038,10485,21330],[4812,10486,null],[5532,10487,null],[1682,10488,21336],[5388,10489,null],[3522,10490,null],[3378,10491,null],[1367,10492,null],[1698,10493,null],[1079,10494,null],[4470,10495,21350],[684,10496,null],[3186,10497,null],[9342,10498,21356],[1271,10499,null],[1066,10500,null],[5004,10501,null],[1308,10502,null],[4950,10503,21366],[1451,10504,null],[588,10505,null],[1314,10506,null],[1067,10507,null],[1452,10508,null],[887,10509,null],[898,10510,null],[3756,10511,null],[4866,10512,null],[3234,10513,null],[8666,10514,21388],[8412,10515,21390],[3802,10516,null],[1163,10517,null],[5580,10518,null],[4434,10519,null],[1127,10520,null],[582,10521,21402],[634,10522,null],[4578,10523,null],[1319,10524,null],[5148,10525,null],[1498,10526,null],[4380,10527,null],[610,10528,null],[4338,10529,null],[1115,10530,null],[5346,10531,null],[5286,10532,21424],[1307,10533,null],[1546,10534,null],[2700,10535,null],[1259,10536,null],[1522,10537,null],[178,10538,null],[1114,10539,null],[2951,10540,null],[3034,10541,null],[5713,10542,21444],[3010,10543,null],[1282,10544,null],[2999,10545,null],[2434,10546,null],[2737,10547,21454],[154,10548,null],[1650,10549,null],[1494,10550,21460],[2748,10551,null],[2818,10552,null],[2988,10553,null],[3035,10554,null],[2602,10555,null],[923,10556,null],[5714,10557,21474],[1633,10558,21476],[2890,10559,null],[155,10560,null],[1549,10561,21482],[930,10562,null],[2994,10563,null],[2603,10564,null],[2231,10565,null],[1162,10566,null],[2795,10567,null],[2962,10568,null],[946,10569,null],[4134,10570,21500],[4620,10571,null],[2807,10572,null],[2982,10573,21506],[1692,10574,null],[2411,10575,null],[2938,10576,null],[2242,10577,null],[4140,10578,null],[2171,10579,null],[2530,10580,null],[2317,10581,21522],[973,10582,21524],[3030,10583,21526],[1138,10584,null],[2646,10585,21530],[2310,10586,21532],[2550,10587,21534],[774,10588,21536],[106,10589,null],[802,10590,null],[2471,10591,null],[3036,10592,null],[2698,10593,null],[114,10594,null],[2082,10595,null],[299,10596,null],[3042,10597,null],[924,10598,null],[4626,10599,null],[1014,10600,21560],[2742,10601,21562],[4086,10602,21564],[2892,10603,null],[850,10604,null],[3047,10605,null],[4146,10606,null],[2170,10607,null],[2610,10608,null],[828,10609,null],[8457,10610,21580],[2626,10611,null],[2070,10612,21584],[2423,10613,null],[1260,10614,null],[2663,10615,null],[1254,10616,21592],[2754,10617,null],[8674,10618,21596],[8363,10619,21598],[2651,10620,null],[1110,10621,21602],[4998,10622,21604],[2794,10623,null],[337,10624,21608],[4524,10625,null],[9358,10626,21612],[8447,10627,21614],[4530,10628,null],[2832,10629,21618],[4326,10630,21620],[4386,10631,null],[1511,10632,null],[4572,10633,null],[2507,10634,null],[4320,10635,21630],[1258,10636,null],[311,10637,null],[1595,10638,null],[2855,10639,null],[322,10640,null],[2939,10641,null],[2482,10642,null],[9276,10643,21646],[4188,10644,null],[486,10645,21650],[3942,10646,21652],[2039,10647,null],[2843,10648,null],[636,10649,null],[1266,10650,null],[2652,10651,null],[3954,10652,null],[1350,10653,21666],[1584,10654,21668],[2002,10655,null],[306,10656,null],[1450,10657,null],[1878,10658,21676],[250,10659,null],[1500,10660,null],[1643,10661,null],[1506,10662,null],[2946,10663,null],[1458,10664,null],[1930,10665,null],[1986,10666,null],[3894,10667,21694],[5586,10668,null],[673,10669,21698],[539,10670,null],[1931,10671,null],[3032,10672,21704],[215,10673,null],[4044,10674,null],[5010,10675,null],[2466,10676,null],[252,10677,null],[3510,10678,21716],[1979,10679,null],[2370,10680,null],[251,10681,null],[2022,10682,21724],[3996,10683,null],[498,10684,null],[4050,10685,null],[1356,10686,null],[2650,10687,null],[2706,10688,null],[2027,10689,null],[167,10690,null],[263,10691,null],[1974,10692,21744],[294,10693,21746],[1062,10694,21748],[1991,10695,null],[2364,10696,null],[2903,10697,null],[3714,10698,null],[1788,10699,null],[2866,10700,null],[2410,10701,null],[3414,10702,21764],[2886,10703,21766],[4806,10704,21768],[551,10705,null],[9679,10706,21772],[9544,10707,21774],[3372,10708,null],[3426,10709,null],[3990,10710,21780],[2989,10711,21782],[2790,10712,21784],[246,10713,21786],[8369,10714,21788],[480,10715,21790],[1794,10716,null],[3906,10717,null],[562,10718,null],[5292,10719,null],[2658,10720,null],[274,10721,null],[8357,10722,21804],[8699,10723,21806],[1834,10724,null],[2514,10725,null],[1446,10726,21812],[1932,10727,null],[1164,10728,null],[1463,10729,null],[1122,10730,null],[2418,10731,null],[1884,10732,null],[1799,10733,null],[3804,10734,null],[2802,10735,null],[162,10736,null],[1980,10737,null],[2358,10738,21836],[210,10739,null],[3606,10740,21840],[2934,10741,21842],[3270,10742,21844],[2262,10743,21846],[202,10744,null],[12,10745,null],[2028,10746,null],[534,10747,21854],[1882,10748,null],[258,10749,null],[3282,10750,null],[3025,10751,21862],[918,10752,21864],[300,10753,null],[5670,10754,21868],[546,10755,null],[2194,10756,null],[2322,10757,null],[630,10758,21876],[4374,10759,21878],[882,10760,null],[1680,10761,21882],[3318,10762,21884],[1858,10763,null],[2220,10764,null],[2034,10765,null],[599,10766,null],[2124,10767,null],[150,10768,21896],[6,10769,21898],[635,10770,null],[3750,10771,21902],[1330,10772,null],[204,10773,null],[839,10774,null],[1895,10775,null],[203,10776,null],[3708,10777,null],[2274,10778,null],[1847,10779,null],[1746,10780,null],[1883,10781,null],[834,10782,null],[1842,10783,null],[2316,10784,null],[642,10785,null],[8432,10786,21932],[1836,10787,null],[538,10788,null],[3180,10789,null],[1306,10790,null],[2172,10791,null],[2796,10792,null],[226,10793,null],[8485,10794,21948],[8517,10795,21950],[874,10796,null],[1740,10797,null],[3810,10798,null],[1938,10799,null],[2178,10800,null],[2604,10801,null],[3648,10802,21964],[9339,10803,21966],[1830,10804,21968],[3276,10805,null],[827,10806,null],[2226,10807,null],[870,10808,21976],[492,10809,null],[1734,10810,21980],[1829,10811,null],[822,10812,21984],[587,10813,null],[1596,10814,null],[3666,10815,null],[826,10816,null],[540,10817,null],[3654,10818,21996],[3138,10819,null],[2219,10820,null],[2268,10821,null],[4242,10822,null],[2940,10823,null],[8360,10824,22008],[3024,10825,22010],[6090,10826,22012],[8366,10827,22014],[1782,10828,22016],[2305,10829,22018],[672,10830,22020],[3558,10831,22022],[2502,10832,22024],[1954,10833,null],[4032,10834,22028],[2304,10835,22030],[3462,10836,22032],[3900,10837,null],[5094,10838,22036],[2556,10839,null],[6092,10840,null],[1906,10841,null],[6095,10842,null],[6096,10843,22046],[1890,10844,null],[2166,10845,22050],[1090,10846,null],[2183,10847,null],[2412,10848,null],[198,10849,22058],[8390,10850,22060],[3174,10851,22062],[3090,10852,null],[384,10853,22066],[4614,10854,22068],[2218,10855,null],[4518,10856,22072],[3798,10857,22074],[9267,10858,22076],[3420,10859,null],[2214,10860,22080],[685,10861,22082],[3228,10862,null],[2076,10863,null],[1074,10864,null],[2454,10865,22090],[8507,10866,22092],[8604,10867,22094],[6074,10868,null],[7228,10869,null],[3846,10870,22100],[2838,10871,22102],[2844,10872,null],[2453,10873,null],[3468,10874,null],[8474,10875,22110],[2213,10876,null],[580,10877,null],[1068,10878,null],[4674,10879,null],[8528,10880,22120],[6086,10881,null],[8448,10882,22124],[8397,10883,22126],[8571,10884,22128],[8393,10885,22130],[8667,10886,22132],[2130,10887,null],[9300,10888,22136],[9563,10889,22138],[9698,10890,22140],[9325,10891,22142],[6068,10892,null],[9570,10893,22146],[8690,10894,22148],[2508,10895,null],[9291,10896,22152],[8456,10897,22154],[96,10898,22156],[432,10899,22158],[9568,10900,22160],[8708,10901,22162],[9841,10902,22164],[7108,10903,22166],[8454,10904,22168],[9375,10905,22170],[8573,10906,22172],[9269,10907,22174],[8615,10908,22176],[8356,10909,22178],[9571,10910,22180],[7106,10911,22182],[8498,10912,22184],[9433,10913,22186],[8481,10914,22188],[8344,10915,22190],[1828,10916,null],[9369,10917,22194],[3660,10918,null],[2118,10919,22198],[48,10920,22200],[484,10921,null],[3072,10922,22204],[8345,10923,22206],[9345,10924,22208],[9429,10925,22210],[9337,10926,22212],[6072,10927,22214],[1104,10928,22216],[9564,10929,22218],[8464,10930,22220],[8340,10931,22222],[9338,10932,22224],[2880,10933,22226],[9254,10934,22228],[3744,10935,22230],[8681,10936,22232],[9347,10937,22234],[8582,10938,22236],[8617,10939,22238],[8569,10940,22240],[8351,10941,22242],[9371,10942,22244],[4332,10943,null],[8488,10944,22248],[9302,10945,22250],[8504,10946,22252],[8413,10947,22254],[9257,10948,22256],[8382,10949,22258],[8624,10950,22260],[2406,10951,22262],[8399,10952,22264],[6131,10953,null],[8578,10954,22268],[8381,10955,22270],[8662,10956,22272],[528,10957,22274],[8648,10958,22276],[5340,10959,null],[8494,10960,22280],[8377,10961,22282],[8403,10962,22284],[8553,10963,22286],[3168,10964,22288],[2657,10965,null],[3126,10966,22292],[4818,10967,null],[9374,10968,22296],[2801,10969,null],[8359,10970,22300],[8379,10971,22302],[9856,10972,22304],[7226,10973,null],[4512,10974,22308],[6075,10975,22310],[9314,10976,22312],[1924,10977,null],[8486,10978,22316],[8461,10979,22318],[1008,10980,22320],[4760,10981,22403],[4944,10982,22405],[3852,10983,null],[4285,10984,22431],[5136,10985,22434],[5185,10986,22439],[5622,10987,22443],[5629,10988,22446],[5240,10989,22451],[4465,10990,22453],[4992,10991,22457],[3565,10992,22479],[4477,10993,22482],[5522,10994,22487],[5234,10995,22491],[4705,10996,22494],[6087,10997,22499],[8644,10998,22501],[8664,10999,22505],[8702,11000,22507],[5197,11001,22517],[4273,11002,22528],[5101,11003,22530],[4945,11004,22533],[4754,11005,22538],[5528,11006,22539],[5245,11007,22540],[5672,11008,22542],[5485,11009,22545],[4416,11010,22548],[4765,11011,22551],[2850,11012,null],[2598,11013,22556],[8713,11014,22560],[8426,11015,22562],[5089,11016,22572],[1213,11017,22583],[2928,11018,22585],[6084,11019,22588],[9638,11020,22593],[9549,11021,22594],[8651,11022,22595],[5389,11023,22597],[8519,11024,22600],[5665,11025,22603],[5533,11026,22606],[4040,11027,22609],[3553,11028,22611],[3612,11029,null],[1344,11030,22617],[8361,11031,22620],[3889,11032,22628],[349,11033,22630],[2357,11034,null],[1296,11035,22641],[3037,11036,22643],[5520,11037,22646],[8548,11038,22650],[5233,11039,22652],[5677,11040,22653],[5521,11041,22654],[5617,11042,22656],[1152,11043,22657],[5377,11044,22658],[2592,11045,22661],[5473,11046,22662],[9296,11047,22663],[3984,11048,22666],[1688,11049,22669],[5666,11050,22672],[3757,11051,22674],[1926,11052,22678],[8378,11053,22680],[9297,11054,22683],[1681,11055,22691],[9587,11056,22693],[144,11057,22701],[6694,11058,22704],[4045,11059,22706],[2029,11060,22709],[6122,11061,null],[9555,11062,22715],[9329,11063,22716],[8687,11064,22717],[8455,11065,22719],[9695,11066,22720],[8719,11067,22721],[9373,11068,22724],[8525,11069,22725],[8717,11070,22726],[4034,11071,22729],[1393,11072,22732],[4608,11073,22735],[2977,11074,22737],[3702,11075,22741],[876,11076,null],[2256,11077,22746],[604,11078,null],[1632,11079,22755],[8352,11080,22757],[1948,11081,null],[8492,11082,22766],[961,11083,22769],[3997,11084,22771],[1852,11085,null],[2017,11086,22775],[2789,11087,null],[2645,11088,null],[6128,11089,null],[3325,11090,22783],[3901,11091,22784],[4753,11092,22785],[8429,11093,22787],[1693,11094,22788],[1537,11095,22789],[9309,11096,22792],[2893,11097,22793],[8497,11098,22794],[2898,11099,null],[1920,11100,22798],[2881,11101,22799],[1645,11102,22802],[8386,11103,22803],[9540,11104,22804],[4033,11105,22807],[8460,11106,22809],[9327,11107,22813],[912,11108,22815],[4656,11109,22818],[1937,11110,null],[8452,11111,22827],[8445,11112,22829],[8375,11113,22834],[8722,11114,22838],[8565,11115,22841],[4717,11116,22843],[1841,11117,null],[3216,11118,22847],[8701,11119,22851],[8703,11120,22852],[9840,11121,22853],[8704,11122,22855],[9552,11123,22856],[8698,11124,22857],[8392,11125,22859],[8436,11126,22860],[8711,11127,22861],[9425,11128,22864],[9333,11129,22865],[8706,11130,22866],[9642,11131,22869],[8718,11132,22870],[9376,11133,22871],[8594,11134,22874],[9264,11135,22875],[8614,11136,22876],[6093,11137,22879],[2460,11138,null],[7138,11139,null],[8678,11140,22886],[8605,11141,22888],[2225,11142,null],[1925,11143,null],[3936,11144,22900],[576,11145,22901],[3792,11146,22902],[8716,11147,22904],[8405,11148,22905],[8649,11149,22906],[8493,11150,22910],[8365,11151,22912],[9295,11152,22913],[1488,11153,22914],[8541,11154,22918],[1201,11155,22921],[3026,11156,22923],[3313,11157,22924],[4621,11158,22925],[6080,11159,null],[6081,11160,22929],[8509,11161,22933],[2465,11162,null],[6077,11163,null],[5616,11164,22937],[9303,11165,22938],[9537,11166,22939],[864,11167,22941],[8660,11168,22942],[9354,11169,22943],[6078,11170,22946],[2557,11171,22947],[9591,11172,22948],[8675,11173,22951],[8612,11174,22952],[9672,11175,22953],[8715,11176,22956],[9336,11177,22957],[8383,11178,22958],[8534,11179,22961],[8543,11180,22963],[9422,11181,22965],[8646,11182,22968],[8686,11183,22970],[5568,11184,22973],[8684,11185,22976],[8714,11186,22982],[9299,11187,22983],[4704,11188,22984],[8721,11189,22986],[8658,11190,22987],[9315,11191,22988],[4752,11192,22992],[9293,11193,22994],[9268,11194,22995],[8385,11195,22996],[4224,11196,23000],[9272,11197,23003],[4560,11198,23005],[9334,11199,23006],[8653,11200,23007],[6089,11201,null],[2545,11202,23011],[8688,11203,23015],[8692,11204,23016],[9556,11205,23017],[8685,11206,23019],[9694,11207,23020],[8680,11208,23021],[8691,11209,23023],[8425,11210,23024],[9643,11211,23025],[8682,11212,23028],[9561,11213,23029],[8514,11214,23030],[9584,11215,23033],[9260,11216,23034],[3408,11217,23035],[9697,11218,23038],[8679,11219,23039],[8422,11220,23040],[7274,11221,23043],[9361,11222,23045],[8589,11223,23047],[7110,11224,23050],[8562,11225,23052],[8400,11226,23055],[8476,11227,23058],[8433,11228,23064],[8435,11229,23065],[8430,11230,23066],[2117,11231,null],[2129,11232,null],[8431,11233,23070],[8402,11234,23074],[9569,11235,23075],[8490,11236,23076],[508,11237,null],[9318,11238,23079],[8595,11239,23080],[2976,11240,23084],[8546,11241,23085],[9424,11242,23086],[4272,11243,23089],[9305,11244,23090],[8418,11245,23091],[2749,11246,23093],[3745,11247,23094],[8542,11248,23095],[6083,11249,null],[8581,11250,23098],[1200,11251,23099],[1968,11252,23101],[8579,11253,23102],[9304,11254,23103],[8349,11255,23107],[9265,11256,23108],[288,11257,23109],[3360,11258,23111],[3456,11259,23112],[8561,11260,23113],[8668,11261,23115],[8709,11262,23116],[9548,11263,23117],[2496,11264,23120],[7198,11265,23121],[7272,11266,23122],[8567,11267,23125],[5472,11268,23126],[8540,11269,23127],[8453,11270,23130],[9310,11271,23131],[8423,11272,23132],[6069,11273,23135],[8621,11274,23137],[9651,11275,23139],[9567,11276,23142],[9581,11277,23144],[8406,11278,23147],[8586,11279,23150],[9331,11280,23156],[8609,11281,23157],[9370,11282,23158],[9417,11283,23160],[8642,11284,23161],[9596,11285,23162],[8652,11286,23166],[9691,11287,23167],[9285,11288,23168],[8450,11289,23170],[8610,11290,23171],[9649,11291,23172],[8424,11292,23176],[8419,11293,23177],[9368,11294,23178],[9645,11295,23181],[8627,11296,23182],[9359,11297,23183],[8518,11298,23185],[9330,11299,23186],[8710,11300,23187],[9432,11301,23189],[9360,11302,23190],[9595,11303,23191],[8577,11304,23193],[8505,11305,23194],[8623,11306,23195],[8707,11307,23199],[8364,11308,23200],[9541,11309,23201],[9674,11310,23203],[9283,11311,23204],[9688,11312,23205],[9301,11313,23207],[8659,11314,23208],[8673,11315,23209],[9692,11316,23212],[9274,11317,23213],[8723,11318,23214],[9286,11319,23217],[9680,11320,23218],[9367,11321,23219],[9576,11322,23222],[9703,11323,23223],[8611,11324,23224],[3504,11325,23227],[1728,11326,23228],[9255,11327,23229],[8512,11328,23231],[8585,11329,23233],[7112,11330,23236],[8550,11331,23238],[2064,11332,23241],[8342,11333,23244],[8443,11334,23250],[8428,11335,23251],[8583,11336,23252],[6134,11337,null],[8483,11338,23255],[6137,11339,null],[0,11340,23260],[960,11341,23261],[8355,11342,23262],[6132,11343,null],[6138,11344,null],[6135,11345,null],[9597,11346,23270],[8398,11347,23271],[9430,11348,23272],[8416,11349,23275],[9539,11350,23276],[9593,11351,23277],[4464,11352,23279],[8521,11353,23280],[8591,11354,23281],[8478,11355,23283],[9298,11356,23284],[9259,11357,23285],[8508,11358,23287],[8487,11359,23288],[9546,11360,23289],[9289,11361,23293],[2352,11362,23294],[8535,11363,23295],[5232,11364,23297],[8566,11365,23298],[9341,11366,23299],[8446,11367,23301],[9583,11368,23302],[8637,11369,23303],[4080,11370,23306],[8496,11371,23307],[8671,11372,23308],[8515,11373,23311],[3552,11374,23312],[8613,11375,23313],[8372,11376,23316],[1056,11377,23317],[8590,11378,23318],[3696,11379,23321],[8477,11380,23322],[2688,11381,23323],[1824,11382,23325],[9650,11383,23327],[9288,11384,23330],[8367,11385,23332],[9559,11386,23335],[8470,11387,23338],[9648,11388,23344],[9263,11389,23345],[9854,11390,23346],[8437,11391,23348],[8526,11392,23349],[8522,11393,23350],[8404,11394,23354],[8602,11395,23355],[816,11396,23356],[8700,11397,23358],[8524,11398,23359],[9844,11399,23360],[5664,11400,23364],[8629,11401,23365],[8683,11402,23366],[8619,11403,23369],[8421,11404,23370],[3840,11405,23371],[9687,11406,23373],[9580,11407,23374],[9686,11408,23375],[9279,11409,23377],[8511,11410,23378],[8536,11411,23379],[9365,11412,23381],[9683,11413,23382],[9278,11414,23383],[8547,11415,23387],[8539,11416,23388],[8410,11417,23389],[4800,11418,23391],[9538,11419,23392],[4128,11420,23393],[9689,11421,23395],[8670,11422,23396],[8409,11423,23397],[8538,11424,23400],[5328,11425,23401],[9348,11426,23402],[9258,11427,23405],[2016,11428,23406],[8603,11429,23407],[9585,11430,23410],[9839,11431,23411],[8387,11432,23412],[7200,11433,23415],[3120,11434,23416],[8500,11435,23417],[8549,11436,23419],[5088,11437,23420],[8628,11438,23421],[6724,11439,null],[3600,11440,23426],[1248,11441,23428],[8489,11442,23431],[7356,11443,null],[3888,11444,23440],[9317,11445,23441],[9627,11446,23442],[8516,11447,23444],[8484,11448,23445],[8350,11449,23446],[8354,11450,23450],[8341,11451,23451],[192,11452,23452],[6123,11453,null],[7404,11454,null],[7358,11455,null],[8506,11456,23460],[8347,11457,23461],[8676,11458,23462],[8407,11459,23465],[1536,11460,23466],[9306,11461,23467],[8643,11462,23469],[8529,11463,23470],[8468,11464,23471],[8479,11465,23473],[9572,11466,23474],[7302,11467,null],[9421,11468,23477],[8458,11469,23478],[3312,11470,23479],[2369,11471,null],[6071,11472,null],[8499,11473,23485],[8555,11474,23487],[8695,11475,23488],[9281,11476,23489],[9343,11477,23491],[1392,11478,23492],[8408,11479,23493],[5280,11480,23496],[4609,11481,23497],[9256,11482,23498],[3985,11483,23501],[8570,11484,23502],[8544,11485,23503],[9320,11486,23506],[6696,11487,23507],[9311,11488,23508],[9586,11489,23511],[9366,11490,23512],[8665,11491,23513],[8663,11492,23515],[9699,11493,23516],[9363,11494,23517],[7136,11495,null],[8661,11496,23522],[9280,11497,23524],[8531,11498,23527],[2640,11499,23530],[8394,11500,23536],[8593,11501,23537],[9428,11502,23538],[8641,11503,23540],[240,11504,23541],[8527,11505,23542],[8441,11506,23546],[8343,11507,23547],[8655,11508,23548],[9308,11509,23550],[9702,11510,23551],[9846,11511,23552],[9852,11512,23556],[8513,11513,23557],[8630,11514,23558],[8391,11515,23561],[9628,11516,23562],[8618,11517,23563],[9307,11518,23565],[9633,11519,23566],[9579,11520,23567],[9639,11521,23569],[8580,11522,23570],[9356,11523,23571],[9634,11524,23573],[2544,11525,23574],[8677,11526,23575],[9849,11527,23579],[9323,11528,23580],[8672,11529,23581],[9601,11530,23583],[8634,11531,23584],[9640,11532,23585],[8650,11533,23587],[9700,11534,23588],[9350,11535,23589],[9592,11536,23592],[9324,11537,23593],[9349,11538,23594],[9582,11539,23597],[9600,11540,23598],[1776,11541,23599],[9344,11542,23602],[9573,11543,23603],[9326,11544,23604],[5424,11545,23607],[8654,11546,23608],[8491,11547,23609],[3264,11548,23611],[9418,11549,23612],[8552,11550,23613],[2784,11551,23615],[9321,11552,23616],[7140,11553,null],[8501,11554,23620],[8597,11555,23621],[9635,11556,23622],[8411,11557,23624],[9313,11558,23625],[8368,11559,23626],[8388,11560,23629],[768,11561,23630],[9284,11562,23631],[6126,11563,null],[7402,11564,null],[9603,11565,23636],[8712,11566,23642],[8647,11567,23643],[8639,11568,23644],[6125,11569,null],[9427,11570,23647],[8696,11571,23648],[6722,11572,null],[7134,11573,null],[8459,11574,23654],[8588,11575,23656],[6129,11576,null],[8467,11577,23658],[8620,11578,23662],[8415,11579,23663],[8510,11580,23664],[8563,11581,23667],[9319,11582,23668],[8626,11583,23669],[8523,11584,23671],[8694,11585,23672],[9277,11586,23673],[7300,11587,null],[8475,11588,23676],[9602,11589,23677],[9271,11590,23679],[9340,11591,23680],[9294,11592,23681],[9565,11593,23685],[8358,11594,23686],[2400,11595,23687],[5040,11596,23689],[9287,11597,23690],[8598,11598,23691],[9545,11599,23693],[4368,11600,23694],[8444,11601,23695],[9542,11602,23698],[8533,11603,23699],[4896,11604,23700],[9282,11605,23703],[2448,11606,23704],[8469,11607,23705],[8440,11608,23708],[9547,11609,23709],[8607,11610,23710],[9705,11611,23713],[8558,11612,23714],[8606,11613,23715],[9706,11614,23717],[9701,11615,23718],[9352,11616,23719],[8554,11617,23721],[9574,11618,23722],[8584,11619,23723],[8616,11620,23726],[8462,11621,23727],[9353,11622,23728],[9855,11623,23730],[8556,11624,23731],[9426,11625,23732],[8439,11626,23735],[9262,11627,23736],[8346,11628,23737],[9599,11629,23740],[9357,11630,23741],[8568,11631,23742],[8373,11632,23748],[9270,11633,23749],[8559,11634,23750],[9631,11635,23752],[8635,11636,23753],[9677,11637,23754],[8471,11638,23758],[8601,11639,23759],[9630,11640,23760],[9676,11641,23762],[8592,11642,23763],[9558,11643,23764],[9629,11644,23768],[4176,11645,23769],[8414,11646,23770],[8576,11647,23773],[8574,11648,23774],[9594,11649,23775],[8466,11650,23777],[9266,11651,23778],[8636,11652,23779],[8472,11653,23781],[8370,11654,23782],[8572,11655,23783],[9290,11656,23785],[8551,11657,23786],[9636,11658,23787],[9562,11659,23791],[8417,11660,23792],[1440,11661,23793],[9550,11662,23795],[8560,11663,23796],[8557,11664,23797],[720,11665,23799],[8395,11666,23800],[8669,11667,23801],[2160,11668,23804],[8645,11669,23805],[2208,11670,23806],[8465,11671,23809],[9682,11672,23810],[9646,11673,23811],[9696,11674,23814],[8380,11675,23815],[8599,11676,23816]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-parity.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-parity.json new file mode 100644 index 0000000000..fad63c401e --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/layers/pr168-v4-cut/physical-pairs-parity.json @@ -0,0 +1 @@ +{"description":"Frozen reuse pairs [donor, recipient, deadline]: PR193 recipe (source_aligned_local_v4.py --avoid-parity-erasure minimum-weight full matching), in the script's control order.","pairs":[[0,10029,20311],[6,10020,20246],[7,10022,20257],[10,10026,null],[11,10028,null],[12,10033,null],[14,10034,20336],[18,10036,null],[19,10037,20354],[20,10041,20372],[23,10042,null],[27,10044,20384],[33,10045,20391],[34,10046,null],[48,10053,20426],[54,10019,20242],[55,10021,20254],[58,10025,null],[59,10027,null],[60,10032,null],[62,10035,20338],[66,10040,null],[67,10043,20381],[68,10047,20399],[71,10050,null],[75,10052,20424],[81,10054,20428],[82,10056,null],[96,10067,20483],[102,10011,20164],[103,10012,20175],[106,10015,null],[107,10016,null],[108,10051,null],[110,10055,20430],[114,10057,null],[115,10061,20459],[116,10062,20463],[119,10064,null],[123,10065,20474],[129,10066,20476],[130,10068,null],[144,10074,20497],[150,10058,20445],[151,10063,20470],[154,10071,null],[155,10072,null],[156,10073,null],[158,10079,20512],[162,10080,null],[163,10081,20517],[164,10082,20518],[167,10083,null],[171,10084,20526],[177,10085,20528],[178,10086,null],[192,10747,21854],[198,10070,20491],[199,10088,20532],[202,10089,null],[203,10093,null],[204,10102,null],[206,10107,20584],[210,10111,null],[211,10112,20592],[212,10116,20607],[215,10129,null],[219,10130,20633],[225,10131,20634],[226,10136,null],[240,10555,21470],[246,10113,20599],[247,10114,20600],[250,10115,null],[251,10117,null],[252,10118,null],[254,10119,20611],[258,10132,null],[259,10133,20639],[260,10134,20640],[263,10135,null],[267,10139,20652],[273,10140,20653],[274,10141,null],[288,10087,20530],[294,10069,20485],[295,10090,20541],[298,10091,null],[299,10092,null],[300,10094,null],[302,10095,20552],[306,10096,null],[307,10103,20574],[308,10104,20575],[311,10105,null],[315,10106,20581],[321,10108,20586],[322,10109,null],[337,10148,20669],[342,10097,20555],[343,10110,20588],[346,10120,null],[347,10121,null],[348,10122,null],[349,10149,20670],[350,10137,20649],[354,10138,null],[355,10142,20656],[356,10143,20657],[359,10144,null],[363,10145,20660],[369,10146,20661],[370,10147,null],[384,10150,20671],[390,10017,20234],[391,10018,20238],[394,10023,null],[395,10024,null],[396,10030,null],[398,10031,20321],[402,10038,null],[403,10039,20364],[404,10048,20405],[407,10049,null],[411,10059,20451],[417,10060,20455],[418,10075,null],[432,10076,20506],[438,10009,20156],[439,10010,20160],[442,10013,null],[443,10014,null],[444,10077,null],[446,10078,20508],[450,10098,null],[451,10099,20564],[452,10100,20565],[455,10101,null],[459,10123,20620],[465,10124,20621],[466,10125,null],[480,10155,20683],[484,10152,null],[486,10126,20626],[487,10127,20627],[490,10128,null],[491,10153,null],[492,10154,null],[494,10156,20684],[498,10157,null],[499,10158,20690],[500,10159,20691],[503,10160,null],[507,10161,20696],[508,10167,null],[513,10162,20697],[514,10163,null],[528,10210,20792],[534,10151,20677],[535,10171,20718],[538,10172,null],[539,10173,null],[540,10177,null],[542,10178,20727],[546,10179,null],[547,10180,20730],[548,10181,20731],[551,10182,null],[555,10186,20747],[561,10187,20748],[562,10188,null],[576,10441,21242],[580,10225,null],[582,10168,20709],[583,10169,20710],[586,10170,null],[587,10183,null],[588,10184,null],[590,10185,20741],[594,10189,null],[595,10190,20752],[596,10191,20753],[599,10198,null],[603,10199,20769],[604,10226,null],[609,10200,20770],[610,10204,null],[630,10192,20755],[631,10193,20756],[634,10194,null],[635,10195,null],[636,10196,null],[638,10197,20764],[642,10205,null],[643,10206,20782],[644,10211,20793],[647,10212,null],[651,10216,20800],[657,10217,20801],[658,10218,null],[672,10437,21234],[673,10421,21202],[678,10424,21208],[679,10425,21210],[682,10426,null],[683,10427,null],[684,10429,null],[685,10432,21224],[686,10433,21226],[690,10434,null],[691,10435,21230],[692,10440,21240],[695,10442,null],[699,10443,21246],[705,10445,21250],[706,10448,null],[720,10412,21184],[726,10005,20082],[727,10006,20086],[730,10007,null],[731,10008,null],[732,10164,null],[734,10165,20703],[738,10166,null],[739,10174,20722],[740,10175,20723],[743,10176,null],[747,10201,20774],[753,10202,20775],[754,10203,null],[768,10620,21600],[774,10207,20787],[775,10208,20788],[778,10209,null],[779,10213,null],[780,10214,null],[782,10215,20798],[786,10228,null],[787,10229,20826],[788,10230,20827],[791,10231,null],[795,10232,20830],[801,10233,20831],[802,10234,null],[816,10746,21852],[822,10227,20823],[823,10235,20837],[826,10236,null],[827,10240,null],[828,10241,null],[830,10242,20850],[834,10249,null],[835,10250,20867],[836,10251,20868],[839,10255,null],[843,10256,20875],[849,10257,20876],[850,10408,null],[864,10409,21178],[870,10222,20813],[871,10223,20814],[874,10224,null],[875,10237,null],[876,10238,null],[878,10239,20844],[882,10246,null],[883,10247,20862],[884,10248,20863],[887,10252,null],[891,10253,20871],[897,10254,20872],[898,10405,null],[912,10416,21192],[918,10410,21180],[919,10413,21186],[922,10417,null],[923,10418,null],[924,10420,null],[926,10438,21236],[930,10444,null],[931,10446,21252],[932,10449,21258],[935,10450,null],[939,10452,21264],[945,10453,21266],[946,10454,null],[960,10741,21842],[961,10411,21182],[966,10419,21198],[967,10451,21262],[970,10457,null],[971,10458,null],[972,10459,null],[973,10461,21282],[974,10462,21284],[978,10465,null],[979,10466,21292],[980,10467,21294],[983,10469,null],[987,10470,21300],[993,10473,21306],[994,10474,null],[1008,10940,22240],[1014,10219,20804],[1015,10220,20805],[1018,10221,null],[1019,10243,null],[1020,10244,null],[1022,10245,20856],[1026,10258,null],[1027,10259,20879],[1028,10260,20880],[1031,10406,null],[1035,10414,21188],[1041,10422,21204],[1042,10428,null],[1056,10430,21220],[1062,10436,21232],[1063,10456,21272],[1066,10460,null],[1067,10464,null],[1068,10468,null],[1070,10485,21330],[1074,10486,null],[1075,10488,21336],[1076,10491,21342],[1079,10492,null],[1083,10493,21346],[1089,10494,21348],[1090,10496,null],[1104,10588,21536],[1110,10472,21304],[1111,10475,21310],[1114,10476,null],[1115,10477,null],[1116,10478,null],[1118,10480,21320],[1122,10483,null],[1123,10484,21328],[1124,10501,21362],[1127,10502,null],[1131,10504,21368],[1137,10506,21372],[1138,10508,null],[1152,10482,21324],[1158,10490,21340],[1159,10498,21356],[1162,10500,null],[1163,10517,null],[1164,10518,null],[1166,10520,21400],[1170,10522,null],[1171,10523,21406],[1172,10525,21410],[1175,10526,null],[1179,10528,21416],[1185,10530,21420],[1186,10531,null],[1200,10661,21682],[1201,10509,21378],[1206,10499,21358],[1207,10507,21374],[1210,10510,null],[1211,10512,null],[1212,10514,null],[1213,10533,21426],[1214,10515,21390],[1218,10534,null],[1219,10537,21434],[1220,10538,21436],[1223,10539,null],[1227,10541,21442],[1233,10542,21444],[1234,10545,null],[1248,10516,21392],[1254,10489,21338],[1255,10497,21354],[1258,10505,null],[1259,10513,null],[1260,10521,null],[1262,10524,21408],[1266,10529,null],[1267,10532,21424],[1268,10536,21432],[1271,10540,null],[1275,10544,21448],[1281,10546,21452],[1282,10547,null],[1296,10548,21456],[1302,10481,21322],[1303,10549,21458],[1306,10550,null],[1307,10552,null],[1308,10556,null],[1310,10557,21474],[1314,10558,null],[1315,10560,21480],[1316,10563,21486],[1319,10564,null],[1323,10582,21524],[1329,10584,21528],[1330,10585,null],[1344,10586,21532],[1350,10554,21468],[1351,10562,21484],[1354,10590,null],[1355,10592,null],[1356,10593,null],[1358,10594,21548],[1362,10596,null],[1363,10598,21556],[1364,10600,21560],[1367,10601,null],[1371,10602,21564],[1377,10604,21568],[1378,10606,null],[1392,10587,21534],[1393,10595,21550],[1398,10603,21566],[1399,10608,21576],[1402,10609,null],[1403,10610,null],[1404,10611,null],[1405,10614,21588],[1406,10616,21592],[1410,10617,null],[1411,10618,21596],[1412,10619,21598],[1415,10622,null],[1419,10624,21608],[1425,10625,21610],[1426,10626,null],[1440,10632,21624],[1446,10553,21466],[1447,10561,21482],[1450,10566,null],[1451,10568,null],[1452,10569,null],[1454,10571,21502],[1458,10572,null],[1459,10574,21508],[1460,10576,21512],[1463,10577,null],[1467,10579,21518],[1473,10580,21520],[1474,10613,null],[1488,10649,21658],[1494,10570,21500],[1495,10578,21516],[1498,10597,null],[1499,10605,null],[1500,10612,null],[1502,10629,21618],[1506,10630,null],[1507,10633,21626],[1508,10635,21630],[1511,10637,null],[1515,10638,21636],[1521,10640,21640],[1522,10641,null],[1536,10742,21844],[1537,10621,21602],[1542,10627,21614],[1543,10646,21652],[1546,10648,null],[1547,10650,null],[1548,10651,null],[1549,10654,21668],[1550,10656,21672],[1554,10657,null],[1555,10658,21676],[1556,10659,21678],[1559,10662,null],[1563,10664,21688],[1569,10665,21690],[1570,10666,null],[1584,10652,21664],[1590,10565,21490],[1591,10573,21506],[1594,10581,null],[1595,10589,null],[1596,10634,null],[1598,10642,21644],[1602,10645,null],[1603,10653,21666],[1604,10660,21680],[1607,10668,null],[1611,10669,21698],[1617,10670,21700],[1618,10672,null],[1632,10667,21694],[1633,10673,21706],[1638,10675,21710],[1639,10677,21714],[1642,10678,null],[1643,10680,null],[1644,10681,null],[1645,10709,21778],[1646,10683,21726],[1650,10685,null],[1651,10686,21732],[1652,10688,21736],[1655,10689,null],[1659,10691,21742],[1665,10710,21780],[1666,10712,null],[1680,10674,21708],[1681,10693,21746],[1682,10694,21748],[1686,10682,21724],[1687,10690,21740],[1688,10696,21752],[1690,10697,null],[1691,10698,null],[1692,10701,null],[1693,10702,21764],[1694,10704,21768],[1698,10705,null],[1699,10706,21772],[1700,10744,21848],[1703,10745,null],[1707,10749,21858],[1713,10750,21860],[1714,10752,null],[1728,10346,21052],[1734,10309,20978],[1735,10313,20986],[1738,10314,null],[1739,10315,null],[1740,10316,null],[1742,10317,20994],[1746,10321,null],[1747,10322,21004],[1748,10323,21006],[1751,10324,null],[1755,10325,21010],[1761,10329,21018],[1762,10330,null],[1776,10299,20958],[1782,10293,20946],[1783,10297,20954],[1786,10298,null],[1787,10300,null],[1788,10301,null],[1790,10305,20970],[1794,10306,null],[1795,10307,20974],[1796,10308,20976],[1799,10328,null],[1803,10331,21022],[1809,10332,21024],[1810,10333,null],[1824,10344,21048],[1828,10684,null],[1829,10692,null],[1830,10296,20952],[1831,10304,20968],[1834,10312,null],[1835,10320,null],[1836,10345,null],[1838,10347,21054],[1841,10699,null],[1842,10348,null],[1843,10352,21064],[1844,10353,21066],[1847,10354,null],[1851,10355,21070],[1852,10700,null],[1857,10356,21072],[1858,10360,null],[1878,10336,21032],[1879,10337,21034],[1882,10338,null],[1883,10339,null],[1884,10340,null],[1886,10357,21074],[1890,10361,null],[1891,10363,21086],[1892,10364,21088],[1895,10365,null],[1899,10368,21096],[1905,10369,21098],[1906,10371,null],[1920,10373,21106],[1924,10676,null],[1925,10713,null],[1926,10341,21042],[1927,10349,21058],[1930,10376,null],[1931,10377,null],[1932,10378,null],[1934,10380,21120],[1937,10716,null],[1938,10381,null],[1939,10384,21128],[1940,10385,21130],[1943,10386,null],[1947,10388,21136],[1948,10717,null],[1953,10389,21138],[1954,10392,null],[1968,10362,21084],[1974,10370,21100],[1975,10372,21104],[1978,10393,null],[1979,10394,null],[1980,10395,null],[1982,10397,21154],[1986,10400,null],[1987,10401,21162],[1988,10402,21164],[1991,10403,null],[1995,10647,21654],[2001,10655,21670],[2002,10663,null],[2016,10695,21750],[2017,10671,21702],[2022,10379,21118],[2023,10387,21134],[2026,10679,null],[2027,10687,null],[2028,10703,null],[2029,10711,21782],[2030,10707,21774],[2034,10714,null],[2035,10715,21790],[2036,10719,21798],[2039,10721,null],[2043,10722,21804],[2049,10723,21806],[2050,10743,null],[2064,10643,21646],[2070,10277,20914],[2071,10281,20922],[2074,10282,null],[2075,10283,null],[2076,10284,null],[2078,10285,20930],[2082,10289,null],[2083,10290,20940],[2084,10291,20942],[2087,10292,null],[2091,10326,21012],[2097,10334,21028],[2098,10342,null],[2117,10628,null],[2118,10280,20920],[2119,10288,20936],[2122,10310,null],[2123,10318,null],[2124,10350,null],[2126,10358,21076],[2129,10636,null],[2130,10366,null],[2131,10374,21108],[2132,10382,21124],[2135,10390,null],[2139,10396,21152],[2145,10398,21156],[2146,10404,null],[2160,10631,21622],[2166,10551,21462],[2167,10559,21478],[2170,10567,null],[2171,10575,null],[2172,10599,null],[2174,10607,21574],[2178,10615,null],[2179,10623,21606],[2180,10639,21638],[2183,10644,null],[2187,10748,21856],[2193,10751,21862],[2194,10754,null],[2208,10999,22505],[2213,10755,null],[2214,10583,21526],[2215,10591,21542],[2218,10756,null],[2219,10757,null],[2220,10759,null],[2222,10760,21880],[2225,10789,null],[2226,10763,null],[2227,10764,21888],[2228,10765,21890],[2231,10767,null],[2235,10768,21896],[2241,10771,21902],[2242,10772,null],[2256,10773,21906],[2262,10762,21884],[2263,10770,21900],[2266,10775,null],[2267,10776,null],[2268,10778,null],[2270,10780,21920],[2274,10781,null],[2275,10783,21926],[2276,10784,21928],[2279,10786,null],[2283,10788,21936],[2289,10805,21970],[2290,10807,null],[2304,10779,21918],[2305,10791,21942],[2310,10787,21934],[2311,10792,21944],[2314,10794,null],[2315,10795,null],[2316,10797,null],[2317,10799,21958],[2318,10800,21960],[2322,10802,null],[2323,10803,21966],[2324,10821,22002],[2327,10823,null],[2331,10824,22008],[2337,10826,22012],[2338,10827,null],[2352,10708,21776],[2357,10720,null],[2358,10278,20916],[2359,10286,20932],[2362,10294,null],[2363,10302,null],[2364,10535,null],[2366,10543,21446],[2369,10724,null],[2370,10727,null],[2371,10728,21816],[2372,10730,21820],[2375,10731,null],[2379,10732,21824],[2385,10735,21830],[2386,10736,null],[2400,11031,22620],[2406,10725,21810],[2407,10733,21826],[2410,10739,null],[2411,10740,null],[2412,10839,null],[2414,10840,22040],[2418,10841,null],[2419,10843,22046],[2420,10844,22048],[2423,10847,null],[2427,10848,22056],[2433,10849,22058],[2434,10851,null],[2448,11009,22545],[2453,10856,null],[2454,10738,21836],[2455,10825,22010],[2458,10828,null],[2459,10831,null],[2460,10832,null],[2462,10833,22026],[2465,10857,null],[2466,10835,null],[2467,10836,22032],[2468,10855,22070],[2471,10858,null],[2475,10860,22080],[2481,10863,22086],[2482,10864,null],[2496,10887,22134],[2502,10834,22028],[2503,10842,22044],[2506,10850,null],[2507,10852,null],[2508,10871,null],[2510,10872,22104],[2514,10873,null],[2515,10874,22108],[2516,10875,22110],[2519,10879,null],[2523,10880,22120],[2529,10881,22122],[2530,10882,null],[2544,11138,22881],[2545,10865,22090],[2550,10859,22078],[2551,10866,22092],[2554,10867,null],[2555,10888,null],[2556,10889,null],[2557,10903,22166],[2558,10890,22140],[2562,10891,null],[2563,10895,22150],[2564,10896,22152],[2567,10897,null],[2571,10898,22156],[2577,10899,22158],[2578,10904,null],[2592,10967,22294],[2598,10729,21818],[2599,10737,21834],[2602,10777,null],[2603,10785,null],[2604,10793,null],[2606,10796,21952],[2610,10801,null],[2611,10804,21968],[2612,10808,21976],[2615,10809,null],[2619,10811,21982],[2625,10812,21984],[2626,10815,null],[2640,10968,22296],[2645,10816,null],[2646,10761,21882],[2647,10769,21898],[2650,10810,null],[2651,10817,null],[2652,10818,null],[2654,10820,22000],[2657,10965,null],[2658,10901,null],[2659,10905,22170],[2660,10908,22176],[2663,10909,null],[2667,10911,22182],[2673,10912,22184],[2674,10913,null],[2688,11221,23043],[2694,10819,21998],[2695,10885,22130],[2698,10892,null],[2699,10893,null],[2700,10900,null],[2702,10917,22194],[2706,10919,null],[2707,10920,22200],[2708,10921,22202],[2711,10923,null],[2715,10925,22210],[2721,10927,22214],[2722,10928,null],[2737,10998,22501],[2742,10907,22174],[2743,10915,22190],[2746,10933,null],[2747,10935,null],[2748,10936,null],[2749,11004,22533],[2750,10937,22234],[2754,10939,null],[2755,10941,22242],[2756,10943,22246],[2759,10944,null],[2763,10945,22250],[2769,10947,22254],[2770,10997,null],[2784,10813,21986],[2789,10969,null],[2790,10753,21866],[2791,10853,22066],[2794,10861,null],[2795,10868,null],[2796,10869,null],[2798,10876,22112],[2801,10973,null],[2802,10877,null],[2803,10884,22128],[2804,10970,22300],[2807,10975,null],[2811,10976,22312],[2817,10977,22314],[2818,10978,null],[2832,11003,22530],[2838,10837,22034],[2839,10845,22050],[2842,10883,null],[2843,10949,null],[2844,10951,null],[2846,10952,22264],[2850,10953,null],[2851,10954,22268],[2852,10957,22274],[2855,10959,null],[2859,10960,22280],[2865,10961,22282],[2866,10962,null],[2881,11010,22548],[2886,10938,22236],[2887,10946,22252],[2890,11012,null],[2891,11013,null],[2892,11018,null],[2893,11024,22600],[2894,11025,22603],[2898,11027,null],[2899,11028,22611],[2900,11033,22630],[2903,11036,null],[2907,11038,22650],[2913,11045,22661],[2914,11046,null],[2928,11014,22560],[2934,10829,22018],[2935,10922,22204],[2938,10929,null],[2939,10930,null],[2940,11019,null],[2942,11029,22615],[2946,11034,null],[2947,11037,22646],[2948,11047,22663],[2951,11048,null],[2955,11052,22678],[2961,11054,22683],[2962,11056,null],[2976,10906,22172],[2977,11051,22674],[2982,10914,22188],[2983,11057,22701],[2986,11059,null],[2987,11060,null],[2988,11061,null],[2989,11068,22724],[2990,11069,22725],[2994,11070,null],[2995,11071,22729],[2996,11074,22737],[2999,11080,null],[3003,11081,22762],[3009,11082,22766],[3010,11084,null],[3024,11050,22672],[3025,11073,22735],[3026,11087,22779],[3030,11085,22773],[3031,11086,22775],[3032,11088,22780],[3034,11089,null],[3035,11096,null],[3036,11097,null],[3037,11098,22794],[3038,11099,22797],[3042,11100,null],[3043,11101,22799],[3044,11105,22807],[3047,11112,null],[3051,11113,22834],[3057,11114,22838],[3058,11116,null],[3078,10261,20882],[3079,10265,20890],[3082,10266,null],[3083,10267,null],[3084,10268,null],[3086,10269,20898],[3090,10273,null],[3091,10274,20908],[3092,10275,20910],[3095,10276,null],[3099,10327,21014],[3105,10335,21030],[3106,10343,null],[3120,10351,21062],[3126,10264,20888],[3127,10272,20904],[3130,10311,null],[3131,10319,null],[3132,10359,null],[3134,10367,21094],[3138,10375,null],[3139,10383,21126],[3140,10391,21142],[3143,10399,null],[3147,10439,21238],[3153,10447,21254],[3154,10471,null],[3168,10948,22256],[3174,10455,21270],[3175,10463,21286],[3178,10487,null],[3179,10495,null],[3180,10503,null],[3182,10511,21382],[3186,10519,null],[3187,10527,21414],[3188,10774,21908],[3191,10782,null],[3195,10790,21940],[3201,10798,21956],[3202,10806,null],[3216,10479,21318],[3222,10758,21876],[3223,10766,21892],[3226,10814,null],[3227,10822,null],[3228,10830,null],[3230,10854,22068],[3234,10862,null],[3235,10870,22100],[3236,10878,22116],[3239,10902,null],[3243,10910,22180],[3249,10916,22192],[3250,10918,null],[3264,10931,22222],[3270,10838,22036],[3271,10846,22052],[3274,10886,null],[3275,10894,null],[3276,10926,null],[3278,10950,22260],[3282,10955,null],[3283,10958,22276],[3284,10963,22286],[3287,10981,null],[3291,10983,22409],[3297,10984,22431],[3298,10985,null],[3312,11106,22809],[3313,10982,22405],[3318,10934,22228],[3319,10942,22244],[3322,10988,null],[3323,10989,null],[3324,10990,null],[3325,10992,22479],[3326,10993,22482],[3330,10996,null],[3331,11079,22755],[3332,11083,22769],[3335,11090,null],[3339,11091,22784],[3345,11092,22785],[3346,11111,null],[3360,10262,20884],[3366,10270,20900],[3367,10295,20950],[3370,10303,null],[3371,10423,null],[3372,10431,null],[3374,10718,21796],[3378,10726,null],[3379,10734,21828],[3380,10924,22208],[3383,10932,null],[3387,10956,22272],[3393,10964,22288],[3394,10966,null],[3408,11173,22951],[3414,10972,22304],[3415,10974,22308],[3418,10980,null],[3419,10987,null],[3420,10991,null],[3422,10995,22491],[3426,11030,null],[3427,11032,22628],[3428,11039,22652],[3431,11040,null],[3435,11041,22654],[3441,11053,22680],[3442,11055,null],[3456,11035,22641],[3462,10971,22302],[3463,10979,22318],[3466,11058,null],[3467,11062,null],[3468,11063,null],[3470,11064,22717],[3474,11140,null],[3475,11141,22888],[3476,11143,22894],[3479,11155,null],[3483,11159,22927],[3489,11160,22929],[3490,11164,null],[3504,11258,23111],[3510,11137,22879],[3511,11165,22938],[3514,11166,null],[3515,11174,null],[3516,11175,null],[3518,11176,22956],[3522,11177,null],[3523,11178,22958],[3524,11179,22961],[3527,11182,null],[3531,11183,22970],[3537,11185,22976],[3538,11197,null],[3552,11267,23125],[3553,11180,22963],[3558,11201,23009],[3559,11202,23011],[3562,11206,null],[3563,11207,null],[3564,11208,null],[3565,11215,23033],[3566,11216,23034],[3570,11217,null],[3571,11218,23038],[3572,11219,23039],[3575,11220,null],[3579,11222,23045],[3585,11243,23089],[3586,11244,null],[3600,11328,23231],[3606,11049,22669],[3607,11072,22732],[3610,11075,null],[3611,11076,null],[3612,11078,null],[3614,11102,22802],[3618,11103,null],[3619,11104,22804],[3620,11107,22813],[3623,11108,null],[3627,11110,22821],[3633,11122,22855],[3634,11123,null],[3654,11115,22841],[3655,11117,22845],[3658,11118,null],[3659,11124,null],[3660,11131,null],[3662,11132,22870],[3666,11133,null],[3667,11134,22874],[3668,11135,22875],[3671,11136,null],[3675,11223,23047],[3681,11224,23050],[3682,11225,null],[3696,11273,23135],[3702,11227,23058],[3703,11228,23064],[3706,11229,null],[3707,11230,null],[3708,11237,null],[3710,11238,23079],[3714,11239,null],[3715,11246,23093],[3716,11247,23094],[3719,11248,null],[3723,11259,23112],[3729,11260,23113],[3730,11268,null],[3744,11269,23127],[3745,11270,23130],[3750,11271,23131],[3751,11272,23132],[3754,11274,null],[3755,11280,null],[3756,11281,null],[3757,11282,23158],[3758,11289,23170],[3762,11290,null],[3763,11291,23172],[3764,11298,23185],[3767,11299,null],[3771,11300,23187],[3777,11310,23203],[3778,11311,null],[3792,11144,22900],[3798,11139,22883],[3799,11145,22901],[3802,11146,null],[3803,11151,null],[3804,11152,null],[3806,11153,22914],[3810,11156,null],[3811,11157,22924],[3812,11158,22925],[3815,11181,null],[3819,11186,22982],[3825,11187,22983],[3826,11188,null],[3840,11349,23275],[3846,11193,22994],[3847,11194,22995],[3850,11195,null],[3851,11198,null],[3852,11199,null],[3854,11200,23007],[3858,11329,null],[3859,11330,23236],[3860,11331,23238],[3863,11333,null],[3867,11334,23250],[3873,11335,23251],[3874,11336,null],[3888,11444,23440],[3889,11445,23441],[3894,11340,23260],[3895,11341,23261],[3898,11342,null],[3899,11343,null],[3900,11344,null],[3901,11446,23442],[3902,11345,23266],[3906,11350,null],[3907,11351,23277],[3908,11352,23279],[3911,11353,null],[3915,11354,23281],[3921,11355,23283],[3922,11356,null],[3936,11150,22910],[3942,11192,22992],[3943,11234,23074],[3946,11235,null],[3947,11236,null],[3948,11245,null],[3950,11249,23097],[3954,11250,null],[3955,11251,23099],[3956,11252,23101],[3959,11253,null],[3963,11254,23103],[3969,11275,23139],[3970,11276,null],[3984,11450,23450],[3985,11451,23451],[3990,11286,23166],[3991,11287,23167],[3994,11288,null],[3995,11295,null],[3996,11296,null],[3997,11452,23452],[3998,11297,23183],[4002,11301,null],[4003,11302,23190],[4004,11303,23191],[4007,11304,null],[4011,11305,23194],[4017,11306,23195],[4018,11312,null],[4032,11325,23227],[4033,11357,23285],[4034,11358,23287],[4038,11319,23217],[4039,11320,23218],[4040,11359,23288],[4042,11321,null],[4043,11322,null],[4044,11323,null],[4045,11360,23289],[4046,11324,23224],[4050,11326,null],[4051,11327,23229],[4052,11364,23297],[4055,11365,null],[4059,11366,23299],[4065,11373,23311],[4066,11374,null],[4080,11226,23055],[4086,10263,20886],[4087,10271,20902],[4090,10279,null],[4091,10287,null],[4092,10407,null],[4094,10415,21190],[4098,10986,null],[4099,10994,22487],[4100,11000,22507],[4103,11002,null],[4107,11005,22538],[4113,11006,22539],[4114,11007,null],[4128,11418,23391],[4134,11001,22517],[4135,11015,22562],[4138,11016,null],[4139,11020,null],[4140,11021,null],[4142,11022,22595],[4146,11142,null],[4147,11167,22941],[4148,11168,22942],[4151,11169,null],[4155,11170,22946],[4161,11171,22947],[4162,11172,null],[4176,11184,22973],[4182,11017,22583],[4183,11154,22918],[4186,11196,null],[4187,11209,null],[4188,11210,null],[4190,11211,23025],[4194,11212,null],[4195,11213,23029],[4196,11214,23030],[4199,11240,null],[4203,11241,23085],[4209,11242,23086],[4210,11261,null],[4224,11278,23147],[4230,11262,23116],[4231,11263,23117],[4234,11264,null],[4235,11265,null],[4236,11266,null],[4238,11277,23144],[4242,11292,null],[4243,11293,23177],[4244,11294,23178],[4247,11313,null],[4251,11314,23208],[4257,11315,23209],[4258,11316,null],[4272,11403,23369],[4273,11317,23213],[4278,11318,23214],[4279,11346,23270],[4282,11347,null],[4283,11348,null],[4284,11367,null],[4285,11433,23415],[4286,11368,23302],[4290,11369,null],[4291,11370,23306],[4292,11371,23307],[4295,11372,null],[4299,11379,23321],[4305,11380,23322],[4306,11381,null],[4320,11332,23241],[4326,11011,22551],[4327,11026,22606],[4330,11077,null],[4331,11093,null],[4332,11094,null],[4334,11095,22789],[4338,11109,null],[4339,11125,22859],[4340,11126,22860],[4343,11127,null],[4347,11128,22864],[4353,11129,22865],[4354,11130,null],[4368,11599,23693],[4374,11231,23068],[4375,11232,23069],[4378,11233,null],[4379,11283,null],[4380,11284,null],[4382,11285,23162],[4386,11434,null],[4387,11435,23417],[4388,11439,23423],[4391,11440,null],[4395,11441,23428],[4401,11442,23431],[4402,11447,null],[4416,11337,23254],[4422,11338,23255],[4423,11339,23256],[4426,11383,null],[4427,11384,null],[4428,11385,null],[4430,11386,23335],[4434,11388,null],[4435,11389,23345],[4436,11390,23346],[4439,11391,null],[4443,11392,23349],[4449,11393,23350],[4450,11406,null],[4464,11407,23374],[4465,11448,23445],[4470,11382,23325],[4471,11408,23375],[4474,11419,null],[4475,11420,null],[4476,11421,null],[4477,11449,23446],[4478,11422,23396],[4482,11423,null],[4483,11424,23400],[4484,11425,23401],[4487,11426,null],[4491,11436,23419],[4497,11437,23420],[4498,11438,null],[4512,11147,22904],[4518,11148,22905],[4519,11149,22906],[4522,11189,null],[4523,11190,null],[4524,11191,null],[4526,11456,23460],[4530,11457,null],[4531,11458,23462],[4532,11459,23465],[4535,11460,null],[4539,11461,23467],[4545,11462,23469],[4546,11463,null],[4566,11394,23354],[4567,11395,23355],[4570,11396,null],[4571,11400,null],[4572,11401,null],[4574,11402,23366],[4578,11404,null],[4579,11405,23371],[4580,11412,23381],[4583,11413,null],[4587,11414,23383],[4593,11548,23611],[4594,11549,null],[4608,11464,23471],[4609,11468,23477],[4614,11469,23478],[4615,11470,23479],[4618,11474,null],[4619,11475,null],[4620,11476,null],[4621,11477,23491],[4622,11478,23492],[4626,11479,null],[4627,11480,23496],[4628,11481,23497],[4631,11482,null],[4635,11492,23515],[4641,11493,23516],[4642,11494,null],[4656,11569,23646],[4662,11545,23607],[4663,11546,23608],[4666,11547,null],[4667,11566,null],[4668,11567,null],[4670,11568,23644],[4674,11570,null],[4675,11571,23648],[4676,11572,23652],[4679,11573,null],[4683,11574,23654],[4689,11578,23662],[4690,11579,null],[4705,11500,23536],[4710,11489,23511],[4711,11490,23512],[4714,11491,null],[4715,11501,null],[4716,11502,null],[4717,11503,23540],[4718,11504,23541],[4722,11505,null],[4723,11506,23546],[4724,11507,23547],[4727,11508,null],[4731,11512,23556],[4737,11513,23557],[4738,11514,null],[4806,11008,22542],[4807,11023,22597],[4810,11042,null],[4811,11043,null],[4812,11044,null],[4814,11065,22719],[4818,11066,null],[4819,11067,22721],[4820,11361,23293],[4823,11362,null],[4827,11363,23295],[4833,11375,23313],[4834,11376,null],[4854,11255,23107],[4855,11256,23108],[4858,11257,null],[4859,11279,null],[4860,11307,null],[4862,11308,23200],[4866,11309,null],[4867,11443,23434],[4868,11471,23483],[4871,11472,null],[4875,11473,23485],[4881,11483,23501],[4882,11484,null],[4896,11602,23698],[4902,11377,23317],[4903,11378,23318],[4906,11387,null],[4907,11415,null],[4908,11416,null],[4910,11417,23389],[4914,11427,null],[4915,11428,23406],[4916,11429,23407],[4919,11430,null],[4923,11431,23411],[4929,11432,23412],[4930,11550,null],[4944,11485,23503],[4945,11486,23506],[4950,11487,23507],[4951,11488,23508],[4954,11527,null],[4955,11528,null],[4956,11529,null],[4957,11530,23583],[4958,11531,23584],[4962,11532,null],[4963,11533,23587],[4964,11534,23588],[4967,11535,null],[4971,11536,23592],[4977,11537,23593],[4978,11538,null],[4992,11593,23685],[4998,11161,22933],[4999,11162,22934],[5002,11163,null],[5003,11203,null],[5004,11204,null],[5006,11205,23017],[5010,11465,null],[5011,11466,23474],[5012,11467,23475],[5015,11496,null],[5019,11497,23524],[5025,11498,23527],[5026,11499,null],[5040,11594,23686],[5046,11409,23377],[5047,11410,23378],[5050,11411,null],[5051,11580,null],[5052,11581,null],[5054,11582,23668],[5058,11583,null],[5059,11587,23675],[5060,11588,23676],[5063,11589,null],[5067,11590,23679],[5073,11591,23680],[5074,11592,null],[5089,11515,23561],[5094,11516,23562],[5095,11517,23563],[5098,11521,null],[5099,11522,null],[5100,11523,null],[5101,11524,23573],[5102,11525,23574],[5106,11526,null],[5107,11539,23597],[5108,11540,23598],[5111,11541,null],[5115,11542,23602],[5121,11543,23603],[5122,11544,null],[5136,11595,23687],[5142,11596,23689],[5143,11597,23690],[5146,11598,null],[5147,11600,null],[5148,11601,null],[5150,11603,23699],[5154,11604,null],[5155,11605,23703],[5156,11606,23704],[5159,11607,null],[5163,11608,23708],[5169,11609,23709],[5170,11610,null],[5280,11554,23620],[5286,11119,22851],[5287,11120,22852],[5290,11121,null],[5291,11453,null],[5292,11454,null],[5294,11455,23456],[5298,11495,null],[5299,11509,23550],[5300,11510,23551],[5303,11511,null],[5307,11518,23565],[5313,11519,23566],[5314,11520,null],[5334,11397,23358],[5335,11398,23359],[5338,11399,null],[5339,11575,null],[5340,11576,null],[5342,11577,23658],[5346,11584,null],[5347,11585,23672],[5348,11586,23673],[5351,11614,null],[5355,11615,23718],[5361,11616,23719],[5362,11632,null],[5424,11611,23713],[5430,11612,23714],[5431,11613,23715],[5434,11633,null],[5435,11634,null],[5436,11635,null],[5438,11636,23753],[5442,11637,null],[5443,11641,23762],[5444,11642,23763],[5447,11643,null],[5451,11650,23777],[5457,11651,23778],[5458,11652,null],[5568,11638,23758],[5574,11639,23759],[5575,11640,23760],[5578,11644,null],[5579,11645,null],[5580,11646,null],[5582,11647,23773],[5586,11648,null],[5587,11649,23775],[5588,11653,23781],[5591,11654,null],[5595,11655,23783],[5601,11656,23785],[5602,11657,null],[6068,11560,null],[6069,11555,23621],[6071,11561,null],[6072,11556,23622],[6074,11562,null],[6075,11620,23726],[6077,11563,null],[6078,11621,23727],[6080,11564,null],[6081,11622,23728],[6083,11565,null],[6084,11626,23735],[6086,11659,null],[6087,11658,23787],[6089,11660,null],[6090,11668,23804],[6122,11551,null],[6123,11552,null],[6125,11553,null],[6126,11617,null],[6128,11661,null],[6694,11557,23624],[6696,11558,23625],[6722,11618,null],[6724,11619,null],[7106,11629,23740],[7108,11630,23741],[7110,11631,23742],[7112,11671,23809],[7198,11627,23736],[7200,11628,23737],[7272,11669,23805],[7274,11670,23806],[8368,11559,23626],[8378,11623,23730],[8380,11674,23814],[8395,11665,23799],[8411,11624,23731],[8426,11625,23732],[8429,11666,23800],[8440,11667,23801],[8444,11675,23815],[8465,11672,23810],[8469,11673,23811],[8552,11662,23795],[8557,11663,23796],[8560,11664,23797],[8590,11676,23816]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/module_cut.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/module_cut.py new file mode 100644 index 0000000000..67ef904866 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/module_cut.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +"""module_cut.py: zero restriction of a query module to fewer points (p = 11 module files -> p = 10). + +Setting the inputs that touch the dropped points to zero turns a module for n points into a module for n - k points: +an addition with one zero operand becomes its other operand, an addition of two live operands is kept (merged with an +equal-support node if one exists), and nodes that no kept root reaches are removed. The roots of the dropped labels +are discarded. The result satisfies the smaller module's contract whenever the original satisfies its own (every +root of a kept label still sums exactly its kept disjoint inputs); the loaders of the rebuilt tree check this. +min_cut() drops the points that leave the fewest additions (ties: lexicographically first drop), the rule by which the +control modules of this package (PR #168 v4's modules cut to p = 10) were made; verify.py re-derives them byte for byte. + +Prepared by DreamingOfClouds with Anthropic Claude assistance (Apache-2.0); the cut is cp10's mkmods.py, unchanged +apart from file layout. +usage: module_cut.py KIND N_FROM K MODULE_JSON OUT_JSON (KIND tmod: N = p; pmod: N = p - 1; qmod: N = p - 2) +""" +import json +import sys +from itertools import combinations +from pathlib import Path + + +def restrict(args, inputs_image, nin, roots_old, one_based): + """generic zero restriction: inputs_image[k] = new input index or None (zero); returns (args, roots) pruned.""" + off = 1 if one_based else 0 + n_new = sum(1 for x in inputs_image if x is not None) + support = [1 << i for i in range(n_new)] + new_args = [None] * n_new + by = {s: i for i, s in enumerate(support)} + image = list(inputs_image) + for x in range(nin + off, len(args)): + a, b = args[x] + A, B = image[a - off], image[b - off] + if A is None or B is None: + image.append(A if B is None else B) + continue + assert not support[A] & support[B] + s = support[A] | support[B] + if s not in by: + by[s] = len(new_args); new_args.append([A, B]); support.append(s) + image.append(by[s]) + roots = [image[r - off] for r in roots_old] + active = set(range(n_new)); stack = list(roots) + while stack: + x = stack.pop() + if x in active: + continue + active.add(x) + if new_args[x] is not None: + stack.extend(new_args[x]) + ids = sorted(active); ren = {x: i for i, x in enumerate(ids)} + args2 = [None if new_args[x] is None else [ren[y] for y in new_args[x]] for x in ids] + return args2, [ren[x] for x in roots], support, ren, ids + + +def cut_triple(d, P, keep): + labels = list(combinations(range(P), 3)) + keep = sorted(keep); rn = {x: j for j, x in enumerate(keep)}; p2 = len(keep) + new_labels = list(combinations(range(p2), 3)); nid = {t: i for i, t in enumerate(new_labels)} + img = [nid[tuple(rn[x] for x in t)] if all(x in rn for x in t) else None for t in labels] + roots_old = [r for t, r in zip(labels, d['roots']) if all(x in rn for x in t)] + args, roots, support, ren, ids = restrict(d['args'], img, len(labels), roots_old, one_based=True) + # back to the one-based layout of triple_module_from + n = len(new_labels) + out_args = [[0, 0]] * (n + 1) + [[x + 1, y + 1] for x, y in (a for a in args[n:])] + return dict(kind='disjoint_triples', p=p2, input_labels=new_labels, target_labels=new_labels, input_count=n, + args=out_args, roots=[r + 1 for r in roots], source='cp10 zero restriction to points %s' % keep) + + +def cut_pair(d, n, keep): + pairs = list(combinations(range(n), 2)) + keep = sorted(keep); rn = {x: j for j, x in enumerate(keep)}; n2 = len(keep) + new_pairs = list(combinations(range(n2), 2)); nid = {t: i for i, t in enumerate(new_pairs)} + img = [nid[tuple(rn[x] for x in t)] if all(x in rn for x in t) else None for t in pairs] + roots_old = [r for t, r in zip(pairs, d['roots']) if all(x in rn for x in t)] + extra = d['roots'][len(pairs):] + args, roots, *_ = restrict(d['args'], img, len(pairs), roots_old + extra, one_based=False) + return dict(input_count=len(new_pairs), args=args, roots=roots, source='cp10 zero restriction to points %s' % keep) + + +def cut_q(d, n, keep): + keep = sorted(keep); rn = {x: j for j, x in enumerate(keep)} + img = [rn.get(i) for i in range(n)] + roots_old = [d['roots'][i] for i in keep] + args, roots, *_ = restrict(d['args'], img, n, roots_old, one_based=False) + return dict(input_count=len(keep), args=args, roots=roots, source='cp10 zero restriction to points %s' % keep) + + +def additions(d): + return sum(1 for a in d['args'] if a is not None and list(a) != [0, 0]) + + +CUT = dict(tmod=cut_triple, pmod=cut_pair, qmod=cut_q) + + +def min_cut(kind, d, n, k=1): + """the zero restriction to n - k points with the fewest additions (ties: lexicographically first drop)""" + cands = [] + for drop in combinations(range(n), k): + keep = [x for x in range(n) if x not in drop] + e = CUT[kind](d, n, keep) + cands.append((additions(e), drop, e)) + cands.sort(key=lambda c: (c[0], c[1])) + return cands[0] + + +def encode(d): + return (json.dumps(d, separators=(',', ':')) + '\n').encode() + + +if __name__ == '__main__': + kind, n, k, src, dst = sys.argv[1], int(sys.argv[2]), int(sys.argv[3]), Path(sys.argv[4]), Path(sys.argv[5]) + adds, drop, e = min_cut(kind, json.loads(src.read_text()), n, k) + dst.write_bytes(encode(e)) + print('%s: %d -> %d points, dropped %s, %d additions' % (kind, n, n - k, list(drop), adds)) diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod46_pc1_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod46_pc1_p10.json new file mode 100644 index 0000000000..1f500511ac --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod46_pc1_p10.json @@ -0,0 +1 @@ +{"input_count": 36, "args": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, [0, 3], [35, 36], [3, 10], [21, 38], [6, 7], [33, 34], [23, 41], [25, 35], [42, 43], [16, 17], [22, 23], [19, 46], [15, 47], [29, 34], [16, 49], [7, 14], [13, 51], [6, 52], [36, 53], [2, 39], [4, 11], [22, 56], [25, 57], [2, 9], [24, 59], [21, 60], [58, 61], [32, 33], [28, 29], [54, 64], [5, 12], [27, 66], [33, 67], [17, 32], [20, 25], [69, 70], [7, 71], [32, 70], [41, 73], [10, 65], [10, 36], [11, 12], [26, 77], [4, 5], [30, 79], [78, 80], [76, 81], [27, 82], [48, 83], [31, 35], [64, 85], [53, 86], [84, 87], [31, 33], [32, 89], [34, 90], [24, 25], [30, 46], [92, 93], [91, 94], [44, 67], [18, 23], [51, 66], [97, 98], [8, 9], [15, 100], [2, 101], [1, 102], [18, 45], [83, 104], [103, 105], [0, 35], [13, 107], [51, 108], [6, 109], [19, 20], [110, 111], [31, 32], [13, 77], [89, 114], [8, 115], [0, 1], [101, 117], [55, 118], [70, 99], [119, 120], [26, 27], [64, 122], [34, 63], [85, 124], [123, 125], [94, 126], [13, 14], [77, 128], [127, 129], [68, 97], [30, 122], [45, 132], [21, 23], [15, 18], [133, 135], [134, 136], [22, 24], [137, 138], [9, 10], [139, 140], [1, 8], [104, 142], [83, 143], [16, 18], [68, 145], [6, 13], [89, 147], [83, 148], [28, 149], [60, 150], [40, 79], [21, 127], [152, 153], [3, 152], [64, 125], [104, 132], [156, 157], [155, 158], [102, 117], [147, 160], [24, 43], [161, 162], [24, 147], [19, 164], [160, 165], [89, 166], [22, 134], [136, 168], [49, 169], [8, 140], [2, 3], [16, 119], [26, 57], [173, 174], [28, 173], [162, 176], [29, 177], [53, 178], [112, 142], [21, 140], [130, 181], [12, 13], [28, 165], [17, 175], [184, 185], [22, 31], [69, 187], [56, 188], [111, 163], [51, 190], [4, 172], [5, 192], [19, 28], [89, 194], [139, 195], [193, 196], [61, 75], [96, 198], [88, 143], [74, 200], [15, 20], [162, 202], [188, 203], [16, 21], [28, 205], [19, 206], [29, 207], [204, 208], [26, 209], [20, 162], [19, 211], [135, 212], [42, 213], [11, 80], [26, 113], [111, 142], [37, 64], [10, 218], [53, 219], [217, 220], [34, 221], [14, 171], [27, 223], [183, 224], [9, 27], [2, 168], [226, 227], [116, 194], [77, 223], [3, 5], [29, 206], [1, 40], [2, 233], [214, 234], [232, 235], [189, 191], [53, 64], [83, 125], [238, 239], [146, 222], [34, 51], [92, 169], [171, 210], [154, 172], [27, 50], [121, 246], [29, 72], [14, 248], [32, 242], [29, 250], [82, 251], [31, 186], [17, 18], [165, 176], [131, 255], [6, 59], [34, 93], [69, 258], [213, 259], [89, 260], [234, 261], [151, 168], [228, 252], [1, 6], [197, 265], [27, 231], [144, 251], [20, 268], [11, 128], [244, 270], [12, 91], [73, 170], [230, 273], [10, 216], [53, 218], [275, 276], [56, 277], [45, 217], [278, 279], [141, 229], [89, 129], [100, 260], [282, 283], [7, 73], [170, 285], [215, 254], [12, 287], [46, 288], [167, 289], [143, 149], [79, 262], [1, 111], [159, 293], [61, 201], [10, 129], [111, 156], [243, 297], [25, 264], [214, 232], [160, 289], [180, 272], [26, 192], [111, 158], [73, 242], [301, 305], [79, 95], [257, 307], [41, 190], [99, 309], [175, 249], [236, 267], [1, 193], [286, 313], [77, 109], [296, 304], [209, 233], [287, 302], [194, 291], [111, 179], [225, 300], [106, 168], [303, 317], [62, 277], [308, 315], [8, 316]], "roots": [298, 182, 326, 284, 321, 271, 274, 281, 245, 294, 292, 312, 323, 314, 266, 240, 325, 199, 324, 299, 263, 318, 241, 280, 269, 319, 310, 237, 306, 290, 320, 247, 256, 311, 253, 322, 295]} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_p3_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_p3_p10.json new file mode 100644 index 0000000000..8e164f6455 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_p3_p10.json @@ -0,0 +1 @@ +{"input_count":36,"args":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[31,33],[34,35],[36,37],[26,27],[25,39],[4,5],[30,41],[12,42],[10,11],[43,44],[22,23],[11,12],[17,18],[47,48],[42,49],[0,50],[8,9],[15,52],[2,53],[1,54],[51,55],[46,56],[20,25],[32,58],[57,59],[4,26],[22,61],[11,62],[3,10],[21,64],[0,1],[54,66],[65,67],[63,68],[14,69],[15,19],[24,25],[35,72],[71,73],[29,74],[1,5],[21,46],[32,38],[28,29],[78,79],[30,39],[80,81],[72,82],[77,83],[13,14],[47,85],[84,86],[17,31],[16,69],[88,89],[16,17],[18,91],[29,34],[81,91],[21,94],[15,18],[23,96],[95,97],[22,98],[93,99],[59,100],[81,92],[19,20],[80,103],[102,104],[31,32],[11,106],[62,107],[6,7],[41,109],[16,65],[27,29],[3,112],[7,59],[0,3],[45,115],[27,116],[26,117],[4,76],[2,3],[119,120],[114,121],[13,47],[98,121],[4,11],[0,64],[7,14],[13,127],[6,128],[79,129],[126,130],[35,131],[100,122],[24,31],[19,28],[33,135],[22,134],[136,137],[95,138],[27,33],[5,12],[34,141],[131,142],[140,143],[23,35],[144,145],[1,8],[103,147],[0,35],[128,149],[2,9],[24,151],[25,152],[150,153],[30,46],[32,36],[34,156],[41,157],[155,158],[6,159],[154,160],[1,109],[2,162],[5,163],[6,13],[24,165],[19,166],[28,167],[22,88],[20,169],[32,170],[40,77],[151,172],[19,165],[67,174],[20,73],[175,176],[92,118],[34,127],[60,179],[36,165],[118,181],[135,182],[124,138],[28,182],[77,185],[16,21],[28,187],[75,188],[171,189],[26,190],[34,86],[20,74],[18,193],[17,194],[32,195],[192,196],[52,197],[14,52],[29,91],[114,200],[70,201],[92,147],[47,161],[140,141],[21,153],[132,206],[108,207],[29,32],[11,85],[52,210],[10,211],[8,105],[8,15],[9,10],[87,215],[18,23],[183,203],[127,177],[10,199],[47,101],[220,221],[33,34],[23,223],[194,224],[188,225],[29,226],[132,148],[16,228],[78,118],[130,230],[123,215],[214,217],[232,233],[77,120],[83,110],[235,236],[146,206],[3,119],[105,239],[109,240],[191,212],[113,226],[16,68],[58,112],[244,245],[36,50],[163,195],[61,120],[162,249],[90,168],[10,86],[91,228],[12,13],[79,111],[219,255],[6,184],[179,209],[116,258],[173,259],[164,243],[36,155],[213,252],[139,234],[28,205],[21,178],[27,220],[227,254],[267,268],[18,142],[140,270],[129,149],[148,272],[152,186],[125,219],[167,265],[147,178],[141,217],[127,278],[46,55],[266,280],[198,262],[67,167],[46,283],[247,284],[217,244],[276,286],[50,157],[177,223],[20,277],[258,290],[61,107],[32,169],[190,250],[179,278],[253,292],[246,295],[279,289],[72,99],[229,271],[159,248],[104,299],[273,288],[275,293]],"roots":[302,216,263,282,269,242,222,264,237,241,301,261,294,133,257,231,204,238,208,260,274,303,300,296,291,218,298,304,180,285,256,297,287,202,251,281]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_pr168_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_pr168_p10.json new file mode 100644 index 0000000000..6f645d1148 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/pmod_pr168_p10.json @@ -0,0 +1 @@ +{"input_count":36,"args":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[10,3],[0,36],[22,23],[0,35],[31,32],[24,25],[17,18],[30,38],[35,25],[7,14],[41,35],[4,5],[47,30],[12,48],[19,20],[33,34],[9,8],[51,40],[11,12],[18,23],[6,45],[20,46],[7,6],[1,58],[5,12],[54,48],[13,14],[18,15],[57,19],[63,64],[43,65],[66,17],[5,6],[37,61],[37,21],[29,28],[33,27],[54,62],[27,26],[33,31],[17,16],[3,2],[62,11],[52,15],[2,79],[54,13],[73,51],[1,80],[56,13],[69,74],[30,74],[23,65],[21,28],[29,88],[76,18],[41,43],[2,9],[55,15],[47,58],[6,92],[0,1],[4,11],[70,83],[16,98],[99,28],[86,76],[93,101],[6,13],[96,80],[45,34],[87,51],[17,31],[22,107],[71,84],[37,109],[49,42],[104,103],[111,11],[1,50],[97,22],[10,9],[24,92],[75,103],[89,36],[21,16],[29,120],[35,110],[21,38],[15,19],[53,35],[112,64],[115,26],[25,127],[45,13],[39,129],[95,130],[114,8],[103,24],[45,126],[53,47],[60,72],[19,133],[108,32],[105,32],[29,139],[102,21],[67,32],[52,142],[82,143],[16,132],[113,38],[14,98],[67,135],[146,80],[8,81],[135,91],[20,25],[77,4],[149,105],[104,137],[146,155],[71,125],[156,75],[32,152],[7,159],[29,34],[27,152],[162,161],[57,138],[100,137],[84,39],[166,132],[22,141],[53,167],[168,41],[85,90],[134,138],[59,2],[121,28],[124,174],[1,153],[118,85],[131,151],[168,161],[106,174],[86,157],[41,181],[123,182],[125,109],[119,16],[122,40],[134,185],[55,60],[45,188],[5,176],[19,28],[75,191],[147,29],[28,177],[1,8],[148,173],[136,34],[69,123],[76,160],[24,22],[193,199],[140,27],[12,13],[157,50],[165,55],[205,136],[122,197],[90,86],[204,208],[94,182],[201,127],[5,173],[21,171],[178,54],[179,159],[164,26],[180,27],[200,141],[218,192],[216,175],[117,21],[184,85],[153,220],[213,83],[223,59],[172,97],[8,116],[227,78],[228,220],[221,128],[219,116],[169,42],[204,170],[224,38],[73,10],[189,51],[236,126],[25,92],[238,198],[44,23],[186,97],[231,150],[77,123],[210,243],[232,61],[239,26],[90,195],[18,207],[227,14],[27,249],[183,73],[251,116],[190,160],[253,179],[3,217],[209,8],[256,235],[176,68],[17,26],[221,110],[240,260],[246,202],[261,197],[163,98],[195,171],[145,259],[266,241],[250,180],[268,203],[265,20],[255,212],[54,215],[272,249],[144,31],[165,127],[275,107],[189,264],[219,258],[154,96],[279,159],[230,186],[194,123],[277,16],[270,140],[282,117],[94,3],[1,209],[248,145],[247,191],[287,286],[289,177]],"roots":[233,252,257,274,269,229,273,242,244,290,196,271,225,254,278,222,214,263,281,262,285,245,288,267,284,291,237,226,280,158,187,283,206,211,276,234],"source":"cp10 zero restriction to points [0, 1, 2, 3, 5, 6, 7, 8, 9]"} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_pr168_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_pr168_p10.json new file mode 100644 index 0000000000..bdabd9eeb0 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_pr168_p10.json @@ -0,0 +1 @@ +{"input_count":8,"args":[null,null,null,null,null,null,null,null,[3,1],[4,6],[5,7],[10,2],[9,11],[8,12],[1,0],[2,14],[3,15],[12,3],[0,17],[9,10],[8,19],[0,20],[14,12],[10,6],[23,3],[15,24],[7,9],[16,26],[4,16],[10,28],[28,5],[6,30]],"roots":[13,18,21,22,25,27,29,31],"source":"cp10 zero restriction to points [0, 2, 3, 4, 5, 6, 7, 8]"} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_sa1_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_sa1_p10.json new file mode 100644 index 0000000000..e3d623cae3 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/qmod_sa1_p10.json @@ -0,0 +1 @@ +{"input_count":8,"args":[null,null,null,null,null,null,null,null,[6,7],[3,6],[0,1],[2,10],[3,11],[1,3],[4,8],[13,14],[5,15],[2,5],[14,17],[12,14],[5,7],[0,18],[4,12],[15,17],[0,16],[11,20],[9,25],[10,18],[20,22],[3,21],[5,22],[6,30]],"roots":[23,29,24,27,26,19,28,31]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_pr168_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_pr168_p10.json new file mode 100644 index 0000000000..d5a3246346 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_pr168_p10.json @@ -0,0 +1 @@ +{"kind":"disjoint_triples","p":10,"input_labels":[[0,1,2],[0,1,3],[0,1,4],[0,1,5],[0,1,6],[0,1,7],[0,1,8],[0,1,9],[0,2,3],[0,2,4],[0,2,5],[0,2,6],[0,2,7],[0,2,8],[0,2,9],[0,3,4],[0,3,5],[0,3,6],[0,3,7],[0,3,8],[0,3,9],[0,4,5],[0,4,6],[0,4,7],[0,4,8],[0,4,9],[0,5,6],[0,5,7],[0,5,8],[0,5,9],[0,6,7],[0,6,8],[0,6,9],[0,7,8],[0,7,9],[0,8,9],[1,2,3],[1,2,4],[1,2,5],[1,2,6],[1,2,7],[1,2,8],[1,2,9],[1,3,4],[1,3,5],[1,3,6],[1,3,7],[1,3,8],[1,3,9],[1,4,5],[1,4,6],[1,4,7],[1,4,8],[1,4,9],[1,5,6],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[1,7,8],[1,7,9],[1,8,9],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,4,5],[2,4,6],[2,4,7],[2,4,8],[2,4,9],[2,5,6],[2,5,7],[2,5,8],[2,5,9],[2,6,7],[2,6,8],[2,6,9],[2,7,8],[2,7,9],[2,8,9],[3,4,5],[3,4,6],[3,4,7],[3,4,8],[3,4,9],[3,5,6],[3,5,7],[3,5,8],[3,5,9],[3,6,7],[3,6,8],[3,6,9],[3,7,8],[3,7,9],[3,8,9],[4,5,6],[4,5,7],[4,5,8],[4,5,9],[4,6,7],[4,6,8],[4,6,9],[4,7,8],[4,7,9],[4,8,9],[5,6,7],[5,6,8],[5,6,9],[5,7,8],[5,7,9],[5,8,9],[6,7,8],[6,7,9],[6,8,9],[7,8,9]],"target_labels":[[0,1,2],[0,1,3],[0,1,4],[0,1,5],[0,1,6],[0,1,7],[0,1,8],[0,1,9],[0,2,3],[0,2,4],[0,2,5],[0,2,6],[0,2,7],[0,2,8],[0,2,9],[0,3,4],[0,3,5],[0,3,6],[0,3,7],[0,3,8],[0,3,9],[0,4,5],[0,4,6],[0,4,7],[0,4,8],[0,4,9],[0,5,6],[0,5,7],[0,5,8],[0,5,9],[0,6,7],[0,6,8],[0,6,9],[0,7,8],[0,7,9],[0,8,9],[1,2,3],[1,2,4],[1,2,5],[1,2,6],[1,2,7],[1,2,8],[1,2,9],[1,3,4],[1,3,5],[1,3,6],[1,3,7],[1,3,8],[1,3,9],[1,4,5],[1,4,6],[1,4,7],[1,4,8],[1,4,9],[1,5,6],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[1,7,8],[1,7,9],[1,8,9],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,4,5],[2,4,6],[2,4,7],[2,4,8],[2,4,9],[2,5,6],[2,5,7],[2,5,8],[2,5,9],[2,6,7],[2,6,8],[2,6,9],[2,7,8],[2,7,9],[2,8,9],[3,4,5],[3,4,6],[3,4,7],[3,4,8],[3,4,9],[3,5,6],[3,5,7],[3,5,8],[3,5,9],[3,6,7],[3,6,8],[3,6,9],[3,7,8],[3,7,9],[3,8,9],[4,5,6],[4,5,7],[4,5,8],[4,5,9],[4,6,7],[4,6,8],[4,6,9],[4,7,8],[4,7,9],[4,8,9],[5,6,7],[5,6,8],[5,6,9],[5,7,8],[5,7,9],[5,8,9],[6,7,8],[6,7,9],[6,8,9],[7,8,9]],"input_count":120,"args":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[96,119],[16,17],[30,115],[29,25],[53,50],[3,25],[18,12],[45,44],[66,94],[91,87],[81,119],[60,62],[54,38],[42,64],[108,102],[52,56],[106,101],[38,39],[28,24],[116,78],[57,103],[96,130],[42,69],[106,112],[3,7],[84,82],[33,5],[35,13],[74,71],[4,3],[50,150],[74,65],[78,66],[69,66],[88,87],[39,78],[116,58],[27,111],[4,145],[110,74],[125,141],[93,45],[79,104],[72,107],[65,90],[101,111],[105,166],[102,167],[168,50],[135,114],[85,69],[61,97],[27,23],[120,83],[146,118],[22,150],[138,42],[32,173],[9,1],[165,75],[141,159],[78,149],[137,112],[127,147],[44,89],[22,124],[178,183],[41,68],[46,96],[8,1],[4,29],[185,53],[37,179],[180,133],[67,40],[193,195],[14,36],[116,110],[104,198],[20,197],[56,55],[2,190],[192,194],[31,28],[46,40],[55,51],[12,195],[56,62],[34,139],[117,167],[57,162],[153,211],[85,134],[121,81],[98,174],[34,32],[90,129],[217,65],[51,106],[94,90],[100,220],[218,86],[40,61],[100,171],[19,18],[16,185],[200,224],[134,48],[41,223],[26,10],[58,39],[25,230],[208,52],[120,119],[36,234],[17,92],[26,30],[91,236],[33,127],[185,126],[92,88],[12,33],[19,95],[21,8],[37,228],[14,143],[170,233],[96,48],[89,86],[93,249],[11,30],[13,12],[80,252],[98,241],[59,5],[215,224],[70,68],[89,74],[18,243],[213,43],[98,248],[189,48],[250,103],[44,133],[100,263],[262,60],[206,136],[54,58],[163,75],[199,268],[178,186],[71,269],[53,126],[54,231],[94,113],[273,226],[68,99],[55,112],[175,80],[27,278],[274,38],[100,64],[272,218],[281,272],[50,272],[58,123],[17,162],[90,110],[181,125],[59,169],[60,55],[232,3],[9,15],[77,115],[64,268],[132,117],[131,296],[251,191],[66,65],[213,174],[297,300],[139,22],[148,19],[31,303],[113,91],[182,177],[291,51],[210,144],[258,110],[106,309],[224,228],[5,32],[117,216],[31,313],[105,51],[229,63],[170,308],[28,158],[316,43],[186,289],[174,109],[279,319],[33,172],[266,312],[77,73],[5,187],[57,191],[324,18],[46,47],[97,67],[43,49],[83,81],[238,318],[82,330],[69,37],[325,83],[293,21],[182,336],[331,37],[96,32],[20,225],[105,164],[4,201],[122,86],[237,244],[10,11],[14,346],[305,76],[237,36],[198,349],[104,350],[56,114],[128,344],[103,186],[311,215],[244,49],[237,11],[286,275],[38,74],[7,2],[21,2],[190,15],[63,99],[41,336],[95,80],[70,283],[122,20],[20,360],[250,367],[175,365],[79,94],[6,209],[370,330],[47,19],[87,164],[35,120],[151,22],[133,160],[351,376],[373,257],[113,107],[119,381],[206,101],[97,382],[256,214],[117,385],[15,242],[103,317],[275,123],[115,92],[355,296],[209,271],[246,81],[52,108],[302,168],[237,347],[259,31],[261,296],[99,380],[6,5],[5,320],[60,289],[31,400],[6,401],[324,368],[53,394],[91,287],[41,63],[339,408],[219,273],[57,352],[278,411],[154,65],[73,294],[33,35],[74,366],[416,171],[76,72],[107,418],[305,419],[419,113],[12,418],[414,109],[196,253],[424,188],[75,378],[368,48],[415,118],[315,106],[282,49],[270,430],[406,429],[142,250],[306,335],[178,5],[403,59],[7,436],[437,216],[427,34],[438,296],[88,423],[116,156],[417,265],[110,443],[444,140],[109,115],[327,278],[82,242],[446,120],[109,73],[354,114],[285,281],[307,183],[161,453],[84,277],[70,339],[397,425],[98,62],[247,254],[363,35],[71,325],[431,220],[337,239],[64,235],[81,418],[447,318],[466,352],[2,329],[255,6],[292,426],[162,249],[317,233],[239,82],[23,219],[455,408],[125,57],[476,331],[445,477],[199,449],[186,367],[187,103],[481,186],[254,95],[98,19],[84,408],[485,423],[221,97],[451,135],[92,294],[284,421],[304,463],[290,267],[40,42],[405,18],[148,387],[110,140],[209,488],[205,61],[334,498],[441,92],[20,261],[101,173],[456,293],[16,230],[52,51],[353,377],[330,473],[459,47],[60,312],[475,47],[223,409],[448,223],[151,267],[6,374],[59,322],[76,77],[153,516],[155,432],[129,79],[329,59],[511,520],[37,188],[491,399],[2,367],[81,338],[346,418],[402,206],[395,173],[93,140],[20,98],[469,468],[228,227],[514,2],[43,362],[235,428],[415,244],[98,34],[59,472],[538,307],[404,539],[357,10],[213,197],[513,173],[543,395],[337,70],[227,545],[420,87],[17,251],[439,458],[138,299],[471,44],[361,503],[182,347],[149,496],[554,269],[281,555],[410,23],[280,327],[541,122],[551,48],[524,560],[552,190],[87,557],[523,386],[200,7],[130,47],[455,303],[67,465],[397,531],[112,334],[231,371],[567,537],[468,259],[299,434],[327,287],[352,28],[575,576],[356,460],[380,521],[579,99],[2,580],[84,148],[568,40],[301,322],[407,558],[581,491],[586,400],[61,63],[118,63],[8,588],[502,22],[396,36],[589,99],[450,88],[489,114],[23,24],[432,596],[2,320],[112,29],[534,512],[7,542],[600,601],[109,107],[392,31],[165,504],[214,547],[478,128],[607,245],[281,608],[253,146],[610,15],[170,254],[428,611],[31,613],[71,550],[8,320],[310,108],[486,174],[62,355],[546,174],[620,572],[131,421],[95,329],[85,555],[59,623],[13,188],[136,102],[21,99],[622,624],[241,369],[241,627],[214,60],[311,632],[633,499],[139,176],[302,151],[128,86],[241,637],[440,501],[105,596],[10,73],[631,423],[226,563],[639,573],[108,594],[20,216],[326,527],[422,553],[24,204],[180,594],[599,93],[184,562],[189,130],[190,319],[235,85],[496,592],[223,82],[522,80],[9,67],[195,658],[172,49],[593,661],[398,625],[418,80],[598,367],[9,68],[433,483],[450,75],[253,526],[507,545],[654,613],[662,536],[628,220],[155,16],[535,99],[403,635],[641,38],[7,532],[649,34],[3,505],[556,260],[19,665],[65,72],[506,2],[640,674],[562,5],[179,346],[212,571],[590,64],[535,689],[690,440],[272,423],[24,394],[384,61],[495,190],[686,498],[372,247],[142,369],[569,672],[381,33],[196,12],[393,701],[636,627],[76,113],[251,704],[452,128],[83,13],[241,703],[412,111],[519,489],[111,710],[547,500],[676,173],[442,58],[79,714],[514,549],[68,364],[456,634],[17,713],[410,394],[347,13],[525,664],[722,721],[502,5],[114,29],[203,160],[314,259],[423,490],[638,130],[492,729],[294,79],[731,704],[164,668],[732,714],[708,533],[449,363],[116,688],[118,381],[164,230],[739,640],[733,378],[356,323],[659,69],[333,651],[530,96],[727,745],[499,456],[55,45],[744,746],[75,605],[414,321],[279,751],[36,282],[120,753],[368,643],[508,560],[717,574],[12,723],[612,751],[222,706],[652,634],[6,148],[268,8],[615,687],[100,672],[765,464],[644,766],[544,436],[23,164],[320,561],[483,566],[771,189],[178,540],[772,560],[161,539],[666,299],[646,564],[735,353],[25,106],[89,779],[87,670],[507,696],[114,749],[343,45],[333,784],[531,785],[698,18],[757,756],[562,19],[26,603],[1,587],[160,108],[25,792],[519,548],[10,284],[685,680],[796,44],[773,679],[456,510],[791,8],[518,185],[351,700],[802,119],[482,803],[130,241],[391,214],[4,231],[650,87],[775,774],[298,715],[810,57],[461,418],[510,789],[813,6],[662,234],[494,753],[816,742],[348,27],[92,28],[421,512],[276,88],[693,821],[720,640],[446,104],[381,824],[662,825],[817,119],[446,673],[148,814],[24,88],[379,446],[712,168],[806,580],[220,268],[486,627],[761,565],[206,724],[37,764],[750,769],[421,657],[342,808],[756,161],[41,40],[131,602],[295,63],[1,843],[454,653],[604,388],[534,601],[719,16],[850,730],[625,801],[138,768],[470,53],[794,819],[815,282],[77,855],[711,348],[320,697],[288,109],[752,629],[11,77],[456,760],[656,443],[528,805],[737,595],[22,559],[844,509],[807,45],[115,829],[870,857],[529,112],[550,812],[328,702],[871,869],[697,616],[54,26],[669,461],[818,794],[292,16],[868,854],[553,707],[104,834],[682,372],[740,668],[479,119],[738,886],[681,840],[345,883],[777,197],[876,831],[807,696],[438,695],[169,267],[678,562],[67,776],[823,440],[848,667],[3,133],[606,137],[570,900],[222,272],[889,49],[780,108],[644,674],[337,867],[559,902],[906,760],[202,908],[893,197],[866,56],[341,122],[359,72],[547,747],[907,545],[1,138],[909,150],[754,578],[62,174],[485,762],[18,46],[21,97],[130,837],[923,921],[457,255],[887,388],[44,453],[899,44],[913,73],[778,903],[750,830],[413,67],[864,337],[624,751],[933,480],[671,436],[100,922],[237,381],[428,938],[675,937],[683,10],[877,110],[597,905],[898,912],[943,240],[684,838],[826,834],[851,573],[487,99],[836,32],[882,325],[638,947],[884,756],[839,87],[45,201],[684,903],[577,92],[164,881],[958,474],[940,727],[619,799],[716,918],[962,822],[14,332],[253,964],[54,860],[965,743],[494,585],[939,824],[560,847],[942,823],[919,678],[691,603],[973,971],[375,219],[114,872],[892,748],[927,471],[107,942],[916,42],[630,484],[399,858],[116,114],[904,685],[745,984],[790,90],[48,665],[18,987],[580,858],[619,911],[705,318],[123,113],[645,52],[295,887],[726,993],[389,983],[991,731],[435,988],[497,379],[614,964],[919,920],[653,978],[846,878],[1003,853],[91,162],[998,1002],[770,462],[1007,36],[1008,345],[982,976],[493,81],[916,1011],[985,960],[829,537],[660,332],[1015,143],[972,1014],[1000,313],[1018,655],[625,894],[842,462],[1021,736],[357,795],[841,51],[928,52],[966,107],[989,231],[925,468],[130,1020],[1005,709],[626,838],[1031,325],[854,849],[875,56],[1030,663],[879,330],[92,1035],[862,39],[76,1038],[302,102],[967,68],[157,94],[381,924],[1043,323],[1044,956],[1023,534],[112,1019],[1046,835],[1048,762],[1041,746],[1029,952],[877,963],[1052,860],[288,790],[34,576],[725,140],[997,1056],[1057,1047],[965,42],[1059,846],[68,932],[1061,667],[388,722],[776,325],[1063,1062],[592,15],[445,759],[1067,455],[497,981],[69,1069],[663,1016],[941,74],[980,41],[951,859],[1074,1073],[1041,783],[390,1042],[1077,113],[647,186],[131,888],[856,1035],[1081,1078],[913,641],[358,699],[1071,65],[1070,1064],[1086,882],[467,691],[1088,992],[1089,157],[801,1085],[775,40],[14,574],[885,936],[931,450],[567,500],[1010,386],[990,799],[320,592],[1099,681],[648,81],[1101,482],[1027,955],[687,1093],[11,517],[1105,1076],[1001,34],[280,811],[1091,929],[1036,977],[1110,473],[868,704],[979,90],[440,1060],[1049,636],[1113,827],[1116,643],[585,157],[1118,827],[275,30],[1119,1120],[760,383],[1122,914],[514,626],[549,1124],[193,246],[1125,1126],[1127,83],[693,677],[152,1129],[1130,1128],[917,456],[614,692],[785,1084],[1032,778],[343,936],[38,42],[41,1137],[716,957],[87,51],[1140,44],[899,1141],[839,782],[1143,1142],[902,832],[1145,399],[1094,680],[1147,133],[1028,683],[677,6],[1149,1150],[399,386],[994,588],[17,895],[153,1038],[1155,957],[749,996],[940,1157],[1156,1128],[1133,526],[728,894],[515,1161],[1154,298],[1151,797],[786,1039],[264,52],[340,119],[1167,81],[910,584],[227,670],[1170,1168],[793,106],[885,1172],[1173,1019],[580,1166],[1114,78],[873,729],[1177,660],[1171,779],[1020,1178],[741,515],[1100,362],[1024,1175],[856,398],[588,763],[445,901],[768,969],[1187,1185],[722,39],[1189,1092],[1096,1040],[1191,915],[861,388],[1190,1138],[629,1066],[1195,482],[1196,448],[73,984],[1072,1198],[11,968],[1050,1199],[863,510],[1202,642],[446,460],[420,781],[907,591],[1206,1205],[1131,821],[848,886],[1209,36],[939,1210],[294,1056],[896,878],[811,849],[621,855],[755,359],[1163,737],[874,1216],[1218,941],[995,961],[1001,1214],[64,1079],[1055,1221],[450,793],[1223,294],[718,726],[924,946],[1227,207],[1228,418],[247,161],[1226,975],[1171,529],[1232,879],[1026,1184],[1234,852],[39,153],[1176,467],[737,348],[1236,76],[926,667],[659,413],[787,1241],[1212,1215],[1243,93],[1037,1016],[1239,702],[1246,1200],[1139,918],[644,393],[1249,425],[1042,123],[1237,1039],[1251,1248],[1013,1054],[758,848],[880,895],[1256,726],[1242,1102],[986,54],[1259,797],[1260,699],[301,515],[1250,83],[694,970],[1264,462],[648,1012],[1266,1079],[997,231],[1268,1136],[865,344],[1270,397],[999,100],[1272,828],[969,1271],[582,497],[934,1066],[1276,1275],[1213,1271],[991,710],[1279,17],[92,467],[1281,644],[1083,1060],[1283,897],[1282,407],[89,1224],[1286,931],[1204,930],[621,1287],[1236,1245],[1290,516],[1273,981],[1262,709],[1293,734],[1025,1095],[954,1179],[1296,309],[1240,949],[891,845],[148,1295],[693,450],[1033,1301],[1302,1107],[841,617],[1304,1152],[837,377],[574,970],[1307,583],[66,1165],[1306,820],[523,1280],[1309,457],[1310,1046],[1160,938],[1314,528],[1233,599],[1238,718],[1317,278],[1311,91],[161,788],[804,922],[1321,787],[1322,221],[1080,454],[1274,97],[763,61],[1222,1326],[1325,673],[523,808],[1329,16],[1112,1108],[1153,775],[432,301],[1333,1181],[1327,803],[1330,740],[681,618],[770,1104],[1337,1230],[1300,814]],"roots":[1298,1193,1097,1305,1068,1186,1146,1065,1332,1082,1235,1022,1265,1051,809,1294,1334,1339,1324,1162,1194,833,1098,1318,1103,1291,1220,1231,1183,1109,609,1203,1320,1123,1308,1180,1211,1158,1254,1292,1323,1328,944,1058,1174,1277,1197,1315,1255,890,1244,1316,1319,1106,1289,1297,1336,1201,935,1192,1087,1207,1258,1278,1090,974,1299,1335,1188,798,767,1253,1121,1134,1285,1053,1117,1261,945,1009,1288,953,1045,1006,948,1169,1225,1331,1269,1252,1303,959,1148,1284,1182,1115,1075,1313,1267,1004,1017,950,800,1263,1217,1034,1159,1111,1247,1312,1257,1340,1208,1144,1219,1164,1132,1338,1135,1229],"source":"cp10 zero restriction to points [0, 1, 2, 3, 4, 5, 7, 8, 9, 10]"} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_t2_p10.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_t2_p10.json new file mode 100644 index 0000000000..7d2185c2be --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/modules/tmod_t2_p10.json @@ -0,0 +1 @@ +{"kind":"disjoint_triples","p":10,"input_labels":[[0,1,2],[0,1,3],[0,1,4],[0,1,5],[0,1,6],[0,1,7],[0,1,8],[0,1,9],[0,2,3],[0,2,4],[0,2,5],[0,2,6],[0,2,7],[0,2,8],[0,2,9],[0,3,4],[0,3,5],[0,3,6],[0,3,7],[0,3,8],[0,3,9],[0,4,5],[0,4,6],[0,4,7],[0,4,8],[0,4,9],[0,5,6],[0,5,7],[0,5,8],[0,5,9],[0,6,7],[0,6,8],[0,6,9],[0,7,8],[0,7,9],[0,8,9],[1,2,3],[1,2,4],[1,2,5],[1,2,6],[1,2,7],[1,2,8],[1,2,9],[1,3,4],[1,3,5],[1,3,6],[1,3,7],[1,3,8],[1,3,9],[1,4,5],[1,4,6],[1,4,7],[1,4,8],[1,4,9],[1,5,6],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[1,7,8],[1,7,9],[1,8,9],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,4,5],[2,4,6],[2,4,7],[2,4,8],[2,4,9],[2,5,6],[2,5,7],[2,5,8],[2,5,9],[2,6,7],[2,6,8],[2,6,9],[2,7,8],[2,7,9],[2,8,9],[3,4,5],[3,4,6],[3,4,7],[3,4,8],[3,4,9],[3,5,6],[3,5,7],[3,5,8],[3,5,9],[3,6,7],[3,6,8],[3,6,9],[3,7,8],[3,7,9],[3,8,9],[4,5,6],[4,5,7],[4,5,8],[4,5,9],[4,6,7],[4,6,8],[4,6,9],[4,7,8],[4,7,9],[4,8,9],[5,6,7],[5,6,8],[5,6,9],[5,7,8],[5,7,9],[5,8,9],[6,7,8],[6,7,9],[6,8,9],[7,8,9]],"target_labels":[[0,1,2],[0,1,3],[0,1,4],[0,1,5],[0,1,6],[0,1,7],[0,1,8],[0,1,9],[0,2,3],[0,2,4],[0,2,5],[0,2,6],[0,2,7],[0,2,8],[0,2,9],[0,3,4],[0,3,5],[0,3,6],[0,3,7],[0,3,8],[0,3,9],[0,4,5],[0,4,6],[0,4,7],[0,4,8],[0,4,9],[0,5,6],[0,5,7],[0,5,8],[0,5,9],[0,6,7],[0,6,8],[0,6,9],[0,7,8],[0,7,9],[0,8,9],[1,2,3],[1,2,4],[1,2,5],[1,2,6],[1,2,7],[1,2,8],[1,2,9],[1,3,4],[1,3,5],[1,3,6],[1,3,7],[1,3,8],[1,3,9],[1,4,5],[1,4,6],[1,4,7],[1,4,8],[1,4,9],[1,5,6],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[1,7,8],[1,7,9],[1,8,9],[2,3,4],[2,3,5],[2,3,6],[2,3,7],[2,3,8],[2,3,9],[2,4,5],[2,4,6],[2,4,7],[2,4,8],[2,4,9],[2,5,6],[2,5,7],[2,5,8],[2,5,9],[2,6,7],[2,6,8],[2,6,9],[2,7,8],[2,7,9],[2,8,9],[3,4,5],[3,4,6],[3,4,7],[3,4,8],[3,4,9],[3,5,6],[3,5,7],[3,5,8],[3,5,9],[3,6,7],[3,6,8],[3,6,9],[3,7,8],[3,7,9],[3,8,9],[4,5,6],[4,5,7],[4,5,8],[4,5,9],[4,6,7],[4,6,8],[4,6,9],[4,7,8],[4,7,9],[4,8,9],[5,6,7],[5,6,8],[5,6,9],[5,7,8],[5,7,9],[5,8,9],[6,7,8],[6,7,9],[6,8,9],[7,8,9]],"input_count":120,"args":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[77,115],[47,56],[92,122],[121,123],[112,117],[29,34],[114,126],[125,127],[101,112],[106,129],[25,103],[22,131],[29,132],[27,133],[130,134],[23,32],[135,136],[93,116],[78,138],[5,27],[46,96],[12,13],[80,142],[76,143],[55,56],[59,145],[4,5],[146,147],[144,148],[34,114],[17,45],[2,151],[29,57],[20,93],[7,154],[153,155],[48,156],[152,157],[62,98],[158,159],[150,160],[6,56],[28,162],[4,163],[47,92],[19,165],[164,166],[161,167],[120,168],[63,99],[115,170],[35,171],[169,172],[8,21],[49,58],[94,175],[30,176],[174,177],[36,116],[64,100],[179,180],[178,181],[173,182],[112,114],[101,184],[24,102],[34,186],[185,187],[14,36],[20,189],[69,85],[100,191],[190,192],[10,26],[72,107],[194,195],[42,64],[48,197],[7,198],[91,92],[86,93],[200,201],[13,77],[35,203],[115,204],[54,110],[49,180],[206,207],[90,208],[32,128],[40,41],[1,211],[39,212],[33,113],[61,97],[214,215],[178,216],[18,91],[4,55],[140,219],[112,220],[32,221],[152,156],[46,60],[48,96],[224,225],[223,226],[222,227],[218,228],[217,229],[40,67],[37,39],[66,232],[11,233],[1,9],[234,235],[231,236],[76,113],[82,238],[15,30],[79,240],[239,241],[83,120],[64,243],[81,119],[42,85],[245,246],[244,247],[40,61],[63,249],[41,250],[43,251],[80,118],[84,253],[82,254],[252,255],[248,256],[38,54],[75,258],[71,104],[259,260],[195,259],[3,50],[22,263],[23,101],[55,140],[265,266],[264,267],[14,78],[51,106],[60,62],[270,271],[60,270],[53,273],[5,274],[136,275],[3,22],[59,249],[28,31],[27,279],[111,280],[6,148],[281,282],[52,108],[283,284],[51,52],[263,286],[24,287],[22,23],[288,289],[5,33],[12,18],[291,292],[36,110],[26,294],[105,117],[30,79],[11,297],[66,94],[298,299],[17,300],[78,93],[301,302],[115,116],[58,304],[33,35],[118,306],[242,307],[11,77],[143,309],[308,310],[73,243],[109,312],[84,313],[111,146],[24,31],[34,316],[136,317],[25,296],[318,319],[106,108],[320,321],[26,36],[35,323],[322,324],[195,245],[73,83],[74,327],[81,328],[72,80],[329,330],[9,68],[65,332],[66,333],[74,75],[110,335],[85,336],[314,337],[94,209],[85,197],[43,340],[258,336],[341,342],[58,79],[39,344],[260,345],[343,346],[78,116],[347,348],[63,84],[41,350],[73,109],[351,352],[243,353],[349,354],[54,90],[44,356],[75,357],[67,97],[82,359],[102,111],[296,321],[103,362],[361,363],[184,364],[52,62],[88,98],[108,367],[366,368],[44,89],[48,370],[47,371],[369,372],[38,65],[37,374],[69,375],[41,42],[328,377],[68,378],[376,379],[373,380],[3,7],[25,382],[53,383],[16,20],[2,385],[384,386],[24,34],[6,388],[19,389],[387,390],[381,391],[17,218],[10,14],[74,394],[71,395],[78,396],[12,76],[11,398],[72,399],[397,400],[81,401],[137,402],[109,120],[110,404],[119,405],[107,118],[406,407],[33,408],[324,409],[81,83],[42,69],[411,412],[45,58],[79,299],[39,415],[414,416],[57,348],[93,418],[417,419],[96,119],[360,421],[81,422],[40,46],[423,424],[61,425],[192,198],[60,427],[426,428],[37,49],[43,70],[430,431],[429,432],[420,433],[9,15],[2,435],[21,436],[7,29],[61,63],[8,439],[432,437],[10,235],[14,442],[92,95],[393,444],[19,445],[281,446],[46,47],[447,448],[2,282],[449,450],[101,102],[105,452],[24,453],[289,454],[87,88],[455,456],[451,457],[92,121],[152,154],[29,131],[53,382],[50,57],[462,463],[4,22],[464,465],[461,466],[460,467],[90,100],[89,469],[48,86],[370,471],[468,472],[33,292],[21,435],[474,475],[22,25],[186,477],[284,478],[42,74],[376,480],[16,86],[37,68],[41,483],[80,484],[9,231],[1,142],[486,487],[485,488],[18,19],[2,490],[98,225],[117,271],[32,34],[5,6],[31,495],[59,496],[494,497],[7,498],[493,499],[95,448],[500,501],[492,502],[491,503],[413,504],[489,505],[14,20],[506,507],[65,75],[90,509],[16,510],[108,114],[115,311],[103,512],[269,412],[119,230],[181,516],[53,103],[22,265],[72,519],[104,339],[38,39],[1,522],[467,523],[11,28],[203,525],[71,78],[327,527],[395,528],[526,529],[524,530],[49,215],[63,118],[532,533],[377,531],[2,449],[45,536],[76,91],[55,538],[74,110],[70,509],[540,541],[191,470],[542,543],[38,377],[39,66],[457,482],[447,547],[333,548],[113,539],[434,550],[112,551],[10,71],[72,553],[144,309],[554,555],[73,556],[549,557],[94,97],[21,559],[100,560],[119,120],[179,562],[113,307],[30,115],[564,565],[563,566],[210,281],[567,568],[561,569],[99,570],[86,260],[510,572],[87,107],[72,574],[88,352],[575,576],[105,577],[573,578],[470,542],[44,48],[341,430],[581,582],[580,583],[69,584],[53,585],[258,586],[475,587],[373,391],[20,96],[93,98],[590,591],[571,592],[446,593],[170,404],[452,579],[76,77],[231,485],[546,598],[597,599],[66,67],[558,601],[28,187],[29,603],[92,98],[84,459],[102,606],[11,241],[39,608],[8,58],[1,610],[609,611],[43,612],[12,33],[249,614],[239,615],[613,616],[245,617],[301,475],[70,619],[16,194],[573,621],[620,622],[13,35],[19,624],[68,99],[84,626],[625,627],[459,628],[623,629],[39,611],[55,147],[631,632],[239,614],[100,562],[130,136],[51,636],[331,597],[527,638],[39,639],[60,220],[637,641],[43,430],[70,360],[61,424],[644,645],[643,646],[417,550],[647,648],[357,509],[38,650],[50,86],[260,652],[651,653],[649,654],[453,557],[52,105],[51,59],[657,658],[117,321],[271,660],[659,661],[5,384],[662,663],[6,664],[136,665],[317,666],[35,115],[120,668],[104,116],[30,295],[670,671],[669,672],[109,673],[40,81],[95,644],[626,676],[111,253],[677,678],[606,679],[238,680],[91,474],[681,682],[51,267],[46,218],[87,685],[684,686],[231,398],[687,688],[193,302],[116,690],[29,691],[237,398],[95,200],[45,694],[315,448],[695,696],[86,697],[107,109],[44,88],[87,659],[700,701],[16,702],[50,518],[72,73],[374,705],[87,700],[706,707],[27,239],[359,709],[682,710],[633,711],[645,712],[87,96],[89,714],[575,647],[19,88],[89,201],[17,718],[385,719],[605,720],[717,721],[29,722],[152,177],[216,724],[4,264],[44,86],[16,727],[726,728],[687,729],[725,730],[102,114],[374,442],[234,733],[71,734],[152,726],[728,736],[735,737],[72,689],[738,739],[133,136],[53,662],[47,87],[95,367],[141,371],[744,745],[743,746],[742,747],[40,748],[30,214],[107,750],[295,670],[751,752],[50,453],[145,754],[286,755],[39,58],[59,256],[79,121],[111,238],[759,760],[758,761],[757,762],[260,763],[756,764],[385,718],[714,766],[393,767],[403,768],[9,601],[769,770],[54,64],[41,63],[278,773],[643,774],[448,775],[56,776],[262,352],[657,778],[765,778],[28,629],[99,533],[65,69],[771,783],[32,474],[113,538],[423,575],[103,130],[787,788],[139,415],[572,790],[544,791],[789,792],[786,793],[648,777],[295,394],[300,441],[151,797],[4,611],[39,799],[798,800],[22,186],[263,802],[52,803],[728,804],[47,773],[627,806],[54,807],[715,744],[97,119],[81,515],[693,811],[26,394],[36,383],[813,814],[1,8],[15,816],[815,817],[343,818],[2,816],[16,475],[3,194],[821,822],[651,823],[820,824],[432,825],[281,455],[26,104],[107,828],[827,829],[26,174],[356,831],[448,695],[36,813],[71,834],[78,835],[670,836],[612,837],[41,68],[77,839],[13,840],[167,841],[161,842],[6,19],[624,844],[826,845],[24,846],[36,831],[15,614],[52,352],[88,850],[807,851],[847,852],[75,84],[441,816],[103,114],[313,368],[626,857],[856,858],[464,642],[32,429],[99,534],[607,859],[72,81],[67,864],[40,865],[758,816],[87,141],[293,855],[861,869],[566,829],[109,871],[559,872],[283,290],[32,60],[221,875],[340,418],[438,877],[189,878],[618,879],[876,880],[548,873],[21,99],[90,883],[94,884],[109,885],[179,406],[871,887],[792,863],[458,728],[45,890],[97,469],[99,892],[113,670],[115,894],[408,895],[101,896],[202,809],[365,898],[897,899],[893,900],[2,18],[5,136],[902,903],[554,830],[82,249],[195,906],[74,541],[543,908],[796,909],[475,910],[25,385],[911,912],[624,849],[867,914],[138,180],[7,190],[870,917],[188,296],[741,919],[272,920],[385,815],[588,922],[820,923],[87,273],[745,925],[904,926],[384,385],[443,928],[481,866],[12,927],[930,931],[929,932],[7,62],[492,493],[57,315],[184,936],[833,937],[935,938],[93,939],[56,732],[415,786],[680,942],[882,884],[20,490],[809,945],[16,946],[16,747],[667,948],[3,23],[24,950],[496,951],[703,952],[100,722],[269,411],[245,907],[20,491],[949,957],[58,339],[58,94],[113,960],[477,514],[604,962],[673,963],[954,964],[886,965],[98,150],[238,245],[348,968],[103,463],[55,970],[274,971],[129,972],[347,973],[969,974],[907,975],[115,203],[35,163],[977,978],[351,979],[4,613],[261,981],[194,982],[850,983],[803,984],[980,985],[45,451],[171,987],[564,988],[174,306],[862,990],[568,955],[238,759],[178,215],[989,994],[209,595],[440,667],[51,268],[982,998],[616,999],[106,296],[67,783],[68,1002],[196,1000],[51,101],[575,1005],[655,1006],[543,787],[1001,1008],[542,858],[1009,1010],[84,513],[85,1012],[563,1013],[522,656],[574,622],[520,1016],[80,749],[137,634],[608,837],[1019,1020],[627,773],[124,1022],[417,432],[654,1024],[851,1025],[102,1026],[1023,1027],[212,1015],[865,1018],[875,934],[57,1031],[128,1032],[283,1033],[64,440],[1034,1035],[98,192],[255,326],[95,254],[68,644],[1039,1040],[326,337],[1021,1042],[380,1030],[620,711],[1017,1045],[19,68],[53,69],[258,1048],[273,584],[1049,1050],[874,1029],[114,125],[139,1053],[943,1054],[631,1012],[651,801],[286,754],[698,1058],[81,421],[243,1037],[1060,1061],[1055,1062],[104,832],[177,1064],[185,364],[527,1066],[98,243],[427,1068],[62,1069],[243,343],[42,675],[321,920],[281,1073],[888,1074],[152,167],[172,1076],[90,848],[283,1056],[11,269],[621,1057],[38,586],[133,385],[572,1083],[911,1084],[252,1079],[116,1085],[303,1087],[145,763],[40,545],[194,511],[58,772],[63,1092],[62,243],[23,51],[293,1095],[325,409],[883,1097],[51,950],[496,1099],[24,1100],[915,1101],[779,1102],[194,1103],[699,862],[356,1105],[491,501],[953,1107],[1106,1108],[26,1109],[254,677],[776,1041],[99,1112],[105,286],[374,1114],[358,1115],[1113,1116],[577,1117],[28,802],[439,872],[370,704],[86,1121],[447,1073],[670,1067],[990,1110],[313,337],[1038,1126],[1124,1127],[410,772],[119,560],[993,1128],[45,93],[86,1132],[62,284],[389,1134],[53,1135],[71,597],[187,962],[185,361],[56,971],[1139,1140],[742,1141],[439,1142],[1092,1143],[896,1144],[31,476],[625,1146],[1111,1147],[1091,1148],[453,874],[1120,1150],[88,805],[1076,1152],[61,810],[107,1154],[207,1155],[997,1129],[87,1059],[104,1158],[367,1123],[54,58],[8,1161],[1151,1162],[894,959],[133,460],[472,1165],[16,1166],[860,1167],[700,1106],[115,961],[1169,1170],[892,1098],[947,1172],[1155,1164],[1159,1171],[463,518],[941,1176],[92,1133],[1177,1178],[767,1160],[472,1132],[973,1181],[868,1182],[91,1183],[1174,1184],[16,168],[88,1186],[3,1187],[119,753],[61,1162],[1189,1190],[530,1138],[166,1022],[801,979],[1193,1194],[137,768],[680,795],[735,1153],[941,1135],[28,1199],[674,1200],[841,1198],[12,331],[2,495],[625,683],[556,1074],[329,1206],[8,467],[1201,1208],[1093,1209],[107,731],[280,1205],[208,1155],[33,1213],[13,394],[1203,1215],[57,184],[348,1217],[248,493],[1089,1219],[1218,1220],[318,1216],[1,1222],[1090,1223],[753,1196],[269,1207],[619,1212],[352,854],[479,1188],[1130,1225],[639,1066],[898,1231],[66,1003],[1232,1233],[23,24],[665,1224],[112,421],[20,504],[635,1238],[36,64],[1239,1240],[1122,1229],[991,1241],[927,928],[1214,1244],[555,955],[527,546],[381,1247],[154,987],[492,1249],[133,860],[401,523],[199,691],[153,1253],[801,1254],[117,494],[20,1256],[1072,1251],[1252,1258],[1033,1250],[980,981],[992,1014],[1147,1204],[1113,1263],[325,1215],[32,81],[189,1094],[1127,1265],[816,914],[816,1264],[332,1002],[39,414],[849,1268],[258,1176],[791,1274],[585,1275],[322,947],[1216,1277],[1271,1278],[236,515],[464,921],[285,1281],[716,825],[69,770],[445,592],[1284,1285],[388,913],[1047,1286],[1059,1137],[857,1287],[77,1179],[1248,1291],[277,1081],[653,1293],[16,473],[71,1295],[442,1296],[1080,1297],[535,1199],[628,1290],[1096,1283],[94,901],[708,1289],[343,838],[35,996],[513,1228],[589,1305],[905,1306],[1023,1024],[848,1307],[467,1304],[493,1069],[481,546],[1298,1313],[58,521],[1011,1039],[1134,1177],[555,992],[1288,1318],[481,1247],[866,1320],[76,1184],[1321,1322],[855,917],[1148,1257],[189,1325],[121,1317],[287,891],[1062,1326],[862,1170],[218,1168],[596,943],[868,1331],[1237,1266],[42,1034],[692,1045],[150,878],[213,1335],[489,1107],[953,1339],[257,493],[499,1341],[1269,1342],[1334,1336],[1038,1071],[1261,1267],[1337,1346],[10,706],[419,1070],[1340,1348],[567,1036],[426,1051],[1149,1235],[78,411],[599,1303],[189,1343],[373,1179],[305,1357],[624,1136],[352,742],[251,1360],[575,1352],[114,1349],[578,1353],[1309,1363],[469,1230],[412,940],[1354,1367],[600,1368],[179,1295],[1345,1361],[831,1370],[521,595],[916,939],[1358,1373],[205,338],[73,1202],[13,392],[562,1374],[1060,1113],[30,1372],[355,1327],[106,787],[276,614],[630,1119],[1272,1276],[1315,1381],[443,1378],[109,1077],[785,913],[1312,1380],[819,956],[576,1385],[64,1191],[1384,1392],[963,1020],[1251,1394],[1383,1390],[1064,1211],[58,1351],[1376,1396],[229,812],[1078,1245],[343,354],[818,1404],[748,1141],[807,1070],[1324,1407],[91,1406],[149,237],[1359,1405],[34,624],[1408,1412],[844,1413],[1178,1409],[748,782],[405,1416],[537,840],[1410,1418],[1152,1389],[1156,1417],[334,1192],[1065,1420],[6,1419],[1330,1379],[356,1421],[713,798],[69,723],[1422,1428],[843,1280],[83,1430],[620,692],[640,1142],[23,1398],[1090,1433],[243,967],[1432,1436],[781,1437],[1246,1338],[808,1082],[313,1440],[369,1441]],"roots":[1302,1131,1063,1316,889,794,1332,1234,1145,1425,1426,1375,1185,1175,1415,1221,1371,1382,976,780,1435,1391,1365,552,1197,1369,1442,1362,1118,1044,1386,1028,1292,1007,1323,1355,1075,594,1173,966,1366,944,1180,1262,1273,1401,1043,1308,1226,1329,1438,1344,1227,1319,1300,1434,1364,1279,1088,1393,1429,1046,784,602,1400,1157,1210,1397,1163,1282,1243,183,517,995,1260,1310,1403,1125,958,1387,1423,1242,1399,1333,1328,1356,1347,881,1086,1439,1411,1395,1104,1236,1311,986,1299,1004,1259,1052,1414,918,1270,508,1255,1195,1431,1427,1402,1424,924,853,1388,1301,933,1350,1294,1314,1377,740],"contract":"Root indexed by J sums input I exactly when I and J are disjoint.","source":"agent-cmod ctsa annealing of the complex compile ledger"} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/normalize_scatter.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/normalize_scatter.py new file mode 100644 index 0000000000..4f62515895 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/normalize_scatter.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +"""normalize_scatter.py: write the scatter of a gcert/1 program as the star rule by re-signing retained totals. + +gcert_emit.py (PR #256, vendored unchanged) keeps every slot in a unit lam (wanted = lam * stored, the convention of +Sussman's gxconv.py). When the exact lift leaves a retained total k in a register whose unit lam_k is not 1, the +emitter writes the scatter as a table: row t, column k is the star coefficient (1/3 if coordinate k lies in port t, +-1/6 otherwise) times lam_k. The five-stage packages' complex code reads the star rule only. If every lam_k is +1 or +-1, flipping the sign convention of the registers with lam_k = -1 over the whole program (P -> D P D with +D = diag(+-1)) gives the same map from sources to targets with the star rule: every gate coefficient on an edge +with exactly one endpoint in a flipped register is negated, and the scatter column of a flipped total becomes the +star column. Registers, frames, gates, start and final labels, retained totals, blocks and N are unchanged; only +coefficient signs, the scatter field and the derived_from note change. A program already in star form is returned +unchanged. verify.py runs gx.check1 (and Sussman's gxcore mirror) on the result and compares it with the input. + +Prepared by DreamingOfClouds with Anthropic Claude assistance (Apache-2.0). +usage: normalize_scatter.py IN.json[.gz] OUT.json[.gz] +""" +import copy +import gzip +import json +import sys +from fractions import Fraction as Q + +if sys.flags.optimize: + raise SystemExit('Assertions must remain enabled: run without -O') +STAR = dict(inside=[1, 3], outside=[-1, 6]) + + +def star(c, t, k): + return Q(1, 3) if c['ports'][t] >> k & 1 else Q(-1, 6) + + +def units(c): + """lam_k of every retained total, read off a table scatter (None for a star scatter)""" + sc = c['scat'] + if 'table' not in sc: + assert sc == STAR, 'a star scatter must be 1/3 inside, -1/6 outside' + return None + h, v = c['h'], c['v'] + assert len(sc['table']) == v + lam = {} + for t, row in enumerate(sc['table']): + assert [k for k, _, _ in row] == list(range(h)), 'table row %d does not list the coordinates 0..h-1 in order' % t + for k, a, b in row: + q = Q(a, b) / star(c, t, k) + assert lam.setdefault(k, q) == q, 'column %d is not the star column times one unit' % k + return lam + + +def normalize(c): + lam = units(c) + if lam is None: + return c, dict(raw_scatter='star', flipped_coordinates=[], flipped_registers=[], changed_gates=0, changed_coefficients=0) + assert all(q in (1, -1) for q in lam.values()), 'units other than +-1 cannot be normalized by a sign flip: %s' % lam + v = c['v'] + ret = {k: s for k, s, _ in c['ret']} + assert sorted(ret) == list(range(c['h'])) and len(set(ret.values())) == len(ret), 'one retained total per coordinate' + flip = {ret[k] for k, q in lam.items() if q == -1} + assert all(s >= 2 * v for s in flip), 'only slots are re-signed' + c2 = copy.deepcopy(c) + gates = coefficients = 0 + for ph in ('A', 'B'): + for g in c2[ph]: + assert g[0] in ('out', 'in'), 'gate kind %r' % (g[0],) + pivot = g[2] in flip + hit = False + for term in g[3]: + if pivot != (term[0] in flip): # exactly one endpoint of this edge is re-signed + term[1] = -term[1] + coefficients += 1 + hit = True + gates += hit + c2['scat'] = dict(STAR) + c2['derived_from'] = c['derived_from'] + ' + normalize_scatter.py (registers %s re-signed; star scatter)' % sorted(flip) + return c2, dict(raw_scatter='table', flipped_coordinates=sorted(k for k, q in lam.items() if q == -1), + flipped_registers=sorted(flip), changed_gates=gates, changed_coefficients=coefficients) + + +def same_shape(a, b): + """True when two programs differ at most in coefficient signs, the scatter and derived_from""" + keys = set(a) | set(b) + for k in keys - {'A', 'B', 'scat', 'derived_from'}: + if a.get(k) != b.get(k): + return False + for ph in ('A', 'B'): + if len(a[ph]) != len(b[ph]): + return False + for g, h in zip(a[ph], b[ph]): + if g[:3] != h[:3] or g[4:] != h[4:] or len(g[3]) != len(h[3]): + return False + if any(x[0] != y[0] or x[2] != y[2] or abs(x[1]) != abs(y[1]) for x, y in zip(g[3], h[3])): + return False + return True + + +def main(): + src, dst = sys.argv[1:3] + raw = gzip.decompress(open(src, 'rb').read()) if src.endswith('.gz') else open(src, 'rb').read() + c2, report = normalize(json.loads(raw)) + data = json.dumps(c2, separators=(',', ':')).encode() + open(dst, 'wb').write(gzip.compress(data) if dst.endswith('.gz') else data) + print(json.dumps(report)) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/paircheck.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/paircheck.py new file mode 100644 index 0000000000..673cc0a684 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/paircheck.py @@ -0,0 +1,165 @@ +#!/usr/bin/env python3 +"""paircheck.py: standalone re-check of the compensated reuse pairs of a written aligned tree. + +Reads only the written word (cache/{graph,frames,selection}.json, references/paired-cube/physical/{frames,pairs}.json) +and re-verifies the pairs independently of the code that chose them and of aligned_word.py: + kinds: the donor is an ungauged, non-root role with operations; the recipient is a selected (rank h-4) gauge; + pairs are one-to-one and every selected gauge is paired (no live external gauge); + chronology: early pair (deadline None): the donor's last operation in phase 1, the recipient's first after the cut; + late pair: deadline = the recipient's first operation (phase 2), the donor's last operation strictly + before it in the executed order (phase 1, then phase 2 in index order), i.e. the donor is dead before the + recipient's old-value read; + frames: the donor's last physical frame lies inside the recipient's gauge frame; + parity: no pair is erasable by PR #184's --purify-source-donors (donor last frame of rank <= 3 inside a cube + parity 3-space inside the recipient gauge). +Five mutation controls must each be rejected for the condition they break (every violated condition is listed): +a late recipient given an unused donor still alive at its read; an unused donor with legal timing whose last frame +lies outside the gauge (frame containment alone); a duplicated pair; an unpaired gauge; an unused donor with legal +timing whose last frame is parity-erasable (erasability alone). +Prepared by DreamingOfClouds with Anthropic Claude assistance (Apache-2.0); uses the rebuilt tree's +scripts/paired_cube/frames.py only for basis/perp/containment. +usage: paircheck.py --root PR202_TREE WORD_TREE [WORD_TREE ...] (prints one JSON line per word tree)""" +import argparse +import json +import sys +from pathlib import Path + +if sys.flags.optimize: + raise SystemExit('Assertions must remain enabled: run without -O') + + +def check(tree, mutate=None): + from paired_cube.frames import basis, perp, contained + tree = Path(tree) + rd = lambda p: json.loads((tree / p).read_text()) + g, w, word = rd('cache/graph.json'), rd('cache/frames.json'), rd('cache/selection.json') + moved = rd('references/paired-cube/physical/frames.json')['frames'] + pairs = rd('references/paired-cube/physical/pairs.json')['pairs'] + h, v = g['h'], g['v'] + ops = word['ops'] + frames = [perp(tuple(w['annihilators'][x]), h) for _, _, x in ops] + for i, F in moved: + frames[i] = tuple(F) + pset = set(word['phase1']) + order = sorted(pset) + [i for i in range(len(ops)) if i not in pset] + pos = {i: k for k, i in enumerate(order)} + role_ops = {} + for i in order: + a, b, _ = ops[i] + role_ops.setdefault(a, []).append(i) + role_ops.setdefault(b, []).append(i) + gauge = {z['role']: perp(tuple(z['annihilator']), h) for z in word['selected']} + assert all(z['rank'] == h - 4 for z in word['selected']), 'non rank-(h-4) gauge kept' + roots = set(word['rootroles']) + parity = [] + for cube in range(v // 8): + for bit in range(2): + parity.append(basis(tuple(g['inputs'][8 * cube + j] for j in range(8) if j.bit_count() % 2 == bit))) + erasable_pair = lambda U, V: len(U) <= 3 and any(contained(U, S) and contained(S, V) for S in parity) + if mutate is not None: + pairs = mutate([list(p) for p in pairs], dict(frames=frames, pos=pos, role_ops=role_ops, gauge=gauge, roots=roots, + pset=pset, contained=contained, erasable=erasable_pair)) + bad = [] + donors, recips = set(), set() + late = early = erasable = 0 + for d, b, t in pairs: + if d in donors or b in recips: + bad.append(('not one-to-one', d, b)) + donors.add(d) + recips.add(b) + if d in gauge or d in roots or d not in role_ops: + bad.append(('donor kind', d)) + if b not in gauge: + bad.append(('recipient kind', b)) + continue + last, first = role_ops[d][-1], role_ops[b][0] + if t is None: + early += 1 + if not (last in pset and first not in pset): + bad.append(('early chronology', d, b)) + else: + late += 1 + if not (t == first and t not in pset and pos[last] < pos[t]): + bad.append(('late chronology', d, b, t)) + if not contained(frames[last], gauge[b]): + bad.append(('donor frame outside gauge', d, b)) + if erasable_pair(frames[last], gauge[b]): + erasable += 1 + unpaired = set(gauge) - recips + if unpaired: + bad.append(('live external gauges', len(unpaired))) + return dict(pairs=len(pairs), early=early, late=late, gauges=len(gauge), erasable=erasable, + violations=len(bad), kinds=sorted({x[0] for x in bad}), first_violations=bad[:5], + status='PASS' if not bad and not erasable else 'FAIL') + + +def controls(tree): + """five mutations; each must be rejected for the condition it breaks (all violated conditions are listed)""" + def free_donors(pairs, c): + used = {p[0] for p in pairs} + return [(d, ops[-1]) for d, ops in sorted(c['role_ops'].items()) if d not in used and d not in c['gauge'] and d not in c['roots']] + + def legal_timing(last, b, t, c): + first = c['role_ops'][b][0] + return last in c['pset'] if t is None else (t == first and c['pos'][last] < c['pos'][t]) + + def swap(pairs, c, *wants): + # replace the donor of some pair by an unused donor chosen by the first satisfiable predicate + # want(last frame, gauge, last op, recipient, deadline) + free = free_donors(pairs, c) + for want in wants: + for k, (d, b, t) in enumerate(pairs): + for d2, last in free: + if want(c['frames'][last], c['gauge'][b], last, b, t): + pairs[k] = [d2, b, t] + return pairs + raise RuntimeError('no control instance') + + def late_before_death(pairs, c): + # a late recipient gets an unused donor that is still alive at the recipient's read; a donor whose frame also + # fits the gauge is preferred (none exists on the committed words, so the frame check fires as well) + alive = lambda U, V, last, b, t: t is not None and c['pos'][last] > c['pos'][t] + return swap(pairs, c, lambda U, V, last, b, t: alive(U, V, last, b, t) and c['contained'](U, V) and not c['erasable'](U, V), + alive) + + def frame_outside(pairs, c): + # an unused donor with legal timing whose last frame is outside the recipient's gauge + return swap(pairs, c, lambda U, V, last, b, t: legal_timing(last, b, t, c) and not c['contained'](U, V)) + + def duplicate(pairs, c): + pairs.append(list(pairs[0])) + return pairs + + def drop(pairs, c): + return pairs[1:] + + def erasable(pairs, c): + # an unused donor with legal timing whose last frame (rank <= 3) lies in a cube parity 3-space inside the gauge + return swap(pairs, c, lambda U, V, last, b, t: legal_timing(last, b, t, c) and c['erasable'](U, V)) + out = {} + for name, f, intended in [('late_read_before_donor_death', late_before_death, 'late chronology'), + ('donor_frame_outside_gauge', frame_outside, 'donor frame outside gauge'), + ('duplicate_pair', duplicate, 'not one-to-one'), ('unpaired_gauge', drop, 'live external gauges'), + ('parity_erasable_donor', erasable, 'erasable')]: + try: + r = check(tree, f) + except RuntimeError as e: + out[name] = 'no instance: %s' % e + continue + found = r['kinds'] + (['erasable'] if r['erasable'] else []) + out[name] = ('REJECTED (%s)' if intended in found else 'ACCEPTED (control failed: %s)') % ', '.join(found) + return out + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--root', type=Path, required=True, help='the rebuilt PR #202 tree (scripts/paired_cube/frames.py)') + ap.add_argument('trees', type=Path, nargs='+') + a = ap.parse_args() + sys.path.insert(0, str(a.root / 'scripts')) + for t in a.trees: + print(json.dumps(dict(check(t), controls=controls(t))), flush=True) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/centre46_graph.diff b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/centre46_graph.diff new file mode 100644 index 0000000000..76437ab856 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/centre46_graph.diff @@ -0,0 +1,33 @@ +--- graph_orig.py 2026-10-10 03:55:31 ++++ graph.py 2026-10-10 03:55:31 +@@ -190,14 +190,18 @@ + self.local_channels() + base_nodes = len(self.a) + D = dict(zip(self.cubes, self.module(triple, [self.F[I] for I in self.cubes]))) +- P, Q = {}, {} ++ P, Q, star = {}, {}, {} + for i in range(self.p): + others = [a for a in range(self.p) if a != i] + pairs = list(combinations(others, 2)) + for bit in range(2): + inputs = [self.A[tuple(sorted((i, *K))), i, bit] for K in pairs] +- for K, node in zip(pairs, self.module(pair, inputs)): ++ outs = self.module(pair, inputs) ++ for K, node in zip(pairs, outs[:len(pairs)]): + P[tuple(sorted((i, *K))), i, bit] = node ++ if len(outs) > len(pairs): ++ # centre-sharing pair module: its extra root is the sum of all inputs = star(2i+bit) ++ star[i, bit] = outs[len(pairs)] + for i, j in combinations(range(self.p), 2): + others = [a for a in range(self.p) if a not in (i, j)] + for mode in range(2): +@@ -231,7 +235,8 @@ + # Their scatter is 1/2 sum_(i in T) S_i - 1/6 sum_i S_i. + for i in range(self.p): + for e in range(2): +- self.centers.append(self.sum(self.A[I, i, e] for I in self.cubes if i in I)) ++ self.centers.append(star[i, e] if (i, e) in star else ++ self.sum(self.A[I, i, e] for I in self.cubes if i in I)) + incidences = 0 + center_scatter = '1/2 sum_(i in T) S_i - 1/6 sum_i S_i' + else: diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/NOTICE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/NOTICE new file mode 100644 index 0000000000..27c7d368fa --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/NOTICE @@ -0,0 +1,43 @@ +Prepared by Chafik Boukhalfa with substantial Anthropic Claude and OpenAI +Codex assistance. Apache-2.0. Inherited files retain their original notices +and assistance disclosures. This package claims no exclusive priority over +concurrent work and reports no new kappa. + +What this package contributes: the physical layer (operation frames and reuse +pairs) of PR #200's descent applied to the source-aligned complex word, the +admission of that layer with PR #200's checker on that word, and the +observation that PR #184's frame flow prices it at 7.0861e-4. Everything +else is retained and credited: + +- icekylinx (OpenAI GPT-6 Astra and Codex assistance): PR144 paired cubes, + signed decoder, shared-core accounting, original compiler, carrier + matching (the frozen round-nine matching reused here), chronological + gauges, PR130 generalized Clifford frames; PR184 source-assisted + construction: source-parity local factorization, frame flow with + independent dirty lifts and source controls, exact lifts, contract, + global assembly (research/source-assisted, vendored byte for byte). +- ikeboy: PR191/193/194, the rebuild of PR184's construction on the PR168 v4 + modules (research/source-assisted-v4: source_aligned_local_v4.py, + contract_v4.py, assemble.py, the parity-erasure-avoiding matching), and the + composition with PR189's/PR200's bit supplier. +- eumemic (Anthropic Claude and OpenAI Codex assistance): PR117 module + infrastructure; PR155/157 scalar modules, physical frames and reuse; + PR161 output merging; PR168 annealed modules, nested-prefix schedules, + local L1 circuit, fused outputs, bundle descent, both physical layers + (the physical layer replaced here is PR168's, used as the descent's seed), + pinned at 4a3c769e5c5430e7114c4d3e099ff34664677f17; PR131/143 frame/reuse + and late-read lineage; PR154 isolated snapshot verification. +- jamesyc / James Chang: PR124 compensated birth cuts, PR34 balanced + assembly, PR166 terminal-output accumulation. DaysSky: PR162 extended + carrier closure, PR192 frame-layout ceiling. GamingPuzzled: PR160. + gupt1156 PR148 and Abhinav Ramachandran/geckods PR158 (Hermes assistance). + jacklightChen / Zhihao Chen: PR23/29. Rohan Arun: PR100/103. an664: PR128. + Earlier lineage: Zhihao Chen PR97, Swapnil Jain, DaysSky PR150, hpst3r + PR147, SovereignSteak PR122, Aurel Prosz, dleen, Douglas Colkitt. +- Chafik Boukhalfa (Anthropic Claude and OpenAI Codex assistance): PR175 + fast checker; PR179/181/189/196/200 local circuits, operation-frame descent + (discovery/), independent complete complex admission (complex/physical.py, + verify_fused.py, vendored from PR200 at a1175449) and the PR200 bit + supplier the assembly reads; PR202 (the pinned tree, 8d8d67b). +- OpenAI: the original complex phase network of "Integer multiplication + below n log n". diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/SOURCE.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/SOURCE.json new file mode 100644 index 0000000000..dca4742101 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/SOURCE.json @@ -0,0 +1,323 @@ +{ + "archive": "baseline-pr202.tar.gz", + "archive_sha256": "5d08386f71c421d2b83b21020e3b74198e9d0c75884d7d81987307740d98883f", + "commit": "8d8d67bcf69c5ea67d3a29dbc64ba588156d6e8d", + "files": { + "certificates/paired-cube-complex-input.json": "b1898950f95a7ce618f376d14e628061b345a519e7bcac76b67d277deeec9af5", + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "references/paired-cube/bit-physical/frames_p12.json.gz": "d2347635891e70918171b96ae33c9cb667cec11cdb7b8f634685b3df8c7effc1", + "references/paired-cube/bit-physical/kchron_p12.json": "001a8c2b6ab4766e5e57b13164bf319988db568b915af2de71920eb5b526d9db", + "references/paired-cube/bit-physical/word_p12.json.gz": "6f10239e8e2946263c7959392edd7c4e48661708a4d83222acb7cf6297783928", + "references/paired-cube/physical/README.md": "d978a982e2652e2ec8b8e810874e5cd99b6805a7ab9d586d4cc2f7e06ae15fca", + "references/paired-cube/physical/frames.json": "3681fc6ef151cdfa5453512f56f7165607ece64ccf6b71478af8c327350f5800", + "references/paired-cube/physical/pairs.json": "07c204bd2a69dd8860b7333896b9bf3fe41a326675bbe41b14e6e3795453dc1e", + "references/paired-cube/pr97-subset/selection.json": "5a41dee894702cb880385d826648a3e759b85a6de6824ecbef63b73b8c6e1354", + "references/paired-cube/selected-module/README.md": "bd3f5176ef31bbf78240066fd5a5dae52dc31dd734273409671440a568d18155", + "references/paired-cube/selected-module/SOURCE.json": "7689968c429109119a232c3f7631cdfa5b7a7895c61af36ee82e3229988e45ab", + "references/paired-cube/selected-module/matching-arcs.json": "46c77eb75ebcb2435595a3b6522a54e1d12d3c61eecb3b51c489edd1f78447e1", + "references/paired-cube/sources/SOURCE.json": "54c6b27f55849b5a74b16387ef361dac6943525a244046795f78605b84f90826", + "references/paired-cube/sources/local_L1.json": "1861724ee3b58ea8acb3334416fbfd9172a9ae02ad11a6f6885a4909f8692f05", + "references/paired-cube/sources/pmod_J0_full_6.0666810e-4.json": "7d1ae23430e110d32aa1cab84415abdbc918dfab6b317cb24d30756fc90c5925", + "references/paired-cube/sources/qmod_climb3u_best.json": "3f85f6b2134af8781f16229186d0d7c1de71ab4d5235244259e1b79f2e3d14ba", + "references/paired-cube/sources/tmod_TE_TD_TB3_1_1_4_full_6.0617964e-4.json": "9dcdb6f4e33410418c01f55f092862edfa7c05001ceada3974f8d1196bcd894b", + "references/three-stage-cover/pr117/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "references/three-stage-cover/pr117/NOTICE": "a0030510cd3b5334fb113eae759aadd2c25951bd353dfb69ad9cb780ae5adf30", + "references/three-stage-cover/pr117/SOURCE.json": "74e9f4b4ae0529d21d19c159b2b50ee0923e93e0d7eb22cf208ad41dd5992275", + "references/three-stage-cover/pr117/dag.json.gz": "3c034d0aae388ef567a454826f4f48b26fd8a94c71e8ffed4835271b349a783b", + "references/three-stage-cover/pr117/replayed.py": "99c1e3694ae06a7ce7a370b04ecb45ea3fcfe69a6e6e7f4c4606e0a6c74c3184", + "research/paired-cube-diagonal-bit-168/NOTICE": "9e82089424092c1dabc2341a09ead255633d78c90dbdc199c4336ca1c0f3bdf4", + "research/paired-cube-diagonal-bit-168/arithmetic/balanced_shared.py": "c3204e1758057f5ef10724014f38b91b8a01f6d8a3562b054263fc74795bfd90", + "research/paired-cube-diagonal-bit-168/arithmetic/certificate.py": "623229f3008d1563c2c3dde8e6d0eca8ea73b1937ceaf75db3d3425af8472874", + "research/paired-cube-diagonal-bit-168/arithmetic/interval_moment.py": "9d3d1d28bfb3375958995205179b171fb65c70a3792cf9f7a21ef5ee54f5460b", + "research/paired-cube-diagonal-bit-168/arithmetic/shared_bridge.py": "d0729e2d12d8c038719ea6eb83b169c09660f43de2d3d2da10a6a173f5204f93", + "research/paired-cube-diagonal-bit-168/certificate.json": "853afa75980e11ce16b333c28311c4f635e84065867c049fda9916c2419091ed", + "research/paired-cube-diagonal-bit-168/complex/check_sinks.py": "d70903464b3caabc0920aee8953978a27a6874a655ecb66cadacf77a31df11af", + "research/paired-cube-diagonal-bit-168/complex/formal_sinks.py": "d7fefe86e637584ad1bf53c8f7714b88d5abed92eaa29d110ef099536e51f516", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/prove.py": "3eecae7856aa212d1d7e607e2663b8ce0766ed6067b388c6be2ed5485886bd43", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "research/source-assisted-v4/NOTICE": "0b478b206d86be883daf8a9698a75a36cca173b2f927740883393146cd500b3f", + "research/source-assisted-v4/PROOF.md": "b340b9530101b5bc976cde69031a32eed41bb6b9b56213d3a63bc5a6ebeb0f16", + "research/source-assisted-v4/README.md": "d123e1141698b01de4746657b95a2600bfeb9d4f2697b5c3c5e08b96990d5593", + "research/source-assisted-v4/SOURCE.json": "c62fa2316c6b27e6039ed32f37bf8540e0c18f3248b456ade56b9822412820d8", + "research/source-assisted-v4/assemble.py": "9f5ad2b18cf24b829c99592bdbe34577debc404d810797afa89051f898cf960c", + "research/source-assisted-v4/certificate.json": "6fb7df88e8d6635e15a53e1e5c88a47265f5c1706937e390eca01a91749aad9d", + "research/source-assisted-v4/contract_v4.py": "67da183217adbe28915391c8cd0c8c4ec9c9dedead54a641a2de23834df2342c", + "research/source-assisted-v4/data/kernel-pairs.json": "f1535677d1ec225a3a132b2da0f6da9613b7b814227647b288c4e298ec26d8d3", + "research/source-assisted-v4/data/physical-pairs.json": "7095501f054e9ec18aa212bfed1b01e497ca2ae997f4c9ece2779909b3fd72e2", + "research/source-assisted-v4/pin_sources.py": "29063638a1791b07f8ee4ece6569a9ece42b22b73ed34eac617e150e0b1b9985", + "research/source-assisted-v4/source_aligned_local_v4.py": "3e11a7418bf1f3b51674b45e4dded184cf1599338c4c3911e145f58c8c15a969", + "research/source-assisted-v4/verify.py": "41e73269755771828a33c85ba9d171ff9df36315430205889b321b35c4193aaa", + "research/source-assisted/CREDITS.md": "6663e1fb087f6c32289c7f64c212baab69fdab275baa0e51e7147b83216fca86", + "research/source-assisted/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/source-assisted/README.md": "dfc42f13036d60bc963866e3155cccfe6db21e603863530651195a3eb774c2fd", + "research/source-assisted/SOURCE.json": "009ae9db86e95ea2c85953799c1b433d78d744fe54248f5bdd647fe4ea219c01", + "research/source-assisted/bit/SOURCE_ALIGNED_BIT_WORD.txt": "29a25a95492fa5054f16768f23612e1b3ec8d034130a28f77df863bb38ee5693", + "research/source-assisted/bit/common_frame_network.py": "095bcdfa9fe37e778f343ff91fba02071d16766baf0b39ff64f48f3fa4db4bbf", + "research/source-assisted/bit/source_aligned_lifts.json": "f6759116094f8fe0d048cef95eb4c7f52b08ac304bc55bcdd3c165e95f3aed6c", + "research/source-assisted/bit/source_aligned_lifts.py": "0a7d05098ff61d1a53cd7bbf755ab142cd01d65e96a7ab338a705f5ffa40874a", + "research/source-assisted/bit/source_aligned_profile.json": "e1d07bf5d5b2d4884137da84745b6f5eea642b0cea4cb6472dd307c7b2d1659b", + "research/source-assisted/decision/aligned_parity_exact_lift.result.certificate.json.gz": "f5fcf187b2b3487c028019c948be1b96b5666de638745a371ea704f30af4cd9d", + "research/source-assisted/decision/aligned_parity_exact_lift.result.json": "89ea9093a4f52e2af8e82d136ee325b967a57dc0fb25d46b67d03ca12f113ff9", + "research/source-assisted/decision/aligned_parity_purified_flow.result.json": "5bf59f38b79406d5978f8db0df253a40d4c89023f8243313c284765e87f36099", + "research/source-assisted/decision/aligned_parity_purified_flow.result.witness.json.gz": "63480cc8a95bedba01f72bda82d7a9b479727833901464853032b6ad8c1cfbaa", + "research/source-assisted/decision/certify_complex_flow_contract.py": "0459b7f6e95be53601ad59d8257061643647e8947c573d9246b7659d7175a017", + "research/source-assisted/decision/complex_frame_flow.py": "5ea4f32f4eb0b19816a0b98272592f9dc0e9cbc448ce5eb7907ba113233dcc86", + "research/source-assisted/decision/complex_source_aligned_kernel_pairs.json": "5fb629725d67556bec93c441c283d133ad3cc159edde6f216cbe6289f12696a0", + "research/source-assisted/decision/complex_source_aligned_physical_pairs.json": "b75f0e2a26ad6d6c804234c0c28a0518255cd619eaee1f66100fa98a67ab1619", + "research/source-assisted/decision/complex_source_aligned_profile.json": "5c846f00073e2a4dd0340cc8df4a797f433c9e72bccae9efa0d115a2dd2652c8", + "research/source-assisted/decision/exact_complex_flow_lift.py": "9d841bcfdc7c9c19b31791e8d7cfebd223d80d5e9ecd376d26257244f5323f2e", + "research/source-assisted/decision/reproduce_complex.py": "ae5b826c3d4e1700dbf5aec020c30c09eb02f0bbd73808760e5200835ec77972", + "research/source-assisted/decision/source_aligned_local.py": "4e981f0488e657b79c5a0607dfa0b77dbc346d28b9a3150290d8aeeb626afb0c", + "research/source-assisted/global/COMMON_FRAME_LIFT_AND_GLOBAL_CONTRACT.txt": "102a012e8938d60d0d7e5360b7088f317c51e42a148288882612b8635a463d16", + "research/source-assisted/global/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "research/source-assisted/global/assemble_profiles.py": "c56d0638d4bc1ac3f70c78778ea824f3a2ba23c31f7eeff3c93cf17df3f2e0de", + "research/source-assisted/global/global_certificate.json": "ee06de6707747bbcd1a6ccfcf1fcad1458313b2a441e883f0fe1fff7bc8f2a28", + "research/source-assisted/public/KERNEL_MATCHING_SCOPE.txt": "ead7d9bf57be1f7951bae260cffc9a28135358758188f67883c550ad130d5a83", + "research/source-assisted/public/SOURCE_MANIFEST.json": "257ea928f30127799d1249800edd963faa3c70f4cfbea84867ab73ad596e66ab", + "research/source-assisted/public/kernel_matching_prefix.json": "617dcd5d5994f8015eb53e5907fae68af36f0212c440cf126368b49574a8cbce", + "research/source-assisted/public/kernel_matching_prefix.py": "b2facc433f974629358c4a0b39098a91556e535231b8e3dd0aea2705f48badb2", + "research/source-assisted/public/pr168_fd25adb7.tar.gz": "44211bb3c927b152f3e3027ec8c5852a612f93d9e5d137a42955775fa9c93044", + "research/source-assisted/reproduce.py": "a367b77b0948039ed7e92866aac9c20f3d5ee948b3a20dfaa95c02c84f378bc9", + "research/source-assisted/requirements-round13.txt": "c73f564afb89b43238715a2ae0c6c6d432d2b5c43ae5681ae73f5ea044396ed8", + "scripts/audit_additive_labels.py": "fa12eb2c102dc3ea176b6b5ac22618bf1cd2ff15cefc458d3a4274661abcfe6f", + "scripts/audit_affine_vectors.py": "a3fccaeadb9a5db72c33787a055a54374504a6aa231907080396b2cf822e94a7", + "scripts/audit_bit_compression.py": "f0ed48592a885b54669d3f9086530fc84c467c39fd9281b357ba7550549aaa25", + "scripts/audit_block_carry.py": "2835f9262e0f835259a18c11aa3469643a19483d62daff90dbb91ddcb46e4505", + "scripts/audit_block_core.py": "a6ee56d5c238691701e9f17e9f2e7ed109a192d974614f58bdeca57a441ab968", + "scripts/audit_block_labels.py": "5455255446aaca07caae5187487cac5129fdbd823de778bae74ea16ca1f78f10", + "scripts/audit_cancellation.py": "508934ee4d9514a5519813603b6192a0d53103b6e30d65b8d53a1a774de244b6", + "scripts/audit_coded_carries.py": "b914227845265e856e5c343bb8588bb6621477afab40ba6a08ced95eca595ef3", + "scripts/audit_community_candidate.py": "fe687e20639a26c852fcd336411636e5c4293c0d7ba1880cf570bcad2f9d6ac9", + "scripts/audit_compact_controls.py": "c3513cd6b41a20bc33b392d66c1536f0a5fcaa76088848361a3aef64074fa989", + "scripts/audit_complex_centers.py": "166b18f560cd0d520d23fa29ee8147e0ea056358c4268a466ec458195a97a960", + "scripts/audit_core_limits.py": "33060eda83c47372daf887fbdbb5e684d2a0a193e527449443948880cbb0c70c", + "scripts/audit_cube_cores.py": "eaf815316abe1a55b43a62e71252243562486248f3275f4a28ee286a34c5cb07", + "scripts/audit_cyclic_topology.py": "b20ece2cf1337e1808e35b602a0120c6aedaf602fa2315560726a149e9838c29", + "scripts/audit_disjoint_tensor.py": "477db540e972b82751fac6a3a6d6e38fb4141e967261b1f9c260e2c686479a78", + "scripts/audit_early_sharing.py": "2cf08ee65f8f8610578614d0ff0308eb432732e779f1e8c03e67f1979e75fdc6", + "scripts/audit_fano_completion.py": "427c369eb2adec9214c5e804bb4413c5a1c4ecbe74ed81c4d65e1b11faa60ed0", + "scripts/audit_fano_permutation.py": "168d286a09c9c25852c3edd8832c1dab3c30e8fec87c050a6daec8d075822bc5", + "scripts/audit_followup_candidate.py": "dfb65258d08097acd6a4c29719f4d7459646801de56f33e78d9ae1cee55c2cfc", + "scripts/audit_fused_block.py": "2afb83ca8e5f193ca8a4c242becf267ad1d9dc2578ba238b820e98d5185f6288", + "scripts/audit_gather_schedules.py": "d7b4f64a672404a4d46fb2dd46a9e71db70fc61e3e2e8ba4ad20a8a07eb724b6", + "scripts/audit_general_guard.py": "885743e70450f8da77dd8eee619eb784bd10b3078d4229baf4af2791a2e483c1", + "scripts/audit_inplace_side.py": "16d295f9f9250d35f6f1de2843d5e13c7adbf88d595ebcd0b65b00d1a938acd9", + "scripts/audit_joint_candidate.py": "41a5ef6425561eeaa49a4dc1783afbce723ef31944e3f7d30cc91f4a1e0b64ff", + "scripts/audit_joint_frames.py": "3df8061392ce0ba42bbde8c02f2a30c8141145e70e9a48c18da73d3aafb14423", + "scripts/audit_joint_return.py": "da515bbd86dc9597e016c39ce2ea189343699a2d36f51f2224f4c2e39fa69601", + "scripts/audit_mixed_point.py": "2eead5d410d1c96f1a7ef47c9c35d16ca6bb6d9c2a6a8d24273290add842214d", + "scripts/audit_packed_movement.py": "d283f6900c97e04c687f77697ea8b29d5cac5a2f69cf2a79766099573dd66517", + "scripts/audit_pair_candidate.py": "29f38baeaa66e854eb5b235fb9708575137df30da277d439e0a08c5c4c4cb61a", + "scripts/audit_parity_side.py": "7cbdd405ce11fa6f7ffcbef3811174f8685ad4640e9330176601d3b3d3e95390", + "scripts/audit_positive_side.py": "b021aad944d8a6c023e57b1b48937854803bbb370240c93e0fe359d831c838c9", + "scripts/audit_positive_skip_exact.py": "fb4aa8af4e8a0a8a0ce21b8b647efd982fa1da2bb93aaaac72a42496c201d25f", + "scripts/audit_prime_subset_limits.py": "8f5c51d415c3248ce965d93469518e8d219020a1192c7be544a1a5f4b95dc1c9", + "scripts/audit_quadratic_affine.py": "9b7b3a7b8bcf417d95f19e44ff488733e7a3f4757fd12bd98d417e1d01d70425", + "scripts/audit_rank_product_core.py": "1471f17e86d6c02d5c288116cc3a53544c881ded47a3500f70dac97b366e46a7", + "scripts/audit_scratch_pooling.py": "12748b9915aaa5b59f0e32ee0b4f8bf0cdb86d5bf90d633cd12bdfb832e414a3", + "scripts/audit_shared_core.py": "fd257e22b8eef948bd29c2934d15f96ea93bea439e51229965bed53d75e09307", + "scripts/audit_short_guards.py": "c2c929c956e617bee739963b517b9069e0d067cfebc6820f401a4e90a1769eb1", + "scripts/audit_signed_sparse.py": "5b64f4098fcf9092d3e24526f4d6ba90528104fe66396e3e7ee64a7eaf3c8a51", + "scripts/audit_single_intersection.py": "1de7f9a62edc93c624ff2693ae9bb725cf6dc9735ff1caad56f6913aae9448ee", + "scripts/audit_sparse_fusion.py": "bbaa32f9786f083409e363b081bfb7a1e597c8d32e4183c13a4105c2170934ce", + "scripts/audit_split_centers.py": "c5cfd0e89120c918b81c4ef0b69b767342457daa1b29ce2b7821658ea7ba6f2a", + "scripts/audit_stage_pair.py": "f4823525abb553f76ea33adf61ed51e88ec38dd6c346dbcac86f69ffa8fb0375", + "scripts/audit_stronger_screens.py": "9678b66043b384f1454181bc2069c6d72685eda6576e284ce799d4b9aeb79860", + "scripts/audit_subset_cores.py": "ae38397693540a8cc26d416a6edcda271fd0fa2eb88566df690fb569e812f0a3", + "scripts/audit_ternary_side.py": "5e86566eee32031e1829d26ea17a7372e4802e2f7d76a2caa3ae16de3ab072c1", + "scripts/batched_bit_rank_moment.py": "f23bcecb8a71fcc89bc69f8e9f7845483f4b150951099bb296f82c4eba29820c", + "scripts/batched_network.py": "45d918d5a064339299c21a12f02462ac3fe7e18380fa6a5a6e2542566865b830", + "scripts/binary_phase_frames.py": "4148cfa313cf050ed25296e8db36d35871520b8318fd086c7d1facf0c6af67d7", + "scripts/block_label_targets.py": "3bfc422d60db0d79d8cd955a77d8b72c581bc0d4e288589f359fbf8ee6a76c52", + "scripts/bulk_complex_guard.py": "e64bb4e086205155fddf85cea86dbc8f9dcd09af4654d8e4b5c3b2c9b4d04e66", + "scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e", + "scripts/check_lean_axioms.py": "63b7c34c4faf1b2234af7489c3728dc848e7950ec98300ff8bd61cc0d67a10cc", + "scripts/compact_control_layer.py": "e814c9f8d84f2e5d3aa2e06c36697f27f110218addc40ff8df2801fde861ff9f", + "scripts/complex_circuit.py": "d623617f7c5cb3189580883a8ab30c0bd3832688ae3f1f0c1f881bbbbff8e0c1", + "scripts/complex_compression.py": "9b6f758a5985ba5d9fdd726fe6556b3d3b4bd9d98aaf8ba06a7bb58093c4c504", + "scripts/complex_network.py": "0da395e67ac04fa213494e71012c1b19b544596d34cdce5a3b172b1fb6af5f1b", + "scripts/controlled_bit_rank_moment.py": "572a1aea08b5b62da000588862d4724fdb47326b95282b76b8e49dd6923f73a0", + "scripts/copied_centers/README.md": "8d348a28fc11615fb686f7d47548db06a5000378b54e0e47438d17292b5942b9", + "scripts/copied_centers/__init__.py": "13db4f09038a2ff5335cbd4dbd93274b0fb16b3c7b51e4de67cbb2801a3f78e1", + "scripts/copied_centers/corners.py": "9eecdc39c67cc18c806a33f0be03986c28591d322881fd60c11f52c625c8067b", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/copied_centers_producer.py": "33afa6fe25677e13656fa8a200a25ed3510ef70c1ff9f1186612cbd9ee75d209", + "scripts/dag_network.py": "820f1f6e9f26251f58510ae7312e37a91bb5fefc37f8eeaaa648d0c68c48ed2e", + "scripts/endpoint_gauge/README.md": "044eb10845ca3c25adfda4d0abe728fd890d7f1c6ecc5da3e254073c189d08c1", + "scripts/endpoint_gauge/__init__.py": "ec74b81eb64a8167df4597a5ab94bd7a99f65acf0186bca684a74bcbec91113a", + "scripts/endpoint_gauge/bit.py": "5b2817bd1b35a42fabb636541907fcbdc394ed2ef1405099a10de9c9cf524b09", + "scripts/endpoint_gauge/complex.py": "dd0e1ff9729eadb65a18dba48fdbe824f423e025003f081f532b443b939f610a", + "scripts/endpoint_gauge/match_complex_general.cpp": "fb83c08125521128a38f5ee53f91d192904cc3372ad8f196ad9576e5f4f727da", + "scripts/endpoint_gauge_network.py": "7af181e30093d593ca58d0a133dca6862b06f2d350db1c5d745e588856258704", + "scripts/endpoint_gauge_producer.py": "484490dda84716f7077b07aa14fa510fbef2f77124c8b0b99e2adef50c232690", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/affine_vector_screens.py": "756778eeca27f490adc7354a122dc50c40375156259991469c47a90949118ea1", + "scripts/experiments/affine_vector_witnesses.json": "672a4318c48f5286ce088d34736c38957b7f662a5f753d440dbc638e7da5f62a", + "scripts/experiments/balanced_fano.py": "1586fb1db4f40e79e97bae59f47192675663403bbcacbf5f4e0b702edfd22b0a", + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/bit_compression.py": "d1e6726341b3619262cc07246c3420584f46bdf57d44f1946d8dab18334cbca8", + "scripts/experiments/block_completion.py": "58d928accb928fff0230eef4901a876e6d7a2ec24a3694e4784614f340a03b8d", + "scripts/experiments/block_core.py": "af94018e8f4b80219a8e9e104eae21e34b66fc670217d03ef54862b59c051fc9", + "scripts/experiments/complex_centers.py": "3744396587d729253d80980f6310b56e7bf0ea21b165bd178d0d6d4c49faf2e2", + "scripts/experiments/core_limits.py": "a31a27cc24cf0349a507d1141a2b965ea25f1c60f355d7e13c581305a12d3a43", + "scripts/experiments/cube_core_family.py": "e58f1f4067bda2d4838343f42ec2505316f006561f0702e869847d88b85413a8", + "scripts/experiments/disjoint_tensor.py": "102dd59bf96033f96ba0dab4c2aba77b3a7a73b67b0f96929ff8b20a98b91cd8", + "scripts/experiments/early_sharing.py": "1dd42768536bac13727528e51a999152cf9516a53c4001f2c390323e7f453378", + "scripts/experiments/exclusion_greedy.py": "d8fa918119a6d944174522a5f7a2f55dc9f905aeca98e1864dc9bbf672876902", + "scripts/experiments/fano_completion.py": "6cade2a36b910bf7e68a872dc4fd3560837935cffe80f9526cd012a28b247738", + "scripts/experiments/fano_permuted_completion.py": "0b48e0ba6399ac9864b733998ff32222e7c25c99de052ab8ea5196872f8010d4", + "scripts/experiments/fano_permuted_routing_witnesses.json": "b7093d006713f0b026c49b62ac4c502731630d17d15f56a2b63284ad8f4f8102", + "scripts/experiments/fano_routing_witnesses.json": "2017a4401c16ac58ccd7911b1d2128f1a93a98b108672db709e0c21cda4bb693", + "scripts/experiments/inplace_side.py": "4e7cb3df2e263f6c7f5907c55e3ee04c08926e6dbc984bbda1722a27b0a48ff6", + "scripts/experiments/inplace_side_witnesses.json": "90fe710f5daa35cc9e4892b29d712d66110b7b2b4c404da95a960ea7041618b9", + "scripts/experiments/intersection_circuit.py": "a877cb59aca1f003fc5db4bff5cd873af57be6d8d2465835d6fbe2c396ee5c09", + "scripts/experiments/intersection_greedy.py": "e7faceecad5d1efdc849c52ebe7258453e1579308fc8e31d9a4b3256f6ca9d0e", + "scripts/experiments/joint_dual_compiler.py": "853d3fc4a740c5b74c23b3a6af5d4dc9b41fb38e9b55678539a7e0ee71947c13", + "scripts/experiments/joint_dual_compose.py": "741900aa6f69c0e3458700f3b534334269004ad80c50405ecfeda18e6d3f2800", + "scripts/experiments/joint_dual_reclaim_compiler.py": "f0696953d057239ed5a75e28d857b814d43ca43deaaf7b7b8fd191aa115112ff", + "scripts/experiments/mixed_point_circuit.py": "f509362b5031976a22af351fd158ae0b4520fa4f286a5176ec37023d672a7ddc", + "scripts/experiments/parity_phase_repair.py": "1f76f3b96ed556ed901835bd101d0e2588c997d2ed39bdfca097f0187aa86d40", + "scripts/experiments/parity_side.py": "1363ebf82d4c39e458e7bede8253688271008374db70ed4284df84253c8d092b", + "scripts/experiments/partial_routing.py": "dd67bf46aa70f1372d49c30c4fbbaff5664e27331a79ca3319251ceeec11ec00", + "scripts/experiments/pin_joint_dual_sources.py": "4d31cc0e38b7902709ca5f8f714cba109760d2592346dd7f8dc0b900a2d9fe00", + "scripts/experiments/positive_side_core.py": "0d453ab7e869d2cf6a43d6865de82583edb390d3c75038271f0fc09e0f3828ba", + "scripts/experiments/prime_core.py": "080a89a2c91505b509068698542843c9d7af3cdec01b5c88972107dc9c688c62", + "scripts/experiments/prime_subset_limits.py": "3768743ebfd982b7704fdda9c8ee8dd8cfbb4fd126a78396349d075560c047fb", + "scripts/experiments/probe_pair_ranked.py": "aed43df0d61701b5819cd50fd4e028b26f32e65fd7b9074d93e1423a3453fe7d", + "scripts/experiments/quadratic_affine.py": "8f9252bd092eb14779997c6767e090377e91f4d57e6526e9840ae0dd7dcc8f9c", + "scripts/experiments/quadratic_affine_witnesses.json": "3efcebf41650681a8a21a901cd2f81dc07a0c4d28064b883af16b10c3e0036c3", + "scripts/experiments/rank_product_core.py": "7a91c1188c5d42e864a5d2e42397b09c435b526ae4f4210c44bf615de488708e", + "scripts/experiments/shared_core.py": "d3c59b61229956cb54ae1ef9145ed213abdf1ae743929de145a77c43656f01a8", + "scripts/experiments/signed_sparse_core.py": "21da8e1de5ab6ac8479183326c2000313d24b47cc5be2f46b4fe6ac3cd59779f", + "scripts/experiments/single_intersection.py": "08ddae46e5621a5b4c525b504e67ae655abe9b49461d894feaa7abc89a51847d", + "scripts/experiments/single_intersection_witnesses.json": "c2308a3d21991f5828b0519b191b470f48b2fbbcaa5af0f7aed3986cc7534185", + "scripts/experiments/skip_frame_README.txt": "c92a53e608edb95a266ad27f4543c27668451a009c72fd5860619e6f0a355852", + "scripts/experiments/skip_frame_compiler.py": "8ffd079fd2e4f055b5befefecc5f33e686de9898219e9252f5d3913df8b195d8", + "scripts/experiments/skip_frame_compose.py": "d48e688ebb9a490f4eaf50d9ab0a4d4e3e76b6588b55d213df14c703c27a7f66", + "scripts/experiments/subset_core_family.py": "373a45a8fb4294cdf72d510d54e16d21535227b085aefb008aa092b3ad26e4de", + "scripts/experiments/ternary_side.py": "93379b6e70cf58bb55432d9f2d1c0e0305c20a075bfe3cc219deabd927afd375", + "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985", + "scripts/experiments/verify_skip_frame.py": "fc42dc3d59239ee3908d0e3e95402eb53fd6815a100521911fde1b541070c292", + "scripts/fast_gaussian.py": "11430c2df0783b933dc91080595bb7514bb052b8c7b12107e27a1ef701e31e43", + "scripts/fetch_upstream.py": "2109ad8965d88dec73f8e851731eb949d95164f6afd8dfd0e57c11dbc2dd1f31", + "scripts/finite_bit_contract.py": "3cff26a332cb6056f656b824e3a523fb8937d15206ddcc4118b911ac8df1b2a7", + "scripts/general_network_guard.py": "790a2064449afdbffd6dbd4adbcf4a28eaf41931ce7134e4a4e8766f3764270c", + "scripts/incidence_network.py": "033c934acb838e5222d60e09929d724281bb58ad9c2dfc02e89996788ff39ac7", + "scripts/incidence_rectangles.py": "5240fd33dcc3096f5685d10ca360186cad36b355a00d55686a4ea4449417d00e", + "scripts/make_batched_patch.py": "dbf2e939833a282e261511a89cf6fd1c59d51c73db0c6ef65f0605c7ebd7ae6a", + "scripts/make_compact_control_patch.py": "8eb6776b9049267c5a0b3209cf9668d4cc37622a9b111795a68819291db5dd08", + "scripts/make_complex_circuit_patch.py": "17d13ca9ff43a2fc411aa14fd7c8e1f25648b41f09c17a7bbe40a6cfa09862c3", + "scripts/make_complex_compression_patch.py": "4e32d120462812953109c0f7cf18db001ae0e7ae59e6e2fa7923f142df9ad96e", + "scripts/make_dag_patch.py": "1d8e693926f0c770b9a971aba5174fb77422b19f28326d62c0bb6ff62b2dd721", + "scripts/make_fast_gaussian_patch.py": "ce2013dc3a674b920ddacf25fd17329b262885af0a19279e084238318dff4760", + "scripts/make_incidence_patch.py": "11745d761a94c8dc3f150de1da06bd0c4f6841bacc07ff24a3e1807e68cfcec0", + "scripts/make_nonadjacent_patch.py": "4b1ed6115f0919afa5b375688e13dfcbe4eabafbbe32917eb912230ad8421294", + "scripts/make_paired_patch.py": "35cef140ea2656dc30f751414c10d50c6de62e52625fbad85b74f34c2739a273", + "scripts/make_patch.py": "a38a04c3e829b37a61291dd497247ccbe7204d61b505ddf36cca8bc112c11fd4", + "scripts/make_prime_field_patch.py": "a05974b4431cfdd4c5571add995cfaec0288b0c8ed6608142c790b2c61943c5a", + "scripts/make_reuse_patch.py": "c90384c4b0d3b7000e4e2b0f886280140f06627ab976ca8f21d4a32b8dd25166", + "scripts/make_shared_point_patch.py": "06c5f1d7b52fe7493aa249dbbcb9880e7c77cf8c4418ed8d1dc617910295f79c", + "scripts/make_ternary_patch.py": "fa41b5822503538e50fc56d1ee9f4bdbb45deaaf3c10c892244cc7697e0632e1", + "scripts/nonadjacent.py": "dca1e533611ac898a29e176214eb21c152853e68f97f7af533aba1ccb3b1b0f0", + "scripts/paired_complex.py": "4f4c28102bfc528e264896e6c32bbd0e66da0973237e96e4044d8ccf7e78a1de", + "scripts/paired_cube/README.md": "bf2adf1d1c5a412730be66e019bd73a08826ef8dcd6ffc833b9d1656b755dfb2", + "scripts/paired_cube/__init__.py": "b5fb17c79fd41a75c0648e7a5f99076f9f42a619857d5e34e71699bf00ef0c91", + "scripts/paired_cube/closure.py": "e4b3086f4b5663297fe06f4646e1349f10d8647997989f17eef6ec4e84aec693", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube/gauges.py": "8a501c66e1330f054e0e11a35e9321d2deea7b51cd03ca56b6a41765e43fe061", + "scripts/paired_cube/graph.py": "d10478ba509c7d8abcefcaaf7c5e0b580b9cd9cbe7777b3e49b2fe24620985c8", + "scripts/paired_cube/modules.py": "6c134f3d24c6cd9aca03763050aaf600005c126c09b35ac0ff5f040e0e29db87", + "scripts/paired_cube/verify.py": "b1eb42a91381ae031d97879f7c43e6c00fc4787e132ed60eb3e124994bdb7d35", + "scripts/paired_cube_assembly.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "scripts/paired_cube_bit.py": "677ff674f48860336ca96c4ab6d7fa9053bf7137d20ba368445d20e236765dbe", + "scripts/paired_cube_bit_physical.py": "2c1f8268f6bfb8026f83995376806e4ad1c2b3bb3173d05d9970e290652c98a2", + "scripts/paired_cube_network.py": "7e9dca7de0e0fa843c642ed50f97c84a2c676a1b9129ea9263e5394b145d44f7", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319", + "scripts/paired_cube_producer.py": "97efa5842c040537f05072e26b7ba1851a1965eca6ec2472e75aa452cf7a7256", + "scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2", + "scripts/paired_network.py": "991223dc3c1374284c361ed017e42bf732dd971fa0bea2be2282cfb18257b3f7", + "scripts/paired_triple_circuit.py": "8f5f2de32fdbd8e0005154638660ff416e5a8cd59623bd0dc03f6f7f97ce2fb1", + "scripts/partial_gauge/README.md": "8725c7c0d3b2287904026caea8e94d62c2f66dbbd085e4fd6e5c10933ad9a72f", + "scripts/partial_gauge/__init__.py": "298aa57fbc2de1ff3f9fcfea0fcc02ee7f6758576c52879cb60e9b9c38d471ee", + "scripts/partial_gauge/binary.py": "b29e2f37d7f32a959a378190d7f1da3c2da534fbdaf878044800301957bffc03", + "scripts/partial_gauge/cube.py": "304b653ae6a30f08cee07b5285d48c3793559d63e623bb9bbe8383d8ce68aa24", + "scripts/partial_gauge/interval.py": "c7cf97aa327c92feedfcc098c77d51f3ba8075ccc6f94ecb064bb7a27e44df0a", + "scripts/partial_gauge/lift.py": "895874399113faa090d168d6168f0664136df6e21205671e7f7f9239cad93d1d", + "scripts/partial_gauge/match.cpp": "12b8b7c93bb78324e7328e624b166be2067ae8861540531c024040220d86f368", + "scripts/partial_gauge/scalar.py": "c9fb22e8643ab6d63f7f64ed8143bc5c469794a53e4914cf482e9ad7fcc10cc4", + "scripts/partial_gauge/select.py": "e23f6af42ee5e96d7b2eb29fccf15892f210253a45623255642a62ba93e20cf7", + "scripts/partial_gauge/verify.py": "d31683af845c1de75ac90c0a208b2d335806b6fb346f9960279204812f92bc63", + "scripts/partial_gauge/word.py": "96015b7b08a261673ab8be1ea47f89302f8a1d62a822d657a09f6a1fcfb51e58", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/partial_gauge_network.py": "76b09c4b8f9570766d94b77b265914e4662f8f782e5fa7b4749a1092972b0d68", + "scripts/partial_gauge_producer.py": "8d9284b02ed5915008bfe2e8186ef18f882306192ddd4873b7856341b061305f", + "scripts/partial_swap/README.md": "a81a6a59b89f7db539bc317a7dce23ab84a75c7abebae105091de4e2aeb3f941", + "scripts/partial_swap/__init__.py": "0438eaa34134600467a5864f93c3e15142eb025b35cef189c2e969cffea72a7f", + "scripts/partial_swap/binary.py": "d32d7a23548cc738e974e8e55dd1fa2a8b11d2b80228515617ffe35410bb8805", + "scripts/partial_swap/binary_io.hpp": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/match_exported_dag.cpp": "7901b0fb1b80b628a24cfd7fda57bbc32f58771594d08b318b90e4b8cdf0ef82", + "scripts/partial_swap/match_positive_dag.cpp": "8a6d64e2d0ac2c69210fb0b8a5bd0d714ad40b3609f75a5fddfcba3291a3d552", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/positive.py": "1dadf771226d6e4f3bf9ce3aae2e6a2ad7173f4d1c900299d0663fc4c432f3e8", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/partial_swap_producer.py": "dba07d742c68e8e4aedd1d93fc4c47a0481778268f7480997463e2b269fdd0a0", + "scripts/prepare_layers.py": "a6e2adc612f264b1c0e51d18ce6315de9ae5e2ae2420aa22e99a22d8bf304947", + "scripts/prime_field_checks.py": "be21a411cdca5fa331fb9f36352ce98c055cb5e973553255e4530d07e99ae5c4", + "scripts/prime_field_circuit.py": "50485ac5a65b2707aab2b870477fbf503f4776699f6dd5ce38fb2006cc95d0f6", + "scripts/prime_field_network.py": "16629edd6aa8357b3fabcd5e1a70027860864a64475e8c0e7c822ee81dcd1ab9", + "scripts/prime_field_supports.cpp": "927dbb2ac2a411f06d8d9e0c440548f7ab965311fd83f4a573668d94d0cff1fe", + "scripts/rank_obstructions.py": "af0bb5d7c21409bf0318ec4ec7d5f391163b7ad9564ed9e35de92ada14bca975", + "scripts/rational_span_frames.py": "ac3b9ab462b790d195628f0e5aa4f95143596a51ce7df1a99360b98594c29932", + "scripts/rational_tensor.py": "629b3f00a1aaab32fe908a73ca8f8412918209a300e6b1e5afe6325b9cfed3c3", + "scripts/research_networks.py": "3db82e1aa5faec2f76bcfd19a996a447048af56b25000af3324884a751e8e864", + "scripts/reuse_network.py": "f345f4f015a17497c173ed331aad2133908e2a67d683455ffd60dbb3b3ed1aa1", + "scripts/routing_smt.py": "25d2dfb09a34c0c0ecfdf870abe2d3883c95677189836dcce25421b9443e8a44", + "scripts/run_isolated_tests.py": "b5c38b4f4f5e967ccda5f95702d18d6f01c18d43f056bb419aaf1628043c6ecc", + "scripts/search_incidence_partitions.py": "d2e5a98d07dee702064671d9d081b8dc18e7a1bfeb45e4217905141732abd1bf", + "scripts/search_network.py": "3a4faa5037d9b8e7ca5828afac193a96b6966a8b114f14937921795b24ec4f6a", + "scripts/search_network_variants.py": "069a80a1ac504e83c5da60f4737440552df1ca4c57218ab2e32523f88199cbbc", + "scripts/shared_point_circuit.py": "c9bb7a5df92d260a4e3ad532b53e26936730d7c93f7facfb0784957c1e81c8ba", + "scripts/shared_point_network.py": "a85e7f0d8c42d6a27e3846308571ca324a1824ac5c2d59e4daa5c7673c33c697", + "scripts/small_block_witness.py": "a8bff53b5e6a13808305cab3d53c2532b1fcb5ff172653d02761b028eb60d79b", + "scripts/source_assisted/complex_allocated_replay.py": "831a8a2a008dd9f07af5f7f906947649c8c6faca2bc4ef90d5b0bc1491af24cc", + "scripts/source_assisted_verify.py": "2a2ea22dedbf0b7e18e103ca5100887d98bac41dcb7fc4ecdb7cd3f62d037015", + "scripts/stopped_product/README.md": "6c1805dda45b01ed0ef420c674ec2cd0048fb9d7a1b015ab6cd837067fe66176", + "scripts/stopped_product/__init__.py": "7b794c22bccc00bb6ae8ba4d3379f469570565bbcb1a86090699133b8cf1b7d3", + "scripts/stopped_product/complex.py": "407650d56dceb5cb09d74928658cebed1bb42f4d7e28ca9e3fd36eea075f1ad0", + "scripts/stopped_product_network.py": "a8baaa87dd7679db4f2dd1a18a720397ee6f443262ad04fa26cf51b39909b74c", + "scripts/stopped_product_producer.py": "2c5c71399136ebcfebb8e5277317d5f334eb8df5716ad287391d0996fcc1492c", + "scripts/structured_bulk/README.md": "7d6a91d324019628c842db7ef2deb1fa035fbe39dd7c22877c83f190516fc0bf", + "scripts/structured_bulk/__init__.py": "9c6d0e9c71caa218263b636359b7d6c88f8428cba3cbd27b9f549045d4609b7d", + "scripts/structured_bulk/complex.py": "ee769039ea2111de5488fdc4abba28d50ed8885fa7e8dcd12728c5dbe6170b92", + "scripts/structured_bulk/exactness.py": "2e04898ee4463bf4d2f7ad6b50dd0801e4ebe195d06a33ce428ffd1c0beeb67f", + "scripts/structured_bulk/rankone_profiles.cpp": "5e003fde6e4779078988ce5ba1adf988cb846afbd8fd44faa920a3baa4126848", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/structured_bulk_network.py": "82608e2e7eb622f3ff78ce9bdc3e6c97087c6785aecd1a0eab947e389856600f", + "scripts/structured_bulk_producer.py": "c20e04b5216b04b9343cb28f1b1d164c6ac42ceaac067d82d2850f908dd7d5f6", + "scripts/ternary_assembly.py": "38d12b09dd9074ca56cb658e25f4e0b9e50fad9c36d0d837fc5c059ae4ddb5b2", + "scripts/three_stage_cover/README.md": "b39a28fa8da5d7d3188dfed4c0e0af1e2397f0f5c8f69cfb69671ed27ddca4bb", + "scripts/three_stage_cover/__init__.py": "b964b59af038e70cc15af655a22bcf6aaafc9c842b213765781bc8bea7166430", + "scripts/three_stage_cover/lift.py": "ae5f4c56cd32b5232d6dcdcaed1e24efb81fe20467a2d915ee51479bced06cfc", + "scripts/three_stage_cover/select.py": "457e636ced9bbd368198f78e015660a929ba1aaccbe34122d18da09ebb488f33", + "scripts/three_stage_cover/verify.py": "4bd2347e87e4edb699968bc31dfb94f2ab89bf1227576e59f43c779ba74e4e06", + "scripts/three_stage_cover_network.py": "7e0ad6fd1921b6905a53ce1eeaa03d3bb3a8a8bbaa0382516ea98b636f46335e", + "scripts/three_stage_cover_producer.py": "ea6dd4f06173304bbcb74b8e5bcc02357b7bb162a6d26b4a6f7a9e886158123f", + "scripts/tune_routing.py": "5728c848e23c905f37a9d77928283e64ace5e7b69c3572780c1291800d005e6e" + }, + "note": "The files of PR #202 (commit 8d8d67b: PR #194's source-assisted-v4 pipeline on the PR #189/#200 lineage) that verify.py runs: scripts/, the PR168 v4 references and inherited witnesses, the Clifford frames note, the source-assisted decision/global scripts, the v4 package, and the PR #200 package certificate, arithmetic and complex checker; byte for byte; reproducible with: git archive --format=tar 8d8d67b | gzip -n -9", + "pr": 202, + "repository": "CrocSwap/integer-mult-bounds", + "witness": { + "kernel-pairs.json": "e33b753fc4519170373207b0527b9cb53e0b552e2a27f48f72381a881c7a227f", + "physical-frames.json": "1a6c215cdc58216f7ec96fb898a471e25d094fd86de085f6c06e86fd8997bfad", + "physical-pairs.json": "e6409fffbf5f3b1ac6434acf2e426503de3a8a18537b8fee761fc4fc931fb896" + } +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/baseline-pr202.tar.gz b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/baseline-pr202.tar.gz new file mode 100644 index 0000000000..39bdd153c4 Binary files /dev/null and b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/baseline-pr202.tar.gz differ diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/certificate.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/certificate.json new file mode 100644 index 0000000000..796efbb0d4 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/certificate.json @@ -0,0 +1,151 @@ +{ + "assembly": { + "bit_effective_saving": "338670433250477381/500000000000000000000", + "complex_saving": "3549537/5000000000", + "kappa": "6768823/10000000000", + "status": "Exact arithmetic; construction and finite bridge are explicit proof dependencies" + }, + "binding": "bit", + "complex_profile": { + "W_per_vertex": 12052, + "child_histogram": { + "1": 87534, + "10": 2415, + "11": 1059, + "12": 3423, + "13": 504, + "14": 2175, + "15": 1815, + "16": 243, + "17": 117, + "18": 7920, + "19": 4323, + "2": 40641, + "20": 66, + "3": 29964, + "4": 11517, + "5": 5928, + "6": 4473, + "7": 1926, + "8": 4434, + "9": 1212 + }, + "deficit_per_vertex": 1320, + "m": 66, + "rank_per_vertex": 794112 + }, + "complex_saving": "3549537/5000000000", + "contract_checks": { + "all_centers_in_phase1": true, + "all_fresh_columns_equal_identity": true, + "all_target_cap_reads_in_phase2": true, + "arithmetic": "integers, endpoint scaled by 6", + "checked_source_columns": 1320, + "checked_target_rows": 1320, + "controls_before_original_K": true, + "original_source_V_before_all_controls": true, + "positive_target_data_histogram": { + "1": 3960, + "18": 1320 + }, + "read_counts": { + "center": 22, + "deferred": 2310, + "side": 3135 + }, + "source_controls_at_paid_parity_frames": true, + "target_chains_nested": true, + "target_data_histogram": { + "0": 6270, + "1": 3960, + "18": 1320 + } + }, + "flow": { + "child_histogram": { + "1": 87534, + "10": 2415, + "11": 1059, + "12": 3423, + "13": 504, + "14": 2175, + "15": 1815, + "16": 243, + "17": 117, + "18": 7920, + "19": 4323, + "2": 40641, + "20": 66, + "3": 29964, + "4": 11517, + "5": 5928, + "6": 4473, + "7": 1926, + "8": 4434, + "9": 1212 + }, + "deficit": 1320, + "loss": 440, + "new_R": 9412, + "new_W": 12052, + "original_physical_roles": 13372 + }, + "kappa": "6768823/10000000000", + "layer": { + "audit_source_sha256": { + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/paired-cube-diagonal-bit-168/complex/physical.py": "01961fad4b04aaa940d2dc99c87690bc861b3861200296974c5e065ce3446659", + "research/paired-cube-diagonal-bit-168/complex/verify_fused.py": "75c3dcd80fcdbc461651fa2d2fa463e6b41a569d695fc74700d240223ef198e9", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube_physical.py": "9c9ea1ea29e551ab6116d7c8ca09f4703ff9e2fa102032d5055327fde07ba319" + }, + "audit_status": "PASS exact fused physical candidate, all formal source/target/dirty columns", + "formal": { + "absolute_coefficient_bound": 603018, + "base_exceeds_twice_bound": true, + "columns": [ + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": 1, + "dirty_columns": 13372, + "every_formal_column": true, + "source_columns": 1320, + "target_columns": 1320 + }, + { + "K_and_inverse": true, + "all_aliases_and_deadline_reads": true, + "all_physical_dirty_slots_restored": true, + "direction": -1, + "dirty_columns": 13372, + "every_formal_column": true, + "source_columns": 1320, + "target_columns": 1320 + } + ], + "packed_digit_bits": 24 + }, + "frames": 17789, + "frames_changed_from_pr168": 0, + "mutations": { + "early-read": "REJECTED", + "missing-read": "REJECTED" + }, + "pairs": 2310 + }, + "lift": { + "all_actual_coefficients_dyadic": true, + "max_denominator": "2", + "nodes": 18532, + "physical_R": 9412, + "status": "Exact rational local lifts and inverse gate programs verified; monotone flow and zero-fresh kernel reuse DAG verified." + }, + "prerequisites": { + "pr194_complex_saving": "219037/312500000", + "pr200_bit": "research/paired-cube-diagonal-bit-168/certificate.json", + "pr202": "8d8d67bcf69c5ea67d3a29dbc64ba588156d6e8d" + }, + "status": "PASS source-assisted v4 word with this package's physical layer" +} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/verify.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/verify.py new file mode 100644 index 0000000000..2ddf0d2f39 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/verify.py @@ -0,0 +1,223 @@ +#!/usr/bin/env python3 +"""A stronger complex supplier: our physical layer on the source-assisted v4 complex word. + +The source-assisted complex word of PR #184 (icekylinx) on the PR #168 v4 modules (PR #193/#194, ikeboy) is +compiled by a frame flow whose child histogram depends on the physical layer (operation frames and reuse pairs) +that the flow receives. PR #194 uses PR #168's physical layer and certifies the complex saving 7.00918e-4. This +package keeps every other input fixed and supplies the physical layer of PR #200's descent (endpoint moves of +single operations, equal-frame components and connected bundles, seeded from PR #168's frames); the certified +complex saving becomes 3543063/5000000000 = 7.0861e-4. + +verify.py (Python 3.11+, numpy/scipy for the regeneration steps; -O refused): + 1. checks baseline-pr202.tar.gz and every file in it against SOURCE.json (bytes of PR #202 at 8d8d67b, which + carries PR #194's pipeline, the PR #168 v4 scripts and references, and PR #200's certificate and checker), + and the three witness files; + 2. in a temporary directory: regenerates the PR #168 v4 complex cache (scripts/paired_cube_producer.py) and the + source-aligned word (source_aligned_local_v4.py, with its own physical layer and checks); + 3. installs this package's physical frames and reuse pairs as the word's physical layer and admits that layer + with PR #200's complete complex checker (complex/physical.py: all descended frames, nested chains, aliases, + target read chronology, exact adjoint, every formal source/target/dirty column in both shear signs); + 4. runs PR #184's frame flow (complex_frame_flow.py), exact lift (exact_complex_flow_lift.py) and contract + (contract_v4.py) on that layer, with the package's kernel pairs and physical pairs as the frozen witnesses; + 5. runs PR #194's assembly (assemble.py) against PR #200's bit certificate and compares the canonical result + with certificate.json (--write regenerates it). +Nothing outside the temporary directory is read or written, except certificate.json with --write. +""" +import argparse +import gzip +import hashlib +import io +import json +import shutil +import subprocess +import sys +import tarfile +import tempfile +import time +from fractions import Fraction as Q +from pathlib import Path + +if sys.flags.optimize: + raise SystemExit('Assertions must remain enabled: run without -O') +sys.set_int_max_str_digits(0) +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +T0 = time.time() + + +def log(*a): + print('[%4.0fs]' % (time.time() - T0), *a, flush=True) + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def read(p): + raw = Path(p).read_bytes() + return json.loads(gzip.decompress(raw) if str(p).endswith('.gz') else raw) + + +def write_gz(p, data): + with gzip.GzipFile(filename='', fileobj=open(p, 'wb'), mode='wb', mtime=0) as f: + f.write((json.dumps(data, separators=(',', ':')) + '\n').encode()) + + +def rebuild(dest): + src = read(HERE / 'SOURCE.json') + data = (HERE / src['archive']).read_bytes() + assert sha(data) == src['archive_sha256'], 'baseline archive differs from SOURCE.json' + with tarfile.open(fileobj=io.BytesIO(data), mode='r:gz') as archive: + members = [x for x in archive.getmembers() if x.isfile()] + assert sorted(x.name for x in members) == sorted(src['files']), 'archive lists other files than SOURCE.json' + for x in members: + part = Path(x.name) + assert not part.is_absolute() and '..' not in part.parts, 'unsafe path in archive: ' + x.name + body = archive.extractfile(x).read() + assert sha(body) == src['files'][x.name], 'baseline file differs from SOURCE.json: ' + x.name + (dest / part).parent.mkdir(parents=True, exist_ok=True) + (dest / part).write_bytes(body) + for name, digest in src['witness'].items(): + assert sha((HERE / 'witness' / name).read_bytes()) == digest, 'witness differs from SOURCE.json: ' + name + return src + + +def run(root, *args): + r = subprocess.run([sys.executable, '-B', *map(str, args)], cwd=root, capture_output=True, text=True) + if r.returncode: + raise SystemExit('FAILED: ' + ' '.join(map(str, args)) + '\n' + r.stdout[-3000:] + r.stderr[-3000:]) + return r.stdout + + +def strip_seconds(d): + if isinstance(d, dict): + return {k: strip_seconds(v) for k, v in d.items() if k not in ('seconds', 'maxrss')} + if isinstance(d, list): + return [strip_seconds(v) for v in d] + return d + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--write', action='store_true', help='rewrite certificate.json from this run') + ap.add_argument('--temp-root', type=Path, default=None) + a = ap.parse_args() + with tempfile.TemporaryDirectory(prefix='sa-v4-layer-', dir=a.temp_root) as d: + root = Path(d).resolve() + src = rebuild(root) + log('rebuilt %d pinned files of PR #202 (commit %s) and checked the witnesses' % (len(src['files']), src['commit'][:7])) + PKG = root / 'research/source-assisted-v4' + SA = root / 'research/source-assisted' + BIT = root / 'research/paired-cube-diagonal-bit-168' + work = root / '.work' + work.mkdir() + base, aligned = work / 'base', work / 'aligned' + run(root, root / 'scripts/paired_cube_producer.py', '--work-dir', base, '--output', work / 'producer.json') + log('regenerated the PR #168 v4 complex cache') + run(root, PKG / 'source_aligned_local_v4.py', '--tree', root, '--cache', base, '--out', aligned) + log('regenerated the source-aligned word with its own physical layer and checks') + # 3. install this package's physical layer and admit it with PR #200's complete complex checker + phys = aligned / 'references/paired-cube/physical' + frames = read(HERE / 'witness/physical-frames.json')['frames'] + pairs = read(HERE / 'witness/physical-pairs.json')['pairs'] + theirs = read(phys / 'frames.json')['frames'] + (phys / 'frames.json').write_text(json.dumps(dict(frames=frames), separators=(',', ':')) + '\n') + (phys / 'pairs.json').write_text(json.dumps(dict(pairs=pairs), separators=(',', ':')) + '\n') + sys.path.insert(0, str(root / 'scripts')) + from paired_cube.closure import compile_closure # noqa: E402 + from paired_cube_physical import physical # noqa: E402 + cache = aligned / 'cache' + g, w, word, row = (read(cache / n) for n in ('graph.json', 'frames.json', 'selection.json', 'record.json')) + baseline, _ = compile_closure(g, [[x, c] for x, c in w['matching_arcs']]) + profile = physical(g, w, word, row, frames, pairs) + cand = work / 'candidate' + cand.mkdir() + for name, data in [('graph', g), ('baseline', baseline), ('frames', w), ('word', word), ('profile-before', row), + ('physical-frames', frames), ('physical-pairs', pairs), ('profile', profile)]: + write_gz(cand / (name + '.json.gz'), data) + pins = {p.name: sha(p.read_bytes()) for p in cand.glob('*.json.gz')} + (cand / 'result.json').write_text(json.dumps(dict(tag='source-assisted-v4-layer', pins=pins)) + '\n') + run(root, BIT / 'complex/physical.py', '--candidate', cand, '--source', root, '--out', work / 'audit.json') + audit = read(work / 'audit.json') + assert audit['status'].startswith('PASS'), audit['status'] + # the checker keys its source hashes by absolute path; record them relative to the rebuilt tree + audit['source_sha256'] = {Path(k).resolve().relative_to(root).as_posix(): v for k, v in audit['source_sha256'].items()} + log('admitted this package\'s physical layer with PR #200\'s complex checker: %s; %d frames, %d pairs, %d of PR #168\'s %d frames changed' + % (audit['status'][:60], len(frames), len(pairs), sum(1 for (i, F), (j, G) in zip(sorted(frames), sorted(theirs)) if tuple(F) != tuple(G)), len(theirs))) + # 4. frame flow, exact lift and contract on this layer + flow = work / 'flow.json' + run(root, SA / 'decision/complex_frame_flow.py', '--tree', aligned, '--cache', cache, '--out', flow, '--witness', + '--purify-source-donors', '--recycle-kernels', '--kernel-pairs', HERE / 'witness/kernel-pairs.json') + flow_data = read(flow) + witness = flow.with_suffix('.witness.json') + log('frame flow: new_R %d, new_W %d, deficit %d, numerical root %.7e' % (flow_data['new_R'], flow_data['new_W'], flow_data['deficit'], flow_data['numerical_local_root'])) + lift = work / 'lift.json' + run(root, SA / 'decision/exact_complex_flow_lift.py', '--witness', witness, '--profile', flow, '--out', lift) + lift_data = read(lift) + lift_data.update(certificate_path=(work / 'lift.certificate.json.gz').relative_to(root).as_posix(), + witness_path=witness.relative_to(root).as_posix()) + lift.write_text(json.dumps(lift_data) + '\n') + log('exact lift: %s' % lift_data['status'][:80]) + shutil.copy2(HERE / 'witness/physical-pairs.json', PKG / 'data/physical-pairs.json') + shutil.copy2(HERE / 'witness/kernel-pairs.json', PKG / 'data/kernel-pairs.json') + cprof = work / 'complex-profile.json' + run(root, PKG / 'contract_v4.py', '--tree', aligned, '--cache', cache, '--witness', witness, + '--flow-profile', flow, '--lift-profile', lift, '--out', cprof) + cdata = read(cprof) + for name, check in cdata['contract_checks'].items(): + assert check not in (False, 'FAIL'), 'contract check %s failed' % name + log('contract: %d checks, W %d, rank %d, deficit %d' % (len(cdata['contract_checks']), cdata['W_per_vertex'], cdata['rank_per_vertex'], cdata['deficit_per_vertex'])) + # 5. assembly against PR #200's bit certificate + final = work / 'global.json' + run(root, PKG / 'assemble.py', '--complex', cprof, '--output', final) + fdata = read(final) + for branch in ('complex', 'bit'): + fdata[branch].pop('numerical_root_for_discovery_only', None) + complex_saving = Q(fdata['complex']['saving']) + kappa = Q(fdata['kappa']) + log('assembly: complex saving %s = %.7e, bit effective %.7e, kappa %s = %.7e' % ( + complex_saving, float(complex_saving), float(Q(fdata['bit']['effective_saving'])), kappa, float(kappa))) + result = dict(status='PASS source-assisted v4 word with this package\'s physical layer', + complex_saving=str(complex_saving), complex_saving_float=float(complex_saving), + kappa=str(kappa), kappa_float=float(kappa), binding='bit' if Q(fdata['bit']['effective_saving']) < complex_saving else 'complex', + complex_profile=dict(m=cdata['m'], W_per_vertex=cdata['W_per_vertex'], rank_per_vertex=cdata['rank_per_vertex'], + deficit_per_vertex=cdata['deficit_per_vertex'], child_histogram=cdata['child_histogram']), + layer=dict(frames=len(frames), pairs=len(pairs), audit=strip_seconds(audit)), + flow=strip_seconds({k: v for k, v in flow_data.items() if k not in ('source_sha256', 'cache_sha256')}), + lift={k: lift_data[k] for k in ('status', 'nodes', 'physical_R', 'all_actual_coefficients_dyadic', 'max_denominator', 'exact_scalar_program_sha256')}, + contract_checks=cdata['contract_checks'], assembly=strip_seconds(fdata), + prerequisites=dict(pr202=src['commit'], pr194_complex_saving='219037/312500000', pr200_bit='research/paired-cube-diagonal-bit-168/certificate.json')) + # certificate.json holds exact, platform-independent fields only (no floats, no hashes of generated gzip + # artifacts); the full run record goes to report.json (informational, written only with --write) + canon = dict(status=result['status'], complex_saving=result['complex_saving'], kappa=result['kappa'], binding=result['binding'], + complex_profile=result['complex_profile'], + layer=dict(frames=len(frames), pairs=len(pairs), frames_changed_from_pr168=sum(1 for (i, F), (j, G) in zip(sorted(frames), sorted(theirs)) if tuple(F) != tuple(G)), + audit_status=audit['status'], audit_source_sha256=audit['source_sha256'], + formal=json.loads(json.dumps(audit.get('formal'))), mutations=audit.get('mutations')), + flow=dict(new_R=flow_data['new_R'], new_W=flow_data['new_W'], deficit=flow_data['deficit'], loss=flow_data['loss'], + original_physical_roles=flow_data['original_physical_roles'], child_histogram=flow_data['child_histogram']), + lift=dict(status=lift_data['status'], nodes=lift_data['nodes'], physical_R=lift_data['physical_R'], + all_actual_coefficients_dyadic=lift_data['all_actual_coefficients_dyadic'], max_denominator=lift_data['max_denominator']), + contract_checks=cdata['contract_checks'], + assembly=dict(kappa=fdata['kappa'], complex_saving=fdata['complex']['saving'], bit_effective_saving=fdata['bit']['effective_saving'], status=fdata.get('status')), + prerequisites=result['prerequisites']) + canon = json.loads(json.dumps(canon, sort_keys=True)) + if a.write: + (HERE / 'certificate.json').write_text(json.dumps(canon, indent=1, sort_keys=True) + '\n') + (HERE / 'report.json').write_text(json.dumps(json.loads(json.dumps(result, sort_keys=True)), indent=1, sort_keys=True) + '\n') + log('wrote certificate.json and report.json') + committed = read(HERE / 'certificate.json') + if committed != canon: + for k in sorted(set(committed) | set(canon)): + if committed.get(k) != canon.get(k): + log('DIFFERS: %s' % k) + if isinstance(canon.get(k), dict): + for kk in sorted(set(committed.get(k, {})) | set(canon[k])): + if committed.get(k, {}).get(kk) != canon[k].get(kk): + log(' DIFFERS: %s/%s: %s vs %s' % (k, kk, str(committed.get(k, {}).get(kk))[:80], str(canon[k].get(kk))[:80])) + assert committed == canon, 'result differs from certificate.json' + log('PASS certificate.json reproduced: complex saving %s (PR #194: 219037/312500000), kappa %s' % (complex_saving, kappa)) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/kernel-pairs.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/kernel-pairs.json new file mode 100644 index 0000000000..e889b7b95c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/kernel-pairs.json @@ -0,0 +1 @@ +{"description":"Kernel pairs of the frame flow on this layer (from complex_frame_flow.py --witness)","kernel_pairs":[]} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-frames.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-frames.json new file mode 100644 index 0000000000..9044957452 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-frames.json @@ -0,0 +1 @@ +{"frames":[[6600,[21,15]],[6601,[22,15]],[6602,[21,12,3]],[6603,[21,12,3]],[6604,[21,12,3]],[6605,[21,12,3]],[6606,[37,15]],[6607,[38,15]],[6608,[37,12,3]],[6609,[37,12,3]],[6610,[37,12,3]],[6611,[37,12,3]],[6612,[69,15]],[6613,[70,15]],[6614,[69,12,3]],[6615,[69,12,3]],[6616,[69,12,3]],[6617,[69,12,3]],[6618,[133,15]],[6619,[134,15]],[6620,[133,12,3]],[6621,[133,12,3]],[6622,[133,12,3]],[6623,[133,12,3]],[6624,[261,15]],[6625,[262,15]],[6626,[261,12,3]],[6627,[261,12,3]],[6628,[261,12,3]],[6629,[261,12,3]],[6630,[517,15]],[6631,[518,15]],[6632,[517,12,3]],[6633,[517,12,3]],[6634,[517,12,3]],[6635,[517,12,3]],[6636,[1029,15]],[6637,[1030,15]],[6638,[1029,12,3]],[6639,[1029,12,3]],[6640,[1029,12,3]],[6641,[1029,12,3]],[6642,[2053,15]],[6643,[2054,15]],[6644,[2053,12,3]],[6645,[2053,12,3]],[6646,[2053,12,3]],[6647,[2053,12,3]],[6648,[4101,15]],[6649,[4102,15]],[6650,[4101,12,3]],[6651,[4101,12,3]],[6652,[4101,12,3]],[6653,[4101,12,3]],[6654,[8197,15]],[6655,[8198,15]],[6656,[8197,12,3]],[6657,[8197,12,3]],[6658,[8197,12,3]],[6659,[8197,12,3]],[6660,[16389,15]],[6661,[16390,15]],[6662,[16389,12,3]],[6663,[16389,12,3]],[6664,[16389,12,3]],[6665,[16389,12,3]],[6666,[32773,15]],[6667,[32774,15]],[6668,[32773,12,3]],[6669,[32773,12,3]],[6670,[32773,12,3]],[6671,[32773,12,3]],[6672,[65541,15]],[6673,[65542,15]],[6674,[65541,12,3]],[6675,[65541,12,3]],[6676,[65541,12,3]],[6677,[65541,12,3]],[6678,[131077,15]],[6679,[131078,15]],[6680,[131077,12,3]],[6681,[131077,12,3]],[6682,[131077,12,3]],[6683,[131077,12,3]],[6684,[262149,15]],[6685,[262150,15]],[6686,[262149,12,3]],[6687,[262149,12,3]],[6688,[262149,12,3]],[6689,[262149,12,3]],[6690,[524293,15]],[6691,[524294,15]],[6692,[524293,12,3]],[6693,[524293,12,3]],[6694,[524293,12,3]],[6695,[524293,12,3]],[6696,[1048581,15]],[6697,[1048582,15]],[6698,[1048581,12,3]],[6699,[1048581,12,3]],[6700,[1048581,12,3]],[6701,[1048581,12,3]],[6702,[2097157,15]],[6703,[2097158,15]],[6704,[2097157,12,3]],[6705,[2097157,12,3]],[6706,[2097157,12,3]],[6707,[2097157,12,3]],[6708,[81,51]],[6709,[82,51]],[6710,[81,48,3]],[6711,[81,48,3]],[6712,[81,48,3]],[6713,[81,48,3]],[6714,[145,51]],[6715,[146,51]],[6716,[145,48,3]],[6717,[145,48,3]],[6718,[145,48,3]],[6719,[145,48,3]],[6720,[273,51]],[6721,[274,51]],[6722,[273,48,3]],[6723,[273,48,3]],[6724,[273,48,3]],[6725,[273,48,3]],[6726,[529,51]],[6727,[530,51]],[6728,[529,48,3]],[6729,[529,48,3]],[6730,[529,48,3]],[6731,[529,48,3]],[6732,[1041,51]],[6733,[1042,51]],[6734,[1041,48,3]],[6735,[1041,48,3]],[6736,[1041,48,3]],[6737,[1041,48,3]],[6738,[2065,51]],[6739,[2066,51]],[6740,[2065,48,3]],[6741,[2065,48,3]],[6742,[2065,48,3]],[6743,[2065,48,3]],[6744,[4113,51]],[6745,[4114,51]],[6746,[4113,48,3]],[6747,[4113,48,3]],[6748,[4113,48,3]],[6749,[4113,48,3]],[6750,[8209,51]],[6751,[8210,51]],[6752,[8209,48,3]],[6753,[8209,48,3]],[6754,[8209,48,3]],[6755,[8209,48,3]],[6756,[16401,51]],[6757,[16402,51]],[6758,[16401,48,3]],[6759,[16401,48,3]],[6760,[16401,48,3]],[6761,[16401,48,3]],[6762,[32785,51]],[6763,[32786,51]],[6764,[32785,48,3]],[6765,[32785,48,3]],[6766,[32785,48,3]],[6767,[32785,48,3]],[6768,[65553,51]],[6769,[65554,51]],[6770,[65553,48,3]],[6771,[65553,48,3]],[6772,[65553,48,3]],[6773,[65553,48,3]],[6774,[131089,51]],[6775,[131090,51]],[6776,[131089,48,3]],[6777,[131089,48,3]],[6778,[131089,48,3]],[6779,[131089,48,3]],[6780,[262161,51]],[6781,[262162,51]],[6782,[262161,48,3]],[6783,[262161,48,3]],[6784,[262161,48,3]],[6785,[262161,48,3]],[6786,[524305,51]],[6787,[524306,51]],[6788,[524305,48,3]],[6789,[524305,48,3]],[6790,[524305,48,3]],[6791,[524305,48,3]],[6792,[1048593,51]],[6793,[1048594,51]],[6794,[1048593,48,3]],[6795,[1048593,48,3]],[6796,[1048593,48,3]],[6797,[1048593,48,3]],[6798,[2097169,51]],[6799,[2097170,51]],[6800,[2097169,48,3]],[6801,[2097169,48,3]],[6802,[2097169,48,3]],[6803,[2097169,48,3]],[6804,[321,195]],[6805,[322,195]],[6806,[321,192,3]],[6807,[321,192,3]],[6808,[321,192,3]],[6809,[321,192,3]],[6810,[577,195]],[6811,[578,195]],[6812,[577,192,3]],[6813,[577,192,3]],[6814,[577,192,3]],[6815,[577,192,3]],[6816,[1089,195]],[6817,[1090,195]],[6818,[1089,192,3]],[6819,[1089,192,3]],[6820,[1089,192,3]],[6821,[1089,192,3]],[6822,[2113,195]],[6823,[2114,195]],[6824,[2113,192,3]],[6825,[2113,192,3]],[6826,[2113,192,3]],[6827,[2113,192,3]],[6828,[4161,195]],[6829,[4162,195]],[6830,[4161,192,3]],[6831,[4161,192,3]],[6832,[4161,192,3]],[6833,[4161,192,3]],[6834,[8257,195]],[6835,[8258,195]],[6836,[8257,192,3]],[6837,[8257,192,3]],[6838,[8257,192,3]],[6839,[8257,192,3]],[6840,[16449,195]],[6841,[16450,195]],[6842,[16449,192,3]],[6843,[16449,192,3]],[6844,[16449,192,3]],[6845,[16449,192,3]],[6846,[32833,195]],[6847,[32834,195]],[6848,[32833,192,3]],[6849,[32833,192,3]],[6850,[32833,192,3]],[6851,[32833,192,3]],[6852,[65601,195]],[6853,[65602,195]],[6854,[65601,192,3]],[6855,[65601,192,3]],[6856,[65601,192,3]],[6857,[65601,192,3]],[6858,[131137,195]],[6859,[131138,195]],[6860,[131137,192,3]],[6861,[131137,192,3]],[6862,[131137,192,3]],[6863,[131137,192,3]],[6864,[262209,195]],[6865,[262210,195]],[6866,[262209,192,3]],[6867,[262209,192,3]],[6868,[262209,192,3]],[6869,[262209,192,3]],[6870,[524353,195]],[6871,[524354,195]],[6872,[524353,192,3]],[6873,[524353,192,3]],[6874,[524353,192,3]],[6875,[524353,192,3]],[6876,[1048641,195]],[6877,[1048642,195]],[6878,[1048641,192,3]],[6879,[1048641,192,3]],[6880,[1048641,192,3]],[6881,[1048641,192,3]],[6882,[2097217,195]],[6883,[2097218,195]],[6884,[2097217,192,3]],[6885,[2097217,192,3]],[6886,[2097217,192,3]],[6887,[2097217,192,3]],[6888,[1281,771]],[6889,[1282,771]],[6890,[1281,768,3]],[6891,[1281,768,3]],[6892,[1281,768,3]],[6893,[1281,768,3]],[6894,[2305,771]],[6895,[2306,771]],[6896,[2305,768,3]],[6897,[2305,768,3]],[6898,[2305,768,3]],[6899,[2305,768,3]],[6900,[4353,771]],[6901,[4354,771]],[6902,[4353,768,3]],[6903,[4353,768,3]],[6904,[4353,768,3]],[6905,[4353,768,3]],[6906,[8449,771]],[6907,[8450,771]],[6908,[8449,768,3]],[6909,[8449,768,3]],[6910,[8449,768,3]],[6911,[8449,768,3]],[6912,[16641,771]],[6913,[16642,771]],[6914,[16641,768,3]],[6915,[16641,768,3]],[6916,[16641,768,3]],[6917,[16641,768,3]],[6918,[33025,771]],[6919,[33026,771]],[6920,[33025,768,3]],[6921,[33025,768,3]],[6922,[33025,768,3]],[6923,[33025,768,3]],[6924,[65793,771]],[6925,[65794,771]],[6926,[65793,768,3]],[6927,[65793,768,3]],[6928,[65793,768,3]],[6929,[65793,768,3]],[6930,[131329,771]],[6931,[131330,771]],[6932,[131329,768,3]],[6933,[131329,768,3]],[6934,[131329,768,3]],[6935,[131329,768,3]],[6936,[262401,771]],[6937,[262402,771]],[6938,[262401,768,3]],[6939,[262401,768,3]],[6940,[262401,768,3]],[6941,[262401,768,3]],[6942,[524545,771]],[6943,[524546,771]],[6944,[524545,768,3]],[6945,[524545,768,3]],[6946,[524545,768,3]],[6947,[524545,768,3]],[6948,[1048833,771]],[6949,[1048834,771]],[6950,[1048833,768,3]],[6951,[1048833,768,3]],[6952,[1048833,768,3]],[6953,[1048833,768,3]],[6954,[2097409,771]],[6955,[2097410,771]],[6956,[2097409,768,3]],[6957,[2097409,768,3]],[6958,[2097409,768,3]],[6959,[2097409,768,3]],[6960,[5121,3075]],[6961,[5122,3075]],[6962,[5121,3072,3]],[6963,[5121,3072,3]],[6964,[5121,3072,3]],[6965,[5121,3072,3]],[6966,[9217,3075]],[6967,[9218,3075]],[6968,[9217,3072,3]],[6969,[9217,3072,3]],[6970,[9217,3072,3]],[6971,[9217,3072,3]],[6972,[17409,3075]],[6973,[17410,3075]],[6974,[17409,3072,3]],[6975,[17409,3072,3]],[6976,[17409,3072,3]],[6977,[17409,3072,3]],[6978,[33793,3075]],[6979,[33794,3075]],[6980,[33793,3072,3]],[6981,[33793,3072,3]],[6982,[33793,3072,3]],[6983,[33793,3072,3]],[6984,[66561,3075]],[6985,[66562,3075]],[6986,[66561,3072,3]],[6987,[66561,3072,3]],[6988,[66561,3072,3]],[6989,[66561,3072,3]],[6990,[132097,3075]],[6991,[132098,3075]],[6992,[132097,3072,3]],[6993,[132097,3072,3]],[6994,[132097,3072,3]],[6995,[132097,3072,3]],[6996,[263169,3075]],[6997,[263170,3075]],[6998,[263169,3072,3]],[6999,[263169,3072,3]],[7000,[263169,3072,3]],[7001,[263169,3072,3]],[7002,[525313,3075]],[7003,[525314,3075]],[7004,[525313,3072,3]],[7005,[525313,3072,3]],[7006,[525313,3072,3]],[7007,[525313,3072,3]],[7008,[1049601,3075]],[7009,[1049602,3075]],[7010,[1049601,3072,3]],[7011,[1049601,3072,3]],[7012,[1049601,3072,3]],[7013,[1049601,3072,3]],[7014,[2098177,3075]],[7015,[2098178,3075]],[7016,[2098177,3072,3]],[7017,[2098177,3072,3]],[7018,[2098177,3072,3]],[7019,[2098177,3072,3]],[7020,[20481,12291]],[7021,[20482,12291]],[7022,[20481,12288,3]],[7023,[20481,12288,3]],[7024,[20481,12288,3]],[7025,[20481,12288,3]],[7026,[20481,12288,3]],[7027,[36865,12291]],[7028,[36866,12291]],[7029,[36865,12288,3]],[7030,[36865,12288,3]],[7031,[36865,12288,3]],[7032,[36865,12288,3]],[7033,[36865,12288,3]],[7034,[69633,12291]],[7035,[69634,12291]],[7036,[69633,12288,3]],[7037,[69633,12288,3]],[7038,[69633,12288,3]],[7039,[69633,12288,3]],[7040,[69633,12288,3]],[7041,[135169,12291]],[7042,[135170,12291]],[7043,[135169,12288,3]],[7044,[135169,12288,3]],[7045,[135169,12288,3]],[7046,[135169,12288,3]],[7047,[135169,12288,3]],[7048,[266241,12291]],[7049,[266242,12291]],[7050,[266241,12288,3]],[7051,[266241,12288,3]],[7052,[266241,12288,3]],[7053,[266241,12288,3]],[7054,[266241,12288,3]],[7055,[528385,12291]],[7056,[528386,12291]],[7057,[528385,12288,3]],[7058,[528385,12288,3]],[7059,[528385,12288,3]],[7060,[528385,12288,3]],[7061,[528385,12288,3]],[7062,[1052673,12291]],[7063,[1052674,12291]],[7064,[1052673,12288,3]],[7065,[1052673,12288,3]],[7066,[1052673,12288,3]],[7067,[1052673,12288,3]],[7068,[1052673,12288,3]],[7069,[2101249,12291]],[7070,[2101250,12291]],[7071,[2101249,12288,3]],[7072,[2101249,12288,3]],[7073,[2101249,12288,3]],[7074,[2101249,12288,3]],[7075,[2101249,12288,3]],[7076,[81921,49155]],[7077,[81922,49155]],[7078,[81921,49152,3]],[7079,[81921,49152,3]],[7080,[81921,49152,3]],[7081,[81921,49152,3]],[7082,[147457,49155]],[7083,[147458,49155]],[7084,[147457,49152,3]],[7085,[147457,49152,3]],[7086,[147457,49152,3]],[7087,[147457,49152,3]],[7088,[278529,49155]],[7089,[278530,49155]],[7090,[278529,49152,3]],[7091,[278529,49152,3]],[7092,[278529,49152,3]],[7093,[278529,49152,3]],[7094,[540673,49155]],[7095,[540674,49155]],[7096,[540673,49152,3]],[7097,[540673,49152,3]],[7098,[540673,49152,3]],[7099,[540673,49152,3]],[7100,[1064961,49155]],[7101,[1064962,49155]],[7102,[1064961,49152,3]],[7103,[1064961,49152,3]],[7104,[1064961,49152,3]],[7105,[1064961,49152,3]],[7106,[2113537,49155]],[7107,[2113538,49155]],[7108,[2113537,49152,3]],[7109,[2113537,49152,3]],[7110,[2113537,49152,3]],[7111,[2113537,49152,3]],[7112,[327681,196611]],[7113,[327682,196611]],[7114,[327681,196608,3]],[7115,[327681,196608,3]],[7116,[327681,196608,3]],[7117,[327681,196608,3]],[7118,[589825,196611]],[7119,[589826,196611]],[7120,[589825,196608,3]],[7121,[589825,196608,3]],[7122,[589825,196608,3]],[7123,[589825,196608,3]],[7124,[1114113,196611]],[7125,[1114114,196611]],[7126,[1114113,196608,3]],[7127,[1114113,196608,3]],[7128,[1114113,196608,3]],[7129,[1114113,196608,3]],[7130,[2162689,196611]],[7131,[2162690,196611]],[7132,[2162689,196608,3]],[7133,[2162689,196608,3]],[7134,[2162689,196608,3]],[7135,[2162689,196608,3]],[7136,[1310721,786435]],[7137,[1310722,786435]],[7138,[1310721,786432,3]],[7139,[1310721,786432,3]],[7140,[1310721,786432,3]],[7141,[1310721,786432,3]],[7142,[1310721,786432,3]],[7143,[2359297,786435]],[7144,[2359298,786435]],[7145,[2359297,786432,3]],[7146,[2359297,786432,3]],[7147,[2359297,786432,3]],[7148,[2359297,786432,3]],[7149,[2359297,786432,3]],[7150,[84,60]],[7151,[88,60]],[7152,[84,48,12]],[7153,[84,48,12]],[7154,[84,48,12]],[7155,[84,48,12]],[7156,[84,48,12]],[7157,[148,60]],[7158,[152,60]],[7159,[148,48,12]],[7160,[148,48,12]],[7161,[148,48,12]],[7162,[148,48,12]],[7163,[148,48,12]],[7164,[276,60]],[7165,[280,60]],[7166,[276,48,12]],[7167,[276,48,12]],[7168,[276,48,12]],[7169,[276,48,12]],[7170,[276,48,12]],[7171,[532,60]],[7172,[536,60]],[7173,[532,48,12]],[7174,[532,48,12]],[7175,[532,48,12]],[7176,[532,48,12]],[7177,[532,48,12]],[7178,[1044,60]],[7179,[1048,60]],[7180,[1044,48,12]],[7181,[1044,48,12]],[7182,[1044,48,12]],[7183,[1044,48,12]],[7184,[1044,48,12]],[7185,[2068,60]],[7186,[2072,60]],[7187,[2068,48,12]],[7188,[2068,48,12]],[7189,[2068,48,12]],[7190,[2068,48,12]],[7191,[2068,48,12]],[7192,[4116,60]],[7193,[4120,60]],[7194,[4116,48,12]],[7195,[4116,48,12]],[7196,[4116,48,12]],[7197,[4116,48,12]],[7198,[4116,48,12]],[7199,[8212,60]],[7200,[8216,60]],[7201,[8212,48,12]],[7202,[8212,48,12]],[7203,[8212,48,12]],[7204,[8212,48,12]],[7205,[8212,48,12]],[7206,[16404,60]],[7207,[16408,60]],[7208,[16404,48,12]],[7209,[16404,48,12]],[7210,[16404,48,12]],[7211,[16404,48,12]],[7212,[16404,48,12]],[7213,[32788,60]],[7214,[32792,60]],[7215,[32788,48,12]],[7216,[32788,48,12]],[7217,[32788,48,12]],[7218,[32788,48,12]],[7219,[32788,48,12]],[7220,[65556,60]],[7221,[65560,60]],[7222,[65556,48,12]],[7223,[65556,48,12]],[7224,[65556,48,12]],[7225,[65556,48,12]],[7226,[65556,48,12]],[7227,[131092,60]],[7228,[131096,60]],[7229,[131092,48,12]],[7230,[131092,48,12]],[7231,[131092,48,12]],[7232,[131092,48,12]],[7233,[131092,48,12]],[7234,[262164,60]],[7235,[262168,60]],[7236,[262164,48,12]],[7237,[262164,48,12]],[7238,[262164,48,12]],[7239,[262164,48,12]],[7240,[262164,48,12]],[7241,[524308,60]],[7242,[524312,60]],[7243,[524308,48,12]],[7244,[524308,48,12]],[7245,[524308,48,12]],[7246,[524308,48,12]],[7247,[524308,48,12]],[7248,[1048596,60]],[7249,[1048600,60]],[7250,[1048596,48,12]],[7251,[1048596,48,12]],[7252,[1048596,48,12]],[7253,[1048596,48,12]],[7254,[1048596,48,12]],[7255,[2097172,60]],[7256,[2097176,60]],[7257,[2097172,48,12]],[7258,[2097172,48,12]],[7259,[2097172,48,12]],[7260,[2097172,48,12]],[7261,[2097172,48,12]],[7262,[324,204]],[7263,[328,204]],[7264,[324,192,12]],[7265,[324,192,12]],[7266,[324,192,12]],[7267,[324,192,12]],[7268,[324,192,12]],[7269,[580,204]],[7270,[584,204]],[7271,[580,192,12]],[7272,[580,192,12]],[7273,[580,192,12]],[7274,[580,192,12]],[7275,[580,192,12]],[7276,[1092,204]],[7277,[1096,204]],[7278,[1092,192,12]],[7279,[1092,192,12]],[7280,[1092,192,12]],[7281,[1092,192,12]],[7282,[1092,192,12]],[7283,[2116,204]],[7284,[2120,204]],[7285,[2116,192,12]],[7286,[2116,192,12]],[7287,[2116,192,12]],[7288,[2116,192,12]],[7289,[2116,192,12]],[7290,[4164,204]],[7291,[4168,204]],[7292,[4164,192,12]],[7293,[4164,192,12]],[7294,[4164,192,12]],[7295,[4164,192,12]],[7296,[4164,192,12]],[7297,[8260,204]],[7298,[8264,204]],[7299,[8260,192,12]],[7300,[8260,192,12]],[7301,[8260,192,12]],[7302,[8260,192,12]],[7303,[8260,192,12]],[7304,[16452,204]],[7305,[16456,204]],[7306,[16452,192,12]],[7307,[16452,192,12]],[7308,[16452,192,12]],[7309,[16452,192,12]],[7310,[16452,192,12]],[7311,[32836,204]],[7312,[32840,204]],[7313,[32836,192,12]],[7314,[32836,192,12]],[7315,[32836,192,12]],[7316,[32836,192,12]],[7317,[32836,192,12]],[7318,[65604,204]],[7319,[65608,204]],[7320,[65604,192,12]],[7321,[65604,192,12]],[7322,[65604,192,12]],[7323,[65604,192,12]],[7324,[65604,192,12]],[7325,[131140,204]],[7326,[131144,204]],[7327,[131140,192,12]],[7328,[131140,192,12]],[7329,[131140,192,12]],[7330,[131140,192,12]],[7331,[131140,192,12]],[7332,[262212,204]],[7333,[262216,204]],[7334,[262212,192,12]],[7335,[262212,192,12]],[7336,[262212,192,12]],[7337,[262212,192,12]],[7338,[262212,192,12]],[7339,[524356,204]],[7340,[524360,204]],[7341,[524356,192,12]],[7342,[524356,192,12]],[7343,[524356,192,12]],[7344,[524356,192,12]],[7345,[524356,192,12]],[7346,[1048644,204]],[7347,[1048648,204]],[7348,[1048644,192,12]],[7349,[1048644,192,12]],[7350,[1048644,192,12]],[7351,[1048644,192,12]],[7352,[1048644,192,12]],[7353,[2097220,204]],[7354,[2097224,204]],[7355,[2097220,192,12]],[7356,[2097220,192,12]],[7357,[2097220,192,12]],[7358,[2097220,192,12]],[7359,[2097220,192,12]],[7360,[1284,780]],[7361,[1288,780]],[7362,[1284,768,12]],[7363,[1284,768,12]],[7364,[1284,768,12]],[7365,[1284,768,12]],[7366,[2308,780]],[7367,[2312,780]],[7368,[2308,768,12]],[7369,[2308,768,12]],[7370,[2308,768,12]],[7371,[2308,768,12]],[7372,[4356,780]],[7373,[4360,780]],[7374,[4356,768,12]],[7375,[4356,768,12]],[7376,[4356,768,12]],[7377,[4356,768,12]],[7378,[8452,780]],[7379,[8456,780]],[7380,[8452,768,12]],[7381,[8452,768,12]],[7382,[8452,768,12]],[7383,[8452,768,12]],[7384,[16644,780]],[7385,[16648,780]],[7386,[16644,768,12]],[7387,[16644,768,12]],[7388,[16644,768,12]],[7389,[16644,768,12]],[7390,[33028,780]],[7391,[33032,780]],[7392,[33028,768,12]],[7393,[33028,768,12]],[7394,[33028,768,12]],[7395,[33028,768,12]],[7396,[65796,780]],[7397,[65800,780]],[7398,[65796,768,12]],[7399,[65796,768,12]],[7400,[65796,768,12]],[7401,[65796,768,12]],[7402,[131332,780]],[7403,[131336,780]],[7404,[131332,768,12]],[7405,[131332,768,12]],[7406,[131332,768,12]],[7407,[131332,768,12]],[7408,[262404,780]],[7409,[262408,780]],[7410,[262404,768,12]],[7411,[262404,768,12]],[7412,[262404,768,12]],[7413,[262404,768,12]],[7414,[524548,780]],[7415,[524552,780]],[7416,[524548,768,12]],[7417,[524548,768,12]],[7418,[524548,768,12]],[7419,[524548,768,12]],[7420,[1048836,780]],[7421,[1048840,780]],[7422,[1048836,768,12]],[7423,[1048836,768,12]],[7424,[1048836,768,12]],[7425,[1048836,768,12]],[7426,[2097412,780]],[7427,[2097416,780]],[7428,[2097412,768,12]],[7429,[2097412,768,12]],[7430,[2097412,768,12]],[7431,[2097412,768,12]],[7432,[5124,3084]],[7433,[5128,3084]],[7434,[5124,3072,12]],[7435,[5124,3072,12]],[7436,[5124,3072,12]],[7437,[5124,3072,12]],[7438,[9220,3084]],[7439,[9224,3084]],[7440,[9220,3072,12]],[7441,[9220,3072,12]],[7442,[9220,3072,12]],[7443,[9220,3072,12]],[7444,[17412,3084]],[7445,[17416,3084]],[7446,[17412,3072,12]],[7447,[17412,3072,12]],[7448,[17412,3072,12]],[7449,[17412,3072,12]],[7450,[33796,3084]],[7451,[33800,3084]],[7452,[33796,3072,12]],[7453,[33796,3072,12]],[7454,[33796,3072,12]],[7455,[33796,3072,12]],[7456,[66564,3084]],[7457,[66568,3084]],[7458,[66564,3072,12]],[7459,[66564,3072,12]],[7460,[66564,3072,12]],[7461,[66564,3072,12]],[7462,[132100,3084]],[7463,[132104,3084]],[7464,[132100,3072,12]],[7465,[132100,3072,12]],[7466,[132100,3072,12]],[7467,[132100,3072,12]],[7468,[263172,3084]],[7469,[263176,3084]],[7470,[263172,3072,12]],[7471,[263172,3072,12]],[7472,[263172,3072,12]],[7473,[263172,3072,12]],[7474,[525316,3084]],[7475,[525320,3084]],[7476,[525316,3072,12]],[7477,[525316,3072,12]],[7478,[525316,3072,12]],[7479,[525316,3072,12]],[7480,[1049604,3084]],[7481,[1049608,3084]],[7482,[1049604,3072,12]],[7483,[1049604,3072,12]],[7484,[1049604,3072,12]],[7485,[1049604,3072,12]],[7486,[2098180,3084]],[7487,[2098184,3084]],[7488,[2098180,3072,12]],[7489,[2098180,3072,12]],[7490,[2098180,3072,12]],[7491,[2098180,3072,12]],[7492,[20484,12300]],[7493,[20488,12300]],[7494,[20484,12288,12]],[7495,[20484,12288,12]],[7496,[20484,12288,12]],[7497,[20484,12288,12]],[7498,[20484,12288,12]],[7499,[36868,12300]],[7500,[36872,12300]],[7501,[36868,12288,12]],[7502,[36868,12288,12]],[7503,[36868,12288,12]],[7504,[36868,12288,12]],[7505,[36868,12288,12]],[7506,[69636,12300]],[7507,[69640,12300]],[7508,[69636,12288,12]],[7509,[69636,12288,12]],[7510,[69636,12288,12]],[7511,[69636,12288,12]],[7512,[69636,12288,12]],[7513,[135172,12300]],[7514,[135176,12300]],[7515,[135172,12288,12]],[7516,[135172,12288,12]],[7517,[135172,12288,12]],[7518,[135172,12288,12]],[7519,[135172,12288,12]],[7520,[266244,12300]],[7521,[266248,12300]],[7522,[266244,12288,12]],[7523,[266244,12288,12]],[7524,[266244,12288,12]],[7525,[266244,12288,12]],[7526,[266244,12288,12]],[7527,[528388,12300]],[7528,[528392,12300]],[7529,[528388,12288,12]],[7530,[528388,12288,12]],[7531,[528388,12288,12]],[7532,[528388,12288,12]],[7533,[528388,12288,12]],[7534,[1052676,12300]],[7535,[1052680,12300]],[7536,[1052676,12288,12]],[7537,[1052676,12288,12]],[7538,[1052676,12288,12]],[7539,[1052676,12288,12]],[7540,[1052676,12288,12]],[7541,[2101252,12300]],[7542,[2101256,12300]],[7543,[2101252,12288,12]],[7544,[2101252,12288,12]],[7545,[2101252,12288,12]],[7546,[2101252,12288,12]],[7547,[2101252,12288,12]],[7548,[81924,49164]],[7549,[81928,49164]],[7550,[81924,49152,12]],[7551,[81924,49152,12]],[7552,[81924,49152,12]],[7553,[81924,49152,12]],[7554,[147460,49164]],[7555,[147464,49164]],[7556,[147460,49152,12]],[7557,[147460,49152,12]],[7558,[147460,49152,12]],[7559,[147460,49152,12]],[7560,[278532,49164]],[7561,[278536,49164]],[7562,[278532,49152,12]],[7563,[278532,49152,12]],[7564,[278532,49152,12]],[7565,[278532,49152,12]],[7566,[540676,49164]],[7567,[540680,49164]],[7568,[540676,49152,12]],[7569,[540676,49152,12]],[7570,[540676,49152,12]],[7571,[540676,49152,12]],[7572,[1064964,49164]],[7573,[1064968,49164]],[7574,[1064964,49152,12]],[7575,[1064964,49152,12]],[7576,[1064964,49152,12]],[7577,[1064964,49152,12]],[7578,[2113540,49164]],[7579,[2113544,49164]],[7580,[2113540,49152,12]],[7581,[2113540,49152,12]],[7582,[2113540,49152,12]],[7583,[2113540,49152,12]],[7584,[327684,196620]],[7585,[327688,196620]],[7586,[327684,196608,12]],[7587,[327684,196608,12]],[7588,[327684,196608,12]],[7589,[327684,196608,12]],[7590,[589828,196620]],[7591,[589832,196620]],[7592,[589828,196608,12]],[7593,[589828,196608,12]],[7594,[589828,196608,12]],[7595,[589828,196608,12]],[7596,[1114116,196620]],[7597,[1114120,196620]],[7598,[1114116,196608,12]],[7599,[1114116,196608,12]],[7600,[1114116,196608,12]],[7601,[1114116,196608,12]],[7602,[2162692,196620]],[7603,[2162696,196620]],[7604,[2162692,196608,12]],[7605,[2162692,196608,12]],[7606,[2162692,196608,12]],[7607,[2162692,196608,12]],[7608,[1310724,786444]],[7609,[1310728,786444]],[7610,[1310724,786432,12]],[7611,[1310724,786432,12]],[7612,[1310724,786432,12]],[7613,[1310724,786432,12]],[7614,[2359300,786444]],[7615,[2359304,786444]],[7616,[2359300,786432,12]],[7617,[2359300,786432,12]],[7618,[2359300,786432,12]],[7619,[2359300,786432,12]],[7620,[336,240]],[7621,[352,240]],[7622,[336,192,48]],[7623,[336,192,48]],[7624,[336,192,48]],[7625,[336,192,48]],[7626,[336,192,48]],[7627,[592,240]],[7628,[608,240]],[7629,[592,192,48]],[7630,[592,192,48]],[7631,[592,192,48]],[7632,[592,192,48]],[7633,[592,192,48]],[7634,[1104,240]],[7635,[1120,240]],[7636,[1104,192,48]],[7637,[1104,192,48]],[7638,[1104,192,48]],[7639,[1104,192,48]],[7640,[1104,192,48]],[7641,[2128,240]],[7642,[2144,240]],[7643,[2128,192,48]],[7644,[2128,192,48]],[7645,[2128,192,48]],[7646,[2128,192,48]],[7647,[2128,192,48]],[7648,[4176,240]],[7649,[4192,240]],[7650,[4176,192,48]],[7651,[4176,192,48]],[7652,[4176,192,48]],[7653,[4176,192,48]],[7654,[4176,192,48]],[7655,[8272,240]],[7656,[8288,240]],[7657,[8272,192,48]],[7658,[8272,192,48]],[7659,[8272,192,48]],[7660,[8272,192,48]],[7661,[8272,192,48]],[7662,[16464,240]],[7663,[16480,240]],[7664,[16464,192,48]],[7665,[16464,192,48]],[7666,[16464,192,48]],[7667,[16464,192,48]],[7668,[16464,192,48]],[7669,[32848,240]],[7670,[32864,240]],[7671,[32848,192,48]],[7672,[32848,192,48]],[7673,[32848,192,48]],[7674,[32848,192,48]],[7675,[32848,192,48]],[7676,[65616,240]],[7677,[65632,240]],[7678,[65616,192,48]],[7679,[65616,192,48]],[7680,[65616,192,48]],[7681,[65616,192,48]],[7682,[65616,192,48]],[7683,[131152,240]],[7684,[131168,240]],[7685,[131152,192,48]],[7686,[131152,192,48]],[7687,[131152,192,48]],[7688,[131152,192,48]],[7689,[131152,192,48]],[7690,[262224,240]],[7691,[262240,240]],[7692,[262224,192,48]],[7693,[262224,192,48]],[7694,[262224,192,48]],[7695,[262224,192,48]],[7696,[262224,192,48]],[7697,[524368,240]],[7698,[524384,240]],[7699,[524368,192,48]],[7700,[524368,192,48]],[7701,[524368,192,48]],[7702,[524368,192,48]],[7703,[524368,192,48]],[7704,[1048656,240]],[7705,[1048672,240]],[7706,[1048656,192,48]],[7707,[1048656,192,48]],[7708,[1048656,192,48]],[7709,[1048656,192,48]],[7710,[1048656,192,48]],[7711,[2097232,240]],[7712,[2097248,240]],[7713,[2097232,192,48]],[7714,[2097232,192,48]],[7715,[2097232,192,48]],[7716,[2097232,192,48]],[7717,[2097232,192,48]],[7718,[1296,816]],[7719,[1312,816]],[7720,[1296,768,48]],[7721,[1296,768,48]],[7722,[1296,768,48]],[7723,[1296,768,48]],[7724,[2320,816]],[7725,[2336,816]],[7726,[2320,768,48]],[7727,[2320,768,48]],[7728,[2320,768,48]],[7729,[2320,768,48]],[7730,[4368,816]],[7731,[4384,816]],[7732,[4368,768,48]],[7733,[4368,768,48]],[7734,[4368,768,48]],[7735,[4368,768,48]],[7736,[8464,816]],[7737,[8480,816]],[7738,[8464,768,48]],[7739,[8464,768,48]],[7740,[8464,768,48]],[7741,[8464,768,48]],[7742,[16656,816]],[7743,[16672,816]],[7744,[16656,768,48]],[7745,[16656,768,48]],[7746,[16656,768,48]],[7747,[16656,768,48]],[7748,[33040,816]],[7749,[33056,816]],[7750,[33040,768,48]],[7751,[33040,768,48]],[7752,[33040,768,48]],[7753,[33040,768,48]],[7754,[65808,816]],[7755,[65824,816]],[7756,[65808,768,48]],[7757,[65808,768,48]],[7758,[65808,768,48]],[7759,[65808,768,48]],[7760,[131344,816]],[7761,[131360,816]],[7762,[131344,768,48]],[7763,[131344,768,48]],[7764,[131344,768,48]],[7765,[131344,768,48]],[7766,[262416,816]],[7767,[262432,816]],[7768,[262416,768,48]],[7769,[262416,768,48]],[7770,[262416,768,48]],[7771,[262416,768,48]],[7772,[524560,816]],[7773,[524576,816]],[7774,[524560,768,48]],[7775,[524560,768,48]],[7776,[524560,768,48]],[7777,[524560,768,48]],[7778,[1048848,816]],[7779,[1048864,816]],[7780,[1048848,768,48]],[7781,[1048848,768,48]],[7782,[1048848,768,48]],[7783,[1048848,768,48]],[7784,[2097424,816]],[7785,[2097440,816]],[7786,[2097424,768,48]],[7787,[2097424,768,48]],[7788,[2097424,768,48]],[7789,[2097424,768,48]],[7790,[5136,3120]],[7791,[5152,3120]],[7792,[5136,3072,48]],[7793,[5136,3072,48]],[7794,[5136,3072,48]],[7795,[5136,3072,48]],[7796,[9232,3120]],[7797,[9248,3120]],[7798,[9232,3072,48]],[7799,[9232,3072,48]],[7800,[9232,3072,48]],[7801,[9232,3072,48]],[7802,[17424,3120]],[7803,[17440,3120]],[7804,[17424,3072,48]],[7805,[17424,3072,48]],[7806,[17424,3072,48]],[7807,[17424,3072,48]],[7808,[33808,3120]],[7809,[33824,3120]],[7810,[33808,3072,48]],[7811,[33808,3072,48]],[7812,[33808,3072,48]],[7813,[33808,3072,48]],[7814,[66576,3120]],[7815,[66592,3120]],[7816,[66576,3072,48]],[7817,[66576,3072,48]],[7818,[66576,3072,48]],[7819,[66576,3072,48]],[7820,[132112,3120]],[7821,[132128,3120]],[7822,[132112,3072,48]],[7823,[132112,3072,48]],[7824,[132112,3072,48]],[7825,[132112,3072,48]],[7826,[263184,3120]],[7827,[263200,3120]],[7828,[263184,3072,48]],[7829,[263184,3072,48]],[7830,[263184,3072,48]],[7831,[263184,3072,48]],[7832,[525328,3120]],[7833,[525344,3120]],[7834,[525328,3072,48]],[7835,[525328,3072,48]],[7836,[525328,3072,48]],[7837,[525328,3072,48]],[7838,[1049616,3120]],[7839,[1049632,3120]],[7840,[1049616,3072,48]],[7841,[1049616,3072,48]],[7842,[1049616,3072,48]],[7843,[1049616,3072,48]],[7844,[2098192,3120]],[7845,[2098208,3120]],[7846,[2098192,3072,48]],[7847,[2098192,3072,48]],[7848,[2098192,3072,48]],[7849,[2098192,3072,48]],[7850,[20496,12336]],[7851,[20512,12336]],[7852,[20496,12288,48]],[7853,[20496,12288,48]],[7854,[20496,12288,48]],[7855,[20496,12288,48]],[7856,[36880,12336]],[7857,[36896,12336]],[7858,[36880,12288,48]],[7859,[36880,12288,48]],[7860,[36880,12288,48]],[7861,[36880,12288,48]],[7862,[69648,12336]],[7863,[69664,12336]],[7864,[69648,12288,48]],[7865,[69648,12288,48]],[7866,[69648,12288,48]],[7867,[69648,12288,48]],[7868,[135184,12336]],[7869,[135200,12336]],[7870,[135184,12288,48]],[7871,[135184,12288,48]],[7872,[135184,12288,48]],[7873,[135184,12288,48]],[7874,[266256,12336]],[7875,[266272,12336]],[7876,[266256,12288,48]],[7877,[266256,12288,48]],[7878,[266256,12288,48]],[7879,[266256,12288,48]],[7880,[528400,12336]],[7881,[528416,12336]],[7882,[528400,12288,48]],[7883,[528400,12288,48]],[7884,[528400,12288,48]],[7885,[528400,12288,48]],[7886,[1052688,12336]],[7887,[1052704,12336]],[7888,[1052688,12288,48]],[7889,[1052688,12288,48]],[7890,[1052688,12288,48]],[7891,[1052688,12288,48]],[7892,[2101264,12336]],[7893,[2101280,12336]],[7894,[2101264,12288,48]],[7895,[2101264,12288,48]],[7896,[2101264,12288,48]],[7897,[2101264,12288,48]],[7898,[81936,49200]],[7899,[81952,49200]],[7900,[81936,49152,48]],[7901,[81936,49152,48]],[7902,[81936,49152,48]],[7903,[81936,49152,48]],[7904,[147472,49200]],[7905,[147488,49200]],[7906,[147472,49152,48]],[7907,[147472,49152,48]],[7908,[147472,49152,48]],[7909,[147472,49152,48]],[7910,[278544,49200]],[7911,[278560,49200]],[7912,[278544,49152,48]],[7913,[278544,49152,48]],[7914,[278544,49152,48]],[7915,[278544,49152,48]],[7916,[540688,49200]],[7917,[540704,49200]],[7918,[540688,49152,48]],[7919,[540688,49152,48]],[7920,[540688,49152,48]],[7921,[540688,49152,48]],[7922,[1064976,49200]],[7923,[1064992,49200]],[7924,[1064976,49152,48]],[7925,[1064976,49152,48]],[7926,[1064976,49152,48]],[7927,[1064976,49152,48]],[7928,[2113552,49200]],[7929,[2113568,49200]],[7930,[2113552,49152,48]],[7931,[2113552,49152,48]],[7932,[2113552,49152,48]],[7933,[2113552,49152,48]],[7934,[327696,196656]],[7935,[327712,196656]],[7936,[327696,196608,48]],[7937,[327696,196608,48]],[7938,[327696,196608,48]],[7939,[327696,196608,48]],[7940,[589840,196656]],[7941,[589856,196656]],[7942,[589840,196608,48]],[7943,[589840,196608,48]],[7944,[589840,196608,48]],[7945,[589840,196608,48]],[7946,[1114128,196656]],[7947,[1114144,196656]],[7948,[1114128,196608,48]],[7949,[1114128,196608,48]],[7950,[1114128,196608,48]],[7951,[1114128,196608,48]],[7952,[2162704,196656]],[7953,[2162720,196656]],[7954,[2162704,196608,48]],[7955,[2162704,196608,48]],[7956,[2162704,196608,48]],[7957,[2162704,196608,48]],[7958,[1310736,786480]],[7959,[1310752,786480]],[7960,[1310736,786432,48]],[7961,[1310736,786432,48]],[7962,[1310736,786432,48]],[7963,[1310736,786432,48]],[7964,[2359312,786480]],[7965,[2359328,786480]],[7966,[2359312,786432,48]],[7967,[2359312,786432,48]],[7968,[2359312,786432,48]],[7969,[2359312,786432,48]],[7970,[1344,960]],[7971,[1408,960]],[7972,[1344,768,192]],[7973,[1344,768,192]],[7974,[1344,768,192]],[7975,[1344,768,192]],[7976,[2368,960]],[7977,[2432,960]],[7978,[2368,768,192]],[7979,[2368,768,192]],[7980,[2368,768,192]],[7981,[2368,768,192]],[7982,[4416,960]],[7983,[4480,960]],[7984,[4416,768,192]],[7985,[4416,768,192]],[7986,[4416,768,192]],[7987,[4416,768,192]],[7988,[8512,960]],[7989,[8576,960]],[7990,[8512,768,192]],[7991,[8512,768,192]],[7992,[8512,768,192]],[7993,[8512,768,192]],[7994,[16704,960]],[7995,[16768,960]],[7996,[16704,768,192]],[7997,[16704,768,192]],[7998,[16704,768,192]],[7999,[16704,768,192]],[8000,[33088,960]],[8001,[33152,960]],[8002,[33088,768,192]],[8003,[33088,768,192]],[8004,[33088,768,192]],[8005,[33088,768,192]],[8006,[65856,960]],[8007,[65920,960]],[8008,[65856,768,192]],[8009,[65856,768,192]],[8010,[65856,768,192]],[8011,[65856,768,192]],[8012,[131392,960]],[8013,[131456,960]],[8014,[131392,768,192]],[8015,[131392,768,192]],[8016,[131392,768,192]],[8017,[131392,768,192]],[8018,[262464,960]],[8019,[262528,960]],[8020,[262464,768,192]],[8021,[262464,768,192]],[8022,[262464,768,192]],[8023,[262464,768,192]],[8024,[524608,960]],[8025,[524672,960]],[8026,[524608,768,192]],[8027,[524608,768,192]],[8028,[524608,768,192]],[8029,[524608,768,192]],[8030,[1048896,960]],[8031,[1048960,960]],[8032,[1048896,768,192]],[8033,[1048896,768,192]],[8034,[1048896,768,192]],[8035,[1048896,768,192]],[8036,[2097472,960]],[8037,[2097536,960]],[8038,[2097472,768,192]],[8039,[2097472,768,192]],[8040,[2097472,768,192]],[8041,[2097472,768,192]],[8042,[5184,3264]],[8043,[5248,3264]],[8044,[5184,3072,192]],[8045,[5184,3072,192]],[8046,[5184,3072,192]],[8047,[5184,3072,192]],[8048,[9280,3264]],[8049,[9344,3264]],[8050,[9280,3072,192]],[8051,[9280,3072,192]],[8052,[9280,3072,192]],[8053,[9280,3072,192]],[8054,[17472,3264]],[8055,[17536,3264]],[8056,[17472,3072,192]],[8057,[17472,3072,192]],[8058,[17472,3072,192]],[8059,[17472,3072,192]],[8060,[33856,3264]],[8061,[33920,3264]],[8062,[33856,3072,192]],[8063,[33856,3072,192]],[8064,[33856,3072,192]],[8065,[33856,3072,192]],[8066,[66624,3264]],[8067,[66688,3264]],[8068,[66624,3072,192]],[8069,[66624,3072,192]],[8070,[66624,3072,192]],[8071,[66624,3072,192]],[8072,[132160,3264]],[8073,[132224,3264]],[8074,[132160,3072,192]],[8075,[132160,3072,192]],[8076,[132160,3072,192]],[8077,[132160,3072,192]],[8078,[263232,3264]],[8079,[263296,3264]],[8080,[263232,3072,192]],[8081,[263232,3072,192]],[8082,[263232,3072,192]],[8083,[263232,3072,192]],[8084,[525376,3264]],[8085,[525440,3264]],[8086,[525376,3072,192]],[8087,[525376,3072,192]],[8088,[525376,3072,192]],[8089,[525376,3072,192]],[8090,[1049664,3264]],[8091,[1049728,3264]],[8092,[1049664,3072,192]],[8093,[1049664,3072,192]],[8094,[1049664,3072,192]],[8095,[1049664,3072,192]],[8096,[2098240,3264]],[8097,[2098304,3264]],[8098,[2098240,3072,192]],[8099,[2098240,3072,192]],[8100,[2098240,3072,192]],[8101,[2098240,3072,192]],[8102,[20544,12480]],[8103,[20608,12480]],[8104,[20544,12288,192]],[8105,[20544,12288,192]],[8106,[20544,12288,192]],[8107,[20544,12288,192]],[8108,[36928,12480]],[8109,[36992,12480]],[8110,[36928,12288,192]],[8111,[36928,12288,192]],[8112,[36928,12288,192]],[8113,[36928,12288,192]],[8114,[69696,12480]],[8115,[69760,12480]],[8116,[69696,12288,192]],[8117,[69696,12288,192]],[8118,[69696,12288,192]],[8119,[69696,12288,192]],[8120,[135232,12480]],[8121,[135296,12480]],[8122,[135232,12288,192]],[8123,[135232,12288,192]],[8124,[135232,12288,192]],[8125,[135232,12288,192]],[8126,[266304,12480]],[8127,[266368,12480]],[8128,[266304,12288,192]],[8129,[266304,12288,192]],[8130,[266304,12288,192]],[8131,[266304,12288,192]],[8132,[528448,12480]],[8133,[528512,12480]],[8134,[528448,12288,192]],[8135,[528448,12288,192]],[8136,[528448,12288,192]],[8137,[528448,12288,192]],[8138,[1052736,12480]],[8139,[1052800,12480]],[8140,[1052736,12288,192]],[8141,[1052736,12288,192]],[8142,[1052736,12288,192]],[8143,[1052736,12288,192]],[8144,[2101312,12480]],[8145,[2101376,12480]],[8146,[2101312,12288,192]],[8147,[2101312,12288,192]],[8148,[2101312,12288,192]],[8149,[2101312,12288,192]],[8150,[81984,49344]],[8151,[82048,49344]],[8152,[81984,49152,192]],[8153,[81984,49152,192]],[8154,[81984,49152,192]],[8155,[81984,49152,192]],[8156,[147520,49344]],[8157,[147584,49344]],[8158,[147520,49152,192]],[8159,[147520,49152,192]],[8160,[147520,49152,192]],[8161,[147520,49152,192]],[8162,[278592,49344]],[8163,[278656,49344]],[8164,[278592,49152,192]],[8165,[278592,49152,192]],[8166,[278592,49152,192]],[8167,[278592,49152,192]],[8168,[540736,49344]],[8169,[540800,49344]],[8170,[540736,49152,192]],[8171,[540736,49152,192]],[8172,[540736,49152,192]],[8173,[540736,49152,192]],[8174,[1065024,49344]],[8175,[1065088,49344]],[8176,[1065024,49152,192]],[8177,[1065024,49152,192]],[8178,[1065024,49152,192]],[8179,[1065024,49152,192]],[8180,[2113600,49344]],[8181,[2113664,49344]],[8182,[2113600,49152,192]],[8183,[2113600,49152,192]],[8184,[2113600,49152,192]],[8185,[2113600,49152,192]],[8186,[327744,196800]],[8187,[327808,196800]],[8188,[327744,196608,192]],[8189,[327744,196608,192]],[8190,[327744,196608,192]],[8191,[327744,196608,192]],[8192,[589888,196800]],[8193,[589952,196800]],[8194,[589888,196608,192]],[8195,[589888,196608,192]],[8196,[589888,196608,192]],[8197,[589888,196608,192]],[8198,[1114176,196800]],[8199,[1114240,196800]],[8200,[1114176,196608,192]],[8201,[1114176,196608,192]],[8202,[1114176,196608,192]],[8203,[1114176,196608,192]],[8204,[2162752,196800]],[8205,[2162816,196800]],[8206,[2162752,196608,192]],[8207,[2162752,196608,192]],[8208,[2162752,196608,192]],[8209,[2162752,196608,192]],[8210,[1310784,786624]],[8211,[1310848,786624]],[8212,[1310784,786432,192]],[8213,[1310784,786432,192]],[8214,[1310784,786432,192]],[8215,[1310784,786432,192]],[8216,[2359360,786624]],[8217,[2359424,786624]],[8218,[2359360,786432,192]],[8219,[2359360,786432,192]],[8220,[2359360,786432,192]],[8221,[2359360,786432,192]],[8222,[5376,3840]],[8223,[5632,3840]],[8224,[5376,3072,768]],[8225,[5376,3072,768]],[8226,[5376,3072,768]],[8227,[5376,3072,768]],[8228,[5376,3072,768]],[8229,[9472,3840]],[8230,[9728,3840]],[8231,[9472,3072,768]],[8232,[9472,3072,768]],[8233,[9472,3072,768]],[8234,[9472,3072,768]],[8235,[9472,3072,768]],[8236,[17664,3840]],[8237,[17920,3840]],[8238,[17664,3072,768]],[8239,[17664,3072,768]],[8240,[17664,3072,768]],[8241,[17664,3072,768]],[8242,[17664,3072,768]],[8243,[34048,3840]],[8244,[34304,3840]],[8245,[34048,3072,768]],[8246,[34048,3072,768]],[8247,[34048,3072,768]],[8248,[34048,3072,768]],[8249,[34048,3072,768]],[8250,[66816,3840]],[8251,[67072,3840]],[8252,[66816,3072,768]],[8253,[66816,3072,768]],[8254,[66816,3072,768]],[8255,[66816,3072,768]],[8256,[66816,3072,768]],[8257,[132352,3840]],[8258,[132608,3840]],[8259,[132352,3072,768]],[8260,[132352,3072,768]],[8261,[132352,3072,768]],[8262,[132352,3072,768]],[8263,[132352,3072,768]],[8264,[263424,3840]],[8265,[263680,3840]],[8266,[263424,3072,768]],[8267,[263424,3072,768]],[8268,[263424,3072,768]],[8269,[263424,3072,768]],[8270,[263424,3072,768]],[8271,[525568,3840]],[8272,[525824,3840]],[8273,[525568,3072,768]],[8274,[525568,3072,768]],[8275,[525568,3072,768]],[8276,[525568,3072,768]],[8277,[525568,3072,768]],[8278,[1049856,3840]],[8279,[1050112,3840]],[8280,[1049856,3072,768]],[8281,[1049856,3072,768]],[8282,[1049856,3072,768]],[8283,[1049856,3072,768]],[8284,[1049856,3072,768]],[8285,[2098432,3840]],[8286,[2098688,3840]],[8287,[2098432,3072,768]],[8288,[2098432,3072,768]],[8289,[2098432,3072,768]],[8290,[2098432,3072,768]],[8291,[2098432,3072,768]],[8292,[20736,13056]],[8293,[20992,13056]],[8294,[20736,12288,768]],[8295,[20736,12288,768]],[8296,[20736,12288,768]],[8297,[20736,12288,768]],[8298,[37120,13056]],[8299,[37376,13056]],[8300,[37120,12288,768]],[8301,[37120,12288,768]],[8302,[37120,12288,768]],[8303,[37120,12288,768]],[8304,[69888,13056]],[8305,[70144,13056]],[8306,[69888,12288,768]],[8307,[69888,12288,768]],[8308,[69888,12288,768]],[8309,[69888,12288,768]],[8310,[135424,13056]],[8311,[135680,13056]],[8312,[135424,12288,768]],[8313,[135424,12288,768]],[8314,[135424,12288,768]],[8315,[135424,12288,768]],[8316,[266496,13056]],[8317,[266752,13056]],[8318,[266496,12288,768]],[8319,[266496,12288,768]],[8320,[266496,12288,768]],[8321,[266496,12288,768]],[8322,[528640,13056]],[8323,[528896,13056]],[8324,[528640,12288,768]],[8325,[528640,12288,768]],[8326,[528640,12288,768]],[8327,[528640,12288,768]],[8328,[1052928,13056]],[8329,[1053184,13056]],[8330,[1052928,12288,768]],[8331,[1052928,12288,768]],[8332,[1052928,12288,768]],[8333,[1052928,12288,768]],[8334,[2101504,13056]],[8335,[2101760,13056]],[8336,[2101504,12288,768]],[8337,[2101504,12288,768]],[8338,[2101504,12288,768]],[8339,[2101504,12288,768]],[8340,[82176,49920]],[8341,[82432,49920]],[8342,[82176,49152,768]],[8343,[82176,49152,768]],[8344,[82176,49152,768]],[8345,[82176,49152,768]],[8346,[82176,49152,768]],[8347,[147712,49920]],[8348,[147968,49920]],[8349,[147712,49152,768]],[8350,[147712,49152,768]],[8351,[147712,49152,768]],[8352,[147712,49152,768]],[8353,[147712,49152,768]],[8354,[278784,49920]],[8355,[279040,49920]],[8356,[278784,49152,768]],[8357,[278784,49152,768]],[8358,[278784,49152,768]],[8359,[278784,49152,768]],[8360,[278784,49152,768]],[8361,[540928,49920]],[8362,[541184,49920]],[8363,[540928,49152,768]],[8364,[540928,49152,768]],[8365,[540928,49152,768]],[8366,[540928,49152,768]],[8367,[540928,49152,768]],[8368,[1065216,49920]],[8369,[1065472,49920]],[8370,[1065216,49152,768]],[8371,[1065216,49152,768]],[8372,[1065216,49152,768]],[8373,[1065216,49152,768]],[8374,[1065216,49152,768]],[8375,[2113792,49920]],[8376,[2114048,49920]],[8377,[2113792,49152,768]],[8378,[2113792,49152,768]],[8379,[2113792,49152,768]],[8380,[2113792,49152,768]],[8381,[2113792,49152,768]],[8382,[327936,197376]],[8383,[328192,197376]],[8384,[327936,196608,768]],[8385,[327936,196608,768]],[8386,[327936,196608,768]],[8387,[327936,196608,768]],[8388,[590080,197376]],[8389,[590336,197376]],[8390,[590080,196608,768]],[8391,[590080,196608,768]],[8392,[590080,196608,768]],[8393,[590080,196608,768]],[8394,[1114368,197376]],[8395,[1114624,197376]],[8396,[1114368,196608,768]],[8397,[1114368,196608,768]],[8398,[1114368,196608,768]],[8399,[1114368,196608,768]],[8400,[2162944,197376]],[8401,[2163200,197376]],[8402,[2162944,196608,768]],[8403,[2162944,196608,768]],[8404,[2162944,196608,768]],[8405,[2162944,196608,768]],[8406,[1310976,787200]],[8407,[1311232,787200]],[8408,[1310976,786432,768]],[8409,[1310976,786432,768]],[8410,[1310976,786432,768]],[8411,[1310976,786432,768]],[8412,[1310976,786432,768]],[8413,[2359552,787200]],[8414,[2359808,787200]],[8415,[2359552,786432,768]],[8416,[2359552,786432,768]],[8417,[2359552,786432,768]],[8418,[2359552,786432,768]],[8419,[2359552,786432,768]],[8420,[21504,15360]],[8421,[22528,15360]],[8422,[21504,12288,3072]],[8423,[21504,12288,3072]],[8424,[21504,12288,3072]],[8425,[21504,12288,3072]],[8426,[21504,12288,3072]],[8427,[37888,15360]],[8428,[38912,15360]],[8429,[37888,12288,3072]],[8430,[37888,12288,3072]],[8431,[37888,12288,3072]],[8432,[37888,12288,3072]],[8433,[37888,12288,3072]],[8434,[70656,15360]],[8435,[71680,15360]],[8436,[70656,12288,3072]],[8437,[70656,12288,3072]],[8438,[70656,12288,3072]],[8439,[70656,12288,3072]],[8440,[70656,12288,3072]],[8441,[136192,15360]],[8442,[137216,15360]],[8443,[136192,12288,3072]],[8444,[136192,12288,3072]],[8445,[136192,12288,3072]],[8446,[136192,12288,3072]],[8447,[136192,12288,3072]],[8448,[267264,15360]],[8449,[268288,15360]],[8450,[267264,12288,3072]],[8451,[267264,12288,3072]],[8452,[267264,12288,3072]],[8453,[267264,12288,3072]],[8454,[267264,12288,3072]],[8455,[529408,15360]],[8456,[530432,15360]],[8457,[529408,12288,3072]],[8458,[529408,12288,3072]],[8459,[529408,12288,3072]],[8460,[529408,12288,3072]],[8461,[529408,12288,3072]],[8462,[1053696,15360]],[8463,[1054720,15360]],[8464,[1053696,12288,3072]],[8465,[1053696,12288,3072]],[8466,[1053696,12288,3072]],[8467,[1053696,12288,3072]],[8468,[1053696,12288,3072]],[8469,[2102272,15360]],[8470,[2103296,15360]],[8471,[2102272,12288,3072]],[8472,[2102272,12288,3072]],[8473,[2102272,12288,3072]],[8474,[2102272,12288,3072]],[8475,[2102272,12288,3072]],[8476,[82944,52224]],[8477,[83968,52224]],[8478,[82944,49152,3072]],[8479,[82944,49152,3072]],[8480,[82944,49152,3072]],[8481,[82944,49152,3072]],[8482,[148480,52224]],[8483,[149504,52224]],[8484,[148480,49152,3072]],[8485,[148480,49152,3072]],[8486,[148480,49152,3072]],[8487,[148480,49152,3072]],[8488,[279552,52224]],[8489,[280576,52224]],[8490,[279552,49152,3072]],[8491,[279552,49152,3072]],[8492,[279552,49152,3072]],[8493,[279552,49152,3072]],[8494,[541696,52224]],[8495,[542720,52224]],[8496,[541696,49152,3072]],[8497,[541696,49152,3072]],[8498,[541696,49152,3072]],[8499,[541696,49152,3072]],[8500,[1065984,52224]],[8501,[1067008,52224]],[8502,[1065984,49152,3072]],[8503,[1065984,49152,3072]],[8504,[1065984,49152,3072]],[8505,[1065984,49152,3072]],[8506,[2114560,52224]],[8507,[2115584,52224]],[8508,[2114560,49152,3072]],[8509,[2114560,49152,3072]],[8510,[2114560,49152,3072]],[8511,[2114560,49152,3072]],[8512,[328704,199680]],[8513,[329728,199680]],[8514,[328704,196608,3072]],[8515,[328704,196608,3072]],[8516,[328704,196608,3072]],[8517,[328704,196608,3072]],[8518,[328704,196608,3072]],[8519,[590848,199680]],[8520,[591872,199680]],[8521,[590848,196608,3072]],[8522,[590848,196608,3072]],[8523,[590848,196608,3072]],[8524,[590848,196608,3072]],[8525,[590848,196608,3072]],[8526,[1115136,199680]],[8527,[1116160,199680]],[8528,[1115136,196608,3072]],[8529,[1115136,196608,3072]],[8530,[1115136,196608,3072]],[8531,[1115136,196608,3072]],[8532,[1115136,196608,3072]],[8533,[2163712,199680]],[8534,[2164736,199680]],[8535,[2163712,196608,3072]],[8536,[2163712,196608,3072]],[8537,[2163712,196608,3072]],[8538,[2163712,196608,3072]],[8539,[2163712,196608,3072]],[8540,[1311744,789504]],[8541,[1312768,789504]],[8542,[1311744,786432,3072]],[8543,[1311744,786432,3072]],[8544,[1311744,786432,3072]],[8545,[1311744,786432,3072]],[8546,[2360320,789504]],[8547,[2361344,789504]],[8548,[2360320,786432,3072]],[8549,[2360320,786432,3072]],[8550,[2360320,786432,3072]],[8551,[2360320,786432,3072]],[8552,[86016,61440]],[8553,[90112,61440]],[8554,[86016,49152,12288]],[8555,[86016,49152,12288]],[8556,[86016,49152,12288]],[8557,[86016,49152,12288]],[8558,[86016,49152,12288]],[8559,[151552,61440]],[8560,[155648,61440]],[8561,[151552,49152,12288]],[8562,[151552,49152,12288]],[8563,[151552,49152,12288]],[8564,[151552,49152,12288]],[8565,[151552,49152,12288]],[8566,[282624,61440]],[8567,[286720,61440]],[8568,[282624,49152,12288]],[8569,[282624,49152,12288]],[8570,[282624,49152,12288]],[8571,[282624,49152,12288]],[8572,[282624,49152,12288]],[8573,[544768,61440]],[8574,[548864,61440]],[8575,[544768,49152,12288]],[8576,[544768,49152,12288]],[8577,[544768,49152,12288]],[8578,[544768,49152,12288]],[8579,[544768,49152,12288]],[8580,[1069056,61440]],[8581,[1073152,61440]],[8582,[1069056,49152,12288]],[8583,[1069056,49152,12288]],[8584,[1069056,49152,12288]],[8585,[1069056,49152,12288]],[8586,[1069056,49152,12288]],[8587,[2117632,61440]],[8588,[2121728,61440]],[8589,[2117632,49152,12288]],[8590,[2117632,49152,12288]],[8591,[2117632,49152,12288]],[8592,[2117632,49152,12288]],[8593,[2117632,49152,12288]],[8594,[331776,208896]],[8595,[335872,208896]],[8596,[331776,196608,12288]],[8597,[331776,196608,12288]],[8598,[331776,196608,12288]],[8599,[331776,196608,12288]],[8600,[593920,208896]],[8601,[598016,208896]],[8602,[593920,196608,12288]],[8603,[593920,196608,12288]],[8604,[593920,196608,12288]],[8605,[593920,196608,12288]],[8606,[1118208,208896]],[8607,[1122304,208896]],[8608,[1118208,196608,12288]],[8609,[1118208,196608,12288]],[8610,[1118208,196608,12288]],[8611,[1118208,196608,12288]],[8612,[2166784,208896]],[8613,[2170880,208896]],[8614,[2166784,196608,12288]],[8615,[2166784,196608,12288]],[8616,[2166784,196608,12288]],[8617,[2166784,196608,12288]],[8618,[1314816,798720]],[8619,[1318912,798720]],[8620,[1314816,786432,12288]],[8621,[1314816,786432,12288]],[8622,[1314816,786432,12288]],[8623,[1314816,786432,12288]],[8624,[2363392,798720]],[8625,[2367488,798720]],[8626,[2363392,786432,12288]],[8627,[2363392,786432,12288]],[8628,[2363392,786432,12288]],[8629,[2363392,786432,12288]],[8630,[344064,245760]],[8631,[360448,245760]],[8632,[344064,196608,49152]],[8633,[344064,196608,49152]],[8634,[344064,196608,49152]],[8635,[344064,196608,49152]],[8636,[606208,245760]],[8637,[622592,245760]],[8638,[606208,196608,49152]],[8639,[606208,196608,49152]],[8640,[606208,196608,49152]],[8641,[606208,196608,49152]],[8642,[1130496,245760]],[8643,[1146880,245760]],[8644,[1130496,196608,49152]],[8645,[1130496,196608,49152]],[8646,[1130496,196608,49152]],[8647,[1130496,196608,49152]],[8648,[2179072,245760]],[8649,[2195456,245760]],[8650,[2179072,196608,49152]],[8651,[2179072,196608,49152]],[8652,[2179072,196608,49152]],[8653,[2179072,196608,49152]],[8654,[1327104,835584]],[8655,[1343488,835584]],[8656,[1327104,786432,49152]],[8657,[1327104,786432,49152]],[8658,[1327104,786432,49152]],[8659,[1327104,786432,49152]],[8660,[2375680,835584]],[8661,[2392064,835584]],[8662,[2375680,786432,49152]],[8663,[2375680,786432,49152]],[8664,[2375680,786432,49152]],[8665,[2375680,786432,49152]],[8666,[1376256,983040]],[8667,[1441792,983040]],[8668,[1376256,786432,196608]],[8669,[1376256,786432,196608]],[8670,[1376256,786432,196608]],[8671,[1376256,786432,196608]],[8672,[2424832,983040]],[8673,[2490368,983040]],[8674,[2424832,786432,196608]],[8675,[2424832,786432,196608]],[8676,[2424832,786432,196608]],[8677,[2424832,786432,196608]],[8678,[21,15]],[8679,[37,15]],[8680,[37,21,15]],[8681,[37,21,15]],[8682,[22,15]],[8683,[38,15]],[8684,[38,22,15]],[8685,[38,22,15]],[8686,[38,21]],[8687,[42,25]],[8688,[38,21,12]],[8689,[38,21,12]],[8690,[37,22]],[8691,[41,26]],[8692,[37,22,12]],[8693,[37,22,12]],[8694,[41,21]],[8695,[42,22]],[8696,[41,21,3]],[8697,[41,21,3]],[8698,[37,25]],[8699,[38,26]],[8700,[37,25,3]],[8701,[37,25,3]],[8702,[41,21]],[8703,[37,25]],[8704,[37,21,12]],[8705,[37,21,12]],[8706,[37,21,12]],[8707,[42,22]],[8708,[38,26]],[8709,[38,22,12]],[8710,[38,22,12]],[8711,[38,22,12]],[8712,[38,21]],[8713,[37,22]],[8714,[37,21,3]],[8715,[37,21,3]],[8716,[37,21,3]],[8717,[42,25]],[8718,[41,26]],[8719,[41,25,3]],[8720,[41,25,3]],[8721,[41,25,3]],[8722,[69,15]],[8723,[133,15]],[8724,[133,69,15]],[8725,[133,69,15]],[8726,[70,15]],[8727,[134,15]],[8728,[134,70,15]],[8729,[134,70,15]],[8730,[134,69]],[8731,[138,73]],[8732,[134,69,12]],[8733,[134,69,12]],[8734,[133,70]],[8735,[137,74]],[8736,[133,70,12]],[8737,[133,70,12]],[8738,[137,69]],[8739,[138,70]],[8740,[137,69,3]],[8741,[137,69,3]],[8742,[133,73]],[8743,[134,74]],[8744,[133,73,3]],[8745,[133,73,3]],[8746,[137,69]],[8747,[133,73]],[8748,[133,69,12]],[8749,[133,69,12]],[8750,[133,69,12]],[8751,[138,70]],[8752,[134,74]],[8753,[134,70,12]],[8754,[134,70,12]],[8755,[134,70,12]],[8756,[134,69]],[8757,[133,70]],[8758,[133,69,3]],[8759,[133,69,3]],[8760,[133,69,3]],[8761,[138,73]],[8762,[137,74]],[8763,[137,73,3]],[8764,[137,73,3]],[8765,[137,73,3]],[8766,[261,15]],[8767,[517,15]],[8768,[517,261,15]],[8769,[517,261,15]],[8770,[262,15]],[8771,[518,15]],[8772,[518,262,15]],[8773,[518,262,15]],[8774,[518,261]],[8775,[522,265]],[8776,[518,261,12]],[8777,[518,261,12]],[8778,[517,262]],[8779,[521,266]],[8780,[517,262,12]],[8781,[517,262,12]],[8782,[521,261]],[8783,[522,262]],[8784,[521,261,3]],[8785,[521,261,3]],[8786,[517,265]],[8787,[518,266]],[8788,[517,265,3]],[8789,[517,265,3]],[8790,[521,261]],[8791,[517,265]],[8792,[517,261,12]],[8793,[517,261,12]],[8794,[517,261,12]],[8795,[522,262]],[8796,[518,266]],[8797,[518,262,12]],[8798,[518,262,12]],[8799,[518,262,12]],[8800,[518,261]],[8801,[517,262]],[8802,[517,261,3]],[8803,[517,261,3]],[8804,[517,261,3]],[8805,[522,265]],[8806,[521,266]],[8807,[521,265,3]],[8808,[521,265,3]],[8809,[521,265,3]],[8810,[1029,15]],[8811,[2053,15]],[8812,[2053,1029,15]],[8813,[2053,1029,15]],[8814,[1030,15]],[8815,[2054,15]],[8816,[2054,1030,15]],[8817,[2054,1030,15]],[8818,[2054,1029]],[8819,[2058,1033]],[8820,[2054,1029,12]],[8821,[2054,1029,12]],[8822,[2053,1030]],[8823,[2057,1034]],[8824,[2053,1030,12]],[8825,[2053,1030,12]],[8826,[2057,1029]],[8827,[2058,1030]],[8828,[2057,1029,3]],[8829,[2057,1029,3]],[8830,[2053,1033]],[8831,[2054,1034]],[8832,[2053,1033,3]],[8833,[2053,1033,3]],[8834,[2057,1029]],[8835,[2053,1033]],[8836,[2053,1029,12]],[8837,[2053,1029,12]],[8838,[2053,1029,12]],[8839,[2058,1030]],[8840,[2054,1034]],[8841,[2054,1030,12]],[8842,[2054,1030,12]],[8843,[2054,1030,12]],[8844,[2054,1029]],[8845,[2053,1030]],[8846,[2053,1029,3]],[8847,[2053,1029,3]],[8848,[2053,1029,3]],[8849,[2058,1033]],[8850,[2057,1034]],[8851,[2057,1033,3]],[8852,[2057,1033,3]],[8853,[2057,1033,3]],[8854,[4101,15]],[8855,[8197,15]],[8856,[8197,4101,15]],[8857,[8197,4101,15]],[8858,[4102,15]],[8859,[8198,15]],[8860,[8198,4102,15]],[8861,[8198,4102,15]],[8862,[8198,4101]],[8863,[8202,4105]],[8864,[8198,4101,12]],[8865,[8198,4101,12]],[8866,[8197,4102]],[8867,[8201,4106]],[8868,[8197,4102,12]],[8869,[8197,4102,12]],[8870,[8201,4101]],[8871,[8202,4102]],[8872,[8201,4101,3]],[8873,[8201,4101,3]],[8874,[8197,4105]],[8875,[8198,4106]],[8876,[8197,4105,3]],[8877,[8197,4105,3]],[8878,[8201,4101]],[8879,[8197,4105]],[8880,[8197,4101,12]],[8881,[8197,4101,12]],[8882,[8197,4101,12]],[8883,[8202,4102]],[8884,[8198,4106]],[8885,[8198,4102,12]],[8886,[8198,4102,12]],[8887,[8198,4102,12]],[8888,[8198,4101]],[8889,[8197,4102]],[8890,[8197,4101,3]],[8891,[8197,4101,3]],[8892,[8197,4101,3]],[8893,[8202,4105]],[8894,[8201,4106]],[8895,[8201,4105,3]],[8896,[8201,4105,3]],[8897,[8201,4105,3]],[8898,[16389,15]],[8899,[32773,15]],[8900,[32773,16389,15]],[8901,[32773,16389,15]],[8902,[16390,15]],[8903,[32774,15]],[8904,[32774,16390,15]],[8905,[32774,16390,15]],[8906,[32774,16389]],[8907,[32778,16393]],[8908,[32774,16389,12]],[8909,[32774,16389,12]],[8910,[32773,16390]],[8911,[32777,16394]],[8912,[32773,16390,12]],[8913,[32773,16390,12]],[8914,[32777,16389]],[8915,[32778,16390]],[8916,[32777,16389,3]],[8917,[32777,16389,3]],[8918,[32773,16393]],[8919,[32774,16394]],[8920,[32773,16393,3]],[8921,[32773,16393,3]],[8922,[32777,16389]],[8923,[32773,16393]],[8924,[32773,16389,12]],[8925,[32773,16389,12]],[8926,[32773,16389,12]],[8927,[32773,16389,12]],[8928,[32778,16390]],[8929,[32774,16394]],[8930,[32774,16390,12]],[8931,[32774,16390,12]],[8932,[32774,16390,12]],[8933,[32774,16390,12]],[8934,[32774,16389]],[8935,[32773,16390]],[8936,[32773,16389,3]],[8937,[32773,16389,3]],[8938,[32773,16389,3]],[8939,[32773,16389,3]],[8940,[32778,16393]],[8941,[32777,16394]],[8942,[32777,16393,3]],[8943,[32777,16393,3]],[8944,[32777,16393,3]],[8945,[32777,16393,3]],[8946,[65541,15]],[8947,[131077,15]],[8948,[131077,65541,15]],[8949,[131077,65541,15]],[8950,[65542,15]],[8951,[131078,15]],[8952,[131078,65542,15]],[8953,[131078,65542,15]],[8954,[131078,65541]],[8955,[131082,65545]],[8956,[131078,65541,12]],[8957,[131078,65541,12]],[8958,[131077,65542]],[8959,[131081,65546]],[8960,[131077,65542,12]],[8961,[131077,65542,12]],[8962,[131081,65541]],[8963,[131082,65542]],[8964,[131081,65541,3]],[8965,[131081,65541,3]],[8966,[131077,65545]],[8967,[131078,65546]],[8968,[131077,65545,3]],[8969,[131077,65545,3]],[8970,[131081,65541]],[8971,[131077,65545]],[8972,[131077,65541,12]],[8973,[131077,65541,12]],[8974,[131077,65541,12]],[8975,[131082,65542]],[8976,[131078,65546]],[8977,[131078,65542,12]],[8978,[131078,65542,12]],[8979,[131078,65542,12]],[8980,[131078,65541]],[8981,[131077,65542]],[8982,[131077,65541,3]],[8983,[131077,65541,3]],[8984,[131077,65541,3]],[8985,[131082,65545]],[8986,[131081,65546]],[8987,[131081,65545,3]],[8988,[131081,65545,3]],[8989,[131081,65545,3]],[8990,[262149,15]],[8991,[524293,15]],[8992,[524293,262149,15]],[8993,[524293,262149,15]],[8994,[262150,15]],[8995,[524294,15]],[8996,[524294,262150,15]],[8997,[524294,262150,15]],[8998,[524294,262149]],[8999,[524298,262153]],[9000,[524294,262149,12]],[9001,[524294,262149,12]],[9002,[524293,262150]],[9003,[524297,262154]],[9004,[524293,262150,12]],[9005,[524293,262150,12]],[9006,[524297,262149]],[9007,[524298,262150]],[9008,[524297,262149,3]],[9009,[524297,262149,3]],[9010,[524293,262153]],[9011,[524294,262154]],[9012,[524293,262153,3]],[9013,[524293,262153,3]],[9014,[524297,262149]],[9015,[524293,262153]],[9016,[524293,262149,12]],[9017,[524293,262149,12]],[9018,[524293,262149,12]],[9019,[524298,262150]],[9020,[524294,262154]],[9021,[524294,262150,12]],[9022,[524294,262150,12]],[9023,[524294,262150,12]],[9024,[524294,262149]],[9025,[524293,262150]],[9026,[524293,262149,3]],[9027,[524293,262149,3]],[9028,[524293,262149,3]],[9029,[524298,262153]],[9030,[524297,262154]],[9031,[524297,262153,3]],[9032,[524297,262153,3]],[9033,[524297,262153,3]],[9034,[1048581,15]],[9035,[2097157,15]],[9036,[2097157,1048581,15]],[9037,[2097157,1048581,15]],[9038,[1048582,15]],[9039,[2097158,15]],[9040,[2097158,1048582,15]],[9041,[2097158,1048582,15]],[9042,[2097158,1048581]],[9043,[2097162,1048585]],[9044,[2097158,1048581,12]],[9045,[2097158,1048581,12]],[9046,[2097157,1048582]],[9047,[2097161,1048586]],[9048,[2097157,1048582,12]],[9049,[2097157,1048582,12]],[9050,[2097161,1048581]],[9051,[2097162,1048582]],[9052,[2097161,1048581,3]],[9053,[2097161,1048581,3]],[9054,[2097157,1048585]],[9055,[2097158,1048586]],[9056,[2097157,1048585,3]],[9057,[2097157,1048585,3]],[9058,[2097161,1048581]],[9059,[2097157,1048585]],[9060,[2097157,1048581,12]],[9061,[2097157,1048581,12]],[9062,[2097157,1048581,12]],[9063,[2097157,1048581,12]],[9064,[2097162,1048582]],[9065,[2097158,1048586]],[9066,[2097158,1048582,12]],[9067,[2097158,1048582,12]],[9068,[2097158,1048582,12]],[9069,[2097158,1048582,12]],[9070,[2097158,1048581]],[9071,[2097157,1048582]],[9072,[2097157,1048581,3]],[9073,[2097157,1048581,3]],[9074,[2097157,1048581,3]],[9075,[2097157,1048581,3]],[9076,[2097162,1048585]],[9077,[2097161,1048586]],[9078,[2097161,1048585,3]],[9079,[2097161,1048585,3]],[9080,[2097161,1048585,3]],[9081,[2097161,1048585,3]],[9082,[81,51]],[9083,[145,51]],[9084,[145,81,51]],[9085,[145,81,51]],[9086,[82,51]],[9087,[146,51]],[9088,[146,82,51]],[9089,[146,82,51]],[9090,[146,81]],[9091,[162,97]],[9092,[146,81,48]],[9093,[146,81,48]],[9094,[145,82]],[9095,[161,98]],[9096,[145,82,48]],[9097,[145,82,48]],[9098,[161,81]],[9099,[162,82]],[9100,[161,81,3]],[9101,[161,81,3]],[9102,[145,97]],[9103,[146,98]],[9104,[145,97,3]],[9105,[145,97,3]],[9106,[161,81]],[9107,[145,97]],[9108,[145,81,48]],[9109,[145,81,48]],[9110,[145,81,48]],[9111,[145,81,48]],[9112,[162,82]],[9113,[146,98]],[9114,[146,82,48]],[9115,[146,82,48]],[9116,[146,82,48]],[9117,[146,82,48]],[9118,[146,81]],[9119,[145,82]],[9120,[145,81,3]],[9121,[145,81,3]],[9122,[145,81,3]],[9123,[162,97]],[9124,[161,98]],[9125,[161,97,3]],[9126,[161,97,3]],[9127,[161,97,3]],[9128,[273,51]],[9129,[529,51]],[9130,[529,273,51]],[9131,[529,273,51]],[9132,[274,51]],[9133,[530,51]],[9134,[530,274,51]],[9135,[530,274,51]],[9136,[530,273]],[9137,[546,289]],[9138,[530,273,48]],[9139,[530,273,48]],[9140,[529,274]],[9141,[545,290]],[9142,[529,274,48]],[9143,[529,274,48]],[9144,[545,273]],[9145,[546,274]],[9146,[545,273,3]],[9147,[545,273,3]],[9148,[529,289]],[9149,[530,290]],[9150,[529,289,3]],[9151,[529,289,3]],[9152,[545,273]],[9153,[529,289]],[9154,[529,273,48]],[9155,[529,273,48]],[9156,[529,273,48]],[9157,[529,273,48]],[9158,[546,274]],[9159,[530,290]],[9160,[530,274,48]],[9161,[530,274,48]],[9162,[530,274,48]],[9163,[530,274,48]],[9164,[530,273]],[9165,[529,274]],[9166,[529,273,3]],[9167,[529,273,3]],[9168,[529,273,3]],[9169,[546,289]],[9170,[545,290]],[9171,[545,289,3]],[9172,[545,289,3]],[9173,[545,289,3]],[9174,[1041,51]],[9175,[2065,51]],[9176,[2065,1041,51]],[9177,[2065,1041,51]],[9178,[1042,51]],[9179,[2066,51]],[9180,[2066,1042,51]],[9181,[2066,1042,51]],[9182,[2066,1041]],[9183,[2082,1057]],[9184,[2066,1041,48]],[9185,[2066,1041,48]],[9186,[2065,1042]],[9187,[2081,1058]],[9188,[2065,1042,48]],[9189,[2065,1042,48]],[9190,[2081,1041]],[9191,[2082,1042]],[9192,[2081,1041,3]],[9193,[2081,1041,3]],[9194,[2065,1057]],[9195,[2066,1058]],[9196,[2065,1057,3]],[9197,[2065,1057,3]],[9198,[2081,1041]],[9199,[2065,1057]],[9200,[2065,1041,48]],[9201,[2065,1041,48]],[9202,[2065,1041,48]],[9203,[2082,1042]],[9204,[2066,1058]],[9205,[2066,1042,48]],[9206,[2066,1042,48]],[9207,[2066,1042,48]],[9208,[2066,1041]],[9209,[2065,1042]],[9210,[2065,1041,3]],[9211,[2065,1041,3]],[9212,[2065,1041,3]],[9213,[2082,1057]],[9214,[2081,1058]],[9215,[2081,1057,3]],[9216,[2081,1057,3]],[9217,[2081,1057,3]],[9218,[4113,51]],[9219,[8209,51]],[9220,[8209,4113,51]],[9221,[8209,4113,51]],[9222,[4114,51]],[9223,[8210,51]],[9224,[8210,4114,51]],[9225,[8210,4114,51]],[9226,[8210,4113]],[9227,[8226,4129]],[9228,[8210,4113,48]],[9229,[8210,4113,48]],[9230,[8209,4114]],[9231,[8225,4130]],[9232,[8209,4114,48]],[9233,[8209,4114,48]],[9234,[8225,4113]],[9235,[8226,4114]],[9236,[8225,4113,3]],[9237,[8225,4113,3]],[9238,[8209,4129]],[9239,[8210,4130]],[9240,[8209,4129,3]],[9241,[8209,4129,3]],[9242,[8225,4113]],[9243,[8209,4129]],[9244,[8209,4113,48]],[9245,[8209,4113,48]],[9246,[8209,4113,48]],[9247,[8226,4114]],[9248,[8210,4130]],[9249,[8210,4114,48]],[9250,[8210,4114,48]],[9251,[8210,4114,48]],[9252,[8210,4113]],[9253,[8209,4114]],[9254,[8209,4113,3]],[9255,[8209,4113,3]],[9256,[8209,4113,3]],[9257,[8226,4129]],[9258,[8225,4130]],[9259,[8225,4129,3]],[9260,[8225,4129,3]],[9261,[8225,4129,3]],[9262,[16401,51]],[9263,[32785,51]],[9264,[32785,16401,51]],[9265,[32785,16401,51]],[9266,[16402,51]],[9267,[32786,51]],[9268,[32786,16402,51]],[9269,[32786,16402,51]],[9270,[32786,16401]],[9271,[32802,16417]],[9272,[32786,16401,48]],[9273,[32786,16401,48]],[9274,[32785,16402]],[9275,[32801,16418]],[9276,[32785,16402,48]],[9277,[32785,16402,48]],[9278,[32801,16401]],[9279,[32802,16402]],[9280,[32801,16401,3]],[9281,[32801,16401,3]],[9282,[32785,16417]],[9283,[32786,16418]],[9284,[32785,16417,3]],[9285,[32785,16417,3]],[9286,[32801,16401]],[9287,[32785,16417]],[9288,[32785,16401,48]],[9289,[32785,16401,48]],[9290,[32785,16401,48]],[9291,[32785,16401,48]],[9292,[32802,16402]],[9293,[32786,16418]],[9294,[32786,16402,48]],[9295,[32786,16402,48]],[9296,[32786,16402,48]],[9297,[32786,16402,48]],[9298,[32786,16401]],[9299,[32785,16402]],[9300,[32785,16401,3]],[9301,[32785,16401,3]],[9302,[32785,16401,3]],[9303,[32785,16401,3]],[9304,[32802,16417]],[9305,[32801,16418]],[9306,[32801,16417,3]],[9307,[32801,16417,3]],[9308,[32801,16417,3]],[9309,[32801,16417,3]],[9310,[65553,51]],[9311,[131089,51]],[9312,[131089,65553,51]],[9313,[131089,65553,51]],[9314,[65554,51]],[9315,[131090,51]],[9316,[131090,65554,51]],[9317,[131090,65554,51]],[9318,[131090,65553]],[9319,[131106,65569]],[9320,[131090,65553,48]],[9321,[131090,65553,48]],[9322,[131089,65554]],[9323,[131105,65570]],[9324,[131089,65554,48]],[9325,[131089,65554,48]],[9326,[131105,65553]],[9327,[131106,65554]],[9328,[131105,65553,3]],[9329,[131105,65553,3]],[9330,[131089,65569]],[9331,[131090,65570]],[9332,[131089,65569,3]],[9333,[131089,65569,3]],[9334,[131105,65553]],[9335,[131089,65569]],[9336,[131089,65553,48]],[9337,[131089,65553,48]],[9338,[131089,65553,48]],[9339,[131106,65554]],[9340,[131090,65570]],[9341,[131090,65554,48]],[9342,[131090,65554,48]],[9343,[131090,65554,48]],[9344,[131090,65553]],[9345,[131089,65554]],[9346,[131089,65553,3]],[9347,[131089,65553,3]],[9348,[131089,65553,3]],[9349,[131106,65569]],[9350,[131105,65570]],[9351,[131105,65569,3]],[9352,[131105,65569,3]],[9353,[131105,65569,3]],[9354,[262161,51]],[9355,[524305,51]],[9356,[524305,262161,51]],[9357,[524305,262161,51]],[9358,[262162,51]],[9359,[524306,51]],[9360,[524306,262162,51]],[9361,[524306,262162,51]],[9362,[524306,262161]],[9363,[524322,262177]],[9364,[524306,262161,48]],[9365,[524306,262161,48]],[9366,[524305,262162]],[9367,[524321,262178]],[9368,[524305,262162,48]],[9369,[524305,262162,48]],[9370,[524321,262161]],[9371,[524322,262162]],[9372,[524321,262161,3]],[9373,[524321,262161,3]],[9374,[524305,262177]],[9375,[524306,262178]],[9376,[524305,262177,3]],[9377,[524305,262177,3]],[9378,[524321,262161]],[9379,[524305,262177]],[9380,[524305,262161,48]],[9381,[524305,262161,48]],[9382,[524305,262161,48]],[9383,[524322,262162]],[9384,[524306,262178]],[9385,[524306,262162,48]],[9386,[524306,262162,48]],[9387,[524306,262162,48]],[9388,[524306,262161]],[9389,[524305,262162]],[9390,[524305,262161,3]],[9391,[524305,262161,3]],[9392,[524305,262161,3]],[9393,[524322,262177]],[9394,[524321,262178]],[9395,[524321,262177,3]],[9396,[524321,262177,3]],[9397,[524321,262177,3]],[9398,[1048593,51]],[9399,[2097169,51]],[9400,[2097169,1048593,51]],[9401,[2097169,1048593,51]],[9402,[1048594,51]],[9403,[2097170,51]],[9404,[2097170,1048594,51]],[9405,[2097170,1048594,51]],[9406,[2097170,1048593]],[9407,[2097186,1048609]],[9408,[2097170,1048593,48]],[9409,[2097170,1048593,48]],[9410,[2097169,1048594]],[9411,[2097185,1048610]],[9412,[2097169,1048594,48]],[9413,[2097169,1048594,48]],[9414,[2097185,1048593]],[9415,[2097186,1048594]],[9416,[2097185,1048593,3]],[9417,[2097185,1048593,3]],[9418,[2097169,1048609]],[9419,[2097170,1048610]],[9420,[2097169,1048609,3]],[9421,[2097169,1048609,3]],[9422,[2097185,1048593]],[9423,[2097169,1048609]],[9424,[2097169,1048593,48]],[9425,[2097169,1048593,48]],[9426,[2097169,1048593,48]],[9427,[2097186,1048594]],[9428,[2097170,1048610]],[9429,[2097170,1048594,48]],[9430,[2097170,1048594,48]],[9431,[2097170,1048594,48]],[9432,[2097170,1048593]],[9433,[2097169,1048594]],[9434,[2097169,1048593,3]],[9435,[2097169,1048593,3]],[9436,[2097169,1048593,3]],[9437,[2097169,1048593,3]],[9438,[2097186,1048609]],[9439,[2097185,1048610]],[9440,[2097185,1048609,3]],[9441,[2097185,1048609,3]],[9442,[2097185,1048609,3]],[9443,[2097185,1048609,3]],[9444,[321,195]],[9445,[577,195]],[9446,[577,321,195]],[9447,[577,321,195]],[9448,[322,195]],[9449,[578,195]],[9450,[578,322,195]],[9451,[578,322,195]],[9452,[578,321]],[9453,[642,385]],[9454,[578,321,192]],[9455,[578,321,192]],[9456,[577,322]],[9457,[641,386]],[9458,[577,322,192]],[9459,[577,322,192]],[9460,[641,321]],[9461,[642,322]],[9462,[641,321,3]],[9463,[641,321,3]],[9464,[577,385]],[9465,[578,386]],[9466,[577,385,3]],[9467,[577,385,3]],[9468,[641,321]],[9469,[577,385]],[9470,[577,321,192]],[9471,[577,321,192]],[9472,[577,321,192]],[9473,[577,321,192]],[9474,[642,322]],[9475,[578,386]],[9476,[578,322,192]],[9477,[578,322,192]],[9478,[578,322,192]],[9479,[578,322,192]],[9480,[578,321]],[9481,[577,322]],[9482,[577,321,3]],[9483,[577,321,3]],[9484,[577,321,3]],[9485,[642,385]],[9486,[641,386]],[9487,[641,385,3]],[9488,[641,385,3]],[9489,[641,385,3]],[9490,[1089,195]],[9491,[2113,195]],[9492,[2113,1089,195]],[9493,[2113,1089,195]],[9494,[1090,195]],[9495,[2114,195]],[9496,[2114,1090,195]],[9497,[2114,1090,195]],[9498,[2114,1089]],[9499,[2178,1153]],[9500,[2114,1089,192]],[9501,[2114,1089,192]],[9502,[2113,1090]],[9503,[2177,1154]],[9504,[2113,1090,192]],[9505,[2113,1090,192]],[9506,[2177,1089]],[9507,[2178,1090]],[9508,[2177,1089,3]],[9509,[2177,1089,3]],[9510,[2113,1153]],[9511,[2114,1154]],[9512,[2113,1153,3]],[9513,[2113,1153,3]],[9514,[2177,1089]],[9515,[2113,1153]],[9516,[2113,1089,192]],[9517,[2113,1089,192]],[9518,[2113,1089,192]],[9519,[2178,1090]],[9520,[2114,1154]],[9521,[2114,1090,192]],[9522,[2114,1090,192]],[9523,[2114,1090,192]],[9524,[2114,1089]],[9525,[2113,1090]],[9526,[2113,1089,3]],[9527,[2113,1089,3]],[9528,[2113,1089,3]],[9529,[2178,1153]],[9530,[2177,1154]],[9531,[2177,1153,3]],[9532,[2177,1153,3]],[9533,[2177,1153,3]],[9534,[4161,195]],[9535,[8257,195]],[9536,[8257,4161,195]],[9537,[8257,4161,195]],[9538,[4162,195]],[9539,[8258,195]],[9540,[8258,4162,195]],[9541,[8258,4162,195]],[9542,[8258,4161]],[9543,[8322,4225]],[9544,[8258,4161,192]],[9545,[8258,4161,192]],[9546,[8257,4162]],[9547,[8321,4226]],[9548,[8257,4162,192]],[9549,[8257,4162,192]],[9550,[8321,4161]],[9551,[8322,4162]],[9552,[8321,4161,3]],[9553,[8321,4161,3]],[9554,[8257,4225]],[9555,[8258,4226]],[9556,[8257,4225,3]],[9557,[8257,4225,3]],[9558,[8321,4161]],[9559,[8257,4225]],[9560,[8257,4161,192]],[9561,[8257,4161,192]],[9562,[8257,4161,192]],[9563,[8322,4162]],[9564,[8258,4226]],[9565,[8258,4162,192]],[9566,[8258,4162,192]],[9567,[8258,4162,192]],[9568,[8258,4161]],[9569,[8257,4162]],[9570,[8257,4161,3]],[9571,[8257,4161,3]],[9572,[8257,4161,3]],[9573,[8322,4225]],[9574,[8321,4226]],[9575,[8321,4225,3]],[9576,[8321,4225,3]],[9577,[8321,4225,3]],[9578,[16449,195]],[9579,[32833,195]],[9580,[32833,16449,195]],[9581,[32833,16449,195]],[9582,[16450,195]],[9583,[32834,195]],[9584,[32834,16450,195]],[9585,[32834,16450,195]],[9586,[32834,16449]],[9587,[32898,16513]],[9588,[32834,16449,192]],[9589,[32834,16449,192]],[9590,[32833,16450]],[9591,[32897,16514]],[9592,[32833,16450,192]],[9593,[32833,16450,192]],[9594,[32897,16449]],[9595,[32898,16450]],[9596,[32897,16449,3]],[9597,[32897,16449,3]],[9598,[32833,16513]],[9599,[32834,16514]],[9600,[32833,16513,3]],[9601,[32833,16513,3]],[9602,[32897,16449]],[9603,[32833,16513]],[9604,[32833,16449,192]],[9605,[32833,16449,192]],[9606,[32833,16449,192]],[9607,[32898,16450]],[9608,[32834,16514]],[9609,[32834,16450,192]],[9610,[32834,16450,192]],[9611,[32834,16450,192]],[9612,[32834,16449]],[9613,[32833,16450]],[9614,[32833,16449,3]],[9615,[32833,16449,3]],[9616,[32833,16449,3]],[9617,[32833,16449,3]],[9618,[32898,16513]],[9619,[32897,16514]],[9620,[32897,16513,3]],[9621,[32897,16513,3]],[9622,[32897,16513,3]],[9623,[32897,16513,3]],[9624,[65601,195]],[9625,[131137,195]],[9626,[131137,65601,195]],[9627,[131137,65601,195]],[9628,[65602,195]],[9629,[131138,195]],[9630,[131138,65602,195]],[9631,[131138,65602,195]],[9632,[131138,65601]],[9633,[131202,65665]],[9634,[131138,65601,192]],[9635,[131138,65601,192]],[9636,[131137,65602]],[9637,[131201,65666]],[9638,[131137,65602,192]],[9639,[131137,65602,192]],[9640,[131201,65601]],[9641,[131202,65602]],[9642,[131201,65601,3]],[9643,[131201,65601,3]],[9644,[131137,65665]],[9645,[131138,65666]],[9646,[131137,65665,3]],[9647,[131137,65665,3]],[9648,[131201,65601]],[9649,[131137,65665]],[9650,[131137,65601,192]],[9651,[131137,65601,192]],[9652,[131137,65601,192]],[9653,[131202,65602]],[9654,[131138,65666]],[9655,[131138,65602,192]],[9656,[131138,65602,192]],[9657,[131138,65602,192]],[9658,[131138,65601]],[9659,[131137,65602]],[9660,[131137,65601,3]],[9661,[131137,65601,3]],[9662,[131137,65601,3]],[9663,[131202,65665]],[9664,[131201,65666]],[9665,[131201,65665,3]],[9666,[131201,65665,3]],[9667,[131201,65665,3]],[9668,[262209,195]],[9669,[524353,195]],[9670,[524353,262209,195]],[9671,[524353,262209,195]],[9672,[262210,195]],[9673,[524354,195]],[9674,[524354,262210,195]],[9675,[524354,262210,195]],[9676,[524354,262209]],[9677,[524418,262273]],[9678,[524354,262209,192]],[9679,[524354,262209,192]],[9680,[524353,262210]],[9681,[524417,262274]],[9682,[524353,262210,192]],[9683,[524353,262210,192]],[9684,[524417,262209]],[9685,[524418,262210]],[9686,[524417,262209,3]],[9687,[524417,262209,3]],[9688,[524353,262273]],[9689,[524354,262274]],[9690,[524353,262273,3]],[9691,[524353,262273,3]],[9692,[524417,262209]],[9693,[524353,262273]],[9694,[524353,262209,192]],[9695,[524353,262209,192]],[9696,[524353,262209,192]],[9697,[524418,262210]],[9698,[524354,262274]],[9699,[524354,262210,192]],[9700,[524354,262210,192]],[9701,[524354,262210,192]],[9702,[524354,262209]],[9703,[524353,262210]],[9704,[524353,262209,3]],[9705,[524353,262209,3]],[9706,[524353,262209,3]],[9707,[524418,262273]],[9708,[524417,262274]],[9709,[524417,262273,3]],[9710,[524417,262273,3]],[9711,[524417,262273,3]],[9712,[1048641,195]],[9713,[2097217,195]],[9714,[2097217,1048641,195]],[9715,[2097217,1048641,195]],[9716,[1048642,195]],[9717,[2097218,195]],[9718,[2097218,1048642,195]],[9719,[2097218,1048642,195]],[9720,[2097218,1048641]],[9721,[2097282,1048705]],[9722,[2097218,1048641,192]],[9723,[2097218,1048641,192]],[9724,[2097217,1048642]],[9725,[2097281,1048706]],[9726,[2097217,1048642,192]],[9727,[2097217,1048642,192]],[9728,[2097281,1048641]],[9729,[2097282,1048642]],[9730,[2097281,1048641,3]],[9731,[2097281,1048641,3]],[9732,[2097217,1048705]],[9733,[2097218,1048706]],[9734,[2097217,1048705,3]],[9735,[2097217,1048705,3]],[9736,[2097281,1048641]],[9737,[2097217,1048705]],[9738,[2097217,1048641,192]],[9739,[2097217,1048641,192]],[9740,[2097217,1048641,192]],[9741,[2097282,1048642]],[9742,[2097218,1048706]],[9743,[2097218,1048642,192]],[9744,[2097218,1048642,192]],[9745,[2097218,1048642,192]],[9746,[2097218,1048641]],[9747,[2097217,1048642]],[9748,[2097217,1048641,3]],[9749,[2097217,1048641,3]],[9750,[2097217,1048641,3]],[9751,[2097217,1048641,3]],[9752,[2097282,1048705]],[9753,[2097281,1048706]],[9754,[2097281,1048705,3]],[9755,[2097281,1048705,3]],[9756,[2097281,1048705,3]],[9757,[2097281,1048705,3]],[9758,[1281,771]],[9759,[2305,771]],[9760,[2305,1281,771]],[9761,[2305,1281,771]],[9762,[1282,771]],[9763,[2306,771]],[9764,[2306,1282,771]],[9765,[2306,1282,771]],[9766,[2306,1281]],[9767,[2562,1537]],[9768,[2306,1281,768]],[9769,[2306,1281,768]],[9770,[2305,1282]],[9771,[2561,1538]],[9772,[2305,1282,768]],[9773,[2305,1282,768]],[9774,[2561,1281]],[9775,[2562,1282]],[9776,[2561,1281,3]],[9777,[2561,1281,3]],[9778,[2305,1537]],[9779,[2306,1538]],[9780,[2305,1537,3]],[9781,[2305,1537,3]],[9782,[2561,1281]],[9783,[2305,1537]],[9784,[2305,1281,768]],[9785,[2305,1281,768]],[9786,[2305,1281,768]],[9787,[2562,1282]],[9788,[2306,1538]],[9789,[2306,1282,768]],[9790,[2306,1282,768]],[9791,[2306,1282,768]],[9792,[2306,1281]],[9793,[2305,1282]],[9794,[2305,1281,3]],[9795,[2305,1281,3]],[9796,[2305,1281,3]],[9797,[2562,1537]],[9798,[2561,1538]],[9799,[2561,1537,3]],[9800,[2561,1537,3]],[9801,[2561,1537,3]],[9802,[4353,771]],[9803,[8449,771]],[9804,[8449,4353,771]],[9805,[8449,4353,771]],[9806,[4354,771]],[9807,[8450,771]],[9808,[8450,4354,771]],[9809,[8450,4354,771]],[9810,[8450,4353]],[9811,[8706,4609]],[9812,[8450,4353,768]],[9813,[8450,4353,768]],[9814,[8449,4354]],[9815,[8705,4610]],[9816,[8449,4354,768]],[9817,[8449,4354,768]],[9818,[8705,4353]],[9819,[8706,4354]],[9820,[8705,4353,3]],[9821,[8705,4353,3]],[9822,[8449,4609]],[9823,[8450,4610]],[9824,[8449,4609,3]],[9825,[8449,4609,3]],[9826,[8705,4353]],[9827,[8449,4609]],[9828,[8449,4353,768]],[9829,[8449,4353,768]],[9830,[8449,4353,768]],[9831,[8706,4354]],[9832,[8450,4610]],[9833,[8450,4354,768]],[9834,[8450,4354,768]],[9835,[8450,4354,768]],[9836,[8450,4353]],[9837,[8449,4354]],[9838,[8449,4353,3]],[9839,[8449,4353,3]],[9840,[8449,4353,3]],[9841,[8706,4609]],[9842,[8705,4610]],[9843,[8705,4609,3]],[9844,[8705,4609,3]],[9845,[8705,4609,3]],[9846,[16641,771]],[9847,[33025,771]],[9848,[33025,16641,771]],[9849,[33025,16641,771]],[9850,[16642,771]],[9851,[33026,771]],[9852,[33026,16642,771]],[9853,[33026,16642,771]],[9854,[33026,16641]],[9855,[33282,16897]],[9856,[33026,16641,768]],[9857,[33026,16641,768]],[9858,[33025,16642]],[9859,[33281,16898]],[9860,[33025,16642,768]],[9861,[33025,16642,768]],[9862,[33281,16641]],[9863,[33282,16642]],[9864,[33281,16641,3]],[9865,[33281,16641,3]],[9866,[33025,16897]],[9867,[33026,16898]],[9868,[33025,16897,3]],[9869,[33025,16897,3]],[9870,[33281,16641]],[9871,[33025,16897]],[9872,[33025,16641,768]],[9873,[33025,16641,768]],[9874,[33025,16641,768]],[9875,[33282,16642]],[9876,[33026,16898]],[9877,[33026,16642,768]],[9878,[33026,16642,768]],[9879,[33026,16642,768]],[9880,[33026,16641]],[9881,[33025,16642]],[9882,[33025,16641,3]],[9883,[33025,16641,3]],[9884,[33025,16641,3]],[9885,[33025,16641,3]],[9886,[33282,16897]],[9887,[33281,16898]],[9888,[33281,16897,3]],[9889,[33281,16897,3]],[9890,[33281,16897,3]],[9891,[33281,16897,3]],[9892,[65793,771]],[9893,[131329,771]],[9894,[131329,65793,771]],[9895,[131329,65793,771]],[9896,[65794,771]],[9897,[131330,771]],[9898,[131330,65794,771]],[9899,[131330,65794,771]],[9900,[131330,65793]],[9901,[131586,66049]],[9902,[131330,65793,768]],[9903,[131330,65793,768]],[9904,[131329,65794]],[9905,[131585,66050]],[9906,[131329,65794,768]],[9907,[131329,65794,768]],[9908,[131585,65793]],[9909,[131586,65794]],[9910,[131585,65793,3]],[9911,[131585,65793,3]],[9912,[131329,66049]],[9913,[131330,66050]],[9914,[131329,66049,3]],[9915,[131329,66049,3]],[9916,[131585,65793]],[9917,[131329,66049]],[9918,[131329,65793,768]],[9919,[131329,65793,768]],[9920,[131329,65793,768]],[9921,[131586,65794]],[9922,[131330,66050]],[9923,[131330,65794,768]],[9924,[131330,65794,768]],[9925,[131330,65794,768]],[9926,[131330,65793]],[9927,[131329,65794]],[9928,[131329,65793,3]],[9929,[131329,65793,3]],[9930,[131329,65793,3]],[9931,[131586,66049]],[9932,[131585,66050]],[9933,[131585,66049,3]],[9934,[131585,66049,3]],[9935,[131585,66049,3]],[9936,[262401,771]],[9937,[524545,771]],[9938,[524545,262401,771]],[9939,[524545,262401,771]],[9940,[262402,771]],[9941,[524546,771]],[9942,[524546,262402,771]],[9943,[524546,262402,771]],[9944,[524546,262401]],[9945,[524802,262657]],[9946,[524546,262401,768]],[9947,[524546,262401,768]],[9948,[524545,262402]],[9949,[524801,262658]],[9950,[524545,262402,768]],[9951,[524545,262402,768]],[9952,[524801,262401]],[9953,[524802,262402]],[9954,[524801,262401,3]],[9955,[524801,262401,3]],[9956,[524545,262657]],[9957,[524546,262658]],[9958,[524545,262657,3]],[9959,[524545,262657,3]],[9960,[524801,262401]],[9961,[524545,262657]],[9962,[524545,262401,768]],[9963,[524545,262401,768]],[9964,[524545,262401,768]],[9965,[524802,262402]],[9966,[524546,262658]],[9967,[524546,262402,768]],[9968,[524546,262402,768]],[9969,[524546,262402,768]],[9970,[524546,262401]],[9971,[524545,262402]],[9972,[524545,262401,3]],[9973,[524545,262401,3]],[9974,[524545,262401,3]],[9975,[524802,262657]],[9976,[524801,262658]],[9977,[524801,262657,3]],[9978,[524801,262657,3]],[9979,[524801,262657,3]],[9980,[1048833,771]],[9981,[2097409,771]],[9982,[2097409,1048833,771]],[9983,[2097409,1048833,771]],[9984,[1048834,771]],[9985,[2097410,771]],[9986,[2097410,1048834,771]],[9987,[2097410,1048834,771]],[9988,[2097410,1048833]],[9989,[2097666,1049089]],[9990,[2097410,1048833,768]],[9991,[2097410,1048833,768]],[9992,[2097409,1048834]],[9993,[2097665,1049090]],[9994,[2097409,1048834,768]],[9995,[2097409,1048834,768]],[9996,[2097665,1048833]],[9997,[2097666,1048834]],[9998,[2097665,1048833,3]],[9999,[2097665,1048833,3]],[10000,[2097409,1049089]],[10001,[2097410,1049090]],[10002,[2097409,1049089,3]],[10003,[2097409,1049089,3]],[10004,[2097665,1048833]],[10005,[2097409,1049089]],[10006,[2097409,1048833,768]],[10007,[2097409,1048833,768]],[10008,[2097409,1048833,768]],[10009,[2097666,1048834]],[10010,[2097410,1049090]],[10011,[2097410,1048834,768]],[10012,[2097410,1048834,768]],[10013,[2097410,1048834,768]],[10014,[2097410,1048833]],[10015,[2097409,1048834]],[10016,[2097409,1048833,3]],[10017,[2097409,1048833,3]],[10018,[2097409,1048833,3]],[10019,[2097409,1048833,3]],[10020,[2097666,1049089]],[10021,[2097665,1049090]],[10022,[2097665,1049089,3]],[10023,[2097665,1049089,3]],[10024,[2097665,1049089,3]],[10025,[2097665,1049089,3]],[10026,[5121,3075]],[10027,[9217,3075]],[10028,[9217,5121,3075]],[10029,[9217,5121,3075]],[10030,[5122,3075]],[10031,[9218,3075]],[10032,[9218,5122,3075]],[10033,[9218,5122,3075]],[10034,[9218,5121]],[10035,[10242,6145]],[10036,[9218,5121,3072]],[10037,[9218,5121,3072]],[10038,[9217,5122]],[10039,[10241,6146]],[10040,[9217,5122,3072]],[10041,[9217,5122,3072]],[10042,[10241,5121]],[10043,[10242,5122]],[10044,[10241,5121,3]],[10045,[10241,5121,3]],[10046,[9217,6145]],[10047,[9218,6146]],[10048,[9217,6145,3]],[10049,[9217,6145,3]],[10050,[10241,5121]],[10051,[9217,6145]],[10052,[9217,5121,3072]],[10053,[9217,5121,3072]],[10054,[9217,5121,3072]],[10055,[9217,5121,3072]],[10056,[10242,5122]],[10057,[9218,6146]],[10058,[9218,5122,3072]],[10059,[9218,5122,3072]],[10060,[9218,5122,3072]],[10061,[9218,5122,3072]],[10062,[9218,5121]],[10063,[9217,5122]],[10064,[9217,5121,3]],[10065,[9217,5121,3]],[10066,[9217,5121,3]],[10067,[10242,6145]],[10068,[10241,6146]],[10069,[10241,6145,3]],[10070,[10241,6145,3]],[10071,[10241,6145,3]],[10072,[17409,3075]],[10073,[33793,3075]],[10074,[33793,17409,3075]],[10075,[33793,17409,3075]],[10076,[17410,3075]],[10077,[33794,3075]],[10078,[33794,17410,3075]],[10079,[33794,17410,3075]],[10080,[33794,17409]],[10081,[34818,18433]],[10082,[33794,17409,3072]],[10083,[33794,17409,3072]],[10084,[33793,17410]],[10085,[34817,18434]],[10086,[33793,17410,3072]],[10087,[33793,17410,3072]],[10088,[34817,17409]],[10089,[34818,17410]],[10090,[34817,17409,3]],[10091,[34817,17409,3]],[10092,[33793,18433]],[10093,[33794,18434]],[10094,[33793,18433,3]],[10095,[33793,18433,3]],[10096,[34817,17409]],[10097,[33793,18433]],[10098,[33793,17409,3072]],[10099,[33793,17409,3072]],[10100,[33793,17409,3072]],[10101,[34818,17410]],[10102,[33794,18434]],[10103,[33794,17410,3072]],[10104,[33794,17410,3072]],[10105,[33794,17410,3072]],[10106,[33794,17409]],[10107,[33793,17410]],[10108,[33793,17409,3]],[10109,[33793,17409,3]],[10110,[33793,17409,3]],[10111,[33793,17409,3]],[10112,[34818,18433]],[10113,[34817,18434]],[10114,[34817,18433,3]],[10115,[34817,18433,3]],[10116,[34817,18433,3]],[10117,[34817,18433,3]],[10118,[66561,3075]],[10119,[132097,3075]],[10120,[132097,66561,3075]],[10121,[132097,66561,3075]],[10122,[66562,3075]],[10123,[132098,3075]],[10124,[132098,66562,3075]],[10125,[132098,66562,3075]],[10126,[132098,66561]],[10127,[133122,67585]],[10128,[132098,66561,3072]],[10129,[132098,66561,3072]],[10130,[132097,66562]],[10131,[133121,67586]],[10132,[132097,66562,3072]],[10133,[132097,66562,3072]],[10134,[133121,66561]],[10135,[133122,66562]],[10136,[133121,66561,3]],[10137,[133121,66561,3]],[10138,[132097,67585]],[10139,[132098,67586]],[10140,[132097,67585,3]],[10141,[132097,67585,3]],[10142,[133121,66561]],[10143,[132097,67585]],[10144,[132097,66561,3072]],[10145,[132097,66561,3072]],[10146,[132097,66561,3072]],[10147,[132097,66561,3072]],[10148,[133122,66562]],[10149,[132098,67586]],[10150,[132098,66562,3072]],[10151,[132098,66562,3072]],[10152,[132098,66562,3072]],[10153,[132098,66562,3072]],[10154,[132098,66561]],[10155,[132097,66562]],[10156,[132097,66561,3]],[10157,[132097,66561,3]],[10158,[132097,66561,3]],[10159,[133122,67585]],[10160,[133121,67586]],[10161,[133121,67585,3]],[10162,[133121,67585,3]],[10163,[133121,67585,3]],[10164,[263169,3075]],[10165,[525313,3075]],[10166,[525313,263169,3075]],[10167,[525313,263169,3075]],[10168,[263170,3075]],[10169,[525314,3075]],[10170,[525314,263170,3075]],[10171,[525314,263170,3075]],[10172,[525314,263169]],[10173,[526338,264193]],[10174,[525314,263169,3072]],[10175,[525314,263169,3072]],[10176,[525313,263170]],[10177,[526337,264194]],[10178,[525313,263170,3072]],[10179,[525313,263170,3072]],[10180,[526337,263169]],[10181,[526338,263170]],[10182,[526337,263169,3]],[10183,[526337,263169,3]],[10184,[525313,264193]],[10185,[525314,264194]],[10186,[525313,264193,3]],[10187,[525313,264193,3]],[10188,[526337,263169]],[10189,[525313,264193]],[10190,[525313,263169,3072]],[10191,[525313,263169,3072]],[10192,[525313,263169,3072]],[10193,[526338,263170]],[10194,[525314,264194]],[10195,[525314,263170,3072]],[10196,[525314,263170,3072]],[10197,[525314,263170,3072]],[10198,[525314,263169]],[10199,[525313,263170]],[10200,[525313,263169,3]],[10201,[525313,263169,3]],[10202,[525313,263169,3]],[10203,[526338,264193]],[10204,[526337,264194]],[10205,[526337,264193,3]],[10206,[526337,264193,3]],[10207,[526337,264193,3]],[10208,[1049601,3075]],[10209,[2098177,3075]],[10210,[2098177,1049601,3075]],[10211,[2098177,1049601,3075]],[10212,[1049602,3075]],[10213,[2098178,3075]],[10214,[2098178,1049602,3075]],[10215,[2098178,1049602,3075]],[10216,[2098178,1049601]],[10217,[2099202,1050625]],[10218,[2098178,1049601,3072]],[10219,[2098178,1049601,3072]],[10220,[2098177,1049602]],[10221,[2099201,1050626]],[10222,[2098177,1049602,3072]],[10223,[2098177,1049602,3072]],[10224,[2099201,1049601]],[10225,[2099202,1049602]],[10226,[2099201,1049601,3]],[10227,[2099201,1049601,3]],[10228,[2098177,1050625]],[10229,[2098178,1050626]],[10230,[2098177,1050625,3]],[10231,[2098177,1050625,3]],[10232,[2099201,1049601]],[10233,[2098177,1050625]],[10234,[2098177,1049601,3072]],[10235,[2098177,1049601,3072]],[10236,[2098177,1049601,3072]],[10237,[2098177,1049601,3072]],[10238,[2099202,1049602]],[10239,[2098178,1050626]],[10240,[2098178,1049602,3072]],[10241,[2098178,1049602,3072]],[10242,[2098178,1049602,3072]],[10243,[2098178,1049602,3072]],[10244,[2098178,1049601]],[10245,[2098177,1049602]],[10246,[2098177,1049601,3]],[10247,[2098177,1049601,3]],[10248,[2098177,1049601,3]],[10249,[2098177,1049601,3]],[10250,[2099202,1050625]],[10251,[2099201,1050626]],[10252,[2099201,1050625,3]],[10253,[2099201,1050625,3]],[10254,[2099201,1050625,3]],[10255,[2099201,1050625,3]],[10256,[20481,12291]],[10257,[36865,12291]],[10258,[36865,20481,12291]],[10259,[36865,20481,12291]],[10260,[20482,12291]],[10261,[36866,12291]],[10262,[36866,20482,12291]],[10263,[36866,20482,12291]],[10264,[36866,20481]],[10265,[40962,24577]],[10266,[36866,20481,12288]],[10267,[36866,20481,12288]],[10268,[36865,20482]],[10269,[40961,24578]],[10270,[36865,20482,12288]],[10271,[36865,20482,12288]],[10272,[40961,20481]],[10273,[40962,20482]],[10274,[40961,20481,3]],[10275,[40961,20481,3]],[10276,[36865,24577]],[10277,[36866,24578]],[10278,[36865,24577,3]],[10279,[36865,24577,3]],[10280,[40961,20481]],[10281,[36865,24577]],[10282,[36865,20481,12288]],[10283,[36865,20481,12288]],[10284,[36865,20481,12288]],[10285,[36865,20481,12288]],[10286,[40962,20482]],[10287,[36866,24578]],[10288,[36866,20482,12288]],[10289,[36866,20482,12288]],[10290,[36866,20482,12288]],[10291,[36866,20482,12288]],[10292,[36866,20481]],[10293,[36865,20482]],[10294,[36865,20481,3]],[10295,[36865,20481,3]],[10296,[36865,20481,3]],[10297,[36865,20481,3]],[10298,[40962,24577]],[10299,[40961,24578]],[10300,[40961,24577,3]],[10301,[40961,24577,3]],[10302,[40961,24577,3]],[10303,[40961,24577,3]],[10304,[69633,12291]],[10305,[135169,12291]],[10306,[135169,69633,12291]],[10307,[135169,69633,12291]],[10308,[69634,12291]],[10309,[135170,12291]],[10310,[135170,69634,12291]],[10311,[135170,69634,12291]],[10312,[135170,69633]],[10313,[139266,73729]],[10314,[135170,69633,12288]],[10315,[135170,69633,12288]],[10316,[135169,69634]],[10317,[139265,73730]],[10318,[135169,69634,12288]],[10319,[135169,69634,12288]],[10320,[139265,69633]],[10321,[139266,69634]],[10322,[139265,69633,3]],[10323,[139265,69633,3]],[10324,[135169,73729]],[10325,[135170,73730]],[10326,[135169,73729,3]],[10327,[135169,73729,3]],[10328,[139265,69633]],[10329,[135169,73729]],[10330,[135169,69633,12288]],[10331,[135169,69633,12288]],[10332,[135169,69633,12288]],[10333,[139266,69634]],[10334,[135170,73730]],[10335,[135170,69634,12288]],[10336,[135170,69634,12288]],[10337,[135170,69634,12288]],[10338,[135170,69633]],[10339,[135169,69634]],[10340,[135169,69633,3]],[10341,[135169,69633,3]],[10342,[135169,69633,3]],[10343,[139266,73729]],[10344,[139265,73730]],[10345,[139265,73729,3]],[10346,[139265,73729,3]],[10347,[139265,73729,3]],[10348,[266241,12291]],[10349,[528385,12291]],[10350,[528385,266241,12291]],[10351,[528385,266241,12291]],[10352,[266242,12291]],[10353,[528386,12291]],[10354,[528386,266242,12291]],[10355,[528386,266242,12291]],[10356,[528386,266241]],[10357,[532482,270337]],[10358,[528386,266241,12288]],[10359,[528386,266241,12288]],[10360,[528385,266242]],[10361,[532481,270338]],[10362,[528385,266242,12288]],[10363,[528385,266242,12288]],[10364,[532481,266241]],[10365,[532482,266242]],[10366,[532481,266241,3]],[10367,[532481,266241,3]],[10368,[528385,270337]],[10369,[528386,270338]],[10370,[528385,270337,3]],[10371,[528385,270337,3]],[10372,[532481,266241]],[10373,[528385,270337]],[10374,[528385,266241,12288]],[10375,[528385,266241,12288]],[10376,[528385,266241,12288]],[10377,[528385,266241,12288]],[10378,[532482,266242]],[10379,[528386,270338]],[10380,[528386,266242,12288]],[10381,[528386,266242,12288]],[10382,[528386,266242,12288]],[10383,[528386,266242,12288]],[10384,[528386,266241]],[10385,[528385,266242]],[10386,[528385,266241,3]],[10387,[528385,266241,3]],[10388,[528385,266241,3]],[10389,[532482,270337]],[10390,[532481,270338]],[10391,[532481,270337,3]],[10392,[532481,270337,3]],[10393,[532481,270337,3]],[10394,[1052673,12291]],[10395,[2101249,12291]],[10396,[2101249,1052673,12291]],[10397,[2101249,1052673,12291]],[10398,[1052674,12291]],[10399,[2101250,12291]],[10400,[2101250,1052674,12291]],[10401,[2101250,1052674,12291]],[10402,[2101250,1052673]],[10403,[2105346,1056769]],[10404,[2101250,1052673,12288]],[10405,[2101250,1052673,12288]],[10406,[2101249,1052674]],[10407,[2105345,1056770]],[10408,[2101249,1052674,12288]],[10409,[2101249,1052674,12288]],[10410,[2105345,1052673]],[10411,[2105346,1052674]],[10412,[2105345,1052673,3]],[10413,[2105345,1052673,3]],[10414,[2101249,1056769]],[10415,[2101250,1056770]],[10416,[2101249,1056769,3]],[10417,[2101249,1056769,3]],[10418,[2105345,1052673]],[10419,[2101249,1056769]],[10420,[2101249,1052673,12288]],[10421,[2101249,1052673,12288]],[10422,[2101249,1052673,12288]],[10423,[2105346,1052674]],[10424,[2101250,1056770]],[10425,[2101250,1052674,12288]],[10426,[2101250,1052674,12288]],[10427,[2101250,1052674,12288]],[10428,[2101250,1052673]],[10429,[2101249,1052674]],[10430,[2101249,1052673,3]],[10431,[2101249,1052673,3]],[10432,[2101249,1052673,3]],[10433,[2101249,1052673,3]],[10434,[2105346,1056769]],[10435,[2105345,1056770]],[10436,[2105345,1056769,3]],[10437,[2105345,1056769,3]],[10438,[2105345,1056769,3]],[10439,[2105345,1056769,3]],[10440,[81921,49155]],[10441,[147457,49155]],[10442,[147457,81921,49155]],[10443,[147457,81921,49155]],[10444,[81922,49155]],[10445,[147458,49155]],[10446,[147458,81922,49155]],[10447,[147458,81922,49155]],[10448,[147458,81921]],[10449,[163842,98305]],[10450,[147458,81921,49152]],[10451,[147458,81921,49152]],[10452,[147457,81922]],[10453,[163841,98306]],[10454,[147457,81922,49152]],[10455,[147457,81922,49152]],[10456,[163841,81921]],[10457,[163842,81922]],[10458,[163841,81921,3]],[10459,[163841,81921,3]],[10460,[147457,98305]],[10461,[147458,98306]],[10462,[147457,98305,3]],[10463,[147457,98305,3]],[10464,[163841,81921]],[10465,[147457,98305]],[10466,[147457,81921,49152]],[10467,[147457,81921,49152]],[10468,[147457,81921,49152]],[10469,[147457,81921,49152]],[10470,[163842,81922]],[10471,[147458,98306]],[10472,[147458,81922,49152]],[10473,[147458,81922,49152]],[10474,[147458,81922,49152]],[10475,[147458,81922,49152]],[10476,[147458,81921]],[10477,[147457,81922]],[10478,[147457,81921,3]],[10479,[147457,81921,3]],[10480,[147457,81921,3]],[10481,[163842,98305]],[10482,[163841,98306]],[10483,[163841,98305,3]],[10484,[163841,98305,3]],[10485,[163841,98305,3]],[10486,[278529,49155]],[10487,[540673,49155]],[10488,[540673,278529,49155]],[10489,[540673,278529,49155]],[10490,[278530,49155]],[10491,[540674,49155]],[10492,[540674,278530,49155]],[10493,[540674,278530,49155]],[10494,[540674,278529]],[10495,[557058,294913]],[10496,[540674,278529,49152]],[10497,[540674,278529,49152]],[10498,[540673,278530]],[10499,[557057,294914]],[10500,[540673,278530,49152]],[10501,[540673,278530,49152]],[10502,[557057,278529]],[10503,[557058,278530]],[10504,[557057,278529,3]],[10505,[557057,278529,3]],[10506,[540673,294913]],[10507,[540674,294914]],[10508,[540673,294913,3]],[10509,[540673,294913,3]],[10510,[557057,278529]],[10511,[540673,294913]],[10512,[540673,278529,49152]],[10513,[540673,278529,49152]],[10514,[540673,278529,49152]],[10515,[557058,278530]],[10516,[540674,294914]],[10517,[540674,278530,49152]],[10518,[540674,278530,49152]],[10519,[540674,278530,49152]],[10520,[540674,278529]],[10521,[540673,278530]],[10522,[540673,278529,3]],[10523,[540673,278529,3]],[10524,[540673,278529,3]],[10525,[557058,294913]],[10526,[557057,294914]],[10527,[557057,294913,3]],[10528,[557057,294913,3]],[10529,[557057,294913,3]],[10530,[1064961,49155]],[10531,[2113537,49155]],[10532,[2113537,1064961,49155]],[10533,[2113537,1064961,49155]],[10534,[1064962,49155]],[10535,[2113538,49155]],[10536,[2113538,1064962,49155]],[10537,[2113538,1064962,49155]],[10538,[2113538,1064961]],[10539,[2129922,1081345]],[10540,[2113538,1064961,49152]],[10541,[2113538,1064961,49152]],[10542,[2113537,1064962]],[10543,[2129921,1081346]],[10544,[2113537,1064962,49152]],[10545,[2113537,1064962,49152]],[10546,[2129921,1064961]],[10547,[2129922,1064962]],[10548,[2129921,1064961,3]],[10549,[2129921,1064961,3]],[10550,[2113537,1081345]],[10551,[2113538,1081346]],[10552,[2113537,1081345,3]],[10553,[2113537,1081345,3]],[10554,[2129921,1064961]],[10555,[2113537,1081345]],[10556,[2113537,1064961,49152]],[10557,[2113537,1064961,49152]],[10558,[2113537,1064961,49152]],[10559,[2129922,1064962]],[10560,[2113538,1081346]],[10561,[2113538,1064962,49152]],[10562,[2113538,1064962,49152]],[10563,[2113538,1064962,49152]],[10564,[2113538,1064961]],[10565,[2113537,1064962]],[10566,[2113537,1064961,3]],[10567,[2113537,1064961,3]],[10568,[2113537,1064961,3]],[10569,[2113537,1064961,3]],[10570,[2129922,1081345]],[10571,[2129921,1081346]],[10572,[2129921,1081345,3]],[10573,[2129921,1081345,3]],[10574,[2129921,1081345,3]],[10575,[2129921,1081345,3]],[10576,[327681,196611]],[10577,[589825,196611]],[10578,[589825,327681,196611]],[10579,[589825,327681,196611]],[10580,[327682,196611]],[10581,[589826,196611]],[10582,[589826,327682,196611]],[10583,[589826,327682,196611]],[10584,[589826,327681]],[10585,[655362,393217]],[10586,[589826,327681,196608]],[10587,[589826,327681,196608]],[10588,[589825,327682]],[10589,[655361,393218]],[10590,[589825,327682,196608]],[10591,[589825,327682,196608]],[10592,[655361,327681]],[10593,[655362,327682]],[10594,[655361,327681,3]],[10595,[655361,327681,3]],[10596,[589825,393217]],[10597,[589826,393218]],[10598,[589825,393217,3]],[10599,[589825,393217,3]],[10600,[655361,327681]],[10601,[589825,393217]],[10602,[589825,327681,196608]],[10603,[589825,327681,196608]],[10604,[589825,327681,196608]],[10605,[655362,327682]],[10606,[589826,393218]],[10607,[589826,327682,196608]],[10608,[589826,327682,196608]],[10609,[589826,327682,196608]],[10610,[589826,327681]],[10611,[589825,327682]],[10612,[589825,327681,3]],[10613,[589825,327681,3]],[10614,[589825,327681,3]],[10615,[655362,393217]],[10616,[655361,393218]],[10617,[655361,393217,3]],[10618,[655361,393217,3]],[10619,[655361,393217,3]],[10620,[1114113,196611]],[10621,[2162689,196611]],[10622,[2162689,1114113,196611]],[10623,[2162689,1114113,196611]],[10624,[1114114,196611]],[10625,[2162690,196611]],[10626,[2162690,1114114,196611]],[10627,[2162690,1114114,196611]],[10628,[2162690,1114113]],[10629,[2228226,1179649]],[10630,[2162690,1114113,196608]],[10631,[2162690,1114113,196608]],[10632,[2162689,1114114]],[10633,[2228225,1179650]],[10634,[2162689,1114114,196608]],[10635,[2162689,1114114,196608]],[10636,[2228225,1114113]],[10637,[2228226,1114114]],[10638,[2228225,1114113,3]],[10639,[2228225,1114113,3]],[10640,[2162689,1179649]],[10641,[2162690,1179650]],[10642,[2162689,1179649,3]],[10643,[2162689,1179649,3]],[10644,[2228225,1114113]],[10645,[2162689,1179649]],[10646,[2162689,1114113,196608]],[10647,[2162689,1114113,196608]],[10648,[2162689,1114113,196608]],[10649,[2228226,1114114]],[10650,[2162690,1179650]],[10651,[2162690,1114114,196608]],[10652,[2162690,1114114,196608]],[10653,[2162690,1114114,196608]],[10654,[2162690,1114113]],[10655,[2162689,1114114]],[10656,[2162689,1114113,3]],[10657,[2162689,1114113,3]],[10658,[2162689,1114113,3]],[10659,[2162689,1114113,3]],[10660,[2228226,1179649]],[10661,[2228225,1179650]],[10662,[2228225,1179649,3]],[10663,[2228225,1179649,3]],[10664,[2228225,1179649,3]],[10665,[2228225,1179649,3]],[10666,[1310721,786435]],[10667,[2359297,786435]],[10668,[2359297,1310721,786435]],[10669,[2359297,1310721,786435]],[10670,[1310722,786435]],[10671,[2359298,786435]],[10672,[2359298,1310722,786435]],[10673,[2359298,1310722,786435]],[10674,[2359298,1310721]],[10675,[2621442,1572865]],[10676,[2359298,1310721,786432]],[10677,[2359298,1310721,786432]],[10678,[2359297,1310722]],[10679,[2621441,1572866]],[10680,[2359297,1310722,786432]],[10681,[2359297,1310722,786432]],[10682,[2621441,1310721]],[10683,[2621442,1310722]],[10684,[2621441,1310721,3]],[10685,[2621441,1310721,3]],[10686,[2359297,1572865]],[10687,[2359298,1572866]],[10688,[2359297,1572865,3]],[10689,[2359297,1572865,3]],[10690,[2621441,1310721]],[10691,[2359297,1572865]],[10692,[2359297,1310721,786432]],[10693,[2359297,1310721,786432]],[10694,[2359297,1310721,786432]],[10695,[2621442,1310722]],[10696,[2359298,1572866]],[10697,[2359298,1310722,786432]],[10698,[2359298,1310722,786432]],[10699,[2359298,1310722,786432]],[10700,[2359298,1310721]],[10701,[2359297,1310722]],[10702,[2359297,1310721,3]],[10703,[2359297,1310721,3]],[10704,[2359297,1310721,3]],[10705,[2359297,1310721,3]],[10706,[2621442,1572865]],[10707,[2621441,1572866]],[10708,[2621441,1572865,3]],[10709,[2621441,1572865,3]],[10710,[2621441,1572865,3]],[10711,[2621441,1572865,3]],[10712,[84,60]],[10713,[148,60]],[10714,[148,84,60]],[10715,[148,84,60]],[10716,[88,60]],[10717,[152,60]],[10718,[152,88,60]],[10719,[152,88,60]],[10720,[152,84]],[10721,[168,100]],[10722,[152,84,48]],[10723,[152,84,48]],[10724,[148,88]],[10725,[164,104]],[10726,[148,88,48]],[10727,[148,88,48]],[10728,[164,84]],[10729,[168,88]],[10730,[164,84,12]],[10731,[164,84,12]],[10732,[148,100]],[10733,[152,104]],[10734,[148,100,12]],[10735,[148,100,12]],[10736,[164,84]],[10737,[148,100]],[10738,[148,84,48]],[10739,[148,84,48]],[10740,[148,84,48]],[10741,[148,84,48]],[10742,[168,88]],[10743,[152,104]],[10744,[152,88,48]],[10745,[152,88,48]],[10746,[152,88,48]],[10747,[152,88,48]],[10748,[152,84]],[10749,[148,88]],[10750,[148,84,12]],[10751,[148,84,12]],[10752,[148,84,12]],[10753,[148,84,12]],[10754,[168,100]],[10755,[164,104]],[10756,[164,100,12]],[10757,[164,100,12]],[10758,[164,100,12]],[10759,[164,100,12]],[10760,[276,60]],[10761,[532,60]],[10762,[532,276,60]],[10763,[532,276,60]],[10764,[280,60]],[10765,[536,60]],[10766,[536,280,60]],[10767,[536,280,60]],[10768,[536,276]],[10769,[552,292]],[10770,[536,276,48]],[10771,[536,276,48]],[10772,[532,280]],[10773,[548,296]],[10774,[532,280,48]],[10775,[532,280,48]],[10776,[548,276]],[10777,[552,280]],[10778,[548,276,12]],[10779,[548,276,12]],[10780,[532,292]],[10781,[536,296]],[10782,[532,292,12]],[10783,[532,292,12]],[10784,[548,276]],[10785,[532,292]],[10786,[532,276,48]],[10787,[532,276,48]],[10788,[532,276,48]],[10789,[532,276,48]],[10790,[552,280]],[10791,[536,296]],[10792,[536,280,48]],[10793,[536,280,48]],[10794,[536,280,48]],[10795,[536,280,48]],[10796,[536,276]],[10797,[532,280]],[10798,[532,276,12]],[10799,[532,276,12]],[10800,[532,276,12]],[10801,[532,276,12]],[10802,[552,292]],[10803,[548,296]],[10804,[548,292,12]],[10805,[548,292,12]],[10806,[548,292,12]],[10807,[548,292,12]],[10808,[1044,60]],[10809,[2068,60]],[10810,[2068,1044,60]],[10811,[2068,1044,60]],[10812,[1048,60]],[10813,[2072,60]],[10814,[2072,1048,60]],[10815,[2072,1048,60]],[10816,[2072,1044]],[10817,[2088,1060]],[10818,[2072,1044,48]],[10819,[2072,1044,48]],[10820,[2068,1048]],[10821,[2084,1064]],[10822,[2068,1048,48]],[10823,[2068,1048,48]],[10824,[2084,1044]],[10825,[2088,1048]],[10826,[2084,1044,12]],[10827,[2084,1044,12]],[10828,[2068,1060]],[10829,[2072,1064]],[10830,[2068,1060,12]],[10831,[2068,1060,12]],[10832,[2084,1044]],[10833,[2068,1060]],[10834,[2068,1044,48]],[10835,[2068,1044,48]],[10836,[2068,1044,48]],[10837,[2088,1048]],[10838,[2072,1064]],[10839,[2072,1048,48]],[10840,[2072,1048,48]],[10841,[2072,1048,48]],[10842,[2072,1044]],[10843,[2068,1048]],[10844,[2068,1044,12]],[10845,[2068,1044,12]],[10846,[2068,1044,12]],[10847,[2088,1060]],[10848,[2084,1064]],[10849,[2084,1060,12]],[10850,[2084,1060,12]],[10851,[2084,1060,12]],[10852,[4116,60]],[10853,[8212,60]],[10854,[8212,4116,60]],[10855,[8212,4116,60]],[10856,[4120,60]],[10857,[8216,60]],[10858,[8216,4120,60]],[10859,[8216,4120,60]],[10860,[8216,4116]],[10861,[8232,4132]],[10862,[8216,4116,48]],[10863,[8216,4116,48]],[10864,[8212,4120]],[10865,[8228,4136]],[10866,[8212,4120,48]],[10867,[8212,4120,48]],[10868,[8228,4116]],[10869,[8232,4120]],[10870,[8228,4116,12]],[10871,[8228,4116,12]],[10872,[8212,4132]],[10873,[8216,4136]],[10874,[8212,4132,12]],[10875,[8212,4132,12]],[10876,[8228,4116]],[10877,[8212,4132]],[10878,[8212,4116,48]],[10879,[8212,4116,48]],[10880,[8212,4116,48]],[10881,[8232,4120]],[10882,[8216,4136]],[10883,[8216,4120,48]],[10884,[8216,4120,48]],[10885,[8216,4120,48]],[10886,[8216,4116]],[10887,[8212,4120]],[10888,[8212,4116,12]],[10889,[8212,4116,12]],[10890,[8212,4116,12]],[10891,[8232,4132]],[10892,[8228,4136]],[10893,[8228,4132,12]],[10894,[8228,4132,12]],[10895,[8228,4132,12]],[10896,[16404,60]],[10897,[32788,60]],[10898,[32788,16404,60]],[10899,[32788,16404,60]],[10900,[16408,60]],[10901,[32792,60]],[10902,[32792,16408,60]],[10903,[32792,16408,60]],[10904,[32792,16404]],[10905,[32808,16420]],[10906,[32792,16404,48]],[10907,[32792,16404,48]],[10908,[32788,16408]],[10909,[32804,16424]],[10910,[32788,16408,48]],[10911,[32788,16408,48]],[10912,[32804,16404]],[10913,[32808,16408]],[10914,[32804,16404,12]],[10915,[32804,16404,12]],[10916,[32788,16420]],[10917,[32792,16424]],[10918,[32788,16420,12]],[10919,[32788,16420,12]],[10920,[32804,16404]],[10921,[32788,16420]],[10922,[32788,16404,48]],[10923,[32788,16404,48]],[10924,[32788,16404,48]],[10925,[32788,16404,48]],[10926,[32808,16408]],[10927,[32792,16424]],[10928,[32792,16408,48]],[10929,[32792,16408,48]],[10930,[32792,16408,48]],[10931,[32792,16408,48]],[10932,[32792,16404]],[10933,[32788,16408]],[10934,[32788,16404,12]],[10935,[32788,16404,12]],[10936,[32788,16404,12]],[10937,[32788,16404,12]],[10938,[32808,16420]],[10939,[32804,16424]],[10940,[32804,16420,12]],[10941,[32804,16420,12]],[10942,[32804,16420,12]],[10943,[32804,16420,12]],[10944,[65556,60]],[10945,[131092,60]],[10946,[131092,65556,60]],[10947,[131092,65556,60]],[10948,[65560,60]],[10949,[131096,60]],[10950,[131096,65560,60]],[10951,[131096,65560,60]],[10952,[131096,65556]],[10953,[131112,65572]],[10954,[131096,65556,48]],[10955,[131096,65556,48]],[10956,[131092,65560]],[10957,[131108,65576]],[10958,[131092,65560,48]],[10959,[131092,65560,48]],[10960,[131108,65556]],[10961,[131112,65560]],[10962,[131108,65556,12]],[10963,[131108,65556,12]],[10964,[131092,65572]],[10965,[131096,65576]],[10966,[131092,65572,12]],[10967,[131092,65572,12]],[10968,[131108,65556]],[10969,[131092,65572]],[10970,[131092,65556,48]],[10971,[131092,65556,48]],[10972,[131092,65556,48]],[10973,[131112,65560]],[10974,[131096,65576]],[10975,[131096,65560,48]],[10976,[131096,65560,48]],[10977,[131096,65560,48]],[10978,[131096,65556]],[10979,[131092,65560]],[10980,[131092,65556,12]],[10981,[131092,65556,12]],[10982,[131092,65556,12]],[10983,[131112,65572]],[10984,[131108,65576]],[10985,[131108,65572,12]],[10986,[131108,65572,12]],[10987,[131108,65572,12]],[10988,[262164,60]],[10989,[524308,60]],[10990,[524308,262164,60]],[10991,[524308,262164,60]],[10992,[262168,60]],[10993,[524312,60]],[10994,[524312,262168,60]],[10995,[524312,262168,60]],[10996,[524312,262164]],[10997,[524328,262180]],[10998,[524312,262164,48]],[10999,[524312,262164,48]],[11000,[524308,262168]],[11001,[524324,262184]],[11002,[524308,262168,48]],[11003,[524308,262168,48]],[11004,[524324,262164]],[11005,[524328,262168]],[11006,[524324,262164,12]],[11007,[524324,262164,12]],[11008,[524308,262180]],[11009,[524312,262184]],[11010,[524308,262180,12]],[11011,[524308,262180,12]],[11012,[524324,262164]],[11013,[524308,262180]],[11014,[524308,262164,48]],[11015,[524308,262164,48]],[11016,[524308,262164,48]],[11017,[524328,262168]],[11018,[524312,262184]],[11019,[524312,262168,48]],[11020,[524312,262168,48]],[11021,[524312,262168,48]],[11022,[524312,262164]],[11023,[524308,262168]],[11024,[524308,262164,12]],[11025,[524308,262164,12]],[11026,[524308,262164,12]],[11027,[524328,262180]],[11028,[524324,262184]],[11029,[524324,262180,12]],[11030,[524324,262180,12]],[11031,[524324,262180,12]],[11032,[1048596,60]],[11033,[2097172,60]],[11034,[2097172,1048596,60]],[11035,[2097172,1048596,60]],[11036,[1048600,60]],[11037,[2097176,60]],[11038,[2097176,1048600,60]],[11039,[2097176,1048600,60]],[11040,[2097176,1048596]],[11041,[2097192,1048612]],[11042,[2097176,1048596,48]],[11043,[2097176,1048596,48]],[11044,[2097172,1048600]],[11045,[2097188,1048616]],[11046,[2097172,1048600,48]],[11047,[2097172,1048600,48]],[11048,[2097188,1048596]],[11049,[2097192,1048600]],[11050,[2097188,1048596,12]],[11051,[2097188,1048596,12]],[11052,[2097172,1048612]],[11053,[2097176,1048616]],[11054,[2097172,1048612,12]],[11055,[2097172,1048612,12]],[11056,[2097188,1048596]],[11057,[2097172,1048612]],[11058,[2097172,1048596,48]],[11059,[2097172,1048596,48]],[11060,[2097172,1048596,48]],[11061,[2097192,1048600]],[11062,[2097176,1048616]],[11063,[2097176,1048600,48]],[11064,[2097176,1048600,48]],[11065,[2097176,1048600,48]],[11066,[2097176,1048596]],[11067,[2097172,1048600]],[11068,[2097172,1048596,12]],[11069,[2097172,1048596,12]],[11070,[2097172,1048596,12]],[11071,[2097192,1048612]],[11072,[2097188,1048616]],[11073,[2097188,1048612,12]],[11074,[2097188,1048612,12]],[11075,[2097188,1048612,12]],[11076,[324,204]],[11077,[580,204]],[11078,[580,324,204]],[11079,[580,324,204]],[11080,[328,204]],[11081,[584,204]],[11082,[584,328,204]],[11083,[584,328,204]],[11084,[584,324]],[11085,[648,388]],[11086,[584,324,192]],[11087,[584,324,192]],[11088,[580,328]],[11089,[644,392]],[11090,[580,328,192]],[11091,[580,328,192]],[11092,[644,324]],[11093,[648,328]],[11094,[644,324,12]],[11095,[644,324,12]],[11096,[580,388]],[11097,[584,392]],[11098,[580,388,12]],[11099,[580,388,12]],[11100,[644,324]],[11101,[580,388]],[11102,[580,324,192]],[11103,[580,324,192]],[11104,[580,324,192]],[11105,[580,324,192]],[11106,[648,328]],[11107,[584,392]],[11108,[584,328,192]],[11109,[584,328,192]],[11110,[584,328,192]],[11111,[584,328,192]],[11112,[584,324]],[11113,[580,328]],[11114,[580,324,12]],[11115,[580,324,12]],[11116,[580,324,12]],[11117,[580,324,12]],[11118,[648,388]],[11119,[644,392]],[11120,[644,388,12]],[11121,[644,388,12]],[11122,[644,388,12]],[11123,[644,388,12]],[11124,[1092,204]],[11125,[2116,204]],[11126,[2116,1092,204]],[11127,[2116,1092,204]],[11128,[1096,204]],[11129,[2120,204]],[11130,[2120,1096,204]],[11131,[2120,1096,204]],[11132,[2120,1092]],[11133,[2184,1156]],[11134,[2120,1092,192]],[11135,[2120,1092,192]],[11136,[2116,1096]],[11137,[2180,1160]],[11138,[2116,1096,192]],[11139,[2116,1096,192]],[11140,[2180,1092]],[11141,[2184,1096]],[11142,[2180,1092,12]],[11143,[2180,1092,12]],[11144,[2116,1156]],[11145,[2120,1160]],[11146,[2116,1156,12]],[11147,[2116,1156,12]],[11148,[2180,1092]],[11149,[2116,1156]],[11150,[2116,1092,192]],[11151,[2116,1092,192]],[11152,[2116,1092,192]],[11153,[2184,1096]],[11154,[2120,1160]],[11155,[2120,1096,192]],[11156,[2120,1096,192]],[11157,[2120,1096,192]],[11158,[2120,1092]],[11159,[2116,1096]],[11160,[2116,1092,12]],[11161,[2116,1092,12]],[11162,[2116,1092,12]],[11163,[2184,1156]],[11164,[2180,1160]],[11165,[2180,1156,12]],[11166,[2180,1156,12]],[11167,[2180,1156,12]],[11168,[4164,204]],[11169,[8260,204]],[11170,[8260,4164,204]],[11171,[8260,4164,204]],[11172,[4168,204]],[11173,[8264,204]],[11174,[8264,4168,204]],[11175,[8264,4168,204]],[11176,[8264,4164]],[11177,[8328,4228]],[11178,[8264,4164,192]],[11179,[8264,4164,192]],[11180,[8260,4168]],[11181,[8324,4232]],[11182,[8260,4168,192]],[11183,[8260,4168,192]],[11184,[8324,4164]],[11185,[8328,4168]],[11186,[8324,4164,12]],[11187,[8324,4164,12]],[11188,[8260,4228]],[11189,[8264,4232]],[11190,[8260,4228,12]],[11191,[8260,4228,12]],[11192,[8324,4164]],[11193,[8260,4228]],[11194,[8260,4164,192]],[11195,[8260,4164,192]],[11196,[8260,4164,192]],[11197,[8328,4168]],[11198,[8264,4232]],[11199,[8264,4168,192]],[11200,[8264,4168,192]],[11201,[8264,4168,192]],[11202,[8264,4164]],[11203,[8260,4168]],[11204,[8260,4164,12]],[11205,[8260,4164,12]],[11206,[8260,4164,12]],[11207,[8328,4228]],[11208,[8324,4232]],[11209,[8324,4228,12]],[11210,[8324,4228,12]],[11211,[8324,4228,12]],[11212,[16452,204]],[11213,[32836,204]],[11214,[32836,16452,204]],[11215,[32836,16452,204]],[11216,[16456,204]],[11217,[32840,204]],[11218,[32840,16456,204]],[11219,[32840,16456,204]],[11220,[32840,16452]],[11221,[32904,16516]],[11222,[32840,16452,192]],[11223,[32840,16452,192]],[11224,[32836,16456]],[11225,[32900,16520]],[11226,[32836,16456,192]],[11227,[32836,16456,192]],[11228,[32900,16452]],[11229,[32904,16456]],[11230,[32900,16452,12]],[11231,[32900,16452,12]],[11232,[32836,16516]],[11233,[32840,16520]],[11234,[32836,16516,12]],[11235,[32836,16516,12]],[11236,[32900,16452]],[11237,[32836,16516]],[11238,[32836,16452,192]],[11239,[32836,16452,192]],[11240,[32836,16452,192]],[11241,[32904,16456]],[11242,[32840,16520]],[11243,[32840,16456,192]],[11244,[32840,16456,192]],[11245,[32840,16456,192]],[11246,[32840,16452]],[11247,[32836,16456]],[11248,[32836,16452,12]],[11249,[32836,16452,12]],[11250,[32836,16452,12]],[11251,[32836,16452,12]],[11252,[32904,16516]],[11253,[32900,16520]],[11254,[32900,16516,12]],[11255,[32900,16516,12]],[11256,[32900,16516,12]],[11257,[32900,16516,12]],[11258,[65604,204]],[11259,[131140,204]],[11260,[131140,65604,204]],[11261,[131140,65604,204]],[11262,[65608,204]],[11263,[131144,204]],[11264,[131144,65608,204]],[11265,[131144,65608,204]],[11266,[131144,65604]],[11267,[131208,65668]],[11268,[131144,65604,192]],[11269,[131144,65604,192]],[11270,[131140,65608]],[11271,[131204,65672]],[11272,[131140,65608,192]],[11273,[131140,65608,192]],[11274,[131204,65604]],[11275,[131208,65608]],[11276,[131204,65604,12]],[11277,[131204,65604,12]],[11278,[131140,65668]],[11279,[131144,65672]],[11280,[131140,65668,12]],[11281,[131140,65668,12]],[11282,[131204,65604]],[11283,[131140,65668]],[11284,[131140,65604,192]],[11285,[131140,65604,192]],[11286,[131140,65604,192]],[11287,[131208,65608]],[11288,[131144,65672]],[11289,[131144,65608,192]],[11290,[131144,65608,192]],[11291,[131144,65608,192]],[11292,[131144,65604]],[11293,[131140,65608]],[11294,[131140,65604,12]],[11295,[131140,65604,12]],[11296,[131140,65604,12]],[11297,[131208,65668]],[11298,[131204,65672]],[11299,[131204,65668,12]],[11300,[131204,65668,12]],[11301,[131204,65668,12]],[11302,[262212,204]],[11303,[524356,204]],[11304,[524356,262212,204]],[11305,[524356,262212,204]],[11306,[262216,204]],[11307,[524360,204]],[11308,[524360,262216,204]],[11309,[524360,262216,204]],[11310,[524360,262212]],[11311,[524424,262276]],[11312,[524360,262212,192]],[11313,[524360,262212,192]],[11314,[524356,262216]],[11315,[524420,262280]],[11316,[524356,262216,192]],[11317,[524356,262216,192]],[11318,[524420,262212]],[11319,[524424,262216]],[11320,[524420,262212,12]],[11321,[524420,262212,12]],[11322,[524356,262276]],[11323,[524360,262280]],[11324,[524356,262276,12]],[11325,[524356,262276,12]],[11326,[524420,262212]],[11327,[524356,262276]],[11328,[524356,262212,192]],[11329,[524356,262212,192]],[11330,[524356,262212,192]],[11331,[524424,262216]],[11332,[524360,262280]],[11333,[524360,262216,192]],[11334,[524360,262216,192]],[11335,[524360,262216,192]],[11336,[524360,262212]],[11337,[524356,262216]],[11338,[524356,262212,12]],[11339,[524356,262212,12]],[11340,[524356,262212,12]],[11341,[524424,262276]],[11342,[524420,262280]],[11343,[524420,262276,12]],[11344,[524420,262276,12]],[11345,[524420,262276,12]],[11346,[1048644,204]],[11347,[2097220,204]],[11348,[2097220,1048644,204]],[11349,[2097220,1048644,204]],[11350,[1048648,204]],[11351,[2097224,204]],[11352,[2097224,1048648,204]],[11353,[2097224,1048648,204]],[11354,[2097224,1048644]],[11355,[2097288,1048708]],[11356,[2097224,1048644,192]],[11357,[2097224,1048644,192]],[11358,[2097220,1048648]],[11359,[2097284,1048712]],[11360,[2097220,1048648,192]],[11361,[2097220,1048648,192]],[11362,[2097284,1048644]],[11363,[2097288,1048648]],[11364,[2097284,1048644,12]],[11365,[2097284,1048644,12]],[11366,[2097220,1048708]],[11367,[2097224,1048712]],[11368,[2097220,1048708,12]],[11369,[2097220,1048708,12]],[11370,[2097284,1048644]],[11371,[2097220,1048708]],[11372,[2097220,1048644,192]],[11373,[2097220,1048644,192]],[11374,[2097220,1048644,192]],[11375,[2097288,1048648]],[11376,[2097224,1048712]],[11377,[2097224,1048648,192]],[11378,[2097224,1048648,192]],[11379,[2097224,1048648,192]],[11380,[2097224,1048644]],[11381,[2097220,1048648]],[11382,[2097220,1048644,12]],[11383,[2097220,1048644,12]],[11384,[2097220,1048644,12]],[11385,[2097288,1048708]],[11386,[2097284,1048712]],[11387,[2097284,1048708,12]],[11388,[2097284,1048708,12]],[11389,[2097284,1048708,12]],[11390,[1284,780]],[11391,[2308,780]],[11392,[2308,1284,780]],[11393,[2308,1284,780]],[11394,[1288,780]],[11395,[2312,780]],[11396,[2312,1288,780]],[11397,[2312,1288,780]],[11398,[2312,1284]],[11399,[2568,1540]],[11400,[2312,1284,768]],[11401,[2312,1284,768]],[11402,[2308,1288]],[11403,[2564,1544]],[11404,[2308,1288,768]],[11405,[2308,1288,768]],[11406,[2564,1284]],[11407,[2568,1288]],[11408,[2564,1284,12]],[11409,[2564,1284,12]],[11410,[2308,1540]],[11411,[2312,1544]],[11412,[2308,1540,12]],[11413,[2308,1540,12]],[11414,[2564,1284]],[11415,[2308,1540]],[11416,[2308,1284,768]],[11417,[2308,1284,768]],[11418,[2308,1284,768]],[11419,[2568,1288]],[11420,[2312,1544]],[11421,[2312,1288,768]],[11422,[2312,1288,768]],[11423,[2312,1288,768]],[11424,[2312,1284]],[11425,[2308,1288]],[11426,[2308,1284,12]],[11427,[2308,1284,12]],[11428,[2308,1284,12]],[11429,[2568,1540]],[11430,[2564,1544]],[11431,[2564,1540,12]],[11432,[2564,1540,12]],[11433,[2564,1540,12]],[11434,[4356,780]],[11435,[8452,780]],[11436,[8452,4356,780]],[11437,[8452,4356,780]],[11438,[4360,780]],[11439,[8456,780]],[11440,[8456,4360,780]],[11441,[8456,4360,780]],[11442,[8456,4356]],[11443,[8712,4612]],[11444,[8456,4356,768]],[11445,[8456,4356,768]],[11446,[8452,4360]],[11447,[8708,4616]],[11448,[8452,4360,768]],[11449,[8452,4360,768]],[11450,[8708,4356]],[11451,[8712,4360]],[11452,[8708,4356,12]],[11453,[8708,4356,12]],[11454,[8452,4612]],[11455,[8456,4616]],[11456,[8452,4612,12]],[11457,[8452,4612,12]],[11458,[8708,4356]],[11459,[8452,4612]],[11460,[8452,4356,768]],[11461,[8452,4356,768]],[11462,[8452,4356,768]],[11463,[8712,4360]],[11464,[8456,4616]],[11465,[8456,4360,768]],[11466,[8456,4360,768]],[11467,[8456,4360,768]],[11468,[8456,4356]],[11469,[8452,4360]],[11470,[8452,4356,12]],[11471,[8452,4356,12]],[11472,[8452,4356,12]],[11473,[8712,4612]],[11474,[8708,4616]],[11475,[8708,4612,12]],[11476,[8708,4612,12]],[11477,[8708,4612,12]],[11478,[16644,780]],[11479,[33028,780]],[11480,[33028,16644,780]],[11481,[33028,16644,780]],[11482,[16648,780]],[11483,[33032,780]],[11484,[33032,16648,780]],[11485,[33032,16648,780]],[11486,[33032,16644]],[11487,[33288,16900]],[11488,[33032,16644,768]],[11489,[33032,16644,768]],[11490,[33028,16648]],[11491,[33284,16904]],[11492,[33028,16648,768]],[11493,[33028,16648,768]],[11494,[33284,16644]],[11495,[33288,16648]],[11496,[33284,16644,12]],[11497,[33284,16644,12]],[11498,[33028,16900]],[11499,[33032,16904]],[11500,[33028,16900,12]],[11501,[33028,16900,12]],[11502,[33284,16644]],[11503,[33028,16900]],[11504,[33028,16644,768]],[11505,[33028,16644,768]],[11506,[33028,16644,768]],[11507,[33288,16648]],[11508,[33032,16904]],[11509,[33032,16648,768]],[11510,[33032,16648,768]],[11511,[33032,16648,768]],[11512,[33032,16644]],[11513,[33028,16648]],[11514,[33028,16644,12]],[11515,[33028,16644,12]],[11516,[33028,16644,12]],[11517,[33028,16644,12]],[11518,[33288,16900]],[11519,[33284,16904]],[11520,[33284,16900,12]],[11521,[33284,16900,12]],[11522,[33284,16900,12]],[11523,[33284,16900,12]],[11524,[65796,780]],[11525,[131332,780]],[11526,[131332,65796,780]],[11527,[131332,65796,780]],[11528,[65800,780]],[11529,[131336,780]],[11530,[131336,65800,780]],[11531,[131336,65800,780]],[11532,[131336,65796]],[11533,[131592,66052]],[11534,[131336,65796,768]],[11535,[131336,65796,768]],[11536,[131332,65800]],[11537,[131588,66056]],[11538,[131332,65800,768]],[11539,[131332,65800,768]],[11540,[131588,65796]],[11541,[131592,65800]],[11542,[131588,65796,12]],[11543,[131588,65796,12]],[11544,[131332,66052]],[11545,[131336,66056]],[11546,[131332,66052,12]],[11547,[131332,66052,12]],[11548,[131588,65796]],[11549,[131332,66052]],[11550,[131332,65796,768]],[11551,[131332,65796,768]],[11552,[131332,65796,768]],[11553,[131592,65800]],[11554,[131336,66056]],[11555,[131336,65800,768]],[11556,[131336,65800,768]],[11557,[131336,65800,768]],[11558,[131336,65796]],[11559,[131332,65800]],[11560,[131332,65796,12]],[11561,[131332,65796,12]],[11562,[131332,65796,12]],[11563,[131592,66052]],[11564,[131588,66056]],[11565,[131588,66052,12]],[11566,[131588,66052,12]],[11567,[131588,66052,12]],[11568,[262404,780]],[11569,[524548,780]],[11570,[524548,262404,780]],[11571,[524548,262404,780]],[11572,[262408,780]],[11573,[524552,780]],[11574,[524552,262408,780]],[11575,[524552,262408,780]],[11576,[524552,262404]],[11577,[524808,262660]],[11578,[524552,262404,768]],[11579,[524552,262404,768]],[11580,[524548,262408]],[11581,[524804,262664]],[11582,[524548,262408,768]],[11583,[524548,262408,768]],[11584,[524804,262404]],[11585,[524808,262408]],[11586,[524804,262404,12]],[11587,[524804,262404,12]],[11588,[524548,262660]],[11589,[524552,262664]],[11590,[524548,262660,12]],[11591,[524548,262660,12]],[11592,[524804,262404]],[11593,[524548,262660]],[11594,[524548,262404,768]],[11595,[524548,262404,768]],[11596,[524548,262404,768]],[11597,[524808,262408]],[11598,[524552,262664]],[11599,[524552,262408,768]],[11600,[524552,262408,768]],[11601,[524552,262408,768]],[11602,[524552,262404]],[11603,[524548,262408]],[11604,[524548,262404,12]],[11605,[524548,262404,12]],[11606,[524548,262404,12]],[11607,[524808,262660]],[11608,[524804,262664]],[11609,[524804,262660,12]],[11610,[524804,262660,12]],[11611,[524804,262660,12]],[11612,[1048836,780]],[11613,[2097412,780]],[11614,[2097412,1048836,780]],[11615,[2097412,1048836,780]],[11616,[1048840,780]],[11617,[2097416,780]],[11618,[2097416,1048840,780]],[11619,[2097416,1048840,780]],[11620,[2097416,1048836]],[11621,[2097672,1049092]],[11622,[2097416,1048836,768]],[11623,[2097416,1048836,768]],[11624,[2097412,1048840]],[11625,[2097668,1049096]],[11626,[2097412,1048840,768]],[11627,[2097412,1048840,768]],[11628,[2097668,1048836]],[11629,[2097672,1048840]],[11630,[2097668,1048836,12]],[11631,[2097668,1048836,12]],[11632,[2097412,1049092]],[11633,[2097416,1049096]],[11634,[2097412,1049092,12]],[11635,[2097412,1049092,12]],[11636,[2097668,1048836]],[11637,[2097412,1049092]],[11638,[2097412,1048836,768]],[11639,[2097412,1048836,768]],[11640,[2097412,1048836,768]],[11641,[2097672,1048840]],[11642,[2097416,1049096]],[11643,[2097416,1048840,768]],[11644,[2097416,1048840,768]],[11645,[2097416,1048840,768]],[11646,[2097416,1048836]],[11647,[2097412,1048840]],[11648,[2097412,1048836,12]],[11649,[2097412,1048836,12]],[11650,[2097412,1048836,12]],[11651,[2097672,1049092]],[11652,[2097668,1049096]],[11653,[2097668,1049092,12]],[11654,[2097668,1049092,12]],[11655,[2097668,1049092,12]],[11656,[5124,3084]],[11657,[9220,3084]],[11658,[9220,5124,3084]],[11659,[9220,5124,3084]],[11660,[5128,3084]],[11661,[9224,3084]],[11662,[9224,5128,3084]],[11663,[9224,5128,3084]],[11664,[9224,5124]],[11665,[10248,6148]],[11666,[9224,5124,3072]],[11667,[9224,5124,3072]],[11668,[9220,5128]],[11669,[10244,6152]],[11670,[9220,5128,3072]],[11671,[9220,5128,3072]],[11672,[10244,5124]],[11673,[10248,5128]],[11674,[10244,5124,12]],[11675,[10244,5124,12]],[11676,[9220,6148]],[11677,[9224,6152]],[11678,[9220,6148,12]],[11679,[9220,6148,12]],[11680,[10244,5124]],[11681,[9220,6148]],[11682,[9220,5124,3072]],[11683,[9220,5124,3072]],[11684,[9220,5124,3072]],[11685,[9220,5124,3072]],[11686,[10248,5128]],[11687,[9224,6152]],[11688,[9224,5128,3072]],[11689,[9224,5128,3072]],[11690,[9224,5128,3072]],[11691,[9224,5128,3072]],[11692,[9224,5124]],[11693,[9220,5128]],[11694,[9220,5124,12]],[11695,[9220,5124,12]],[11696,[9220,5124,12]],[11697,[10248,6148]],[11698,[10244,6152]],[11699,[10244,6148,12]],[11700,[10244,6148,12]],[11701,[10244,6148,12]],[11702,[17412,3084]],[11703,[33796,3084]],[11704,[33796,17412,3084]],[11705,[33796,17412,3084]],[11706,[17416,3084]],[11707,[33800,3084]],[11708,[33800,17416,3084]],[11709,[33800,17416,3084]],[11710,[33800,17412]],[11711,[34824,18436]],[11712,[33800,17412,3072]],[11713,[33800,17412,3072]],[11714,[33796,17416]],[11715,[34820,18440]],[11716,[33796,17416,3072]],[11717,[33796,17416,3072]],[11718,[34820,17412]],[11719,[34824,17416]],[11720,[34820,17412,12]],[11721,[34820,17412,12]],[11722,[33796,18436]],[11723,[33800,18440]],[11724,[33796,18436,12]],[11725,[33796,18436,12]],[11726,[34820,17412]],[11727,[33796,18436]],[11728,[33796,17412,3072]],[11729,[33796,17412,3072]],[11730,[33796,17412,3072]],[11731,[34824,17416]],[11732,[33800,18440]],[11733,[33800,17416,3072]],[11734,[33800,17416,3072]],[11735,[33800,17416,3072]],[11736,[33800,17412]],[11737,[33796,17416]],[11738,[33796,17412,12]],[11739,[33796,17412,12]],[11740,[33796,17412,12]],[11741,[33796,17412,12]],[11742,[34824,18436]],[11743,[34820,18440]],[11744,[34820,18436,12]],[11745,[34820,18436,12]],[11746,[34820,18436,12]],[11747,[34820,18436,12]],[11748,[66564,3084]],[11749,[132100,3084]],[11750,[132100,66564,3084]],[11751,[132100,66564,3084]],[11752,[66568,3084]],[11753,[132104,3084]],[11754,[132104,66568,3084]],[11755,[132104,66568,3084]],[11756,[132104,66564]],[11757,[133128,67588]],[11758,[132104,66564,3072]],[11759,[132104,66564,3072]],[11760,[132100,66568]],[11761,[133124,67592]],[11762,[132100,66568,3072]],[11763,[132100,66568,3072]],[11764,[133124,66564]],[11765,[133128,66568]],[11766,[133124,66564,12]],[11767,[133124,66564,12]],[11768,[132100,67588]],[11769,[132104,67592]],[11770,[132100,67588,12]],[11771,[132100,67588,12]],[11772,[133124,66564]],[11773,[132100,67588]],[11774,[132100,66564,3072]],[11775,[132100,66564,3072]],[11776,[132100,66564,3072]],[11777,[132100,66564,3072]],[11778,[133128,66568]],[11779,[132104,67592]],[11780,[132104,66568,3072]],[11781,[132104,66568,3072]],[11782,[132104,66568,3072]],[11783,[132104,66568,3072]],[11784,[132104,66564]],[11785,[132100,66568]],[11786,[132100,66564,12]],[11787,[132100,66564,12]],[11788,[132100,66564,12]],[11789,[133128,67588]],[11790,[133124,67592]],[11791,[133124,67588,12]],[11792,[133124,67588,12]],[11793,[133124,67588,12]],[11794,[263172,3084]],[11795,[525316,3084]],[11796,[525316,263172,3084]],[11797,[525316,263172,3084]],[11798,[263176,3084]],[11799,[525320,3084]],[11800,[525320,263176,3084]],[11801,[525320,263176,3084]],[11802,[525320,263172]],[11803,[526344,264196]],[11804,[525320,263172,3072]],[11805,[525320,263172,3072]],[11806,[525316,263176]],[11807,[526340,264200]],[11808,[525316,263176,3072]],[11809,[525316,263176,3072]],[11810,[526340,263172]],[11811,[526344,263176]],[11812,[526340,263172,12]],[11813,[526340,263172,12]],[11814,[525316,264196]],[11815,[525320,264200]],[11816,[525316,264196,12]],[11817,[525316,264196,12]],[11818,[526340,263172]],[11819,[525316,264196]],[11820,[525316,263172,3072]],[11821,[525316,263172,3072]],[11822,[525316,263172,3072]],[11823,[526344,263176]],[11824,[525320,264200]],[11825,[525320,263176,3072]],[11826,[525320,263176,3072]],[11827,[525320,263176,3072]],[11828,[525320,263172]],[11829,[525316,263176]],[11830,[525316,263172,12]],[11831,[525316,263172,12]],[11832,[525316,263172,12]],[11833,[526344,264196]],[11834,[526340,264200]],[11835,[526340,264196,12]],[11836,[526340,264196,12]],[11837,[526340,264196,12]],[11838,[1049604,3084]],[11839,[2098180,3084]],[11840,[2098180,1049604,3084]],[11841,[2098180,1049604,3084]],[11842,[1049608,3084]],[11843,[2098184,3084]],[11844,[2098184,1049608,3084]],[11845,[2098184,1049608,3084]],[11846,[2098184,1049604]],[11847,[2099208,1050628]],[11848,[2098184,1049604,3072]],[11849,[2098184,1049604,3072]],[11850,[2098180,1049608]],[11851,[2099204,1050632]],[11852,[2098180,1049608,3072]],[11853,[2098180,1049608,3072]],[11854,[2099204,1049604]],[11855,[2099208,1049608]],[11856,[2099204,1049604,12]],[11857,[2099204,1049604,12]],[11858,[2098180,1050628]],[11859,[2098184,1050632]],[11860,[2098180,1050628,12]],[11861,[2098180,1050628,12]],[11862,[2099204,1049604]],[11863,[2098180,1050628]],[11864,[2098180,1049604,3072]],[11865,[2098180,1049604,3072]],[11866,[2098180,1049604,3072]],[11867,[2098180,1049604,3072]],[11868,[2099208,1049608]],[11869,[2098184,1050632]],[11870,[2098184,1049608,3072]],[11871,[2098184,1049608,3072]],[11872,[2098184,1049608,3072]],[11873,[2098184,1049608,3072]],[11874,[2098184,1049604]],[11875,[2098180,1049608]],[11876,[2098180,1049604,12]],[11877,[2098180,1049604,12]],[11878,[2098180,1049604,12]],[11879,[2099208,1050628]],[11880,[2099204,1050632]],[11881,[2099204,1050628,12]],[11882,[2099204,1050628,12]],[11883,[2099204,1050628,12]],[11884,[20484,12300]],[11885,[36868,12300]],[11886,[36868,20484,12300]],[11887,[36868,20484,12300]],[11888,[20488,12300]],[11889,[36872,12300]],[11890,[36872,20488,12300]],[11891,[36872,20488,12300]],[11892,[36872,20484]],[11893,[40968,24580]],[11894,[36872,20484,12288]],[11895,[36872,20484,12288]],[11896,[36868,20488]],[11897,[40964,24584]],[11898,[36868,20488,12288]],[11899,[36868,20488,12288]],[11900,[40964,20484]],[11901,[40968,20488]],[11902,[40964,20484,12]],[11903,[40964,20484,12]],[11904,[36868,24580]],[11905,[36872,24584]],[11906,[36868,24580,12]],[11907,[36868,24580,12]],[11908,[40964,20484]],[11909,[36868,24580]],[11910,[36868,20484,12288]],[11911,[36868,20484,12288]],[11912,[36868,20484,12288]],[11913,[36868,20484,12288]],[11914,[40968,20488]],[11915,[36872,24584]],[11916,[36872,20488,12288]],[11917,[36872,20488,12288]],[11918,[36872,20488,12288]],[11919,[36872,20488,12288]],[11920,[36872,20484]],[11921,[36868,20488]],[11922,[36868,20484,12]],[11923,[36868,20484,12]],[11924,[36868,20484,12]],[11925,[36868,20484,12]],[11926,[40968,24580]],[11927,[40964,24584]],[11928,[40964,24580,12]],[11929,[40964,24580,12]],[11930,[40964,24580,12]],[11931,[40964,24580,12]],[11932,[69636,12300]],[11933,[135172,12300]],[11934,[135172,69636,12300]],[11935,[135172,69636,12300]],[11936,[69640,12300]],[11937,[135176,12300]],[11938,[135176,69640,12300]],[11939,[135176,69640,12300]],[11940,[135176,69636]],[11941,[139272,73732]],[11942,[135176,69636,12288]],[11943,[135176,69636,12288]],[11944,[135172,69640]],[11945,[139268,73736]],[11946,[135172,69640,12288]],[11947,[135172,69640,12288]],[11948,[139268,69636]],[11949,[139272,69640]],[11950,[139268,69636,12]],[11951,[139268,69636,12]],[11952,[135172,73732]],[11953,[135176,73736]],[11954,[135172,73732,12]],[11955,[135172,73732,12]],[11956,[139268,69636]],[11957,[135172,73732]],[11958,[135172,69636,12288]],[11959,[135172,69636,12288]],[11960,[135172,69636,12288]],[11961,[139272,69640]],[11962,[135176,73736]],[11963,[135176,69640,12288]],[11964,[135176,69640,12288]],[11965,[135176,69640,12288]],[11966,[135176,69636]],[11967,[135172,69640]],[11968,[135172,69636,12]],[11969,[135172,69636,12]],[11970,[135172,69636,12]],[11971,[139272,73732]],[11972,[139268,73736]],[11973,[139268,73732,12]],[11974,[139268,73732,12]],[11975,[139268,73732,12]],[11976,[266244,12300]],[11977,[528388,12300]],[11978,[528388,266244,12300]],[11979,[528388,266244,12300]],[11980,[266248,12300]],[11981,[528392,12300]],[11982,[528392,266248,12300]],[11983,[528392,266248,12300]],[11984,[528392,266244]],[11985,[532488,270340]],[11986,[528392,266244,12288]],[11987,[528392,266244,12288]],[11988,[528388,266248]],[11989,[532484,270344]],[11990,[528388,266248,12288]],[11991,[528388,266248,12288]],[11992,[532484,266244]],[11993,[532488,266248]],[11994,[532484,266244,12]],[11995,[532484,266244,12]],[11996,[528388,270340]],[11997,[528392,270344]],[11998,[528388,270340,12]],[11999,[528388,270340,12]],[12000,[532484,266244]],[12001,[528388,270340]],[12002,[528388,266244,12288]],[12003,[528388,266244,12288]],[12004,[528388,266244,12288]],[12005,[528388,266244,12288]],[12006,[532488,266248]],[12007,[528392,270344]],[12008,[528392,266248,12288]],[12009,[528392,266248,12288]],[12010,[528392,266248,12288]],[12011,[528392,266248,12288]],[12012,[528392,266244]],[12013,[528388,266248]],[12014,[528388,266244,12]],[12015,[528388,266244,12]],[12016,[528388,266244,12]],[12017,[532488,270340]],[12018,[532484,270344]],[12019,[532484,270340,12]],[12020,[532484,270340,12]],[12021,[532484,270340,12]],[12022,[1052676,12300]],[12023,[2101252,12300]],[12024,[2101252,1052676,12300]],[12025,[2101252,1052676,12300]],[12026,[1052680,12300]],[12027,[2101256,12300]],[12028,[2101256,1052680,12300]],[12029,[2101256,1052680,12300]],[12030,[2101256,1052676]],[12031,[2105352,1056772]],[12032,[2101256,1052676,12288]],[12033,[2101256,1052676,12288]],[12034,[2101252,1052680]],[12035,[2105348,1056776]],[12036,[2101252,1052680,12288]],[12037,[2101252,1052680,12288]],[12038,[2105348,1052676]],[12039,[2105352,1052680]],[12040,[2105348,1052676,12]],[12041,[2105348,1052676,12]],[12042,[2101252,1056772]],[12043,[2101256,1056776]],[12044,[2101252,1056772,12]],[12045,[2101252,1056772,12]],[12046,[2105348,1052676]],[12047,[2101252,1056772]],[12048,[2101252,1052676,12288]],[12049,[2101252,1052676,12288]],[12050,[2101252,1052676,12288]],[12051,[2105352,1052680]],[12052,[2101256,1056776]],[12053,[2101256,1052680,12288]],[12054,[2101256,1052680,12288]],[12055,[2101256,1052680,12288]],[12056,[2101256,1052676]],[12057,[2101252,1052680]],[12058,[2101252,1052676,12]],[12059,[2101252,1052676,12]],[12060,[2101252,1052676,12]],[12061,[2105352,1056772]],[12062,[2105348,1056776]],[12063,[2105348,1056772,12]],[12064,[2105348,1056772,12]],[12065,[2105348,1056772,12]],[12066,[81924,49164]],[12067,[147460,49164]],[12068,[147460,81924,49164]],[12069,[147460,81924,49164]],[12070,[81928,49164]],[12071,[147464,49164]],[12072,[147464,81928,49164]],[12073,[147464,81928,49164]],[12074,[147464,81924]],[12075,[163848,98308]],[12076,[147464,81924,49152]],[12077,[147464,81924,49152]],[12078,[147460,81928]],[12079,[163844,98312]],[12080,[147460,81928,49152]],[12081,[147460,81928,49152]],[12082,[163844,81924]],[12083,[163848,81928]],[12084,[163844,81924,12]],[12085,[163844,81924,12]],[12086,[147460,98308]],[12087,[147464,98312]],[12088,[147460,98308,12]],[12089,[147460,98308,12]],[12090,[163844,81924]],[12091,[147460,98308]],[12092,[147460,81924,49152]],[12093,[147460,81924,49152]],[12094,[147460,81924,49152]],[12095,[147460,81924,49152]],[12096,[163848,81928]],[12097,[147464,98312]],[12098,[147464,81928,49152]],[12099,[147464,81928,49152]],[12100,[147464,81928,49152]],[12101,[147464,81928,49152]],[12102,[147464,81924]],[12103,[147460,81928]],[12104,[147460,81924,12]],[12105,[147460,81924,12]],[12106,[147460,81924,12]],[12107,[163848,98308]],[12108,[163844,98312]],[12109,[163844,98308,12]],[12110,[163844,98308,12]],[12111,[163844,98308,12]],[12112,[278532,49164]],[12113,[540676,49164]],[12114,[540676,278532,49164]],[12115,[540676,278532,49164]],[12116,[278536,49164]],[12117,[540680,49164]],[12118,[540680,278536,49164]],[12119,[540680,278536,49164]],[12120,[540680,278532]],[12121,[557064,294916]],[12122,[540680,278532,49152]],[12123,[540680,278532,49152]],[12124,[540676,278536]],[12125,[557060,294920]],[12126,[540676,278536,49152]],[12127,[540676,278536,49152]],[12128,[557060,278532]],[12129,[557064,278536]],[12130,[557060,278532,12]],[12131,[557060,278532,12]],[12132,[540676,294916]],[12133,[540680,294920]],[12134,[540676,294916,12]],[12135,[540676,294916,12]],[12136,[557060,278532]],[12137,[540676,294916]],[12138,[540676,278532,49152]],[12139,[540676,278532,49152]],[12140,[540676,278532,49152]],[12141,[557064,278536]],[12142,[540680,294920]],[12143,[540680,278536,49152]],[12144,[540680,278536,49152]],[12145,[540680,278536,49152]],[12146,[540680,278532]],[12147,[540676,278536]],[12148,[540676,278532,12]],[12149,[540676,278532,12]],[12150,[540676,278532,12]],[12151,[557064,294916]],[12152,[557060,294920]],[12153,[557060,294916,12]],[12154,[557060,294916,12]],[12155,[557060,294916,12]],[12156,[1064964,49164]],[12157,[2113540,49164]],[12158,[2113540,1064964,49164]],[12159,[2113540,1064964,49164]],[12160,[1064968,49164]],[12161,[2113544,49164]],[12162,[2113544,1064968,49164]],[12163,[2113544,1064968,49164]],[12164,[2113544,1064964]],[12165,[2129928,1081348]],[12166,[2113544,1064964,49152]],[12167,[2113544,1064964,49152]],[12168,[2113540,1064968]],[12169,[2129924,1081352]],[12170,[2113540,1064968,49152]],[12171,[2113540,1064968,49152]],[12172,[2129924,1064964]],[12173,[2129928,1064968]],[12174,[2129924,1064964,12]],[12175,[2129924,1064964,12]],[12176,[2113540,1081348]],[12177,[2113544,1081352]],[12178,[2113540,1081348,12]],[12179,[2113540,1081348,12]],[12180,[2129924,1064964]],[12181,[2113540,1081348]],[12182,[2113540,1064964,49152]],[12183,[2113540,1064964,49152]],[12184,[2113540,1064964,49152]],[12185,[2129928,1064968]],[12186,[2113544,1081352]],[12187,[2113544,1064968,49152]],[12188,[2113544,1064968,49152]],[12189,[2113544,1064968,49152]],[12190,[2113544,1064964]],[12191,[2113540,1064968]],[12192,[2113540,1064964,12]],[12193,[2113540,1064964,12]],[12194,[2113540,1064964,12]],[12195,[2129928,1081348]],[12196,[2129924,1081352]],[12197,[2129924,1081348,12]],[12198,[2129924,1081348,12]],[12199,[2129924,1081348,12]],[12200,[327684,196620]],[12201,[589828,196620]],[12202,[589828,327684,196620]],[12203,[589828,327684,196620]],[12204,[327688,196620]],[12205,[589832,196620]],[12206,[589832,327688,196620]],[12207,[589832,327688,196620]],[12208,[589832,327684]],[12209,[655368,393220]],[12210,[589832,327684,196608]],[12211,[589832,327684,196608]],[12212,[589828,327688]],[12213,[655364,393224]],[12214,[589828,327688,196608]],[12215,[589828,327688,196608]],[12216,[655364,327684]],[12217,[655368,327688]],[12218,[655364,327684,12]],[12219,[655364,327684,12]],[12220,[589828,393220]],[12221,[589832,393224]],[12222,[589828,393220,12]],[12223,[589828,393220,12]],[12224,[655364,327684]],[12225,[589828,393220]],[12226,[589828,327684,196608]],[12227,[589828,327684,196608]],[12228,[589828,327684,196608]],[12229,[655368,327688]],[12230,[589832,393224]],[12231,[589832,327688,196608]],[12232,[589832,327688,196608]],[12233,[589832,327688,196608]],[12234,[589832,327684]],[12235,[589828,327688]],[12236,[589828,327684,12]],[12237,[589828,327684,12]],[12238,[589828,327684,12]],[12239,[655368,393220]],[12240,[655364,393224]],[12241,[655364,393220,12]],[12242,[655364,393220,12]],[12243,[655364,393220,12]],[12244,[1114116,196620]],[12245,[2162692,196620]],[12246,[2162692,1114116,196620]],[12247,[2162692,1114116,196620]],[12248,[1114120,196620]],[12249,[2162696,196620]],[12250,[2162696,1114120,196620]],[12251,[2162696,1114120,196620]],[12252,[2162696,1114116]],[12253,[2228232,1179652]],[12254,[2162696,1114116,196608]],[12255,[2162696,1114116,196608]],[12256,[2162692,1114120]],[12257,[2228228,1179656]],[12258,[2162692,1114120,196608]],[12259,[2162692,1114120,196608]],[12260,[2228228,1114116]],[12261,[2228232,1114120]],[12262,[2228228,1114116,12]],[12263,[2228228,1114116,12]],[12264,[2162692,1179652]],[12265,[2162696,1179656]],[12266,[2162692,1179652,12]],[12267,[2162692,1179652,12]],[12268,[2228228,1114116]],[12269,[2162692,1179652]],[12270,[2162692,1114116,196608]],[12271,[2162692,1114116,196608]],[12272,[2162692,1114116,196608]],[12273,[2228232,1114120]],[12274,[2162696,1179656]],[12275,[2162696,1114120,196608]],[12276,[2162696,1114120,196608]],[12277,[2162696,1114120,196608]],[12278,[2162696,1114116]],[12279,[2162692,1114120]],[12280,[2162692,1114116,12]],[12281,[2162692,1114116,12]],[12282,[2162692,1114116,12]],[12283,[2228232,1179652]],[12284,[2228228,1179656]],[12285,[2228228,1179652,12]],[12286,[2228228,1179652,12]],[12287,[2228228,1179652,12]],[12288,[1310724,786444]],[12289,[2359300,786444]],[12290,[2359300,1310724,786444]],[12291,[2359300,1310724,786444]],[12292,[1310728,786444]],[12293,[2359304,786444]],[12294,[2359304,1310728,786444]],[12295,[2359304,1310728,786444]],[12296,[2359304,1310724]],[12297,[2621448,1572868]],[12298,[2359304,1310724,786432]],[12299,[2359304,1310724,786432]],[12300,[2359300,1310728]],[12301,[2621444,1572872]],[12302,[2359300,1310728,786432]],[12303,[2359300,1310728,786432]],[12304,[2621444,1310724]],[12305,[2621448,1310728]],[12306,[2621444,1310724,12]],[12307,[2621444,1310724,12]],[12308,[2359300,1572868]],[12309,[2359304,1572872]],[12310,[2359300,1572868,12]],[12311,[2359300,1572868,12]],[12312,[2621444,1310724]],[12313,[2359300,1572868]],[12314,[2359300,1310724,786432]],[12315,[2359300,1310724,786432]],[12316,[2359300,1310724,786432]],[12317,[2621448,1310728]],[12318,[2359304,1572872]],[12319,[2359304,1310728,786432]],[12320,[2359304,1310728,786432]],[12321,[2359304,1310728,786432]],[12322,[2359304,1310724]],[12323,[2359300,1310728]],[12324,[2359300,1310724,12]],[12325,[2359300,1310724,12]],[12326,[2359300,1310724,12]],[12327,[2621448,1572868]],[12328,[2621444,1572872]],[12329,[2621444,1572868,12]],[12330,[2621444,1572868,12]],[12331,[2621444,1572868,12]],[12332,[336,240]],[12333,[592,240]],[12334,[592,336,240]],[12335,[592,336,240]],[12336,[352,240]],[12337,[608,240]],[12338,[608,352,240]],[12339,[608,352,240]],[12340,[608,336]],[12341,[672,400]],[12342,[608,336,192]],[12343,[608,336,192]],[12344,[592,352]],[12345,[656,416]],[12346,[592,352,192]],[12347,[592,352,192]],[12348,[656,336]],[12349,[672,352]],[12350,[656,336,48]],[12351,[656,336,48]],[12352,[592,400]],[12353,[608,416]],[12354,[592,400,48]],[12355,[592,400,48]],[12356,[656,336]],[12357,[592,400]],[12358,[592,336,192]],[12359,[592,336,192]],[12360,[592,336,192]],[12361,[592,336,192]],[12362,[672,352]],[12363,[608,416]],[12364,[608,352,192]],[12365,[608,352,192]],[12366,[608,352,192]],[12367,[608,352,192]],[12368,[608,336]],[12369,[592,352]],[12370,[592,336,48]],[12371,[592,336,48]],[12372,[592,336,48]],[12373,[592,336,48]],[12374,[672,400]],[12375,[656,416]],[12376,[656,400,48]],[12377,[656,400,48]],[12378,[656,400,48]],[12379,[656,400,48]],[12380,[1104,240]],[12381,[2128,240]],[12382,[2128,1104,240]],[12383,[2128,1104,240]],[12384,[1120,240]],[12385,[2144,240]],[12386,[2144,1120,240]],[12387,[2144,1120,240]],[12388,[2144,1104]],[12389,[2208,1168]],[12390,[2144,1104,192]],[12391,[2144,1104,192]],[12392,[2128,1120]],[12393,[2192,1184]],[12394,[2128,1120,192]],[12395,[2128,1120,192]],[12396,[2192,1104]],[12397,[2208,1120]],[12398,[2192,1104,48]],[12399,[2192,1104,48]],[12400,[2128,1168]],[12401,[2144,1184]],[12402,[2128,1168,48]],[12403,[2128,1168,48]],[12404,[2192,1104]],[12405,[2128,1168]],[12406,[2128,1104,192]],[12407,[2128,1104,192]],[12408,[2128,1104,192]],[12409,[2208,1120]],[12410,[2144,1184]],[12411,[2144,1120,192]],[12412,[2144,1120,192]],[12413,[2144,1120,192]],[12414,[2144,1104]],[12415,[2128,1120]],[12416,[2128,1104,48]],[12417,[2128,1104,48]],[12418,[2128,1104,48]],[12419,[2208,1168]],[12420,[2192,1184]],[12421,[2192,1168,48]],[12422,[2192,1168,48]],[12423,[2192,1168,48]],[12424,[4176,240]],[12425,[8272,240]],[12426,[8272,4176,240]],[12427,[8272,4176,240]],[12428,[4192,240]],[12429,[8288,240]],[12430,[8288,4192,240]],[12431,[8288,4192,240]],[12432,[8288,4176]],[12433,[8352,4240]],[12434,[8288,4176,192]],[12435,[8288,4176,192]],[12436,[8272,4192]],[12437,[8336,4256]],[12438,[8272,4192,192]],[12439,[8272,4192,192]],[12440,[8336,4176]],[12441,[8352,4192]],[12442,[8336,4176,48]],[12443,[8336,4176,48]],[12444,[8272,4240]],[12445,[8288,4256]],[12446,[8272,4240,48]],[12447,[8272,4240,48]],[12448,[8336,4176]],[12449,[8272,4240]],[12450,[8272,4176,192]],[12451,[8272,4176,192]],[12452,[8272,4176,192]],[12453,[8352,4192]],[12454,[8288,4256]],[12455,[8288,4192,192]],[12456,[8288,4192,192]],[12457,[8288,4192,192]],[12458,[8288,4176]],[12459,[8272,4192]],[12460,[8272,4176,48]],[12461,[8272,4176,48]],[12462,[8272,4176,48]],[12463,[8352,4240]],[12464,[8336,4256]],[12465,[8336,4240,48]],[12466,[8336,4240,48]],[12467,[8336,4240,48]],[12468,[16464,240]],[12469,[32848,240]],[12470,[32848,16464,240]],[12471,[32848,16464,240]],[12472,[16480,240]],[12473,[32864,240]],[12474,[32864,16480,240]],[12475,[32864,16480,240]],[12476,[32864,16464]],[12477,[32928,16528]],[12478,[32864,16464,192]],[12479,[32864,16464,192]],[12480,[32848,16480]],[12481,[32912,16544]],[12482,[32848,16480,192]],[12483,[32848,16480,192]],[12484,[32912,16464]],[12485,[32928,16480]],[12486,[32912,16464,48]],[12487,[32912,16464,48]],[12488,[32848,16528]],[12489,[32864,16544]],[12490,[32848,16528,48]],[12491,[32848,16528,48]],[12492,[32912,16464]],[12493,[32848,16528]],[12494,[32848,16464,192]],[12495,[32848,16464,192]],[12496,[32848,16464,192]],[12497,[32928,16480]],[12498,[32864,16544]],[12499,[32864,16480,192]],[12500,[32864,16480,192]],[12501,[32864,16480,192]],[12502,[32864,16464]],[12503,[32848,16480]],[12504,[32848,16464,48]],[12505,[32848,16464,48]],[12506,[32848,16464,48]],[12507,[32928,16528]],[12508,[32912,16544]],[12509,[32912,16528,48]],[12510,[32912,16528,48]],[12511,[32912,16528,48]],[12512,[65616,240]],[12513,[131152,240]],[12514,[131152,65616,240]],[12515,[131152,65616,240]],[12516,[65632,240]],[12517,[131168,240]],[12518,[131168,65632,240]],[12519,[131168,65632,240]],[12520,[131168,65616]],[12521,[131232,65680]],[12522,[131168,65616,192]],[12523,[131168,65616,192]],[12524,[131152,65632]],[12525,[131216,65696]],[12526,[131152,65632,192]],[12527,[131152,65632,192]],[12528,[131216,65616]],[12529,[131232,65632]],[12530,[131216,65616,48]],[12531,[131216,65616,48]],[12532,[131152,65680]],[12533,[131168,65696]],[12534,[131152,65680,48]],[12535,[131152,65680,48]],[12536,[131216,65616]],[12537,[131152,65680]],[12538,[131152,65616,192]],[12539,[131152,65616,192]],[12540,[131152,65616,192]],[12541,[131232,65632]],[12542,[131168,65696]],[12543,[131168,65632,192]],[12544,[131168,65632,192]],[12545,[131168,65632,192]],[12546,[131168,65616]],[12547,[131152,65632]],[12548,[131152,65616,48]],[12549,[131152,65616,48]],[12550,[131152,65616,48]],[12551,[131232,65680]],[12552,[131216,65696]],[12553,[131216,65680,48]],[12554,[131216,65680,48]],[12555,[131216,65680,48]],[12556,[262224,240]],[12557,[524368,240]],[12558,[524368,262224,240]],[12559,[524368,262224,240]],[12560,[262240,240]],[12561,[524384,240]],[12562,[524384,262240,240]],[12563,[524384,262240,240]],[12564,[524384,262224]],[12565,[524448,262288]],[12566,[524384,262224,192]],[12567,[524384,262224,192]],[12568,[524368,262240]],[12569,[524432,262304]],[12570,[524368,262240,192]],[12571,[524368,262240,192]],[12572,[524432,262224]],[12573,[524448,262240]],[12574,[524432,262224,48]],[12575,[524432,262224,48]],[12576,[524368,262288]],[12577,[524384,262304]],[12578,[524368,262288,48]],[12579,[524368,262288,48]],[12580,[524432,262224]],[12581,[524368,262288]],[12582,[524368,262224,192]],[12583,[524368,262224,192]],[12584,[524368,262224,192]],[12585,[524448,262240]],[12586,[524384,262304]],[12587,[524384,262240,192]],[12588,[524384,262240,192]],[12589,[524384,262240,192]],[12590,[524384,262224]],[12591,[524368,262240]],[12592,[524368,262224,48]],[12593,[524368,262224,48]],[12594,[524368,262224,48]],[12595,[524448,262288]],[12596,[524432,262304]],[12597,[524432,262288,48]],[12598,[524432,262288,48]],[12599,[524432,262288,48]],[12600,[1048656,240]],[12601,[2097232,240]],[12602,[2097232,1048656,240]],[12603,[2097232,1048656,240]],[12604,[1048672,240]],[12605,[2097248,240]],[12606,[2097248,1048672,240]],[12607,[2097248,1048672,240]],[12608,[2097248,1048656]],[12609,[2097312,1048720]],[12610,[2097248,1048656,192]],[12611,[2097248,1048656,192]],[12612,[2097232,1048672]],[12613,[2097296,1048736]],[12614,[2097232,1048672,192]],[12615,[2097232,1048672,192]],[12616,[2097296,1048656]],[12617,[2097312,1048672]],[12618,[2097296,1048656,48]],[12619,[2097296,1048656,48]],[12620,[2097232,1048720]],[12621,[2097248,1048736]],[12622,[2097232,1048720,48]],[12623,[2097232,1048720,48]],[12624,[2097296,1048656]],[12625,[2097232,1048720]],[12626,[2097232,1048656,192]],[12627,[2097232,1048656,192]],[12628,[2097232,1048656,192]],[12629,[2097312,1048672]],[12630,[2097248,1048736]],[12631,[2097248,1048672,192]],[12632,[2097248,1048672,192]],[12633,[2097248,1048672,192]],[12634,[2097248,1048656]],[12635,[2097232,1048672]],[12636,[2097232,1048656,48]],[12637,[2097232,1048656,48]],[12638,[2097232,1048656,48]],[12639,[2097312,1048720]],[12640,[2097296,1048736]],[12641,[2097296,1048720,48]],[12642,[2097296,1048720,48]],[12643,[2097296,1048720,48]],[12644,[1296,816]],[12645,[2320,816]],[12646,[2320,1296,816]],[12647,[2320,1296,816]],[12648,[1312,816]],[12649,[2336,816]],[12650,[2336,1312,816]],[12651,[2336,1312,816]],[12652,[2336,1296]],[12653,[2592,1552]],[12654,[2336,1296,768]],[12655,[2336,1296,768]],[12656,[2320,1312]],[12657,[2576,1568]],[12658,[2320,1312,768]],[12659,[2320,1312,768]],[12660,[2576,1296]],[12661,[2592,1312]],[12662,[2576,1296,48]],[12663,[2576,1296,48]],[12664,[2320,1552]],[12665,[2336,1568]],[12666,[2320,1552,48]],[12667,[2320,1552,48]],[12668,[2576,1296]],[12669,[2320,1552]],[12670,[2320,1296,768]],[12671,[2320,1296,768]],[12672,[2320,1296,768]],[12673,[2592,1312]],[12674,[2336,1568]],[12675,[2336,1312,768]],[12676,[2336,1312,768]],[12677,[2336,1312,768]],[12678,[2336,1296]],[12679,[2320,1312]],[12680,[2320,1296,48]],[12681,[2320,1296,48]],[12682,[2320,1296,48]],[12683,[2592,1552]],[12684,[2576,1568]],[12685,[2576,1552,48]],[12686,[2576,1552,48]],[12687,[2576,1552,48]],[12688,[4368,816]],[12689,[8464,816]],[12690,[8464,4368,816]],[12691,[8464,4368,816]],[12692,[4384,816]],[12693,[8480,816]],[12694,[8480,4384,816]],[12695,[8480,4384,816]],[12696,[8480,4368]],[12697,[8736,4624]],[12698,[8480,4368,768]],[12699,[8480,4368,768]],[12700,[8464,4384]],[12701,[8720,4640]],[12702,[8464,4384,768]],[12703,[8464,4384,768]],[12704,[8720,4368]],[12705,[8736,4384]],[12706,[8720,4368,48]],[12707,[8720,4368,48]],[12708,[8464,4624]],[12709,[8480,4640]],[12710,[8464,4624,48]],[12711,[8464,4624,48]],[12712,[8720,4368]],[12713,[8464,4624]],[12714,[8464,4368,768]],[12715,[8464,4368,768]],[12716,[8464,4368,768]],[12717,[8736,4384]],[12718,[8480,4640]],[12719,[8480,4384,768]],[12720,[8480,4384,768]],[12721,[8480,4384,768]],[12722,[8480,4368]],[12723,[8464,4384]],[12724,[8464,4368,48]],[12725,[8464,4368,48]],[12726,[8464,4368,48]],[12727,[8736,4624]],[12728,[8720,4640]],[12729,[8720,4624,48]],[12730,[8720,4624,48]],[12731,[8720,4624,48]],[12732,[16656,816]],[12733,[33040,816]],[12734,[33040,16656,816]],[12735,[33040,16656,816]],[12736,[16672,816]],[12737,[33056,816]],[12738,[33056,16672,816]],[12739,[33056,16672,816]],[12740,[33056,16656]],[12741,[33312,16912]],[12742,[33056,16656,768]],[12743,[33056,16656,768]],[12744,[33040,16672]],[12745,[33296,16928]],[12746,[33040,16672,768]],[12747,[33040,16672,768]],[12748,[33296,16656]],[12749,[33312,16672]],[12750,[33296,16656,48]],[12751,[33296,16656,48]],[12752,[33040,16912]],[12753,[33056,16928]],[12754,[33040,16912,48]],[12755,[33040,16912,48]],[12756,[33296,16656]],[12757,[33040,16912]],[12758,[33040,16656,768]],[12759,[33040,16656,768]],[12760,[33040,16656,768]],[12761,[33312,16672]],[12762,[33056,16928]],[12763,[33056,16672,768]],[12764,[33056,16672,768]],[12765,[33056,16672,768]],[12766,[33056,16656]],[12767,[33040,16672]],[12768,[33040,16656,48]],[12769,[33040,16656,48]],[12770,[33040,16656,48]],[12771,[33312,16912]],[12772,[33296,16928]],[12773,[33296,16912,48]],[12774,[33296,16912,48]],[12775,[33296,16912,48]],[12776,[65808,816]],[12777,[131344,816]],[12778,[131344,65808,816]],[12779,[131344,65808,816]],[12780,[65824,816]],[12781,[131360,816]],[12782,[131360,65824,816]],[12783,[131360,65824,816]],[12784,[131360,65808]],[12785,[131616,66064]],[12786,[131360,65808,768]],[12787,[131360,65808,768]],[12788,[131344,65824]],[12789,[131600,66080]],[12790,[131344,65824,768]],[12791,[131344,65824,768]],[12792,[131600,65808]],[12793,[131616,65824]],[12794,[131600,65808,48]],[12795,[131600,65808,48]],[12796,[131344,66064]],[12797,[131360,66080]],[12798,[131344,66064,48]],[12799,[131344,66064,48]],[12800,[131600,65808]],[12801,[131344,66064]],[12802,[131344,65808,768]],[12803,[131344,65808,768]],[12804,[131344,65808,768]],[12805,[131616,65824]],[12806,[131360,66080]],[12807,[131360,65824,768]],[12808,[131360,65824,768]],[12809,[131360,65824,768]],[12810,[131360,65808]],[12811,[131344,65824]],[12812,[131344,65808,48]],[12813,[131344,65808,48]],[12814,[131344,65808,48]],[12815,[131616,66064]],[12816,[131600,66080]],[12817,[131600,66064,48]],[12818,[131600,66064,48]],[12819,[131600,66064,48]],[12820,[262416,816]],[12821,[524560,816]],[12822,[524560,262416,816]],[12823,[524560,262416,816]],[12824,[262432,816]],[12825,[524576,816]],[12826,[524576,262432,816]],[12827,[524576,262432,816]],[12828,[524576,262416]],[12829,[524832,262672]],[12830,[524576,262416,768]],[12831,[524576,262416,768]],[12832,[524560,262432]],[12833,[524816,262688]],[12834,[524560,262432,768]],[12835,[524560,262432,768]],[12836,[524816,262416]],[12837,[524832,262432]],[12838,[524816,262416,48]],[12839,[524816,262416,48]],[12840,[524560,262672]],[12841,[524576,262688]],[12842,[524560,262672,48]],[12843,[524560,262672,48]],[12844,[524816,262416]],[12845,[524560,262672]],[12846,[524560,262416,768]],[12847,[524560,262416,768]],[12848,[524560,262416,768]],[12849,[524832,262432]],[12850,[524576,262688]],[12851,[524576,262432,768]],[12852,[524576,262432,768]],[12853,[524576,262432,768]],[12854,[524576,262416]],[12855,[524560,262432]],[12856,[524560,262416,48]],[12857,[524560,262416,48]],[12858,[524560,262416,48]],[12859,[524832,262672]],[12860,[524816,262688]],[12861,[524816,262672,48]],[12862,[524816,262672,48]],[12863,[524816,262672,48]],[12864,[1048848,816]],[12865,[2097424,816]],[12866,[2097424,1048848,816]],[12867,[2097424,1048848,816]],[12868,[1048864,816]],[12869,[2097440,816]],[12870,[2097440,1048864,816]],[12871,[2097440,1048864,816]],[12872,[2097440,1048848]],[12873,[2097696,1049104]],[12874,[2097440,1048848,768]],[12875,[2097440,1048848,768]],[12876,[2097424,1048864]],[12877,[2097680,1049120]],[12878,[2097424,1048864,768]],[12879,[2097424,1048864,768]],[12880,[2097680,1048848]],[12881,[2097696,1048864]],[12882,[2097680,1048848,48]],[12883,[2097680,1048848,48]],[12884,[2097424,1049104]],[12885,[2097440,1049120]],[12886,[2097424,1049104,48]],[12887,[2097424,1049104,48]],[12888,[2097680,1048848]],[12889,[2097424,1049104]],[12890,[2097424,1048848,768]],[12891,[2097424,1048848,768]],[12892,[2097424,1048848,768]],[12893,[2097696,1048864]],[12894,[2097440,1049120]],[12895,[2097440,1048864,768]],[12896,[2097440,1048864,768]],[12897,[2097440,1048864,768]],[12898,[2097440,1048848]],[12899,[2097424,1048864]],[12900,[2097424,1048848,48]],[12901,[2097424,1048848,48]],[12902,[2097424,1048848,48]],[12903,[2097696,1049104]],[12904,[2097680,1049120]],[12905,[2097680,1049104,48]],[12906,[2097680,1049104,48]],[12907,[2097680,1049104,48]],[12908,[5136,3120]],[12909,[9232,3120]],[12910,[9232,5136,3120]],[12911,[9232,5136,3120]],[12912,[5152,3120]],[12913,[9248,3120]],[12914,[9248,5152,3120]],[12915,[9248,5152,3120]],[12916,[9248,5136]],[12917,[10272,6160]],[12918,[9248,5136,3072]],[12919,[9248,5136,3072]],[12920,[9232,5152]],[12921,[10256,6176]],[12922,[9232,5152,3072]],[12923,[9232,5152,3072]],[12924,[10256,5136]],[12925,[10272,5152]],[12926,[10256,5136,48]],[12927,[10256,5136,48]],[12928,[9232,6160]],[12929,[9248,6176]],[12930,[9232,6160,48]],[12931,[9232,6160,48]],[12932,[10256,5136]],[12933,[9232,6160]],[12934,[9232,5136,3072]],[12935,[9232,5136,3072]],[12936,[9232,5136,3072]],[12937,[9232,5136,3072]],[12938,[10272,5152]],[12939,[9248,6176]],[12940,[9248,5152,3072]],[12941,[9248,5152,3072]],[12942,[9248,5152,3072]],[12943,[9248,5152,3072]],[12944,[9248,5136]],[12945,[9232,5152]],[12946,[9232,5136,48]],[12947,[9232,5136,48]],[12948,[9232,5136,48]],[12949,[10272,6160]],[12950,[10256,6176]],[12951,[10256,6160,48]],[12952,[10256,6160,48]],[12953,[10256,6160,48]],[12954,[17424,3120]],[12955,[33808,3120]],[12956,[33808,17424,3120]],[12957,[33808,17424,3120]],[12958,[17440,3120]],[12959,[33824,3120]],[12960,[33824,17440,3120]],[12961,[33824,17440,3120]],[12962,[33824,17424]],[12963,[34848,18448]],[12964,[33824,17424,3072]],[12965,[33824,17424,3072]],[12966,[33808,17440]],[12967,[34832,18464]],[12968,[33808,17440,3072]],[12969,[33808,17440,3072]],[12970,[34832,17424]],[12971,[34848,17440]],[12972,[34832,17424,48]],[12973,[34832,17424,48]],[12974,[33808,18448]],[12975,[33824,18464]],[12976,[33808,18448,48]],[12977,[33808,18448,48]],[12978,[34832,17424]],[12979,[33808,18448]],[12980,[33808,17424,3072]],[12981,[33808,17424,3072]],[12982,[33808,17424,3072]],[12983,[34848,17440]],[12984,[33824,18464]],[12985,[33824,17440,3072]],[12986,[33824,17440,3072]],[12987,[33824,17440,3072]],[12988,[33824,17424]],[12989,[33808,17440]],[12990,[33808,17424,48]],[12991,[33808,17424,48]],[12992,[33808,17424,48]],[12993,[34848,18448]],[12994,[34832,18464]],[12995,[34832,18448,48]],[12996,[34832,18448,48]],[12997,[34832,18448,48]],[12998,[66576,3120]],[12999,[132112,3120]],[13000,[132112,66576,3120]],[13001,[132112,66576,3120]],[13002,[66592,3120]],[13003,[132128,3120]],[13004,[132128,66592,3120]],[13005,[132128,66592,3120]],[13006,[132128,66576]],[13007,[133152,67600]],[13008,[132128,66576,3072]],[13009,[132128,66576,3072]],[13010,[132112,66592]],[13011,[133136,67616]],[13012,[132112,66592,3072]],[13013,[132112,66592,3072]],[13014,[133136,66576]],[13015,[133152,66592]],[13016,[133136,66576,48]],[13017,[133136,66576,48]],[13018,[132112,67600]],[13019,[132128,67616]],[13020,[132112,67600,48]],[13021,[132112,67600,48]],[13022,[133136,66576]],[13023,[132112,67600]],[13024,[132112,66576,3072]],[13025,[132112,66576,3072]],[13026,[132112,66576,3072]],[13027,[132112,66576,3072]],[13028,[133152,66592]],[13029,[132128,67616]],[13030,[132128,66592,3072]],[13031,[132128,66592,3072]],[13032,[132128,66592,3072]],[13033,[132128,66592,3072]],[13034,[132128,66576]],[13035,[132112,66592]],[13036,[132112,66576,48]],[13037,[132112,66576,48]],[13038,[132112,66576,48]],[13039,[133152,67600]],[13040,[133136,67616]],[13041,[133136,67600,48]],[13042,[133136,67600,48]],[13043,[133136,67600,48]],[13044,[263184,3120]],[13045,[525328,3120]],[13046,[525328,263184,3120]],[13047,[525328,263184,3120]],[13048,[263200,3120]],[13049,[525344,3120]],[13050,[525344,263200,3120]],[13051,[525344,263200,3120]],[13052,[525344,263184]],[13053,[526368,264208]],[13054,[525344,263184,3072]],[13055,[525344,263184,3072]],[13056,[525328,263200]],[13057,[526352,264224]],[13058,[525328,263200,3072]],[13059,[525328,263200,3072]],[13060,[526352,263184]],[13061,[526368,263200]],[13062,[526352,263184,48]],[13063,[526352,263184,48]],[13064,[525328,264208]],[13065,[525344,264224]],[13066,[525328,264208,48]],[13067,[525328,264208,48]],[13068,[526352,263184]],[13069,[525328,264208]],[13070,[525328,263184,3072]],[13071,[525328,263184,3072]],[13072,[525328,263184,3072]],[13073,[526368,263200]],[13074,[525344,264224]],[13075,[525344,263200,3072]],[13076,[525344,263200,3072]],[13077,[525344,263200,3072]],[13078,[525344,263184]],[13079,[525328,263200]],[13080,[525328,263184,48]],[13081,[525328,263184,48]],[13082,[525328,263184,48]],[13083,[526368,264208]],[13084,[526352,264224]],[13085,[526352,264208,48]],[13086,[526352,264208,48]],[13087,[526352,264208,48]],[13088,[1049616,3120]],[13089,[2098192,3120]],[13090,[2098192,1049616,3120]],[13091,[2098192,1049616,3120]],[13092,[1049632,3120]],[13093,[2098208,3120]],[13094,[2098208,1049632,3120]],[13095,[2098208,1049632,3120]],[13096,[2098208,1049616]],[13097,[2099232,1050640]],[13098,[2098208,1049616,3072]],[13099,[2098208,1049616,3072]],[13100,[2098192,1049632]],[13101,[2099216,1050656]],[13102,[2098192,1049632,3072]],[13103,[2098192,1049632,3072]],[13104,[2099216,1049616]],[13105,[2099232,1049632]],[13106,[2099216,1049616,48]],[13107,[2099216,1049616,48]],[13108,[2098192,1050640]],[13109,[2098208,1050656]],[13110,[2098192,1050640,48]],[13111,[2098192,1050640,48]],[13112,[2099216,1049616]],[13113,[2098192,1050640]],[13114,[2098192,1049616,3072]],[13115,[2098192,1049616,3072]],[13116,[2098192,1049616,3072]],[13117,[2098192,1049616,3072]],[13118,[2099232,1049632]],[13119,[2098208,1050656]],[13120,[2098208,1049632,3072]],[13121,[2098208,1049632,3072]],[13122,[2098208,1049632,3072]],[13123,[2098208,1049632,3072]],[13124,[2098208,1049616]],[13125,[2098192,1049632]],[13126,[2098192,1049616,48]],[13127,[2098192,1049616,48]],[13128,[2098192,1049616,48]],[13129,[2099232,1050640]],[13130,[2099216,1050656]],[13131,[2099216,1050640,48]],[13132,[2099216,1050640,48]],[13133,[2099216,1050640,48]],[13134,[20496,12336]],[13135,[36880,12336]],[13136,[36880,20496,12336]],[13137,[36880,20496,12336]],[13138,[20512,12336]],[13139,[36896,12336]],[13140,[36896,20512,12336]],[13141,[36896,20512,12336]],[13142,[36896,20496]],[13143,[40992,24592]],[13144,[36896,20496,12288]],[13145,[36896,20496,12288]],[13146,[36880,20512]],[13147,[40976,24608]],[13148,[36880,20512,12288]],[13149,[36880,20512,12288]],[13150,[40976,20496]],[13151,[40992,20512]],[13152,[40976,20496,48]],[13153,[40976,20496,48]],[13154,[36880,24592]],[13155,[36896,24608]],[13156,[36880,24592,48]],[13157,[36880,24592,48]],[13158,[40976,20496]],[13159,[36880,24592]],[13160,[36880,20496,12288]],[13161,[36880,20496,12288]],[13162,[36880,20496,12288]],[13163,[36880,20496,12288]],[13164,[40992,20512]],[13165,[36896,24608]],[13166,[36896,20512,12288]],[13167,[36896,20512,12288]],[13168,[36896,20512,12288]],[13169,[36896,20512,12288]],[13170,[36896,20496]],[13171,[36880,20512]],[13172,[36880,20496,48]],[13173,[36880,20496,48]],[13174,[36880,20496,48]],[13175,[40992,24592]],[13176,[40976,24608]],[13177,[40976,24592,48]],[13178,[40976,24592,48]],[13179,[40976,24592,48]],[13180,[69648,12336]],[13181,[135184,12336]],[13182,[135184,69648,12336]],[13183,[135184,69648,12336]],[13184,[69664,12336]],[13185,[135200,12336]],[13186,[135200,69664,12336]],[13187,[135200,69664,12336]],[13188,[135200,69648]],[13189,[139296,73744]],[13190,[135200,69648,12288]],[13191,[135200,69648,12288]],[13192,[135184,69664]],[13193,[139280,73760]],[13194,[135184,69664,12288]],[13195,[135184,69664,12288]],[13196,[139280,69648]],[13197,[139296,69664]],[13198,[139280,69648,48]],[13199,[139280,69648,48]],[13200,[135184,73744]],[13201,[135200,73760]],[13202,[135184,73744,48]],[13203,[135184,73744,48]],[13204,[139280,69648]],[13205,[135184,73744]],[13206,[135184,69648,12288]],[13207,[135184,69648,12288]],[13208,[135184,69648,12288]],[13209,[139296,69664]],[13210,[135200,73760]],[13211,[135200,69664,12288]],[13212,[135200,69664,12288]],[13213,[135200,69664,12288]],[13214,[135200,69648]],[13215,[135184,69664]],[13216,[135184,69648,48]],[13217,[135184,69648,48]],[13218,[135184,69648,48]],[13219,[139296,73744]],[13220,[139280,73760]],[13221,[139280,73744,48]],[13222,[139280,73744,48]],[13223,[139280,73744,48]],[13224,[266256,12336]],[13225,[528400,12336]],[13226,[528400,266256,12336]],[13227,[528400,266256,12336]],[13228,[266272,12336]],[13229,[528416,12336]],[13230,[528416,266272,12336]],[13231,[528416,266272,12336]],[13232,[528416,266256]],[13233,[532512,270352]],[13234,[528416,266256,12288]],[13235,[528416,266256,12288]],[13236,[528400,266272]],[13237,[532496,270368]],[13238,[528400,266272,12288]],[13239,[528400,266272,12288]],[13240,[532496,266256]],[13241,[532512,266272]],[13242,[532496,266256,48]],[13243,[532496,266256,48]],[13244,[528400,270352]],[13245,[528416,270368]],[13246,[528400,270352,48]],[13247,[528400,270352,48]],[13248,[532496,266256]],[13249,[528400,270352]],[13250,[528400,266256,12288]],[13251,[528400,266256,12288]],[13252,[528400,266256,12288]],[13253,[528400,266256,12288]],[13254,[532512,266272]],[13255,[528416,270368]],[13256,[528416,266272,12288]],[13257,[528416,266272,12288]],[13258,[528416,266272,12288]],[13259,[528416,266272,12288]],[13260,[528416,266256]],[13261,[528400,266272]],[13262,[528400,266256,48]],[13263,[528400,266256,48]],[13264,[528400,266256,48]],[13265,[532512,270352]],[13266,[532496,270368]],[13267,[532496,270352,48]],[13268,[532496,270352,48]],[13269,[532496,270352,48]],[13270,[1052688,12336]],[13271,[2101264,12336]],[13272,[2101264,1052688,12336]],[13273,[2101264,1052688,12336]],[13274,[1052704,12336]],[13275,[2101280,12336]],[13276,[2101280,1052704,12336]],[13277,[2101280,1052704,12336]],[13278,[2101280,1052688]],[13279,[2105376,1056784]],[13280,[2101280,1052688,12288]],[13281,[2101280,1052688,12288]],[13282,[2101264,1052704]],[13283,[2105360,1056800]],[13284,[2101264,1052704,12288]],[13285,[2101264,1052704,12288]],[13286,[2105360,1052688]],[13287,[2105376,1052704]],[13288,[2105360,1052688,48]],[13289,[2105360,1052688,48]],[13290,[2101264,1056784]],[13291,[2101280,1056800]],[13292,[2101264,1056784,48]],[13293,[2101264,1056784,48]],[13294,[2105360,1052688]],[13295,[2101264,1056784]],[13296,[2101264,1052688,12288]],[13297,[2101264,1052688,12288]],[13298,[2101264,1052688,12288]],[13299,[2105376,1052704]],[13300,[2101280,1056800]],[13301,[2101280,1052704,12288]],[13302,[2101280,1052704,12288]],[13303,[2101280,1052704,12288]],[13304,[2101280,1052688]],[13305,[2101264,1052704]],[13306,[2101264,1052688,48]],[13307,[2101264,1052688,48]],[13308,[2101264,1052688,48]],[13309,[2105376,1056784]],[13310,[2105360,1056800]],[13311,[2105360,1056784,48]],[13312,[2105360,1056784,48]],[13313,[2105360,1056784,48]],[13314,[81936,49200]],[13315,[147472,49200]],[13316,[147472,81936,49200]],[13317,[147472,81936,49200]],[13318,[81952,49200]],[13319,[147488,49200]],[13320,[147488,81952,49200]],[13321,[147488,81952,49200]],[13322,[147488,81936]],[13323,[163872,98320]],[13324,[147488,81936,49152]],[13325,[147488,81936,49152]],[13326,[147472,81952]],[13327,[163856,98336]],[13328,[147472,81952,49152]],[13329,[147472,81952,49152]],[13330,[163856,81936]],[13331,[163872,81952]],[13332,[163856,81936,48]],[13333,[163856,81936,48]],[13334,[147472,98320]],[13335,[147488,98336]],[13336,[147472,98320,48]],[13337,[147472,98320,48]],[13338,[163856,81936]],[13339,[147472,98320]],[13340,[147472,81936,49152]],[13341,[147472,81936,49152]],[13342,[147472,81936,49152]],[13343,[147472,81936,49152]],[13344,[163872,81952]],[13345,[147488,98336]],[13346,[147488,81952,49152]],[13347,[147488,81952,49152]],[13348,[147488,81952,49152]],[13349,[147488,81952,49152]],[13350,[147488,81936]],[13351,[147472,81952]],[13352,[147472,81936,48]],[13353,[147472,81936,48]],[13354,[147472,81936,48]],[13355,[163872,98320]],[13356,[163856,98336]],[13357,[163856,98320,48]],[13358,[163856,98320,48]],[13359,[163856,98320,48]],[13360,[278544,49200]],[13361,[540688,49200]],[13362,[540688,278544,49200]],[13363,[540688,278544,49200]],[13364,[278560,49200]],[13365,[540704,49200]],[13366,[540704,278560,49200]],[13367,[540704,278560,49200]],[13368,[540704,278544]],[13369,[557088,294928]],[13370,[540704,278544,49152]],[13371,[540704,278544,49152]],[13372,[540688,278560]],[13373,[557072,294944]],[13374,[540688,278560,49152]],[13375,[540688,278560,49152]],[13376,[557072,278544]],[13377,[557088,278560]],[13378,[557072,278544,48]],[13379,[557072,278544,48]],[13380,[540688,294928]],[13381,[540704,294944]],[13382,[540688,294928,48]],[13383,[540688,294928,48]],[13384,[557072,278544]],[13385,[540688,294928]],[13386,[540688,278544,49152]],[13387,[540688,278544,49152]],[13388,[540688,278544,49152]],[13389,[557088,278560]],[13390,[540704,294944]],[13391,[540704,278560,49152]],[13392,[540704,278560,49152]],[13393,[540704,278560,49152]],[13394,[540704,278544]],[13395,[540688,278560]],[13396,[540688,278544,48]],[13397,[540688,278544,48]],[13398,[540688,278544,48]],[13399,[557088,294928]],[13400,[557072,294944]],[13401,[557072,294928,48]],[13402,[557072,294928,48]],[13403,[557072,294928,48]],[13404,[1064976,49200]],[13405,[2113552,49200]],[13406,[2113552,1064976,49200]],[13407,[2113552,1064976,49200]],[13408,[1064992,49200]],[13409,[2113568,49200]],[13410,[2113568,1064992,49200]],[13411,[2113568,1064992,49200]],[13412,[2113568,1064976]],[13413,[2129952,1081360]],[13414,[2113568,1064976,49152]],[13415,[2113568,1064976,49152]],[13416,[2113552,1064992]],[13417,[2129936,1081376]],[13418,[2113552,1064992,49152]],[13419,[2113552,1064992,49152]],[13420,[2129936,1064976]],[13421,[2129952,1064992]],[13422,[2129936,1064976,48]],[13423,[2129936,1064976,48]],[13424,[2113552,1081360]],[13425,[2113568,1081376]],[13426,[2113552,1081360,48]],[13427,[2113552,1081360,48]],[13428,[2129936,1064976]],[13429,[2113552,1081360]],[13430,[2113552,1064976,49152]],[13431,[2113552,1064976,49152]],[13432,[2113552,1064976,49152]],[13433,[2129952,1064992]],[13434,[2113568,1081376]],[13435,[2113568,1064992,49152]],[13436,[2113568,1064992,49152]],[13437,[2113568,1064992,49152]],[13438,[2113568,1064976]],[13439,[2113552,1064992]],[13440,[2113552,1064976,48]],[13441,[2113552,1064976,48]],[13442,[2113552,1064976,48]],[13443,[2129952,1081360]],[13444,[2129936,1081376]],[13445,[2129936,1081360,48]],[13446,[2129936,1081360,48]],[13447,[2129936,1081360,48]],[13448,[327696,196656]],[13449,[589840,196656]],[13450,[589840,327696,196656]],[13451,[589840,327696,196656]],[13452,[327712,196656]],[13453,[589856,196656]],[13454,[589856,327712,196656]],[13455,[589856,327712,196656]],[13456,[589856,327696]],[13457,[655392,393232]],[13458,[589856,327696,196608]],[13459,[589856,327696,196608]],[13460,[589840,327712]],[13461,[655376,393248]],[13462,[589840,327712,196608]],[13463,[589840,327712,196608]],[13464,[655376,327696]],[13465,[655392,327712]],[13466,[655376,327696,48]],[13467,[655376,327696,48]],[13468,[589840,393232]],[13469,[589856,393248]],[13470,[589840,393232,48]],[13471,[589840,393232,48]],[13472,[655376,327696]],[13473,[589840,393232]],[13474,[589840,327696,196608]],[13475,[589840,327696,196608]],[13476,[589840,327696,196608]],[13477,[655392,327712]],[13478,[589856,393248]],[13479,[589856,327712,196608]],[13480,[589856,327712,196608]],[13481,[589856,327712,196608]],[13482,[589856,327696]],[13483,[589840,327712]],[13484,[589840,327696,48]],[13485,[589840,327696,48]],[13486,[589840,327696,48]],[13487,[655392,393232]],[13488,[655376,393248]],[13489,[655376,393232,48]],[13490,[655376,393232,48]],[13491,[655376,393232,48]],[13492,[1114128,196656]],[13493,[2162704,196656]],[13494,[2162704,1114128,196656]],[13495,[2162704,1114128,196656]],[13496,[1114144,196656]],[13497,[2162720,196656]],[13498,[2162720,1114144,196656]],[13499,[2162720,1114144,196656]],[13500,[2162720,1114128]],[13501,[2228256,1179664]],[13502,[2162720,1114128,196608]],[13503,[2162720,1114128,196608]],[13504,[2162704,1114144]],[13505,[2228240,1179680]],[13506,[2162704,1114144,196608]],[13507,[2162704,1114144,196608]],[13508,[2228240,1114128]],[13509,[2228256,1114144]],[13510,[2228240,1114128,48]],[13511,[2228240,1114128,48]],[13512,[2162704,1179664]],[13513,[2162720,1179680]],[13514,[2162704,1179664,48]],[13515,[2162704,1179664,48]],[13516,[2228240,1114128]],[13517,[2162704,1179664]],[13518,[2162704,1114128,196608]],[13519,[2162704,1114128,196608]],[13520,[2162704,1114128,196608]],[13521,[2228256,1114144]],[13522,[2162720,1179680]],[13523,[2162720,1114144,196608]],[13524,[2162720,1114144,196608]],[13525,[2162720,1114144,196608]],[13526,[2162720,1114128]],[13527,[2162704,1114144]],[13528,[2162704,1114128,48]],[13529,[2162704,1114128,48]],[13530,[2162704,1114128,48]],[13531,[2228256,1179664]],[13532,[2228240,1179680]],[13533,[2228240,1179664,48]],[13534,[2228240,1179664,48]],[13535,[2228240,1179664,48]],[13536,[1310736,786480]],[13537,[2359312,786480]],[13538,[2359312,1310736,786480]],[13539,[2359312,1310736,786480]],[13540,[1310752,786480]],[13541,[2359328,786480]],[13542,[2359328,1310752,786480]],[13543,[2359328,1310752,786480]],[13544,[2359328,1310736]],[13545,[2621472,1572880]],[13546,[2359328,1310736,786432]],[13547,[2359328,1310736,786432]],[13548,[2359312,1310752]],[13549,[2621456,1572896]],[13550,[2359312,1310752,786432]],[13551,[2359312,1310752,786432]],[13552,[2621456,1310736]],[13553,[2621472,1310752]],[13554,[2621456,1310736,48]],[13555,[2621456,1310736,48]],[13556,[2359312,1572880]],[13557,[2359328,1572896]],[13558,[2359312,1572880,48]],[13559,[2359312,1572880,48]],[13560,[2621456,1310736]],[13561,[2359312,1572880]],[13562,[2359312,1310736,786432]],[13563,[2359312,1310736,786432]],[13564,[2359312,1310736,786432]],[13565,[2621472,1310752]],[13566,[2359328,1572896]],[13567,[2359328,1310752,786432]],[13568,[2359328,1310752,786432]],[13569,[2359328,1310752,786432]],[13570,[2359328,1310736]],[13571,[2359312,1310752]],[13572,[2359312,1310736,48]],[13573,[2359312,1310736,48]],[13574,[2359312,1310736,48]],[13575,[2621472,1572880]],[13576,[2621456,1572896]],[13577,[2621456,1572880,48]],[13578,[2621456,1572880,48]],[13579,[2621456,1572880,48]],[13580,[1344,960]],[13581,[2368,960]],[13582,[2368,1344,960]],[13583,[2368,1344,960]],[13584,[1408,960]],[13585,[2432,960]],[13586,[2432,1408,960]],[13587,[2432,1408,960]],[13588,[2432,1344]],[13589,[2688,1600]],[13590,[2432,1344,768]],[13591,[2432,1344,768]],[13592,[2368,1408]],[13593,[2624,1664]],[13594,[2368,1408,768]],[13595,[2368,1408,768]],[13596,[2624,1344]],[13597,[2688,1408]],[13598,[2624,1344,192]],[13599,[2624,1344,192]],[13600,[2368,1600]],[13601,[2432,1664]],[13602,[2368,1600,192]],[13603,[2368,1600,192]],[13604,[2624,1344]],[13605,[2368,1600]],[13606,[2368,1344,768]],[13607,[2368,1344,768]],[13608,[2368,1344,768]],[13609,[2688,1408]],[13610,[2432,1664]],[13611,[2432,1408,768]],[13612,[2432,1408,768]],[13613,[2432,1408,768]],[13614,[2432,1344]],[13615,[2368,1408]],[13616,[2368,1344,192]],[13617,[2368,1344,192]],[13618,[2368,1344,192]],[13619,[2688,1600]],[13620,[2624,1664]],[13621,[2624,1600,192]],[13622,[2624,1600,192]],[13623,[2624,1600,192]],[13624,[4416,960]],[13625,[8512,960]],[13626,[8512,4416,960]],[13627,[8512,4416,960]],[13628,[4480,960]],[13629,[8576,960]],[13630,[8576,4480,960]],[13631,[8576,4480,960]],[13632,[8576,4416]],[13633,[8832,4672]],[13634,[8576,4416,768]],[13635,[8576,4416,768]],[13636,[8512,4480]],[13637,[8768,4736]],[13638,[8512,4480,768]],[13639,[8512,4480,768]],[13640,[8768,4416]],[13641,[8832,4480]],[13642,[8768,4416,192]],[13643,[8768,4416,192]],[13644,[8512,4672]],[13645,[8576,4736]],[13646,[8512,4672,192]],[13647,[8512,4672,192]],[13648,[8768,4416]],[13649,[8512,4672]],[13650,[8512,4416,768]],[13651,[8512,4416,768]],[13652,[8512,4416,768]],[13653,[8832,4480]],[13654,[8576,4736]],[13655,[8576,4480,768]],[13656,[8576,4480,768]],[13657,[8576,4480,768]],[13658,[8576,4416]],[13659,[8512,4480]],[13660,[8512,4416,192]],[13661,[8512,4416,192]],[13662,[8512,4416,192]],[13663,[8832,4672]],[13664,[8768,4736]],[13665,[8768,4672,192]],[13666,[8768,4672,192]],[13667,[8768,4672,192]],[13668,[16704,960]],[13669,[33088,960]],[13670,[33088,16704,960]],[13671,[33088,16704,960]],[13672,[16768,960]],[13673,[33152,960]],[13674,[33152,16768,960]],[13675,[33152,16768,960]],[13676,[33152,16704]],[13677,[33408,16960]],[13678,[33152,16704,768]],[13679,[33152,16704,768]],[13680,[33088,16768]],[13681,[33344,17024]],[13682,[33088,16768,768]],[13683,[33088,16768,768]],[13684,[33344,16704]],[13685,[33408,16768]],[13686,[33344,16704,192]],[13687,[33344,16704,192]],[13688,[33088,16960]],[13689,[33152,17024]],[13690,[33088,16960,192]],[13691,[33088,16960,192]],[13692,[33344,16704]],[13693,[33088,16960]],[13694,[33088,16704,768]],[13695,[33088,16704,768]],[13696,[33088,16704,768]],[13697,[33408,16768]],[13698,[33152,17024]],[13699,[33152,16768,768]],[13700,[33152,16768,768]],[13701,[33152,16768,768]],[13702,[33152,16704]],[13703,[33088,16768]],[13704,[33088,16704,192]],[13705,[33088,16704,192]],[13706,[33088,16704,192]],[13707,[33408,16960]],[13708,[33344,17024]],[13709,[33344,16960,192]],[13710,[33344,16960,192]],[13711,[33344,16960,192]],[13712,[65856,960]],[13713,[131392,960]],[13714,[131392,65856,960]],[13715,[131392,65856,960]],[13716,[65920,960]],[13717,[131456,960]],[13718,[131456,65920,960]],[13719,[131456,65920,960]],[13720,[131456,65856]],[13721,[131712,66112]],[13722,[131456,65856,768]],[13723,[131456,65856,768]],[13724,[131392,65920]],[13725,[131648,66176]],[13726,[131392,65920,768]],[13727,[131392,65920,768]],[13728,[131648,65856]],[13729,[131712,65920]],[13730,[131648,65856,192]],[13731,[131648,65856,192]],[13732,[131392,66112]],[13733,[131456,66176]],[13734,[131392,66112,192]],[13735,[131392,66112,192]],[13736,[131648,65856]],[13737,[131392,66112]],[13738,[131392,65856,768]],[13739,[131392,65856,768]],[13740,[131392,65856,768]],[13741,[131712,65920]],[13742,[131456,66176]],[13743,[131456,65920,768]],[13744,[131456,65920,768]],[13745,[131456,65920,768]],[13746,[131456,65856]],[13747,[131392,65920]],[13748,[131392,65856,192]],[13749,[131392,65856,192]],[13750,[131392,65856,192]],[13751,[131712,66112]],[13752,[131648,66176]],[13753,[131648,66112,192]],[13754,[131648,66112,192]],[13755,[131648,66112,192]],[13756,[262464,960]],[13757,[524608,960]],[13758,[524608,262464,960]],[13759,[524608,262464,960]],[13760,[262528,960]],[13761,[524672,960]],[13762,[524672,262528,960]],[13763,[524672,262528,960]],[13764,[524672,262464]],[13765,[524928,262720]],[13766,[524672,262464,768]],[13767,[524672,262464,768]],[13768,[524608,262528]],[13769,[524864,262784]],[13770,[524608,262528,768]],[13771,[524608,262528,768]],[13772,[524864,262464]],[13773,[524928,262528]],[13774,[524864,262464,192]],[13775,[524864,262464,192]],[13776,[524608,262720]],[13777,[524672,262784]],[13778,[524608,262720,192]],[13779,[524608,262720,192]],[13780,[524864,262464]],[13781,[524608,262720]],[13782,[524608,262464,768]],[13783,[524608,262464,768]],[13784,[524608,262464,768]],[13785,[524928,262528]],[13786,[524672,262784]],[13787,[524672,262528,768]],[13788,[524672,262528,768]],[13789,[524672,262528,768]],[13790,[524672,262464]],[13791,[524608,262528]],[13792,[524608,262464,192]],[13793,[524608,262464,192]],[13794,[524608,262464,192]],[13795,[524928,262720]],[13796,[524864,262784]],[13797,[524864,262720,192]],[13798,[524864,262720,192]],[13799,[524864,262720,192]],[13800,[1048896,960]],[13801,[2097472,960]],[13802,[2097472,1048896,960]],[13803,[2097472,1048896,960]],[13804,[1048960,960]],[13805,[2097536,960]],[13806,[2097536,1048960,960]],[13807,[2097536,1048960,960]],[13808,[2097536,1048896]],[13809,[2097792,1049152]],[13810,[2097536,1048896,768]],[13811,[2097536,1048896,768]],[13812,[2097472,1048960]],[13813,[2097728,1049216]],[13814,[2097472,1048960,768]],[13815,[2097472,1048960,768]],[13816,[2097728,1048896]],[13817,[2097792,1048960]],[13818,[2097728,1048896,192]],[13819,[2097728,1048896,192]],[13820,[2097472,1049152]],[13821,[2097536,1049216]],[13822,[2097472,1049152,192]],[13823,[2097472,1049152,192]],[13824,[2097728,1048896]],[13825,[2097472,1049152]],[13826,[2097472,1048896,768]],[13827,[2097472,1048896,768]],[13828,[2097472,1048896,768]],[13829,[2097792,1048960]],[13830,[2097536,1049216]],[13831,[2097536,1048960,768]],[13832,[2097536,1048960,768]],[13833,[2097536,1048960,768]],[13834,[2097536,1048896]],[13835,[2097472,1048960]],[13836,[2097472,1048896,192]],[13837,[2097472,1048896,192]],[13838,[2097472,1048896,192]],[13839,[2097792,1049152]],[13840,[2097728,1049216]],[13841,[2097728,1049152,192]],[13842,[2097728,1049152,192]],[13843,[2097728,1049152,192]],[13844,[5184,3264]],[13845,[9280,3264]],[13846,[9280,5184,3264]],[13847,[9280,5184,3264]],[13848,[5248,3264]],[13849,[9344,3264]],[13850,[9344,5248,3264]],[13851,[9344,5248,3264]],[13852,[9344,5184]],[13853,[10368,6208]],[13854,[9344,5184,3072]],[13855,[9344,5184,3072]],[13856,[9280,5248]],[13857,[10304,6272]],[13858,[9280,5248,3072]],[13859,[9280,5248,3072]],[13860,[10304,5184]],[13861,[10368,5248]],[13862,[10304,5184,192]],[13863,[10304,5184,192]],[13864,[9280,6208]],[13865,[9344,6272]],[13866,[9280,6208,192]],[13867,[9280,6208,192]],[13868,[10304,5184]],[13869,[9280,6208]],[13870,[9280,5184,3072]],[13871,[9280,5184,3072]],[13872,[9280,5184,3072]],[13873,[9280,5184,3072]],[13874,[10368,5248]],[13875,[9344,6272]],[13876,[9344,5248,3072]],[13877,[9344,5248,3072]],[13878,[9344,5248,3072]],[13879,[9344,5248,3072]],[13880,[9344,5184]],[13881,[9280,5248]],[13882,[9280,5184,192]],[13883,[9280,5184,192]],[13884,[9280,5184,192]],[13885,[10368,6208]],[13886,[10304,6272]],[13887,[10304,6208,192]],[13888,[10304,6208,192]],[13889,[10304,6208,192]],[13890,[17472,3264]],[13891,[33856,3264]],[13892,[33856,17472,3264]],[13893,[33856,17472,3264]],[13894,[17536,3264]],[13895,[33920,3264]],[13896,[33920,17536,3264]],[13897,[33920,17536,3264]],[13898,[33920,17472]],[13899,[34944,18496]],[13900,[33920,17472,3072]],[13901,[33920,17472,3072]],[13902,[33856,17536]],[13903,[34880,18560]],[13904,[33856,17536,3072]],[13905,[33856,17536,3072]],[13906,[34880,17472]],[13907,[34944,17536]],[13908,[34880,17472,192]],[13909,[34880,17472,192]],[13910,[33856,18496]],[13911,[33920,18560]],[13912,[33856,18496,192]],[13913,[33856,18496,192]],[13914,[34880,17472]],[13915,[33856,18496]],[13916,[33856,17472,3072]],[13917,[33856,17472,3072]],[13918,[33856,17472,3072]],[13919,[34944,17536]],[13920,[33920,18560]],[13921,[33920,17536,3072]],[13922,[33920,17536,3072]],[13923,[33920,17536,3072]],[13924,[33920,17472]],[13925,[33856,17536]],[13926,[33856,17472,192]],[13927,[33856,17472,192]],[13928,[33856,17472,192]],[13929,[34944,18496]],[13930,[34880,18560]],[13931,[34880,18496,192]],[13932,[34880,18496,192]],[13933,[34880,18496,192]],[13934,[66624,3264]],[13935,[132160,3264]],[13936,[132160,66624,3264]],[13937,[132160,66624,3264]],[13938,[66688,3264]],[13939,[132224,3264]],[13940,[132224,66688,3264]],[13941,[132224,66688,3264]],[13942,[132224,66624]],[13943,[133248,67648]],[13944,[132224,66624,3072]],[13945,[132224,66624,3072]],[13946,[132160,66688]],[13947,[133184,67712]],[13948,[132160,66688,3072]],[13949,[132160,66688,3072]],[13950,[133184,66624]],[13951,[133248,66688]],[13952,[133184,66624,192]],[13953,[133184,66624,192]],[13954,[132160,67648]],[13955,[132224,67712]],[13956,[132160,67648,192]],[13957,[132160,67648,192]],[13958,[133184,66624]],[13959,[132160,67648]],[13960,[132160,66624,3072]],[13961,[132160,66624,3072]],[13962,[132160,66624,3072]],[13963,[132160,66624,3072]],[13964,[133248,66688]],[13965,[132224,67712]],[13966,[132224,66688,3072]],[13967,[132224,66688,3072]],[13968,[132224,66688,3072]],[13969,[132224,66688,3072]],[13970,[132224,66624]],[13971,[132160,66688]],[13972,[132160,66624,192]],[13973,[132160,66624,192]],[13974,[132160,66624,192]],[13975,[133248,67648]],[13976,[133184,67712]],[13977,[133184,67648,192]],[13978,[133184,67648,192]],[13979,[133184,67648,192]],[13980,[263232,3264]],[13981,[525376,3264]],[13982,[525376,263232,3264]],[13983,[525376,263232,3264]],[13984,[263296,3264]],[13985,[525440,3264]],[13986,[525440,263296,3264]],[13987,[525440,263296,3264]],[13988,[525440,263232]],[13989,[526464,264256]],[13990,[525440,263232,3072]],[13991,[525440,263232,3072]],[13992,[525376,263296]],[13993,[526400,264320]],[13994,[525376,263296,3072]],[13995,[525376,263296,3072]],[13996,[526400,263232]],[13997,[526464,263296]],[13998,[526400,263232,192]],[13999,[526400,263232,192]],[14000,[525376,264256]],[14001,[525440,264320]],[14002,[525376,264256,192]],[14003,[525376,264256,192]],[14004,[526400,263232]],[14005,[525376,264256]],[14006,[525376,263232,3072]],[14007,[525376,263232,3072]],[14008,[525376,263232,3072]],[14009,[526464,263296]],[14010,[525440,264320]],[14011,[525440,263296,3072]],[14012,[525440,263296,3072]],[14013,[525440,263296,3072]],[14014,[525440,263232]],[14015,[525376,263296]],[14016,[525376,263232,192]],[14017,[525376,263232,192]],[14018,[525376,263232,192]],[14019,[526464,264256]],[14020,[526400,264320]],[14021,[526400,264256,192]],[14022,[526400,264256,192]],[14023,[526400,264256,192]],[14024,[1049664,3264]],[14025,[2098240,3264]],[14026,[2098240,1049664,3264]],[14027,[2098240,1049664,3264]],[14028,[1049728,3264]],[14029,[2098304,3264]],[14030,[2098304,1049728,3264]],[14031,[2098304,1049728,3264]],[14032,[2098304,1049664]],[14033,[2099328,1050688]],[14034,[2098304,1049664,3072]],[14035,[2098304,1049664,3072]],[14036,[2098240,1049728]],[14037,[2099264,1050752]],[14038,[2098240,1049728,3072]],[14039,[2098240,1049728,3072]],[14040,[2099264,1049664]],[14041,[2099328,1049728]],[14042,[2099264,1049664,192]],[14043,[2099264,1049664,192]],[14044,[2098240,1050688]],[14045,[2098304,1050752]],[14046,[2098240,1050688,192]],[14047,[2098240,1050688,192]],[14048,[2099264,1049664]],[14049,[2098240,1050688]],[14050,[2098240,1049664,3072]],[14051,[2098240,1049664,3072]],[14052,[2098240,1049664,3072]],[14053,[2098240,1049664,3072]],[14054,[2099328,1049728]],[14055,[2098304,1050752]],[14056,[2098304,1049728,3072]],[14057,[2098304,1049728,3072]],[14058,[2098304,1049728,3072]],[14059,[2098304,1049728,3072]],[14060,[2098304,1049664]],[14061,[2098240,1049728]],[14062,[2098240,1049664,192]],[14063,[2098240,1049664,192]],[14064,[2098240,1049664,192]],[14065,[2099328,1050688]],[14066,[2099264,1050752]],[14067,[2099264,1050688,192]],[14068,[2099264,1050688,192]],[14069,[2099264,1050688,192]],[14070,[20544,12480]],[14071,[36928,12480]],[14072,[36928,20544,12480]],[14073,[36928,20544,12480]],[14074,[20608,12480]],[14075,[36992,12480]],[14076,[36992,20608,12480]],[14077,[36992,20608,12480]],[14078,[36992,20544]],[14079,[41088,24640]],[14080,[36992,20544,12288]],[14081,[36992,20544,12288]],[14082,[36928,20608]],[14083,[41024,24704]],[14084,[36928,20608,12288]],[14085,[36928,20608,12288]],[14086,[41024,20544]],[14087,[41088,20608]],[14088,[41024,20544,192]],[14089,[41024,20544,192]],[14090,[36928,24640]],[14091,[36992,24704]],[14092,[36928,24640,192]],[14093,[36928,24640,192]],[14094,[41024,20544]],[14095,[36928,24640]],[14096,[36928,20544,12288]],[14097,[36928,20544,12288]],[14098,[36928,20544,12288]],[14099,[36928,20544,12288]],[14100,[41088,20608]],[14101,[36992,24704]],[14102,[36992,20608,12288]],[14103,[36992,20608,12288]],[14104,[36992,20608,12288]],[14105,[36992,20608,12288]],[14106,[36992,20544]],[14107,[36928,20608]],[14108,[36928,20544,192]],[14109,[36928,20544,192]],[14110,[36928,20544,192]],[14111,[41088,24640]],[14112,[41024,24704]],[14113,[41024,24640,192]],[14114,[41024,24640,192]],[14115,[41024,24640,192]],[14116,[69696,12480]],[14117,[135232,12480]],[14118,[135232,69696,12480]],[14119,[135232,69696,12480]],[14120,[69760,12480]],[14121,[135296,12480]],[14122,[135296,69760,12480]],[14123,[135296,69760,12480]],[14124,[135296,69696]],[14125,[139392,73792]],[14126,[135296,69696,12288]],[14127,[135296,69696,12288]],[14128,[135232,69760]],[14129,[139328,73856]],[14130,[135232,69760,12288]],[14131,[135232,69760,12288]],[14132,[139328,69696]],[14133,[139392,69760]],[14134,[139328,69696,192]],[14135,[139328,69696,192]],[14136,[135232,73792]],[14137,[135296,73856]],[14138,[135232,73792,192]],[14139,[135232,73792,192]],[14140,[139328,69696]],[14141,[135232,73792]],[14142,[135232,69696,12288]],[14143,[135232,69696,12288]],[14144,[135232,69696,12288]],[14145,[139392,69760]],[14146,[135296,73856]],[14147,[135296,69760,12288]],[14148,[135296,69760,12288]],[14149,[135296,69760,12288]],[14150,[135296,69696]],[14151,[135232,69760]],[14152,[135232,69696,192]],[14153,[135232,69696,192]],[14154,[135232,69696,192]],[14155,[139392,73792]],[14156,[139328,73856]],[14157,[139328,73792,192]],[14158,[139328,73792,192]],[14159,[139328,73792,192]],[14160,[266304,12480]],[14161,[528448,12480]],[14162,[528448,266304,12480]],[14163,[528448,266304,12480]],[14164,[266368,12480]],[14165,[528512,12480]],[14166,[528512,266368,12480]],[14167,[528512,266368,12480]],[14168,[528512,266304]],[14169,[532608,270400]],[14170,[528512,266304,12288]],[14171,[528512,266304,12288]],[14172,[528448,266368]],[14173,[532544,270464]],[14174,[528448,266368,12288]],[14175,[528448,266368,12288]],[14176,[532544,266304]],[14177,[532608,266368]],[14178,[532544,266304,192]],[14179,[532544,266304,192]],[14180,[528448,270400]],[14181,[528512,270464]],[14182,[528448,270400,192]],[14183,[528448,270400,192]],[14184,[532544,266304]],[14185,[528448,270400]],[14186,[528448,266304,12288]],[14187,[528448,266304,12288]],[14188,[528448,266304,12288]],[14189,[528448,266304,12288]],[14190,[532608,266368]],[14191,[528512,270464]],[14192,[528512,266368,12288]],[14193,[528512,266368,12288]],[14194,[528512,266368,12288]],[14195,[528512,266368,12288]],[14196,[528512,266304]],[14197,[528448,266368]],[14198,[528448,266304,192]],[14199,[528448,266304,192]],[14200,[528448,266304,192]],[14201,[532608,270400]],[14202,[532544,270464]],[14203,[532544,270400,192]],[14204,[532544,270400,192]],[14205,[532544,270400,192]],[14206,[1052736,12480]],[14207,[2101312,12480]],[14208,[2101312,1052736,12480]],[14209,[2101312,1052736,12480]],[14210,[1052800,12480]],[14211,[2101376,12480]],[14212,[2101376,1052800,12480]],[14213,[2101376,1052800,12480]],[14214,[2101376,1052736]],[14215,[2105472,1056832]],[14216,[2101376,1052736,12288]],[14217,[2101376,1052736,12288]],[14218,[2101312,1052800]],[14219,[2105408,1056896]],[14220,[2101312,1052800,12288]],[14221,[2101312,1052800,12288]],[14222,[2105408,1052736]],[14223,[2105472,1052800]],[14224,[2105408,1052736,192]],[14225,[2105408,1052736,192]],[14226,[2101312,1056832]],[14227,[2101376,1056896]],[14228,[2101312,1056832,192]],[14229,[2101312,1056832,192]],[14230,[2105408,1052736]],[14231,[2101312,1056832]],[14232,[2101312,1052736,12288]],[14233,[2101312,1052736,12288]],[14234,[2101312,1052736,12288]],[14235,[2105472,1052800]],[14236,[2101376,1056896]],[14237,[2101376,1052800,12288]],[14238,[2101376,1052800,12288]],[14239,[2101376,1052800,12288]],[14240,[2101376,1052736]],[14241,[2101312,1052800]],[14242,[2101312,1052736,192]],[14243,[2101312,1052736,192]],[14244,[2101312,1052736,192]],[14245,[2105472,1056832]],[14246,[2105408,1056896]],[14247,[2105408,1056832,192]],[14248,[2105408,1056832,192]],[14249,[2105408,1056832,192]],[14250,[81984,49344]],[14251,[147520,49344]],[14252,[147520,81984,49344]],[14253,[147520,81984,49344]],[14254,[82048,49344]],[14255,[147584,49344]],[14256,[147584,82048,49344]],[14257,[147584,82048,49344]],[14258,[147584,81984]],[14259,[163968,98368]],[14260,[147584,81984,49152]],[14261,[147584,81984,49152]],[14262,[147520,82048]],[14263,[163904,98432]],[14264,[147520,82048,49152]],[14265,[147520,82048,49152]],[14266,[163904,81984]],[14267,[163968,82048]],[14268,[163904,81984,192]],[14269,[163904,81984,192]],[14270,[147520,98368]],[14271,[147584,98432]],[14272,[147520,98368,192]],[14273,[147520,98368,192]],[14274,[163904,81984]],[14275,[147520,98368]],[14276,[147520,81984,49152]],[14277,[147520,81984,49152]],[14278,[147520,81984,49152]],[14279,[147520,81984,49152]],[14280,[163968,82048]],[14281,[147584,98432]],[14282,[147584,82048,49152]],[14283,[147584,82048,49152]],[14284,[147584,82048,49152]],[14285,[147584,82048,49152]],[14286,[147584,81984]],[14287,[147520,82048]],[14288,[147520,81984,192]],[14289,[147520,81984,192]],[14290,[147520,81984,192]],[14291,[163968,98368]],[14292,[163904,98432]],[14293,[163904,98368,192]],[14294,[163904,98368,192]],[14295,[163904,98368,192]],[14296,[278592,49344]],[14297,[540736,49344]],[14298,[540736,278592,49344]],[14299,[540736,278592,49344]],[14300,[278656,49344]],[14301,[540800,49344]],[14302,[540800,278656,49344]],[14303,[540800,278656,49344]],[14304,[540800,278592]],[14305,[557184,294976]],[14306,[540800,278592,49152]],[14307,[540800,278592,49152]],[14308,[540736,278656]],[14309,[557120,295040]],[14310,[540736,278656,49152]],[14311,[540736,278656,49152]],[14312,[557120,278592]],[14313,[557184,278656]],[14314,[557120,278592,192]],[14315,[557120,278592,192]],[14316,[540736,294976]],[14317,[540800,295040]],[14318,[540736,294976,192]],[14319,[540736,294976,192]],[14320,[557120,278592]],[14321,[540736,294976]],[14322,[540736,278592,49152]],[14323,[540736,278592,49152]],[14324,[540736,278592,49152]],[14325,[557184,278656]],[14326,[540800,295040]],[14327,[540800,278656,49152]],[14328,[540800,278656,49152]],[14329,[540800,278656,49152]],[14330,[540800,278592]],[14331,[540736,278656]],[14332,[540736,278592,192]],[14333,[540736,278592,192]],[14334,[540736,278592,192]],[14335,[557184,294976]],[14336,[557120,295040]],[14337,[557120,294976,192]],[14338,[557120,294976,192]],[14339,[557120,294976,192]],[14340,[1065024,49344]],[14341,[2113600,49344]],[14342,[2113600,1065024,49344]],[14343,[2113600,1065024,49344]],[14344,[1065088,49344]],[14345,[2113664,49344]],[14346,[2113664,1065088,49344]],[14347,[2113664,1065088,49344]],[14348,[2113664,1065024]],[14349,[2130048,1081408]],[14350,[2113664,1065024,49152]],[14351,[2113664,1065024,49152]],[14352,[2113600,1065088]],[14353,[2129984,1081472]],[14354,[2113600,1065088,49152]],[14355,[2113600,1065088,49152]],[14356,[2129984,1065024]],[14357,[2130048,1065088]],[14358,[2129984,1065024,192]],[14359,[2129984,1065024,192]],[14360,[2113600,1081408]],[14361,[2113664,1081472]],[14362,[2113600,1081408,192]],[14363,[2113600,1081408,192]],[14364,[2129984,1065024]],[14365,[2113600,1081408]],[14366,[2113600,1065024,49152]],[14367,[2113600,1065024,49152]],[14368,[2113600,1065024,49152]],[14369,[2130048,1065088]],[14370,[2113664,1081472]],[14371,[2113664,1065088,49152]],[14372,[2113664,1065088,49152]],[14373,[2113664,1065088,49152]],[14374,[2113664,1065024]],[14375,[2113600,1065088]],[14376,[2113600,1065024,192]],[14377,[2113600,1065024,192]],[14378,[2113600,1065024,192]],[14379,[2130048,1081408]],[14380,[2129984,1081472]],[14381,[2129984,1081408,192]],[14382,[2129984,1081408,192]],[14383,[2129984,1081408,192]],[14384,[327744,196800]],[14385,[589888,196800]],[14386,[589888,327744,196800]],[14387,[589888,327744,196800]],[14388,[327808,196800]],[14389,[589952,196800]],[14390,[589952,327808,196800]],[14391,[589952,327808,196800]],[14392,[589952,327744]],[14393,[655488,393280]],[14394,[589952,327744,196608]],[14395,[589952,327744,196608]],[14396,[589888,327808]],[14397,[655424,393344]],[14398,[589888,327808,196608]],[14399,[589888,327808,196608]],[14400,[655424,327744]],[14401,[655488,327808]],[14402,[655424,327744,192]],[14403,[655424,327744,192]],[14404,[589888,393280]],[14405,[589952,393344]],[14406,[589888,393280,192]],[14407,[589888,393280,192]],[14408,[655424,327744]],[14409,[589888,393280]],[14410,[589888,327744,196608]],[14411,[589888,327744,196608]],[14412,[589888,327744,196608]],[14413,[655488,327808]],[14414,[589952,393344]],[14415,[589952,327808,196608]],[14416,[589952,327808,196608]],[14417,[589952,327808,196608]],[14418,[589952,327744]],[14419,[589888,327808]],[14420,[589888,327744,192]],[14421,[589888,327744,192]],[14422,[589888,327744,192]],[14423,[655488,393280]],[14424,[655424,393344]],[14425,[655424,393280,192]],[14426,[655424,393280,192]],[14427,[655424,393280,192]],[14428,[1114176,196800]],[14429,[2162752,196800]],[14430,[2162752,1114176,196800]],[14431,[2162752,1114176,196800]],[14432,[1114240,196800]],[14433,[2162816,196800]],[14434,[2162816,1114240,196800]],[14435,[2162816,1114240,196800]],[14436,[2162816,1114176]],[14437,[2228352,1179712]],[14438,[2162816,1114176,196608]],[14439,[2162816,1114176,196608]],[14440,[2162752,1114240]],[14441,[2228288,1179776]],[14442,[2162752,1114240,196608]],[14443,[2162752,1114240,196608]],[14444,[2228288,1114176]],[14445,[2228352,1114240]],[14446,[2228288,1114176,192]],[14447,[2228288,1114176,192]],[14448,[2162752,1179712]],[14449,[2162816,1179776]],[14450,[2162752,1179712,192]],[14451,[2162752,1179712,192]],[14452,[2228288,1114176]],[14453,[2162752,1179712]],[14454,[2162752,1114176,196608]],[14455,[2162752,1114176,196608]],[14456,[2162752,1114176,196608]],[14457,[2228352,1114240]],[14458,[2162816,1179776]],[14459,[2162816,1114240,196608]],[14460,[2162816,1114240,196608]],[14461,[2162816,1114240,196608]],[14462,[2162816,1114176]],[14463,[2162752,1114240]],[14464,[2162752,1114176,192]],[14465,[2162752,1114176,192]],[14466,[2162752,1114176,192]],[14467,[2228352,1179712]],[14468,[2228288,1179776]],[14469,[2228288,1179712,192]],[14470,[2228288,1179712,192]],[14471,[2228288,1179712,192]],[14472,[1310784,786624]],[14473,[2359360,786624]],[14474,[2359360,1310784,786624]],[14475,[2359360,1310784,786624]],[14476,[1310848,786624]],[14477,[2359424,786624]],[14478,[2359424,1310848,786624]],[14479,[2359424,1310848,786624]],[14480,[2359424,1310784]],[14481,[2621568,1572928]],[14482,[2359424,1310784,786432]],[14483,[2359424,1310784,786432]],[14484,[2359360,1310848]],[14485,[2621504,1572992]],[14486,[2359360,1310848,786432]],[14487,[2359360,1310848,786432]],[14488,[2621504,1310784]],[14489,[2621568,1310848]],[14490,[2621504,1310784,192]],[14491,[2621504,1310784,192]],[14492,[2359360,1572928]],[14493,[2359424,1572992]],[14494,[2359360,1572928,192]],[14495,[2359360,1572928,192]],[14496,[2621504,1310784]],[14497,[2359360,1572928]],[14498,[2359360,1310784,786432]],[14499,[2359360,1310784,786432]],[14500,[2359360,1310784,786432]],[14501,[2621568,1310848]],[14502,[2359424,1572992]],[14503,[2359424,1310848,786432]],[14504,[2359424,1310848,786432]],[14505,[2359424,1310848,786432]],[14506,[2359424,1310784]],[14507,[2359360,1310848]],[14508,[2359360,1310784,192]],[14509,[2359360,1310784,192]],[14510,[2359360,1310784,192]],[14511,[2621568,1572928]],[14512,[2621504,1572992]],[14513,[2621504,1572928,192]],[14514,[2621504,1572928,192]],[14515,[2621504,1572928,192]],[14516,[5376,3840]],[14517,[9472,3840]],[14518,[9472,5376,3840]],[14519,[9472,5376,3840]],[14520,[5632,3840]],[14521,[9728,3840]],[14522,[9728,5632,3840]],[14523,[9728,5632,3840]],[14524,[9728,5376]],[14525,[10752,6400]],[14526,[9728,5376,3072]],[14527,[9728,5376,3072]],[14528,[9472,5632]],[14529,[10496,6656]],[14530,[9472,5632,3072]],[14531,[9472,5632,3072]],[14532,[10496,5376]],[14533,[10752,5632]],[14534,[10496,5376,768]],[14535,[10496,5376,768]],[14536,[9472,6400]],[14537,[9728,6656]],[14538,[9472,6400,768]],[14539,[9472,6400,768]],[14540,[10496,5376]],[14541,[9472,6400]],[14542,[9472,5376,3072]],[14543,[9472,5376,3072]],[14544,[9472,5376,3072]],[14545,[9472,5376,3072]],[14546,[10752,5632]],[14547,[9728,6656]],[14548,[9728,5632,3072]],[14549,[9728,5632,3072]],[14550,[9728,5632,3072]],[14551,[9728,5632,3072]],[14552,[9728,5376]],[14553,[9472,5632]],[14554,[9472,5376,768]],[14555,[9472,5376,768]],[14556,[9472,5376,768]],[14557,[9472,5376,768]],[14558,[10752,6400]],[14559,[10496,6656]],[14560,[10496,6400,768]],[14561,[10496,6400,768]],[14562,[10496,6400,768]],[14563,[10496,6400,768]],[14564,[17664,3840]],[14565,[34048,3840]],[14566,[34048,17664,3840]],[14567,[34048,17664,3840]],[14568,[17920,3840]],[14569,[34304,3840]],[14570,[34304,17920,3840]],[14571,[34304,17920,3840]],[14572,[34304,17664]],[14573,[35328,18688]],[14574,[34304,17664,3072]],[14575,[34304,17664,3072]],[14576,[34048,17920]],[14577,[35072,18944]],[14578,[34048,17920,3072]],[14579,[34048,17920,3072]],[14580,[35072,17664]],[14581,[35328,17920]],[14582,[35072,17664,768]],[14583,[35072,17664,768]],[14584,[34048,18688]],[14585,[34304,18944]],[14586,[34048,18688,768]],[14587,[34048,18688,768]],[14588,[35072,17664]],[14589,[34048,18688]],[14590,[34048,17664,3072]],[14591,[34048,17664,3072]],[14592,[34048,17664,3072]],[14593,[35328,17920]],[14594,[34304,18944]],[14595,[34304,17920,3072]],[14596,[34304,17920,3072]],[14597,[34304,17920,3072]],[14598,[34304,17664]],[14599,[34048,17920]],[14600,[34048,17664,768]],[14601,[34048,17664,768]],[14602,[34048,17664,768]],[14603,[35328,18688]],[14604,[35072,18944]],[14605,[35072,18688,768]],[14606,[35072,18688,768]],[14607,[35072,18688,768]],[14608,[66816,3840]],[14609,[132352,3840]],[14610,[132352,66816,3840]],[14611,[132352,66816,3840]],[14612,[67072,3840]],[14613,[132608,3840]],[14614,[132608,67072,3840]],[14615,[132608,67072,3840]],[14616,[132608,66816]],[14617,[133632,67840]],[14618,[132608,66816,3072]],[14619,[132608,66816,3072]],[14620,[132352,67072]],[14621,[133376,68096]],[14622,[132352,67072,3072]],[14623,[132352,67072,3072]],[14624,[133376,66816]],[14625,[133632,67072]],[14626,[133376,66816,768]],[14627,[133376,66816,768]],[14628,[132352,67840]],[14629,[132608,68096]],[14630,[132352,67840,768]],[14631,[132352,67840,768]],[14632,[133376,66816]],[14633,[132352,67840]],[14634,[132352,66816,3072]],[14635,[132352,66816,3072]],[14636,[132352,66816,3072]],[14637,[132352,66816,3072]],[14638,[133632,67072]],[14639,[132608,68096]],[14640,[132608,67072,3072]],[14641,[132608,67072,3072]],[14642,[132608,67072,3072]],[14643,[132608,67072,3072]],[14644,[132608,66816]],[14645,[132352,67072]],[14646,[132352,66816,768]],[14647,[132352,66816,768]],[14648,[132352,66816,768]],[14649,[132352,66816,768]],[14650,[133632,67840]],[14651,[133376,68096]],[14652,[133376,67840,768]],[14653,[133376,67840,768]],[14654,[133376,67840,768]],[14655,[133376,67840,768]],[14656,[263424,3840]],[14657,[525568,3840]],[14658,[525568,263424,3840]],[14659,[525568,263424,3840]],[14660,[263680,3840]],[14661,[525824,3840]],[14662,[525824,263680,3840]],[14663,[525824,263680,3840]],[14664,[525824,263424]],[14665,[526848,264448]],[14666,[525824,263424,3072]],[14667,[525824,263424,3072]],[14668,[525568,263680]],[14669,[526592,264704]],[14670,[525568,263680,3072]],[14671,[525568,263680,3072]],[14672,[526592,263424]],[14673,[526848,263680]],[14674,[526592,263424,768]],[14675,[526592,263424,768]],[14676,[525568,264448]],[14677,[525824,264704]],[14678,[525568,264448,768]],[14679,[525568,264448,768]],[14680,[526592,263424]],[14681,[525568,264448]],[14682,[525568,263424,3072]],[14683,[525568,263424,3072]],[14684,[525568,263424,3072]],[14685,[526848,263680]],[14686,[525824,264704]],[14687,[525824,263680,3072]],[14688,[525824,263680,3072]],[14689,[525824,263680,3072]],[14690,[525824,263424]],[14691,[525568,263680]],[14692,[525568,263424,768]],[14693,[525568,263424,768]],[14694,[525568,263424,768]],[14695,[526848,264448]],[14696,[526592,264704]],[14697,[526592,264448,768]],[14698,[526592,264448,768]],[14699,[526592,264448,768]],[14700,[1049856,3840]],[14701,[2098432,3840]],[14702,[2098432,1049856,3840]],[14703,[2098432,1049856,3840]],[14704,[1050112,3840]],[14705,[2098688,3840]],[14706,[2098688,1050112,3840]],[14707,[2098688,1050112,3840]],[14708,[2098688,1049856]],[14709,[2099712,1050880]],[14710,[2098688,1049856,3072]],[14711,[2098688,1049856,3072]],[14712,[2098432,1050112]],[14713,[2099456,1051136]],[14714,[2098432,1050112,3072]],[14715,[2098432,1050112,3072]],[14716,[2099456,1049856]],[14717,[2099712,1050112]],[14718,[2099456,1049856,768]],[14719,[2099456,1049856,768]],[14720,[2098432,1050880]],[14721,[2098688,1051136]],[14722,[2098432,1050880,768]],[14723,[2098432,1050880,768]],[14724,[2099456,1049856]],[14725,[2098432,1050880]],[14726,[2098432,1049856,3072]],[14727,[2098432,1049856,3072]],[14728,[2098432,1049856,3072]],[14729,[2098432,1049856,3072]],[14730,[2099712,1050112]],[14731,[2098688,1051136]],[14732,[2098688,1050112,3072]],[14733,[2098688,1050112,3072]],[14734,[2098688,1050112,3072]],[14735,[2098688,1050112,3072]],[14736,[2098688,1049856]],[14737,[2098432,1050112]],[14738,[2098432,1049856,768]],[14739,[2098432,1049856,768]],[14740,[2098432,1049856,768]],[14741,[2098432,1049856,768]],[14742,[2099712,1050880]],[14743,[2099456,1051136]],[14744,[2099456,1050880,768]],[14745,[2099456,1050880,768]],[14746,[2099456,1050880,768]],[14747,[2099456,1050880,768]],[14748,[20736,13056]],[14749,[37120,13056]],[14750,[37120,20736,13056]],[14751,[37120,20736,13056]],[14752,[20992,13056]],[14753,[37376,13056]],[14754,[37376,20992,13056]],[14755,[37376,20992,13056]],[14756,[37376,20736]],[14757,[41472,24832]],[14758,[37376,20736,12288]],[14759,[37376,20736,12288]],[14760,[37120,20992]],[14761,[41216,25088]],[14762,[37120,20992,12288]],[14763,[37120,20992,12288]],[14764,[41216,20736]],[14765,[41472,20992]],[14766,[41216,20736,768]],[14767,[41216,20736,768]],[14768,[37120,24832]],[14769,[37376,25088]],[14770,[37120,24832,768]],[14771,[37120,24832,768]],[14772,[41216,20736]],[14773,[37120,24832]],[14774,[37120,20736,12288]],[14775,[37120,20736,12288]],[14776,[37120,20736,12288]],[14777,[37120,20736,12288]],[14778,[41472,20992]],[14779,[37376,25088]],[14780,[37376,20992,12288]],[14781,[37376,20992,12288]],[14782,[37376,20992,12288]],[14783,[37376,20992,12288]],[14784,[37376,20736]],[14785,[37120,20992]],[14786,[37120,20736,768]],[14787,[37120,20736,768]],[14788,[37120,20736,768]],[14789,[41472,24832]],[14790,[41216,25088]],[14791,[41216,24832,768]],[14792,[41216,24832,768]],[14793,[41216,24832,768]],[14794,[69888,13056]],[14795,[135424,13056]],[14796,[135424,69888,13056]],[14797,[135424,69888,13056]],[14798,[70144,13056]],[14799,[135680,13056]],[14800,[135680,70144,13056]],[14801,[135680,70144,13056]],[14802,[135680,69888]],[14803,[139776,73984]],[14804,[135680,69888,12288]],[14805,[135680,69888,12288]],[14806,[135424,70144]],[14807,[139520,74240]],[14808,[135424,70144,12288]],[14809,[135424,70144,12288]],[14810,[139520,69888]],[14811,[139776,70144]],[14812,[139520,69888,768]],[14813,[139520,69888,768]],[14814,[135424,73984]],[14815,[135680,74240]],[14816,[135424,73984,768]],[14817,[135424,73984,768]],[14818,[139520,69888]],[14819,[135424,73984]],[14820,[135424,69888,12288]],[14821,[135424,69888,12288]],[14822,[135424,69888,12288]],[14823,[139776,70144]],[14824,[135680,74240]],[14825,[135680,70144,12288]],[14826,[135680,70144,12288]],[14827,[135680,70144,12288]],[14828,[135680,69888]],[14829,[135424,70144]],[14830,[135424,69888,768]],[14831,[135424,69888,768]],[14832,[135424,69888,768]],[14833,[135424,69888,768]],[14834,[139776,73984]],[14835,[139520,74240]],[14836,[139520,73984,768]],[14837,[139520,73984,768]],[14838,[139520,73984,768]],[14839,[139520,73984,768]],[14840,[266496,13056]],[14841,[528640,13056]],[14842,[528640,266496,13056]],[14843,[528640,266496,13056]],[14844,[266752,13056]],[14845,[528896,13056]],[14846,[528896,266752,13056]],[14847,[528896,266752,13056]],[14848,[528896,266496]],[14849,[532992,270592]],[14850,[528896,266496,12288]],[14851,[528896,266496,12288]],[14852,[528640,266752]],[14853,[532736,270848]],[14854,[528640,266752,12288]],[14855,[528640,266752,12288]],[14856,[532736,266496]],[14857,[532992,266752]],[14858,[532736,266496,768]],[14859,[532736,266496,768]],[14860,[528640,270592]],[14861,[528896,270848]],[14862,[528640,270592,768]],[14863,[528640,270592,768]],[14864,[532736,266496]],[14865,[528640,270592]],[14866,[528640,266496,12288]],[14867,[528640,266496,12288]],[14868,[528640,266496,12288]],[14869,[528640,266496,12288]],[14870,[532992,266752]],[14871,[528896,270848]],[14872,[528896,266752,12288]],[14873,[528896,266752,12288]],[14874,[528896,266752,12288]],[14875,[528896,266752,12288]],[14876,[528896,266496]],[14877,[528640,266752]],[14878,[528640,266496,768]],[14879,[528640,266496,768]],[14880,[528640,266496,768]],[14881,[532992,270592]],[14882,[532736,270848]],[14883,[532736,270592,768]],[14884,[532736,270592,768]],[14885,[532736,270592,768]],[14886,[1052928,13056]],[14887,[2101504,13056]],[14888,[2101504,1052928,13056]],[14889,[2101504,1052928,13056]],[14890,[1053184,13056]],[14891,[2101760,13056]],[14892,[2101760,1053184,13056]],[14893,[2101760,1053184,13056]],[14894,[2101760,1052928]],[14895,[2105856,1057024]],[14896,[2101760,1052928,12288]],[14897,[2101760,1052928,12288]],[14898,[2101504,1053184]],[14899,[2105600,1057280]],[14900,[2101504,1053184,12288]],[14901,[2101504,1053184,12288]],[14902,[2105600,1052928]],[14903,[2105856,1053184]],[14904,[2105600,1052928,768]],[14905,[2105600,1052928,768]],[14906,[2101504,1057024]],[14907,[2101760,1057280]],[14908,[2101504,1057024,768]],[14909,[2101504,1057024,768]],[14910,[2105600,1052928]],[14911,[2101504,1057024]],[14912,[2101504,1052928,12288]],[14913,[2101504,1052928,12288]],[14914,[2101504,1052928,12288]],[14915,[2105856,1053184]],[14916,[2101760,1057280]],[14917,[2101760,1053184,12288]],[14918,[2101760,1053184,12288]],[14919,[2101760,1053184,12288]],[14920,[2101760,1052928]],[14921,[2101504,1053184]],[14922,[2101504,1052928,768]],[14923,[2101504,1052928,768]],[14924,[2101504,1052928,768]],[14925,[2101504,1052928,768]],[14926,[2105856,1057024]],[14927,[2105600,1057280]],[14928,[2105600,1057024,768]],[14929,[2105600,1057024,768]],[14930,[2105600,1057024,768]],[14931,[2105600,1057024,768]],[14932,[82176,49920]],[14933,[147712,49920]],[14934,[147712,82176,49920]],[14935,[147712,82176,49920]],[14936,[82432,49920]],[14937,[147968,49920]],[14938,[147968,82432,49920]],[14939,[147968,82432,49920]],[14940,[147968,82176]],[14941,[164352,98560]],[14942,[147968,82176,49152]],[14943,[147968,82176,49152]],[14944,[147712,82432]],[14945,[164096,98816]],[14946,[147712,82432,49152]],[14947,[147712,82432,49152]],[14948,[164096,82176]],[14949,[164352,82432]],[14950,[164096,82176,768]],[14951,[164096,82176,768]],[14952,[147712,98560]],[14953,[147968,98816]],[14954,[147712,98560,768]],[14955,[147712,98560,768]],[14956,[164096,82176]],[14957,[147712,98560]],[14958,[147712,82176,49152]],[14959,[147712,82176,49152]],[14960,[147712,82176,49152]],[14961,[147712,82176,49152]],[14962,[164352,82432]],[14963,[147968,98816]],[14964,[147968,82432,49152]],[14965,[147968,82432,49152]],[14966,[147968,82432,49152]],[14967,[147968,82432,49152]],[14968,[147968,82176]],[14969,[147712,82432]],[14970,[147712,82176,768]],[14971,[147712,82176,768]],[14972,[147712,82176,768]],[14973,[147712,82176,768]],[14974,[164352,98560]],[14975,[164096,98816]],[14976,[164096,98560,768]],[14977,[164096,98560,768]],[14978,[164096,98560,768]],[14979,[164096,98560,768]],[14980,[278784,49920]],[14981,[540928,49920]],[14982,[540928,278784,49920]],[14983,[540928,278784,49920]],[14984,[279040,49920]],[14985,[541184,49920]],[14986,[541184,279040,49920]],[14987,[541184,279040,49920]],[14988,[541184,278784]],[14989,[557568,295168]],[14990,[541184,278784,49152]],[14991,[541184,278784,49152]],[14992,[540928,279040]],[14993,[557312,295424]],[14994,[540928,279040,49152]],[14995,[540928,279040,49152]],[14996,[557312,278784]],[14997,[557568,279040]],[14998,[557312,278784,768]],[14999,[557312,278784,768]],[15000,[540928,295168]],[15001,[541184,295424]],[15002,[540928,295168,768]],[15003,[540928,295168,768]],[15004,[557312,278784]],[15005,[540928,295168]],[15006,[540928,278784,49152]],[15007,[540928,278784,49152]],[15008,[540928,278784,49152]],[15009,[557568,279040]],[15010,[541184,295424]],[15011,[541184,279040,49152]],[15012,[541184,279040,49152]],[15013,[541184,279040,49152]],[15014,[541184,278784]],[15015,[540928,279040]],[15016,[540928,278784,768]],[15017,[540928,278784,768]],[15018,[540928,278784,768]],[15019,[557568,295168]],[15020,[557312,295424]],[15021,[557312,295168,768]],[15022,[557312,295168,768]],[15023,[557312,295168,768]],[15024,[1065216,49920]],[15025,[2113792,49920]],[15026,[2113792,1065216,49920]],[15027,[2113792,1065216,49920]],[15028,[1065472,49920]],[15029,[2114048,49920]],[15030,[2114048,1065472,49920]],[15031,[2114048,1065472,49920]],[15032,[2114048,1065216]],[15033,[2130432,1081600]],[15034,[2114048,1065216,49152]],[15035,[2114048,1065216,49152]],[15036,[2113792,1065472]],[15037,[2130176,1081856]],[15038,[2113792,1065472,49152]],[15039,[2113792,1065472,49152]],[15040,[2130176,1065216]],[15041,[2130432,1065472]],[15042,[2130176,1065216,768]],[15043,[2130176,1065216,768]],[15044,[2113792,1081600]],[15045,[2114048,1081856]],[15046,[2113792,1081600,768]],[15047,[2113792,1081600,768]],[15048,[2130176,1065216]],[15049,[2113792,1081600]],[15050,[2113792,1065216,49152]],[15051,[2113792,1065216,49152]],[15052,[2113792,1065216,49152]],[15053,[2130432,1065472]],[15054,[2114048,1081856]],[15055,[2114048,1065472,49152]],[15056,[2114048,1065472,49152]],[15057,[2114048,1065472,49152]],[15058,[2114048,1065216]],[15059,[2113792,1065472]],[15060,[2113792,1065216,768]],[15061,[2113792,1065216,768]],[15062,[2113792,1065216,768]],[15063,[2113792,1065216,768]],[15064,[2130432,1081600]],[15065,[2130176,1081856]],[15066,[2130176,1081600,768]],[15067,[2130176,1081600,768]],[15068,[2130176,1081600,768]],[15069,[2130176,1081600,768]],[15070,[327936,197376]],[15071,[590080,197376]],[15072,[590080,327936,197376]],[15073,[590080,327936,197376]],[15074,[328192,197376]],[15075,[590336,197376]],[15076,[590336,328192,197376]],[15077,[590336,328192,197376]],[15078,[590336,327936]],[15079,[655872,393472]],[15080,[590336,327936,196608]],[15081,[590336,327936,196608]],[15082,[590080,328192]],[15083,[655616,393728]],[15084,[590080,328192,196608]],[15085,[590080,328192,196608]],[15086,[655616,327936]],[15087,[655872,328192]],[15088,[655616,327936,768]],[15089,[655616,327936,768]],[15090,[590080,393472]],[15091,[590336,393728]],[15092,[590080,393472,768]],[15093,[590080,393472,768]],[15094,[655616,327936]],[15095,[590080,393472]],[15096,[590080,327936,196608]],[15097,[590080,327936,196608]],[15098,[590080,327936,196608]],[15099,[655872,328192]],[15100,[590336,393728]],[15101,[590336,328192,196608]],[15102,[590336,328192,196608]],[15103,[590336,328192,196608]],[15104,[590336,327936]],[15105,[590080,328192]],[15106,[590080,327936,768]],[15107,[590080,327936,768]],[15108,[590080,327936,768]],[15109,[655872,393472]],[15110,[655616,393728]],[15111,[655616,393472,768]],[15112,[655616,393472,768]],[15113,[655616,393472,768]],[15114,[1114368,197376]],[15115,[2162944,197376]],[15116,[2162944,1114368,197376]],[15117,[2162944,1114368,197376]],[15118,[1114624,197376]],[15119,[2163200,197376]],[15120,[2163200,1114624,197376]],[15121,[2163200,1114624,197376]],[15122,[2163200,1114368]],[15123,[2228736,1179904]],[15124,[2163200,1114368,196608]],[15125,[2163200,1114368,196608]],[15126,[2162944,1114624]],[15127,[2228480,1180160]],[15128,[2162944,1114624,196608]],[15129,[2162944,1114624,196608]],[15130,[2228480,1114368]],[15131,[2228736,1114624]],[15132,[2228480,1114368,768]],[15133,[2228480,1114368,768]],[15134,[2162944,1179904]],[15135,[2163200,1180160]],[15136,[2162944,1179904,768]],[15137,[2162944,1179904,768]],[15138,[2228480,1114368]],[15139,[2162944,1179904]],[15140,[2162944,1114368,196608]],[15141,[2162944,1114368,196608]],[15142,[2162944,1114368,196608]],[15143,[2228736,1114624]],[15144,[2163200,1180160]],[15145,[2163200,1114624,196608]],[15146,[2163200,1114624,196608]],[15147,[2163200,1114624,196608]],[15148,[2163200,1114368]],[15149,[2162944,1114624]],[15150,[2162944,1114368,768]],[15151,[2162944,1114368,768]],[15152,[2162944,1114368,768]],[15153,[2162944,1114368,768]],[15154,[2228736,1179904]],[15155,[2228480,1180160]],[15156,[2228480,1179904,768]],[15157,[2228480,1179904,768]],[15158,[2228480,1179904,768]],[15159,[2228480,1179904,768]],[15160,[1310976,787200]],[15161,[2359552,787200]],[15162,[2359552,1310976,787200]],[15163,[2359552,1310976,787200]],[15164,[1311232,787200]],[15165,[2359808,787200]],[15166,[2359808,1311232,787200]],[15167,[2359808,1311232,787200]],[15168,[2359808,1310976]],[15169,[2621952,1573120]],[15170,[2359808,1310976,786432]],[15171,[2359808,1310976,786432]],[15172,[2359552,1311232]],[15173,[2621696,1573376]],[15174,[2359552,1311232,786432]],[15175,[2359552,1311232,786432]],[15176,[2621696,1310976]],[15177,[2621952,1311232]],[15178,[2621696,1310976,768]],[15179,[2621696,1310976,768]],[15180,[2359552,1573120]],[15181,[2359808,1573376]],[15182,[2359552,1573120,768]],[15183,[2359552,1573120,768]],[15184,[2621696,1310976]],[15185,[2359552,1573120]],[15186,[2359552,1310976,786432]],[15187,[2359552,1310976,786432]],[15188,[2359552,1310976,786432]],[15189,[2621952,1311232]],[15190,[2359808,1573376]],[15191,[2359808,1311232,786432]],[15192,[2359808,1311232,786432]],[15193,[2359808,1311232,786432]],[15194,[2359808,1310976]],[15195,[2359552,1311232]],[15196,[2359552,1310976,768]],[15197,[2359552,1310976,768]],[15198,[2359552,1310976,768]],[15199,[2359552,1310976,768]],[15200,[2621952,1573120]],[15201,[2621696,1573376]],[15202,[2621696,1573120,768]],[15203,[2621696,1573120,768]],[15204,[2621696,1573120,768]],[15205,[2621696,1573120,768]],[15206,[21504,15360]],[15207,[37888,15360]],[15208,[37888,21504,15360]],[15209,[37888,21504,15360]],[15210,[22528,15360]],[15211,[38912,15360]],[15212,[38912,22528,15360]],[15213,[38912,22528,15360]],[15214,[38912,21504]],[15215,[43008,25600]],[15216,[38912,21504,12288]],[15217,[38912,21504,12288]],[15218,[37888,22528]],[15219,[41984,26624]],[15220,[37888,22528,12288]],[15221,[37888,22528,12288]],[15222,[41984,21504]],[15223,[43008,22528]],[15224,[41984,21504,3072]],[15225,[41984,21504,3072]],[15226,[37888,25600]],[15227,[38912,26624]],[15228,[37888,25600,3072]],[15229,[37888,25600,3072]],[15230,[41984,21504]],[15231,[37888,25600]],[15232,[37888,21504,12288]],[15233,[37888,21504,12288]],[15234,[37888,21504,12288]],[15235,[37888,21504,12288]],[15236,[43008,22528]],[15237,[38912,26624]],[15238,[38912,22528,12288]],[15239,[38912,22528,12288]],[15240,[38912,22528,12288]],[15241,[38912,22528,12288]],[15242,[38912,21504]],[15243,[37888,22528]],[15244,[37888,21504,3072]],[15245,[37888,21504,3072]],[15246,[37888,21504,3072]],[15247,[37888,21504,3072]],[15248,[43008,25600]],[15249,[41984,26624]],[15250,[41984,25600,3072]],[15251,[41984,25600,3072]],[15252,[41984,25600,3072]],[15253,[41984,25600,3072]],[15254,[70656,15360]],[15255,[136192,15360]],[15256,[136192,70656,15360]],[15257,[136192,70656,15360]],[15258,[71680,15360]],[15259,[137216,15360]],[15260,[137216,71680,15360]],[15261,[137216,71680,15360]],[15262,[137216,70656]],[15263,[141312,74752]],[15264,[137216,70656,12288]],[15265,[137216,70656,12288]],[15266,[136192,71680]],[15267,[140288,75776]],[15268,[136192,71680,12288]],[15269,[136192,71680,12288]],[15270,[140288,70656]],[15271,[141312,71680]],[15272,[140288,70656,3072]],[15273,[140288,70656,3072]],[15274,[136192,74752]],[15275,[137216,75776]],[15276,[136192,74752,3072]],[15277,[136192,74752,3072]],[15278,[140288,70656]],[15279,[136192,74752]],[15280,[136192,70656,12288]],[15281,[136192,70656,12288]],[15282,[136192,70656,12288]],[15283,[141312,71680]],[15284,[137216,75776]],[15285,[137216,71680,12288]],[15286,[137216,71680,12288]],[15287,[137216,71680,12288]],[15288,[137216,70656]],[15289,[136192,71680]],[15290,[136192,70656,3072]],[15291,[136192,70656,3072]],[15292,[136192,70656,3072]],[15293,[141312,74752]],[15294,[140288,75776]],[15295,[140288,74752,3072]],[15296,[140288,74752,3072]],[15297,[140288,74752,3072]],[15298,[267264,15360]],[15299,[529408,15360]],[15300,[529408,267264,15360]],[15301,[529408,267264,15360]],[15302,[268288,15360]],[15303,[530432,15360]],[15304,[530432,268288,15360]],[15305,[530432,268288,15360]],[15306,[530432,267264]],[15307,[534528,271360]],[15308,[530432,267264,12288]],[15309,[530432,267264,12288]],[15310,[529408,268288]],[15311,[533504,272384]],[15312,[529408,268288,12288]],[15313,[529408,268288,12288]],[15314,[533504,267264]],[15315,[534528,268288]],[15316,[533504,267264,3072]],[15317,[533504,267264,3072]],[15318,[529408,271360]],[15319,[530432,272384]],[15320,[529408,271360,3072]],[15321,[529408,271360,3072]],[15322,[533504,267264]],[15323,[529408,271360]],[15324,[529408,267264,12288]],[15325,[529408,267264,12288]],[15326,[529408,267264,12288]],[15327,[529408,267264,12288]],[15328,[534528,268288]],[15329,[530432,272384]],[15330,[530432,268288,12288]],[15331,[530432,268288,12288]],[15332,[530432,268288,12288]],[15333,[530432,268288,12288]],[15334,[530432,267264]],[15335,[529408,268288]],[15336,[529408,267264,3072]],[15337,[529408,267264,3072]],[15338,[529408,267264,3072]],[15339,[529408,267264,3072]],[15340,[534528,271360]],[15341,[533504,272384]],[15342,[533504,271360,3072]],[15343,[533504,271360,3072]],[15344,[533504,271360,3072]],[15345,[533504,271360,3072]],[15346,[1053696,15360]],[15347,[2102272,15360]],[15348,[2102272,1053696,15360]],[15349,[2102272,1053696,15360]],[15350,[1054720,15360]],[15351,[2103296,15360]],[15352,[2103296,1054720,15360]],[15353,[2103296,1054720,15360]],[15354,[2103296,1053696]],[15355,[2107392,1057792]],[15356,[2103296,1053696,12288]],[15357,[2103296,1053696,12288]],[15358,[2102272,1054720]],[15359,[2106368,1058816]],[15360,[2102272,1054720,12288]],[15361,[2102272,1054720,12288]],[15362,[2106368,1053696]],[15363,[2107392,1054720]],[15364,[2106368,1053696,3072]],[15365,[2106368,1053696,3072]],[15366,[2102272,1057792]],[15367,[2103296,1058816]],[15368,[2102272,1057792,3072]],[15369,[2102272,1057792,3072]],[15370,[2106368,1053696]],[15371,[2102272,1057792]],[15372,[2102272,1053696,12288]],[15373,[2102272,1053696,12288]],[15374,[2102272,1053696,12288]],[15375,[2107392,1054720]],[15376,[2103296,1058816]],[15377,[2103296,1054720,12288]],[15378,[2103296,1054720,12288]],[15379,[2103296,1054720,12288]],[15380,[2103296,1053696]],[15381,[2102272,1054720]],[15382,[2102272,1053696,3072]],[15383,[2102272,1053696,3072]],[15384,[2102272,1053696,3072]],[15385,[2107392,1057792]],[15386,[2106368,1058816]],[15387,[2106368,1057792,3072]],[15388,[2106368,1057792,3072]],[15389,[2106368,1057792,3072]],[15390,[82944,52224]],[15391,[148480,52224]],[15392,[148480,82944,52224]],[15393,[148480,82944,52224]],[15394,[83968,52224]],[15395,[149504,52224]],[15396,[149504,83968,52224]],[15397,[149504,83968,52224]],[15398,[149504,82944]],[15399,[165888,99328]],[15400,[149504,82944,49152]],[15401,[149504,82944,49152]],[15402,[148480,83968]],[15403,[164864,100352]],[15404,[148480,83968,49152]],[15405,[148480,83968,49152]],[15406,[164864,82944]],[15407,[165888,83968]],[15408,[164864,82944,3072]],[15409,[164864,82944,3072]],[15410,[148480,99328]],[15411,[149504,100352]],[15412,[148480,99328,3072]],[15413,[148480,99328,3072]],[15414,[164864,82944]],[15415,[148480,99328]],[15416,[148480,82944,49152]],[15417,[148480,82944,49152]],[15418,[148480,82944,49152]],[15419,[148480,82944,49152]],[15420,[165888,83968]],[15421,[149504,100352]],[15422,[149504,83968,49152]],[15423,[149504,83968,49152]],[15424,[149504,83968,49152]],[15425,[149504,83968,49152]],[15426,[149504,82944]],[15427,[148480,83968]],[15428,[148480,82944,3072]],[15429,[148480,82944,3072]],[15430,[148480,82944,3072]],[15431,[165888,99328]],[15432,[164864,100352]],[15433,[164864,99328,3072]],[15434,[164864,99328,3072]],[15435,[164864,99328,3072]],[15436,[279552,52224]],[15437,[541696,52224]],[15438,[541696,279552,52224]],[15439,[541696,279552,52224]],[15440,[280576,52224]],[15441,[542720,52224]],[15442,[542720,280576,52224]],[15443,[542720,280576,52224]],[15444,[542720,279552]],[15445,[559104,295936]],[15446,[542720,279552,49152]],[15447,[542720,279552,49152]],[15448,[541696,280576]],[15449,[558080,296960]],[15450,[541696,280576,49152]],[15451,[541696,280576,49152]],[15452,[558080,279552]],[15453,[559104,280576]],[15454,[558080,279552,3072]],[15455,[558080,279552,3072]],[15456,[541696,295936]],[15457,[542720,296960]],[15458,[541696,295936,3072]],[15459,[541696,295936,3072]],[15460,[558080,279552]],[15461,[541696,295936]],[15462,[541696,279552,49152]],[15463,[541696,279552,49152]],[15464,[541696,279552,49152]],[15465,[559104,280576]],[15466,[542720,296960]],[15467,[542720,280576,49152]],[15468,[542720,280576,49152]],[15469,[542720,280576,49152]],[15470,[542720,279552]],[15471,[541696,280576]],[15472,[541696,279552,3072]],[15473,[541696,279552,3072]],[15474,[541696,279552,3072]],[15475,[541696,279552,3072]],[15476,[559104,295936]],[15477,[558080,296960]],[15478,[558080,295936,3072]],[15479,[558080,295936,3072]],[15480,[558080,295936,3072]],[15481,[558080,295936,3072]],[15482,[1065984,52224]],[15483,[2114560,52224]],[15484,[2114560,1065984,52224]],[15485,[2114560,1065984,52224]],[15486,[1067008,52224]],[15487,[2115584,52224]],[15488,[2115584,1067008,52224]],[15489,[2115584,1067008,52224]],[15490,[2115584,1065984]],[15491,[2131968,1082368]],[15492,[2115584,1065984,49152]],[15493,[2115584,1065984,49152]],[15494,[2114560,1067008]],[15495,[2130944,1083392]],[15496,[2114560,1067008,49152]],[15497,[2114560,1067008,49152]],[15498,[2130944,1065984]],[15499,[2131968,1067008]],[15500,[2130944,1065984,3072]],[15501,[2130944,1065984,3072]],[15502,[2114560,1082368]],[15503,[2115584,1083392]],[15504,[2114560,1082368,3072]],[15505,[2114560,1082368,3072]],[15506,[2130944,1065984]],[15507,[2114560,1082368]],[15508,[2114560,1065984,49152]],[15509,[2114560,1065984,49152]],[15510,[2114560,1065984,49152]],[15511,[2131968,1067008]],[15512,[2115584,1083392]],[15513,[2115584,1067008,49152]],[15514,[2115584,1067008,49152]],[15515,[2115584,1067008,49152]],[15516,[2115584,1065984]],[15517,[2114560,1067008]],[15518,[2114560,1065984,3072]],[15519,[2114560,1065984,3072]],[15520,[2114560,1065984,3072]],[15521,[2131968,1082368]],[15522,[2130944,1083392]],[15523,[2130944,1082368,3072]],[15524,[2130944,1082368,3072]],[15525,[2130944,1082368,3072]],[15526,[328704,199680]],[15527,[590848,199680]],[15528,[590848,328704,199680]],[15529,[590848,328704,199680]],[15530,[329728,199680]],[15531,[591872,199680]],[15532,[591872,329728,199680]],[15533,[591872,329728,199680]],[15534,[591872,328704]],[15535,[657408,394240]],[15536,[591872,328704,196608]],[15537,[591872,328704,196608]],[15538,[590848,329728]],[15539,[656384,395264]],[15540,[590848,329728,196608]],[15541,[590848,329728,196608]],[15542,[656384,328704]],[15543,[657408,329728]],[15544,[656384,328704,3072]],[15545,[656384,328704,3072]],[15546,[590848,394240]],[15547,[591872,395264]],[15548,[590848,394240,3072]],[15549,[590848,394240,3072]],[15550,[656384,328704]],[15551,[590848,394240]],[15552,[590848,328704,196608]],[15553,[590848,328704,196608]],[15554,[590848,328704,196608]],[15555,[657408,329728]],[15556,[591872,395264]],[15557,[591872,329728,196608]],[15558,[591872,329728,196608]],[15559,[591872,329728,196608]],[15560,[591872,328704]],[15561,[590848,329728]],[15562,[590848,328704,3072]],[15563,[590848,328704,3072]],[15564,[590848,328704,3072]],[15565,[590848,328704,3072]],[15566,[657408,394240]],[15567,[656384,395264]],[15568,[656384,394240,3072]],[15569,[656384,394240,3072]],[15570,[656384,394240,3072]],[15571,[656384,394240,3072]],[15572,[1115136,199680]],[15573,[2163712,199680]],[15574,[2163712,1115136,199680]],[15575,[2163712,1115136,199680]],[15576,[1116160,199680]],[15577,[2164736,199680]],[15578,[2164736,1116160,199680]],[15579,[2164736,1116160,199680]],[15580,[2164736,1115136]],[15581,[2230272,1180672]],[15582,[2164736,1115136,196608]],[15583,[2164736,1115136,196608]],[15584,[2163712,1116160]],[15585,[2229248,1181696]],[15586,[2163712,1116160,196608]],[15587,[2163712,1116160,196608]],[15588,[2229248,1115136]],[15589,[2230272,1116160]],[15590,[2229248,1115136,3072]],[15591,[2229248,1115136,3072]],[15592,[2163712,1180672]],[15593,[2164736,1181696]],[15594,[2163712,1180672,3072]],[15595,[2163712,1180672,3072]],[15596,[2229248,1115136]],[15597,[2163712,1180672]],[15598,[2163712,1115136,196608]],[15599,[2163712,1115136,196608]],[15600,[2163712,1115136,196608]],[15601,[2230272,1116160]],[15602,[2164736,1181696]],[15603,[2164736,1116160,196608]],[15604,[2164736,1116160,196608]],[15605,[2164736,1116160,196608]],[15606,[2164736,1115136]],[15607,[2163712,1116160]],[15608,[2163712,1115136,3072]],[15609,[2163712,1115136,3072]],[15610,[2163712,1115136,3072]],[15611,[2230272,1180672]],[15612,[2229248,1181696]],[15613,[2229248,1180672,3072]],[15614,[2229248,1180672,3072]],[15615,[2229248,1180672,3072]],[15616,[1311744,789504]],[15617,[2360320,789504]],[15618,[2360320,1311744,789504]],[15619,[2360320,1311744,789504]],[15620,[1312768,789504]],[15621,[2361344,789504]],[15622,[2361344,1312768,789504]],[15623,[2361344,1312768,789504]],[15624,[2361344,1311744]],[15625,[2623488,1573888]],[15626,[2361344,1311744,786432]],[15627,[2361344,1311744,786432]],[15628,[2360320,1312768]],[15629,[2622464,1574912]],[15630,[2360320,1312768,786432]],[15631,[2360320,1312768,786432]],[15632,[2622464,1311744]],[15633,[2623488,1312768]],[15634,[2622464,1311744,3072]],[15635,[2622464,1311744,3072]],[15636,[2360320,1573888]],[15637,[2361344,1574912]],[15638,[2360320,1573888,3072]],[15639,[2360320,1573888,3072]],[15640,[2622464,1311744]],[15641,[2360320,1573888]],[15642,[2360320,1311744,786432]],[15643,[2360320,1311744,786432]],[15644,[2360320,1311744,786432]],[15645,[2623488,1312768]],[15646,[2361344,1574912]],[15647,[2361344,1312768,786432]],[15648,[2361344,1312768,786432]],[15649,[2361344,1312768,786432]],[15650,[2361344,1311744]],[15651,[2360320,1312768]],[15652,[2360320,1311744,3072]],[15653,[2360320,1311744,3072]],[15654,[2360320,1311744,3072]],[15655,[2623488,1573888]],[15656,[2622464,1574912]],[15657,[2622464,1573888,3072]],[15658,[2622464,1573888,3072]],[15659,[2622464,1573888,3072]],[15660,[86016,61440]],[15661,[151552,61440]],[15662,[151552,86016,61440]],[15663,[151552,86016,61440]],[15664,[90112,61440]],[15665,[155648,61440]],[15666,[155648,90112,61440]],[15667,[155648,90112,61440]],[15668,[155648,86016]],[15669,[172032,102400]],[15670,[155648,86016,49152]],[15671,[155648,86016,49152]],[15672,[151552,90112]],[15673,[167936,106496]],[15674,[151552,90112,49152]],[15675,[151552,90112,49152]],[15676,[167936,86016]],[15677,[172032,90112]],[15678,[167936,86016,12288]],[15679,[167936,86016,12288]],[15680,[151552,102400]],[15681,[155648,106496]],[15682,[151552,102400,12288]],[15683,[151552,102400,12288]],[15684,[167936,86016]],[15685,[151552,102400]],[15686,[151552,86016,49152]],[15687,[151552,86016,49152]],[15688,[151552,86016,49152]],[15689,[151552,86016,49152]],[15690,[172032,90112]],[15691,[155648,106496]],[15692,[155648,90112,49152]],[15693,[155648,90112,49152]],[15694,[155648,90112,49152]],[15695,[155648,90112,49152]],[15696,[155648,86016]],[15697,[151552,90112]],[15698,[151552,86016,12288]],[15699,[151552,86016,12288]],[15700,[151552,86016,12288]],[15701,[151552,86016,12288]],[15702,[172032,102400]],[15703,[167936,106496]],[15704,[167936,102400,12288]],[15705,[167936,102400,12288]],[15706,[167936,102400,12288]],[15707,[167936,102400,12288]],[15708,[282624,61440]],[15709,[544768,61440]],[15710,[544768,282624,61440]],[15711,[544768,282624,61440]],[15712,[286720,61440]],[15713,[548864,61440]],[15714,[548864,286720,61440]],[15715,[548864,286720,61440]],[15716,[548864,282624]],[15717,[565248,299008]],[15718,[548864,282624,49152]],[15719,[548864,282624,49152]],[15720,[544768,286720]],[15721,[561152,303104]],[15722,[544768,286720,49152]],[15723,[544768,286720,49152]],[15724,[561152,282624]],[15725,[565248,286720]],[15726,[561152,282624,12288]],[15727,[561152,282624,12288]],[15728,[544768,299008]],[15729,[548864,303104]],[15730,[544768,299008,12288]],[15731,[544768,299008,12288]],[15732,[561152,282624]],[15733,[544768,299008]],[15734,[544768,282624,49152]],[15735,[544768,282624,49152]],[15736,[544768,282624,49152]],[15737,[565248,286720]],[15738,[548864,303104]],[15739,[548864,286720,49152]],[15740,[548864,286720,49152]],[15741,[548864,286720,49152]],[15742,[548864,282624]],[15743,[544768,286720]],[15744,[544768,282624,12288]],[15745,[544768,282624,12288]],[15746,[544768,282624,12288]],[15747,[565248,299008]],[15748,[561152,303104]],[15749,[561152,299008,12288]],[15750,[561152,299008,12288]],[15751,[561152,299008,12288]],[15752,[1069056,61440]],[15753,[2117632,61440]],[15754,[2117632,1069056,61440]],[15755,[2117632,1069056,61440]],[15756,[1073152,61440]],[15757,[2121728,61440]],[15758,[2121728,1073152,61440]],[15759,[2121728,1073152,61440]],[15760,[2121728,1069056]],[15761,[2138112,1085440]],[15762,[2121728,1069056,49152]],[15763,[2121728,1069056,49152]],[15764,[2117632,1073152]],[15765,[2134016,1089536]],[15766,[2117632,1073152,49152]],[15767,[2117632,1073152,49152]],[15768,[2134016,1069056]],[15769,[2138112,1073152]],[15770,[2134016,1069056,12288]],[15771,[2134016,1069056,12288]],[15772,[2117632,1085440]],[15773,[2121728,1089536]],[15774,[2117632,1085440,12288]],[15775,[2117632,1085440,12288]],[15776,[2134016,1069056]],[15777,[2117632,1085440]],[15778,[2117632,1069056,49152]],[15779,[2117632,1069056,49152]],[15780,[2117632,1069056,49152]],[15781,[2138112,1073152]],[15782,[2121728,1089536]],[15783,[2121728,1073152,49152]],[15784,[2121728,1073152,49152]],[15785,[2121728,1073152,49152]],[15786,[2121728,1069056]],[15787,[2117632,1073152]],[15788,[2117632,1069056,12288]],[15789,[2117632,1069056,12288]],[15790,[2117632,1069056,12288]],[15791,[2138112,1085440]],[15792,[2134016,1089536]],[15793,[2134016,1085440,12288]],[15794,[2134016,1085440,12288]],[15795,[2134016,1085440,12288]],[15796,[331776,208896]],[15797,[593920,208896]],[15798,[593920,331776,208896]],[15799,[593920,331776,208896]],[15800,[335872,208896]],[15801,[598016,208896]],[15802,[598016,335872,208896]],[15803,[598016,335872,208896]],[15804,[598016,331776]],[15805,[663552,397312]],[15806,[598016,331776,196608]],[15807,[598016,331776,196608]],[15808,[593920,335872]],[15809,[659456,401408]],[15810,[593920,335872,196608]],[15811,[593920,335872,196608]],[15812,[659456,331776]],[15813,[663552,335872]],[15814,[659456,331776,12288]],[15815,[659456,331776,12288]],[15816,[593920,397312]],[15817,[598016,401408]],[15818,[593920,397312,12288]],[15819,[593920,397312,12288]],[15820,[659456,331776]],[15821,[593920,397312]],[15822,[593920,331776,196608]],[15823,[593920,331776,196608]],[15824,[593920,331776,196608]],[15825,[663552,335872]],[15826,[598016,401408]],[15827,[598016,335872,196608]],[15828,[598016,335872,196608]],[15829,[598016,335872,196608]],[15830,[598016,331776]],[15831,[593920,335872]],[15832,[593920,331776,12288]],[15833,[593920,331776,12288]],[15834,[593920,331776,12288]],[15835,[663552,397312]],[15836,[659456,401408]],[15837,[659456,397312,12288]],[15838,[659456,397312,12288]],[15839,[659456,397312,12288]],[15840,[1118208,208896]],[15841,[2166784,208896]],[15842,[2166784,1118208,208896]],[15843,[2166784,1118208,208896]],[15844,[1122304,208896]],[15845,[2170880,208896]],[15846,[2170880,1122304,208896]],[15847,[2170880,1122304,208896]],[15848,[2170880,1118208]],[15849,[2236416,1183744]],[15850,[2170880,1118208,196608]],[15851,[2170880,1118208,196608]],[15852,[2166784,1122304]],[15853,[2232320,1187840]],[15854,[2166784,1122304,196608]],[15855,[2166784,1122304,196608]],[15856,[2232320,1118208]],[15857,[2236416,1122304]],[15858,[2232320,1118208,12288]],[15859,[2232320,1118208,12288]],[15860,[2166784,1183744]],[15861,[2170880,1187840]],[15862,[2166784,1183744,12288]],[15863,[2166784,1183744,12288]],[15864,[2232320,1118208]],[15865,[2166784,1183744]],[15866,[2166784,1118208,196608]],[15867,[2166784,1118208,196608]],[15868,[2166784,1118208,196608]],[15869,[2236416,1122304]],[15870,[2170880,1187840]],[15871,[2170880,1122304,196608]],[15872,[2170880,1122304,196608]],[15873,[2170880,1122304,196608]],[15874,[2170880,1118208]],[15875,[2166784,1122304]],[15876,[2166784,1118208,12288]],[15877,[2166784,1118208,12288]],[15878,[2166784,1118208,12288]],[15879,[2236416,1183744]],[15880,[2232320,1187840]],[15881,[2232320,1183744,12288]],[15882,[2232320,1183744,12288]],[15883,[2232320,1183744,12288]],[15884,[1314816,798720]],[15885,[2363392,798720]],[15886,[2363392,1314816,798720]],[15887,[2363392,1314816,798720]],[15888,[1318912,798720]],[15889,[2367488,798720]],[15890,[2367488,1318912,798720]],[15891,[2367488,1318912,798720]],[15892,[2367488,1314816]],[15893,[2629632,1576960]],[15894,[2367488,1314816,786432]],[15895,[2367488,1314816,786432]],[15896,[2363392,1318912]],[15897,[2625536,1581056]],[15898,[2363392,1318912,786432]],[15899,[2363392,1318912,786432]],[15900,[2625536,1314816]],[15901,[2629632,1318912]],[15902,[2625536,1314816,12288]],[15903,[2625536,1314816,12288]],[15904,[2363392,1576960]],[15905,[2367488,1581056]],[15906,[2363392,1576960,12288]],[15907,[2363392,1576960,12288]],[15908,[2625536,1314816]],[15909,[2363392,1576960]],[15910,[2363392,1314816,786432]],[15911,[2363392,1314816,786432]],[15912,[2363392,1314816,786432]],[15913,[2629632,1318912]],[15914,[2367488,1581056]],[15915,[2367488,1318912,786432]],[15916,[2367488,1318912,786432]],[15917,[2367488,1318912,786432]],[15918,[2367488,1314816]],[15919,[2363392,1318912]],[15920,[2363392,1314816,12288]],[15921,[2363392,1314816,12288]],[15922,[2363392,1314816,12288]],[15923,[2629632,1576960]],[15924,[2625536,1581056]],[15925,[2625536,1576960,12288]],[15926,[2625536,1576960,12288]],[15927,[2625536,1576960,12288]],[15928,[344064,245760]],[15929,[606208,245760]],[15930,[606208,344064,245760]],[15931,[606208,344064,245760]],[15932,[360448,245760]],[15933,[622592,245760]],[15934,[622592,360448,245760]],[15935,[622592,360448,245760]],[15936,[622592,344064]],[15937,[688128,409600]],[15938,[622592,344064,196608]],[15939,[622592,344064,196608]],[15940,[606208,360448]],[15941,[671744,425984]],[15942,[606208,360448,196608]],[15943,[606208,360448,196608]],[15944,[671744,344064]],[15945,[688128,360448]],[15946,[671744,344064,49152]],[15947,[671744,344064,49152]],[15948,[606208,409600]],[15949,[622592,425984]],[15950,[606208,409600,49152]],[15951,[606208,409600,49152]],[15952,[671744,344064]],[15953,[606208,409600]],[15954,[606208,344064,196608]],[15955,[606208,344064,196608]],[15956,[606208,344064,196608]],[15957,[688128,360448]],[15958,[622592,425984]],[15959,[622592,360448,196608]],[15960,[622592,360448,196608]],[15961,[622592,360448,196608]],[15962,[622592,344064]],[15963,[606208,360448]],[15964,[606208,344064,49152]],[15965,[606208,344064,49152]],[15966,[606208,344064,49152]],[15967,[688128,409600]],[15968,[671744,425984]],[15969,[671744,409600,49152]],[15970,[671744,409600,49152]],[15971,[671744,409600,49152]],[15972,[1130496,245760]],[15973,[2179072,245760]],[15974,[2179072,1130496,245760]],[15975,[2179072,1130496,245760]],[15976,[1146880,245760]],[15977,[2195456,245760]],[15978,[2195456,1146880,245760]],[15979,[2195456,1146880,245760]],[15980,[2195456,1130496]],[15981,[2260992,1196032]],[15982,[2195456,1130496,196608]],[15983,[2195456,1130496,196608]],[15984,[2179072,1146880]],[15985,[2244608,1212416]],[15986,[2179072,1146880,196608]],[15987,[2179072,1146880,196608]],[15988,[2244608,1130496]],[15989,[2260992,1146880]],[15990,[2244608,1130496,49152]],[15991,[2244608,1130496,49152]],[15992,[2179072,1196032]],[15993,[2195456,1212416]],[15994,[2179072,1196032,49152]],[15995,[2179072,1196032,49152]],[15996,[2244608,1130496]],[15997,[2179072,1196032]],[15998,[2179072,1130496,196608]],[15999,[2179072,1130496,196608]],[16000,[2179072,1130496,196608]],[16001,[2260992,1146880]],[16002,[2195456,1212416]],[16003,[2195456,1146880,196608]],[16004,[2195456,1146880,196608]],[16005,[2195456,1146880,196608]],[16006,[2195456,1130496]],[16007,[2179072,1146880]],[16008,[2179072,1130496,49152]],[16009,[2179072,1130496,49152]],[16010,[2179072,1130496,49152]],[16011,[2260992,1196032]],[16012,[2244608,1212416]],[16013,[2244608,1196032,49152]],[16014,[2244608,1196032,49152]],[16015,[2244608,1196032,49152]],[16016,[1327104,835584]],[16017,[2375680,835584]],[16018,[2375680,1327104,835584]],[16019,[2375680,1327104,835584]],[16020,[1343488,835584]],[16021,[2392064,835584]],[16022,[2392064,1343488,835584]],[16023,[2392064,1343488,835584]],[16024,[2392064,1327104]],[16025,[2654208,1589248]],[16026,[2392064,1327104,786432]],[16027,[2392064,1327104,786432]],[16028,[2375680,1343488]],[16029,[2637824,1605632]],[16030,[2375680,1343488,786432]],[16031,[2375680,1343488,786432]],[16032,[2637824,1327104]],[16033,[2654208,1343488]],[16034,[2637824,1327104,49152]],[16035,[2637824,1327104,49152]],[16036,[2375680,1589248]],[16037,[2392064,1605632]],[16038,[2375680,1589248,49152]],[16039,[2375680,1589248,49152]],[16040,[2637824,1327104]],[16041,[2375680,1589248]],[16042,[2375680,1327104,786432]],[16043,[2375680,1327104,786432]],[16044,[2375680,1327104,786432]],[16045,[2654208,1343488]],[16046,[2392064,1605632]],[16047,[2392064,1343488,786432]],[16048,[2392064,1343488,786432]],[16049,[2392064,1343488,786432]],[16050,[2392064,1327104]],[16051,[2375680,1343488]],[16052,[2375680,1327104,49152]],[16053,[2375680,1327104,49152]],[16054,[2375680,1327104,49152]],[16055,[2654208,1589248]],[16056,[2637824,1605632]],[16057,[2637824,1589248,49152]],[16058,[2637824,1589248,49152]],[16059,[2637824,1589248,49152]],[16060,[1376256,983040]],[16061,[2424832,983040]],[16062,[2424832,1376256,983040]],[16063,[2424832,1376256,983040]],[16064,[1441792,983040]],[16065,[2490368,983040]],[16066,[2490368,1441792,983040]],[16067,[2490368,1441792,983040]],[16068,[2490368,1376256]],[16069,[2752512,1638400]],[16070,[2490368,1376256,786432]],[16071,[2490368,1376256,786432]],[16072,[2424832,1441792]],[16073,[2686976,1703936]],[16074,[2424832,1441792,786432]],[16075,[2424832,1441792,786432]],[16076,[2686976,1376256]],[16077,[2752512,1441792]],[16078,[2686976,1376256,196608]],[16079,[2686976,1376256,196608]],[16080,[2424832,1638400]],[16081,[2490368,1703936]],[16082,[2424832,1638400,196608]],[16083,[2424832,1638400,196608]],[16084,[2686976,1376256]],[16085,[2424832,1638400]],[16086,[2424832,1376256,786432]],[16087,[2424832,1376256,786432]],[16088,[2424832,1376256,786432]],[16089,[2752512,1441792]],[16090,[2490368,1703936]],[16091,[2490368,1441792,786432]],[16092,[2490368,1441792,786432]],[16093,[2490368,1441792,786432]],[16094,[2490368,1376256]],[16095,[2424832,1441792]],[16096,[2424832,1376256,196608]],[16097,[2424832,1376256,196608]],[16098,[2424832,1376256,196608]],[16099,[2752512,1638400]],[16100,[2686976,1703936]],[16101,[2686976,1638400,196608]],[16102,[2686976,1638400,196608]],[16103,[2686976,1638400,196608]],[16104,[37,21,12,3]],[16105,[37,21,12,3]],[16106,[37,21,12,3]],[16107,[37,21,12,3]],[16108,[133,69,12,3]],[16109,[133,69,12,3]],[16110,[133,69,12,3]],[16111,[133,69,12,3]],[16112,[517,261,12,3]],[16113,[517,261,12,3]],[16114,[517,261,12,3]],[16115,[517,261,12,3]],[16116,[2053,1029,12,3]],[16117,[2053,1029,12,3]],[16118,[2053,1029,12,3]],[16119,[2053,1029,12,3]],[16120,[8197,4101,12,3]],[16121,[8197,4101,12,3]],[16122,[8197,4101,12,3]],[16123,[8197,4101,12,3]],[16124,[32773,16389,12,3]],[16125,[32773,16389,12,3]],[16126,[32773,16389,12,3]],[16127,[32773,16389,12,3]],[16128,[131077,65541,12,3]],[16129,[131077,65541,12,3]],[16130,[131077,65541,12,3]],[16131,[131077,65541,12,3]],[16132,[524293,262149,12,3]],[16133,[524293,262149,12,3]],[16134,[524293,262149,12,3]],[16135,[524293,262149,12,3]],[16136,[2097157,1048581,12,3]],[16137,[2097157,1048581,12,3]],[16138,[2097157,1048581,12,3]],[16139,[2097157,1048581,12,3]],[16140,[145,81,48,3]],[16141,[145,81,48,3]],[16142,[145,81,48,3]],[16143,[145,81,48,3]],[16144,[529,273,48,3]],[16145,[529,273,48,3]],[16146,[529,273,48,3]],[16147,[529,273,48,3]],[16148,[2065,1041,48,3]],[16149,[2065,1041,48,3]],[16150,[2065,1041,48,3]],[16151,[2065,1041,48,3]],[16152,[8209,4113,48,3]],[16153,[8209,4113,48,3]],[16154,[8209,4113,48,3]],[16155,[8209,4113,48,3]],[16156,[32785,16401,48,3]],[16157,[32785,16401,48,3]],[16158,[32785,16401,48,3]],[16159,[32785,16401,48,3]],[16160,[131089,65553,48,3]],[16161,[131089,65553,48,3]],[16162,[131089,65553,48,3]],[16163,[131089,65553,48,3]],[16164,[524305,262161,48,3]],[16165,[524305,262161,48,3]],[16166,[524305,262161,48,3]],[16167,[524305,262161,48,3]],[16168,[2097169,1048593,48,3]],[16169,[2097169,1048593,48,3]],[16170,[2097169,1048593,48,3]],[16171,[2097169,1048593,48,3]],[16172,[577,321,192,3]],[16173,[577,321,192,3]],[16174,[577,321,192,3]],[16175,[577,321,192,3]],[16176,[2113,1089,192,3]],[16177,[2113,1089,192,3]],[16178,[2113,1089,192,3]],[16179,[2113,1089,192,3]],[16180,[8257,4161,192,3]],[16181,[8257,4161,192,3]],[16182,[8257,4161,192,3]],[16183,[8257,4161,192,3]],[16184,[32833,16449,192,3]],[16185,[32833,16449,192,3]],[16186,[32833,16449,192,3]],[16187,[32833,16449,192,3]],[16188,[131137,65601,192,3]],[16189,[131137,65601,192,3]],[16190,[131137,65601,192,3]],[16191,[131137,65601,192,3]],[16192,[524353,262209,192,3]],[16193,[524353,262209,192,3]],[16194,[524353,262209,192,3]],[16195,[524353,262209,192,3]],[16196,[2097217,1048641,192,3]],[16197,[2097217,1048641,192,3]],[16198,[2097217,1048641,192,3]],[16199,[2097217,1048641,192,3]],[16200,[2305,1281,768,3]],[16201,[2305,1281,768,3]],[16202,[2305,1281,768,3]],[16203,[2305,1281,768,3]],[16204,[8449,4353,768,3]],[16205,[8449,4353,768,3]],[16206,[8449,4353,768,3]],[16207,[8449,4353,768,3]],[16208,[8449,4353,768,3]],[16209,[33025,16641,768,3]],[16210,[33025,16641,768,3]],[16211,[33025,16641,768,3]],[16212,[33025,16641,768,3]],[16213,[131329,65793,768,3]],[16214,[131329,65793,768,3]],[16215,[131329,65793,768,3]],[16216,[131329,65793,768,3]],[16217,[524545,262401,768,3]],[16218,[524545,262401,768,3]],[16219,[524545,262401,768,3]],[16220,[524545,262401,768,3]],[16221,[2097409,1048833,768,3]],[16222,[2097409,1048833,768,3]],[16223,[2097409,1048833,768,3]],[16224,[2097409,1048833,768,3]],[16225,[9217,5121,3072,3]],[16226,[9217,5121,3072,3]],[16227,[9217,5121,3072,3]],[16228,[9217,5121,3072,3]],[16229,[9217,5121,3072,3]],[16230,[33793,17409,3072,3]],[16231,[33793,17409,3072,3]],[16232,[33793,17409,3072,3]],[16233,[33793,17409,3072,3]],[16234,[132097,66561,3072,3]],[16235,[132097,66561,3072,3]],[16236,[132097,66561,3072,3]],[16237,[132097,66561,3072,3]],[16238,[525313,263169,3072,3]],[16239,[525313,263169,3072,3]],[16240,[525313,263169,3072,3]],[16241,[525313,263169,3072,3]],[16242,[2098177,1049601,3072,3]],[16243,[2098177,1049601,3072,3]],[16244,[2098177,1049601,3072,3]],[16245,[2098177,1049601,3072,3]],[16246,[36865,20481,12288,3]],[16247,[36865,20481,12288,3]],[16248,[36865,20481,12288,3]],[16249,[36865,20481,12288,3]],[16250,[135169,69633,12288,3]],[16251,[135169,69633,12288,3]],[16252,[135169,69633,12288,3]],[16253,[135169,69633,12288,3]],[16254,[528385,266241,12288,3]],[16255,[528385,266241,12288,3]],[16256,[528385,266241,12288,3]],[16257,[528385,266241,12288,3]],[16258,[2101249,1052673,12288,3]],[16259,[2101249,1052673,12288,3]],[16260,[2101249,1052673,12288,3]],[16261,[2101249,1052673,12288,3]],[16262,[2101249,1052673,12288,3]],[16263,[147457,81921,49152,3]],[16264,[147457,81921,49152,3]],[16265,[147457,81921,49152,3]],[16266,[147457,81921,49152,3]],[16267,[540673,278529,49152,3]],[16268,[540673,278529,49152,3]],[16269,[540673,278529,49152,3]],[16270,[540673,278529,49152,3]],[16271,[2113537,1064961,49152,3]],[16272,[2113537,1064961,49152,3]],[16273,[2113537,1064961,49152,3]],[16274,[2113537,1064961,49152,3]],[16275,[589825,327681,196608,3]],[16276,[589825,327681,196608,3]],[16277,[589825,327681,196608,3]],[16278,[589825,327681,196608,3]],[16279,[2162689,1114113,196608,3]],[16280,[2162689,1114113,196608,3]],[16281,[2162689,1114113,196608,3]],[16282,[2162689,1114113,196608,3]],[16283,[2359297,1310721,786432,3]],[16284,[2359297,1310721,786432,3]],[16285,[2359297,1310721,786432,3]],[16286,[2359297,1310721,786432,3]],[16287,[148,84,48,12]],[16288,[148,84,48,12]],[16289,[148,84,48,12]],[16290,[148,84,48,12]],[16291,[532,276,48,12]],[16292,[532,276,48,12]],[16293,[532,276,48,12]],[16294,[532,276,48,12]],[16295,[2068,1044,48,12]],[16296,[2068,1044,48,12]],[16297,[2068,1044,48,12]],[16298,[2068,1044,48,12]],[16299,[8212,4116,48,12]],[16300,[8212,4116,48,12]],[16301,[8212,4116,48,12]],[16302,[8212,4116,48,12]],[16303,[8212,4116,48,12]],[16304,[32788,16404,48,12]],[16305,[32788,16404,48,12]],[16306,[32788,16404,48,12]],[16307,[32788,16404,48,12]],[16308,[131092,65556,48,12]],[16309,[131092,65556,48,12]],[16310,[131092,65556,48,12]],[16311,[131092,65556,48,12]],[16312,[524308,262164,48,12]],[16313,[524308,262164,48,12]],[16314,[524308,262164,48,12]],[16315,[524308,262164,48,12]],[16316,[2097172,1048596,48,12]],[16317,[2097172,1048596,48,12]],[16318,[2097172,1048596,48,12]],[16319,[2097172,1048596,48,12]],[16320,[580,324,192,12]],[16321,[580,324,192,12]],[16322,[580,324,192,12]],[16323,[580,324,192,12]],[16324,[2116,1092,192,12]],[16325,[2116,1092,192,12]],[16326,[2116,1092,192,12]],[16327,[2116,1092,192,12]],[16328,[8260,4164,192,12]],[16329,[8260,4164,192,12]],[16330,[8260,4164,192,12]],[16331,[8260,4164,192,12]],[16332,[32836,16452,192,12]],[16333,[32836,16452,192,12]],[16334,[32836,16452,192,12]],[16335,[32836,16452,192,12]],[16336,[131140,65604,192,12]],[16337,[131140,65604,192,12]],[16338,[131140,65604,192,12]],[16339,[131140,65604,192,12]],[16340,[524356,262212,192,12]],[16341,[524356,262212,192,12]],[16342,[524356,262212,192,12]],[16343,[524356,262212,192,12]],[16344,[2097220,1048644,192,12]],[16345,[2097220,1048644,192,12]],[16346,[2097220,1048644,192,12]],[16347,[2097220,1048644,192,12]],[16348,[2308,1284,768,12]],[16349,[2308,1284,768,12]],[16350,[2308,1284,768,12]],[16351,[2308,1284,768,12]],[16352,[8452,4356,768,12]],[16353,[8452,4356,768,12]],[16354,[8452,4356,768,12]],[16355,[8452,4356,768,12]],[16356,[33028,16644,768,12]],[16357,[33028,16644,768,12]],[16358,[33028,16644,768,12]],[16359,[33028,16644,768,12]],[16360,[131332,65796,768,12]],[16361,[131332,65796,768,12]],[16362,[131332,65796,768,12]],[16363,[131332,65796,768,12]],[16364,[524548,262404,768,12]],[16365,[524548,262404,768,12]],[16366,[524548,262404,768,12]],[16367,[524548,262404,768,12]],[16368,[2097412,1048836,768,12]],[16369,[2097412,1048836,768,12]],[16370,[2097412,1048836,768,12]],[16371,[2097412,1048836,768,12]],[16372,[9220,5124,3072,12]],[16373,[9220,5124,3072,12]],[16374,[9220,5124,3072,12]],[16375,[9220,5124,3072,12]],[16376,[33796,17412,3072,12]],[16377,[33796,17412,3072,12]],[16378,[33796,17412,3072,12]],[16379,[33796,17412,3072,12]],[16380,[132100,66564,3072,12]],[16381,[132100,66564,3072,12]],[16382,[132100,66564,3072,12]],[16383,[132100,66564,3072,12]],[16384,[525316,263172,3072,12]],[16385,[525316,263172,3072,12]],[16386,[525316,263172,3072,12]],[16387,[525316,263172,3072,12]],[16388,[2098180,1049604,3072,12]],[16389,[2098180,1049604,3072,12]],[16390,[2098180,1049604,3072,12]],[16391,[2098180,1049604,3072,12]],[16392,[36868,20484,12288,12]],[16393,[36868,20484,12288,12]],[16394,[36868,20484,12288,12]],[16395,[36868,20484,12288,12]],[16396,[135172,69636,12288,12]],[16397,[135172,69636,12288,12]],[16398,[135172,69636,12288,12]],[16399,[135172,69636,12288,12]],[16400,[528388,266244,12288,12]],[16401,[528388,266244,12288,12]],[16402,[528388,266244,12288,12]],[16403,[528388,266244,12288,12]],[16404,[2101252,1052676,12288,12]],[16405,[2101252,1052676,12288,12]],[16406,[2101252,1052676,12288,12]],[16407,[2101252,1052676,12288,12]],[16408,[147460,81924,49152,12]],[16409,[147460,81924,49152,12]],[16410,[147460,81924,49152,12]],[16411,[147460,81924,49152,12]],[16412,[147460,81924,49152,12]],[16413,[540676,278532,49152,12]],[16414,[540676,278532,49152,12]],[16415,[540676,278532,49152,12]],[16416,[540676,278532,49152,12]],[16417,[2113540,1064964,49152,12]],[16418,[2113540,1064964,49152,12]],[16419,[2113540,1064964,49152,12]],[16420,[2113540,1064964,49152,12]],[16421,[589828,327684,196608,12]],[16422,[589828,327684,196608,12]],[16423,[589828,327684,196608,12]],[16424,[589828,327684,196608,12]],[16425,[2162692,1114116,196608,12]],[16426,[2162692,1114116,196608,12]],[16427,[2162692,1114116,196608,12]],[16428,[2162692,1114116,196608,12]],[16429,[2359300,1310724,786432,12]],[16430,[2359300,1310724,786432,12]],[16431,[2359300,1310724,786432,12]],[16432,[2359300,1310724,786432,12]],[16433,[592,336,192,48]],[16434,[592,336,192,48]],[16435,[592,336,192,48]],[16436,[592,336,192,48]],[16437,[2128,1104,192,48]],[16438,[2128,1104,192,48]],[16439,[2128,1104,192,48]],[16440,[2128,1104,192,48]],[16441,[8272,4176,192,48]],[16442,[8272,4176,192,48]],[16443,[8272,4176,192,48]],[16444,[8272,4176,192,48]],[16445,[32848,16464,192,48]],[16446,[32848,16464,192,48]],[16447,[32848,16464,192,48]],[16448,[32848,16464,192,48]],[16449,[131152,65616,192,48]],[16450,[131152,65616,192,48]],[16451,[131152,65616,192,48]],[16452,[131152,65616,192,48]],[16453,[524368,262224,192,48]],[16454,[524368,262224,192,48]],[16455,[524368,262224,192,48]],[16456,[524368,262224,192,48]],[16457,[2097232,1048656,192,48]],[16458,[2097232,1048656,192,48]],[16459,[2097232,1048656,192,48]],[16460,[2097232,1048656,192,48]],[16461,[2320,1296,768,48]],[16462,[2320,1296,768,48]],[16463,[2320,1296,768,48]],[16464,[2320,1296,768,48]],[16465,[8464,4368,768,48]],[16466,[8464,4368,768,48]],[16467,[8464,4368,768,48]],[16468,[8464,4368,768,48]],[16469,[33040,16656,768,48]],[16470,[33040,16656,768,48]],[16471,[33040,16656,768,48]],[16472,[33040,16656,768,48]],[16473,[131344,65808,768,48]],[16474,[131344,65808,768,48]],[16475,[131344,65808,768,48]],[16476,[131344,65808,768,48]],[16477,[524560,262416,768,48]],[16478,[524560,262416,768,48]],[16479,[524560,262416,768,48]],[16480,[524560,262416,768,48]],[16481,[2097424,1048848,768,48]],[16482,[2097424,1048848,768,48]],[16483,[2097424,1048848,768,48]],[16484,[2097424,1048848,768,48]],[16485,[9232,5136,3072,48]],[16486,[9232,5136,3072,48]],[16487,[9232,5136,3072,48]],[16488,[9232,5136,3072,48]],[16489,[33808,17424,3072,48]],[16490,[33808,17424,3072,48]],[16491,[33808,17424,3072,48]],[16492,[33808,17424,3072,48]],[16493,[132112,66576,3072,48]],[16494,[132112,66576,3072,48]],[16495,[132112,66576,3072,48]],[16496,[132112,66576,3072,48]],[16497,[525328,263184,3072,48]],[16498,[525328,263184,3072,48]],[16499,[525328,263184,3072,48]],[16500,[525328,263184,3072,48]],[16501,[525328,263184,3072,48]],[16502,[2098192,1049616,3072,48]],[16503,[2098192,1049616,3072,48]],[16504,[2098192,1049616,3072,48]],[16505,[2098192,1049616,3072,48]],[16506,[36880,20496,12288,48]],[16507,[36880,20496,12288,48]],[16508,[36880,20496,12288,48]],[16509,[36880,20496,12288,48]],[16510,[135184,69648,12288,48]],[16511,[135184,69648,12288,48]],[16512,[135184,69648,12288,48]],[16513,[135184,69648,12288,48]],[16514,[528400,266256,12288,48]],[16515,[528400,266256,12288,48]],[16516,[528400,266256,12288,48]],[16517,[528400,266256,12288,48]],[16518,[2101264,1052688,12288,48]],[16519,[2101264,1052688,12288,48]],[16520,[2101264,1052688,12288,48]],[16521,[2101264,1052688,12288,48]],[16522,[147472,81936,49152,48]],[16523,[147472,81936,49152,48]],[16524,[147472,81936,49152,48]],[16525,[147472,81936,49152,48]],[16526,[540688,278544,49152,48]],[16527,[540688,278544,49152,48]],[16528,[540688,278544,49152,48]],[16529,[540688,278544,49152,48]],[16530,[2113552,1064976,49152,48]],[16531,[2113552,1064976,49152,48]],[16532,[2113552,1064976,49152,48]],[16533,[2113552,1064976,49152,48]],[16534,[589840,327696,196608,48]],[16535,[589840,327696,196608,48]],[16536,[589840,327696,196608,48]],[16537,[589840,327696,196608,48]],[16538,[2162704,1114128,196608,48]],[16539,[2162704,1114128,196608,48]],[16540,[2162704,1114128,196608,48]],[16541,[2162704,1114128,196608,48]],[16542,[2359312,1310736,786432,48]],[16543,[2359312,1310736,786432,48]],[16544,[2359312,1310736,786432,48]],[16545,[2359312,1310736,786432,48]],[16546,[2368,1344,768,192]],[16547,[2368,1344,768,192]],[16548,[2368,1344,768,192]],[16549,[2368,1344,768,192]],[16550,[8512,4416,768,192]],[16551,[8512,4416,768,192]],[16552,[8512,4416,768,192]],[16553,[8512,4416,768,192]],[16554,[33088,16704,768,192]],[16555,[33088,16704,768,192]],[16556,[33088,16704,768,192]],[16557,[33088,16704,768,192]],[16558,[131392,65856,768,192]],[16559,[131392,65856,768,192]],[16560,[131392,65856,768,192]],[16561,[131392,65856,768,192]],[16562,[524608,262464,768,192]],[16563,[524608,262464,768,192]],[16564,[524608,262464,768,192]],[16565,[524608,262464,768,192]],[16566,[524608,262464,768,192]],[16567,[2097472,1048896,768,192]],[16568,[2097472,1048896,768,192]],[16569,[2097472,1048896,768,192]],[16570,[2097472,1048896,768,192]],[16571,[9280,5184,3072,192]],[16572,[9280,5184,3072,192]],[16573,[9280,5184,3072,192]],[16574,[9280,5184,3072,192]],[16575,[33856,17472,3072,192]],[16576,[33856,17472,3072,192]],[16577,[33856,17472,3072,192]],[16578,[33856,17472,3072,192]],[16579,[132160,66624,3072,192]],[16580,[132160,66624,3072,192]],[16581,[132160,66624,3072,192]],[16582,[132160,66624,3072,192]],[16583,[525376,263232,3072,192]],[16584,[525376,263232,3072,192]],[16585,[525376,263232,3072,192]],[16586,[525376,263232,3072,192]],[16587,[2098240,1049664,3072,192]],[16588,[2098240,1049664,3072,192]],[16589,[2098240,1049664,3072,192]],[16590,[2098240,1049664,3072,192]],[16591,[36928,20544,12288,192]],[16592,[36928,20544,12288,192]],[16593,[36928,20544,12288,192]],[16594,[36928,20544,12288,192]],[16595,[135232,69696,12288,192]],[16596,[135232,69696,12288,192]],[16597,[135232,69696,12288,192]],[16598,[135232,69696,12288,192]],[16599,[528448,266304,12288,192]],[16600,[528448,266304,12288,192]],[16601,[528448,266304,12288,192]],[16602,[528448,266304,12288,192]],[16603,[2101312,1052736,12288,192]],[16604,[2101312,1052736,12288,192]],[16605,[2101312,1052736,12288,192]],[16606,[2101312,1052736,12288,192]],[16607,[147520,81984,49152,192]],[16608,[147520,81984,49152,192]],[16609,[147520,81984,49152,192]],[16610,[147520,81984,49152,192]],[16611,[540736,278592,49152,192]],[16612,[540736,278592,49152,192]],[16613,[540736,278592,49152,192]],[16614,[540736,278592,49152,192]],[16615,[2113600,1065024,49152,192]],[16616,[2113600,1065024,49152,192]],[16617,[2113600,1065024,49152,192]],[16618,[2113600,1065024,49152,192]],[16619,[589888,327744,196608,192]],[16620,[589888,327744,196608,192]],[16621,[589888,327744,196608,192]],[16622,[589888,327744,196608,192]],[16623,[2162752,1114176,196608,192]],[16624,[2162752,1114176,196608,192]],[16625,[2162752,1114176,196608,192]],[16626,[2162752,1114176,196608,192]],[16627,[2359360,1310784,786432,192]],[16628,[2359360,1310784,786432,192]],[16629,[2359360,1310784,786432,192]],[16630,[2359360,1310784,786432,192]],[16631,[9472,5376,3072,768]],[16632,[9472,5376,3072,768]],[16633,[9472,5376,3072,768]],[16634,[9472,5376,3072,768]],[16635,[34048,17664,3072,768]],[16636,[34048,17664,3072,768]],[16637,[34048,17664,3072,768]],[16638,[34048,17664,3072,768]],[16639,[132352,66816,3072,768]],[16640,[132352,66816,3072,768]],[16641,[132352,66816,3072,768]],[16642,[132352,66816,3072,768]],[16643,[525568,263424,3072,768]],[16644,[525568,263424,3072,768]],[16645,[525568,263424,3072,768]],[16646,[525568,263424,3072,768]],[16647,[2098432,1049856,3072,768]],[16648,[2098432,1049856,3072,768]],[16649,[2098432,1049856,3072,768]],[16650,[2098432,1049856,3072,768]],[16651,[37120,20736,12288,768]],[16652,[37120,20736,12288,768]],[16653,[37120,20736,12288,768]],[16654,[37120,20736,12288,768]],[16655,[37120,20736,12288,768]],[16656,[135424,69888,12288,768]],[16657,[135424,69888,12288,768]],[16658,[135424,69888,12288,768]],[16659,[135424,69888,12288,768]],[16660,[528640,266496,12288,768]],[16661,[528640,266496,12288,768]],[16662,[528640,266496,12288,768]],[16663,[528640,266496,12288,768]],[16664,[2101504,1052928,12288,768]],[16665,[2101504,1052928,12288,768]],[16666,[2101504,1052928,12288,768]],[16667,[2101504,1052928,12288,768]],[16668,[147712,82176,49152,768]],[16669,[147712,82176,49152,768]],[16670,[147712,82176,49152,768]],[16671,[147712,82176,49152,768]],[16672,[540928,278784,49152,768]],[16673,[540928,278784,49152,768]],[16674,[540928,278784,49152,768]],[16675,[540928,278784,49152,768]],[16676,[2113792,1065216,49152,768]],[16677,[2113792,1065216,49152,768]],[16678,[2113792,1065216,49152,768]],[16679,[2113792,1065216,49152,768]],[16680,[590080,327936,196608,768]],[16681,[590080,327936,196608,768]],[16682,[590080,327936,196608,768]],[16683,[590080,327936,196608,768]],[16684,[2162944,1114368,196608,768]],[16685,[2162944,1114368,196608,768]],[16686,[2162944,1114368,196608,768]],[16687,[2162944,1114368,196608,768]],[16688,[2359552,1310976,786432,768]],[16689,[2359552,1310976,786432,768]],[16690,[2359552,1310976,786432,768]],[16691,[2359552,1310976,786432,768]],[16692,[37888,21504,12288,3072]],[16693,[37888,21504,12288,3072]],[16694,[37888,21504,12288,3072]],[16695,[37888,21504,12288,3072]],[16696,[136192,70656,12288,3072]],[16697,[136192,70656,12288,3072]],[16698,[136192,70656,12288,3072]],[16699,[136192,70656,12288,3072]],[16700,[529408,267264,12288,3072]],[16701,[529408,267264,12288,3072]],[16702,[529408,267264,12288,3072]],[16703,[529408,267264,12288,3072]],[16704,[2102272,1053696,12288,3072]],[16705,[2102272,1053696,12288,3072]],[16706,[2102272,1053696,12288,3072]],[16707,[2102272,1053696,12288,3072]],[16708,[148480,82944,49152,3072]],[16709,[148480,82944,49152,3072]],[16710,[148480,82944,49152,3072]],[16711,[148480,82944,49152,3072]],[16712,[541696,279552,49152,3072]],[16713,[541696,279552,49152,3072]],[16714,[541696,279552,49152,3072]],[16715,[541696,279552,49152,3072]],[16716,[2114560,1065984,49152,3072]],[16717,[2114560,1065984,49152,3072]],[16718,[2114560,1065984,49152,3072]],[16719,[2114560,1065984,49152,3072]],[16720,[590848,328704,196608,3072]],[16721,[590848,328704,196608,3072]],[16722,[590848,328704,196608,3072]],[16723,[590848,328704,196608,3072]],[16724,[2163712,1115136,196608,3072]],[16725,[2163712,1115136,196608,3072]],[16726,[2163712,1115136,196608,3072]],[16727,[2163712,1115136,196608,3072]],[16728,[2360320,1311744,786432,3072]],[16729,[2360320,1311744,786432,3072]],[16730,[2360320,1311744,786432,3072]],[16731,[2360320,1311744,786432,3072]],[16732,[151552,86016,49152,12288]],[16733,[151552,86016,49152,12288]],[16734,[151552,86016,49152,12288]],[16735,[151552,86016,49152,12288]],[16736,[544768,282624,49152,12288]],[16737,[544768,282624,49152,12288]],[16738,[544768,282624,49152,12288]],[16739,[544768,282624,49152,12288]],[16740,[2117632,1069056,49152,12288]],[16741,[2117632,1069056,49152,12288]],[16742,[2117632,1069056,49152,12288]],[16743,[2117632,1069056,49152,12288]],[16744,[593920,331776,196608,12288]],[16745,[593920,331776,196608,12288]],[16746,[593920,331776,196608,12288]],[16747,[593920,331776,196608,12288]],[16748,[2166784,1118208,196608,12288]],[16749,[2166784,1118208,196608,12288]],[16750,[2166784,1118208,196608,12288]],[16751,[2166784,1118208,196608,12288]],[16752,[2363392,1314816,786432,12288]],[16753,[2363392,1314816,786432,12288]],[16754,[2363392,1314816,786432,12288]],[16755,[2363392,1314816,786432,12288]],[16756,[606208,344064,196608,49152]],[16757,[606208,344064,196608,49152]],[16758,[606208,344064,196608,49152]],[16759,[606208,344064,196608,49152]],[16760,[2179072,1130496,196608,49152]],[16761,[2179072,1130496,196608,49152]],[16762,[2179072,1130496,196608,49152]],[16763,[2179072,1130496,196608,49152]],[16764,[2375680,1327104,786432,49152]],[16765,[2375680,1327104,786432,49152]],[16766,[2375680,1327104,786432,49152]],[16767,[2375680,1327104,786432,49152]],[16768,[2424832,1376256,786432,196608]],[16769,[2424832,1376256,786432,196608]],[16770,[2424832,1376256,786432,196608]],[16771,[2424832,1376256,786432,196608]],[16772,[131328,65792,33024,16640,768,1]],[16773,[131328,65792,33024,16640,768,1]],[16774,[2113537,1064961,540673,278529,49152]],[16775,[2113537,1064961,540673,278529,49152]],[16776,[2097408,1048832,524544,262400,768,1]],[16777,[2097408,1048832,524544,262400,768,1]],[16778,[131137,65601,32833,16449,192]],[16779,[131137,65601,32833,16449,192]],[16780,[2053,1029,517,261,12]],[16781,[2053,1029,517,261,12]],[16782,[2097217,1048641,524353,262209,192]],[16783,[2097217,1048641,524353,262209,192]],[16784,[2162689,1114113,589825,327681,196608]],[16785,[2162689,1114113,589825,327681,196608]],[16786,[8448,4352,2304,1280,768,1]],[16787,[8448,4352,2304,1280,768,1]],[16788,[8257,4161,2113,1089,192]],[16789,[8257,4161,2113,1089,192]],[16790,[132,68,36,20,12,1]],[16791,[132,68,36,20,12,1]],[16792,[132,68,36,20,12,1]],[16793,[524305,262161,131089,65553,48]],[16794,[524305,262161,131089,65553,48]],[16795,[131328,65792,33024,16640,768,2]],[16796,[131328,65792,33024,16640,768,2]],[16797,[2113538,1064962,540674,278530,49152]],[16798,[2113538,1064962,540674,278530,49152]],[16799,[2097408,1048832,524544,262400,768,2]],[16800,[2097408,1048832,524544,262400,768,2]],[16801,[131138,65602,32834,16450,192]],[16802,[131138,65602,32834,16450,192]],[16803,[2054,1030,518,262,12]],[16804,[2054,1030,518,262,12]],[16805,[2097218,1048642,524354,262210,192]],[16806,[2097218,1048642,524354,262210,192]],[16807,[2162690,1114114,589826,327682,196608]],[16808,[2162690,1114114,589826,327682,196608]],[16809,[8448,4352,2304,1280,768,2]],[16810,[8448,4352,2304,1280,768,2]],[16811,[8258,4162,2114,1090,192]],[16812,[8258,4162,2114,1090,192]],[16813,[132,68,36,20,12,2]],[16814,[132,68,36,20,12,2]],[16815,[132,68,36,20,12,2]],[16816,[524306,262162,131090,65554,48]],[16817,[524306,262162,131090,65554,48]],[16818,[131328,65792,33024,16640,768,4]],[16819,[131328,65792,33024,16640,768,4]],[16820,[2113540,1064964,540676,278532,49152]],[16821,[2113540,1064964,540676,278532,49152]],[16822,[2097408,1048832,524544,262400,768,4]],[16823,[2097408,1048832,524544,262400,768,4]],[16824,[131140,65604,32836,16452,192]],[16825,[131140,65604,32836,16452,192]],[16826,[2053,1029,517,261,3]],[16827,[2053,1029,517,261,3]],[16828,[2097220,1048644,524356,262212,192]],[16829,[2097220,1048644,524356,262212,192]],[16830,[2162692,1114116,589828,327684,196608]],[16831,[2162692,1114116,589828,327684,196608]],[16832,[8448,4352,2304,1280,768,4]],[16833,[8448,4352,2304,1280,768,4]],[16834,[8260,4164,2116,1092,192]],[16835,[8260,4164,2116,1092,192]],[16836,[129,65,33,17,4,3]],[16837,[129,65,33,17,4,3]],[16838,[129,65,33,17,4,3]],[16839,[524308,262164,131092,65556,48]],[16840,[524308,262164,131092,65556,48]],[16841,[131328,65792,33024,16640,768,8]],[16842,[131328,65792,33024,16640,768,8]],[16843,[2113544,1064968,540680,278536,49152]],[16844,[2113544,1064968,540680,278536,49152]],[16845,[2097408,1048832,524544,262400,768,8]],[16846,[2097408,1048832,524544,262400,768,8]],[16847,[131144,65608,32840,16456,192]],[16848,[131144,65608,32840,16456,192]],[16849,[2057,1033,521,265,3]],[16850,[2057,1033,521,265,3]],[16851,[2097224,1048648,524360,262216,192]],[16852,[2097224,1048648,524360,262216,192]],[16853,[2162696,1114120,589832,327688,196608]],[16854,[2162696,1114120,589832,327688,196608]],[16855,[8448,4352,2304,1280,768,8]],[16856,[8448,4352,2304,1280,768,8]],[16857,[8264,4168,2120,1096,192]],[16858,[8264,4168,2120,1096,192]],[16859,[129,65,33,17,8,3]],[16860,[129,65,33,17,8,3]],[16861,[129,65,33,17,8,3]],[16862,[524312,262168,131096,65560,48]],[16863,[524312,262168,131096,65560,48]],[16864,[131328,65792,33024,16640,768,16]],[16865,[131328,65792,33024,16640,768,16]],[16866,[2113552,1064976,540688,278544,49152]],[16867,[2113552,1064976,540688,278544,49152]],[16868,[2097408,1048832,524544,262400,768,16]],[16869,[2097408,1048832,524544,262400,768,16]],[16870,[131152,65616,32848,16464,192]],[16871,[131152,65616,32848,16464,192]],[16872,[2065,1041,529,273,3]],[16873,[2065,1041,529,273,3]],[16874,[2097232,1048656,524368,262224,192]],[16875,[2097232,1048656,524368,262224,192]],[16876,[2162704,1114128,589840,327696,196608]],[16877,[2162704,1114128,589840,327696,196608]],[16878,[8448,4352,2304,1280,768,16]],[16879,[8448,4352,2304,1280,768,16]],[16880,[8272,4176,2128,1104,192]],[16881,[8272,4176,2128,1104,192]],[16882,[129,65,16,9,5,3]],[16883,[129,65,16,9,5,3]],[16884,[129,65,16,9,5,3]],[16885,[524308,262164,131092,65556,12]],[16886,[524308,262164,131092,65556,12]],[16887,[131328,65792,33024,16640,768,32]],[16888,[131328,65792,33024,16640,768,32]],[16889,[2113568,1064992,540704,278560,49152]],[16890,[2113568,1064992,540704,278560,49152]],[16891,[2097408,1048832,524544,262400,768,32]],[16892,[2097408,1048832,524544,262400,768,32]],[16893,[131168,65632,32864,16480,192]],[16894,[131168,65632,32864,16480,192]],[16895,[2081,1057,545,289,3]],[16896,[2081,1057,545,289,3]],[16897,[2097248,1048672,524384,262240,192]],[16898,[2097248,1048672,524384,262240,192]],[16899,[2162720,1114144,589856,327712,196608]],[16900,[2162720,1114144,589856,327712,196608]],[16901,[8448,4352,2304,1280,768,32]],[16902,[8448,4352,2304,1280,768,32]],[16903,[8288,4192,2144,1120,192]],[16904,[8288,4192,2144,1120,192]],[16905,[129,65,32,9,5,3]],[16906,[129,65,32,9,5,3]],[16907,[129,65,32,9,5,3]],[16908,[524324,262180,131108,65572,12]],[16909,[524324,262180,131108,65572,12]],[16910,[131328,65792,33024,16640,768,64]],[16911,[131328,65792,33024,16640,768,64]],[16912,[2113600,1065024,540736,278592,49152]],[16913,[2113600,1065024,540736,278592,49152]],[16914,[2097408,1048832,524544,262400,768,64]],[16915,[2097408,1048832,524544,262400,768,64]],[16916,[131152,65616,32848,16464,48]],[16917,[131152,65616,32848,16464,48]],[16918,[2113,1089,577,321,3]],[16919,[2113,1089,577,321,3]],[16920,[2097232,1048656,524368,262224,48]],[16921,[2097232,1048656,524368,262224,48]],[16922,[2162752,1114176,589888,327744,196608]],[16923,[2162752,1114176,589888,327744,196608]],[16924,[8448,4352,2304,1280,768,64]],[16925,[8448,4352,2304,1280,768,64]],[16926,[8272,4176,2128,1104,48]],[16927,[8272,4176,2128,1104,48]],[16928,[64,33,17,9,5,3]],[16929,[64,33,17,9,5,3]],[16930,[64,33,17,9,5,3]],[16931,[524356,262212,131140,65604,12]],[16932,[524356,262212,131140,65604,12]],[16933,[131328,65792,33024,16640,768,128]],[16934,[131328,65792,33024,16640,768,128]],[16935,[2113664,1065088,540800,278656,49152]],[16936,[2113664,1065088,540800,278656,49152]],[16937,[2097408,1048832,524544,262400,768,128]],[16938,[2097408,1048832,524544,262400,768,128]],[16939,[131216,65680,32912,16528,48]],[16940,[131216,65680,32912,16528,48]],[16941,[2177,1153,641,385,3]],[16942,[2177,1153,641,385,3]],[16943,[2097296,1048720,524432,262288,48]],[16944,[2097296,1048720,524432,262288,48]],[16945,[2162816,1114240,589952,327808,196608]],[16946,[2162816,1114240,589952,327808,196608]],[16947,[8448,4352,2304,1280,768,128]],[16948,[8448,4352,2304,1280,768,128]],[16949,[8336,4240,2192,1168,48]],[16950,[8336,4240,2192,1168,48]],[16951,[128,33,17,9,5,3]],[16952,[128,33,17,9,5,3]],[16953,[128,33,17,9,5,3]],[16954,[524420,262276,131204,65668,12]],[16955,[524420,262276,131204,65668,12]],[16956,[131136,65600,32832,16448,256,192]],[16957,[131136,65600,32832,16448,256,192]],[16958,[2113792,1065216,540928,278784,49152]],[16959,[2113792,1065216,540928,278784,49152]],[16960,[2097216,1048640,524352,262208,256,192]],[16961,[2097216,1048640,524352,262208,256,192]],[16962,[131344,65808,33040,16656,48]],[16963,[131344,65808,33040,16656,48]],[16964,[2112,1088,321,192,3]],[16965,[2112,1088,321,192,3]],[16966,[2097424,1048848,524560,262416,48]],[16967,[2097424,1048848,524560,262416,48]],[16968,[2162944,1114368,590080,327936,196608]],[16969,[2162944,1114368,590080,327936,196608]],[16970,[8256,4160,2112,1088,256,192]],[16971,[8256,4160,2112,1088,256,192]],[16972,[8464,4368,2320,1296,48]],[16973,[8464,4368,2320,1296,48]],[16974,[256,33,17,9,5,3]],[16975,[256,33,17,9,5,3]],[16976,[256,33,17,9,5,3]],[16977,[524548,262404,131332,65796,12]],[16978,[524548,262404,131332,65796,12]],[16979,[131136,65600,32832,16448,512,192]],[16980,[131136,65600,32832,16448,512,192]],[16981,[2114048,1065472,541184,279040,49152]],[16982,[2114048,1065472,541184,279040,49152]],[16983,[2097216,1048640,524352,262208,512,192]],[16984,[2097216,1048640,524352,262208,512,192]],[16985,[131600,66064,33296,16912,48]],[16986,[131600,66064,33296,16912,48]],[16987,[2112,1088,577,192,3]],[16988,[2112,1088,577,192,3]],[16989,[2097680,1049104,524816,262672,48]],[16990,[2097680,1049104,524816,262672,48]],[16991,[2163200,1114624,590336,328192,196608]],[16992,[2163200,1114624,590336,328192,196608]],[16993,[8256,4160,2112,1088,512,192]],[16994,[8256,4160,2112,1088,512,192]],[16995,[8720,4624,2576,1552,48]],[16996,[8720,4624,2576,1552,48]],[16997,[512,33,17,9,5,3]],[16998,[512,33,17,9,5,3]],[16999,[512,33,17,9,5,3]],[17000,[524804,262660,131588,66052,12]],[17001,[524804,262660,131588,66052,12]],[17002,[131136,65600,32832,16448,1024,192]],[17003,[131136,65600,32832,16448,1024,192]],[17004,[2114560,1065984,541696,279552,49152]],[17005,[2114560,1065984,541696,279552,49152]],[17006,[2097216,1048640,524352,262208,1024,192]],[17007,[2097216,1048640,524352,262208,1024,192]],[17008,[132112,66576,33808,17424,48]],[17009,[132112,66576,33808,17424,48]],[17010,[1089,576,320,192,3]],[17011,[1089,576,320,192,3]],[17012,[2098192,1049616,525328,263184,48]],[17013,[2098192,1049616,525328,263184,48]],[17014,[2163712,1115136,590848,328704,196608]],[17015,[2163712,1115136,590848,328704,196608]],[17016,[8256,4160,1024,576,320,192]],[17017,[8256,4160,1024,576,320,192]],[17018,[8448,4352,1296,768,48]],[17019,[8448,4352,1296,768,48]],[17020,[1024,33,17,9,5,3]],[17021,[1024,33,17,9,5,3]],[17022,[1024,33,17,9,5,3]],[17023,[525316,263172,132100,66564,12]],[17024,[525316,263172,132100,66564,12]],[17025,[131136,65600,32832,16448,2048,192]],[17026,[131136,65600,32832,16448,2048,192]],[17027,[2115584,1067008,542720,280576,49152]],[17028,[2115584,1067008,542720,280576,49152]],[17029,[2097216,1048640,524352,262208,2048,192]],[17030,[2097216,1048640,524352,262208,2048,192]],[17031,[133136,67600,34832,18448,48]],[17032,[133136,67600,34832,18448,48]],[17033,[2113,576,320,192,3]],[17034,[2113,576,320,192,3]],[17035,[2099216,1050640,526352,264208,48]],[17036,[2099216,1050640,526352,264208,48]],[17037,[2164736,1116160,591872,329728,196608]],[17038,[2164736,1116160,591872,329728,196608]],[17039,[8256,4160,2048,576,320,192]],[17040,[8256,4160,2048,576,320,192]],[17041,[8448,4352,2320,768,48]],[17042,[8448,4352,2320,768,48]],[17043,[2048,33,17,9,5,3]],[17044,[2048,33,17,9,5,3]],[17045,[2048,33,17,9,5,3]],[17046,[526340,264196,133124,67588,12]],[17047,[526340,264196,133124,67588,12]],[17048,[131136,65600,32832,16448,4096,192]],[17049,[131136,65600,32832,16448,4096,192]],[17050,[2117632,1069056,544768,282624,49152]],[17051,[2117632,1069056,544768,282624,49152]],[17052,[2097216,1048640,524352,262208,4096,192]],[17053,[2097216,1048640,524352,262208,4096,192]],[17054,[135184,69648,36880,20496,48]],[17055,[135184,69648,36880,20496,48]],[17056,[4161,576,320,192,3]],[17057,[4161,576,320,192,3]],[17058,[2101264,1052688,528400,266256,48]],[17059,[2101264,1052688,528400,266256,48]],[17060,[2166784,1118208,593920,331776,196608]],[17061,[2166784,1118208,593920,331776,196608]],[17062,[4096,2112,1088,576,320,192]],[17063,[4096,2112,1088,576,320,192]],[17064,[4368,2304,1280,768,48]],[17065,[4368,2304,1280,768,48]],[17066,[4096,33,17,9,5,3]],[17067,[4096,33,17,9,5,3]],[17068,[4096,33,17,9,5,3]],[17069,[528388,266244,135172,69636,12]],[17070,[528388,266244,135172,69636,12]],[17071,[131136,65600,32832,16448,8192,192]],[17072,[131136,65600,32832,16448,8192,192]],[17073,[2121728,1073152,548864,286720,49152]],[17074,[2121728,1073152,548864,286720,49152]],[17075,[2097216,1048640,524352,262208,8192,192]],[17076,[2097216,1048640,524352,262208,8192,192]],[17077,[139280,73744,40976,24592,48]],[17078,[139280,73744,40976,24592,48]],[17079,[8257,576,320,192,3]],[17080,[8257,576,320,192,3]],[17081,[2105360,1056784,532496,270352,48]],[17082,[2105360,1056784,532496,270352,48]],[17083,[2170880,1122304,598016,335872,196608]],[17084,[2170880,1122304,598016,335872,196608]],[17085,[8192,2112,1088,576,320,192]],[17086,[8192,2112,1088,576,320,192]],[17087,[8464,2304,1280,768,48]],[17088,[8464,2304,1280,768,48]],[17089,[8192,33,17,9,5,3]],[17090,[8192,33,17,9,5,3]],[17091,[8192,33,17,9,5,3]],[17092,[532484,270340,139268,73732,12]],[17093,[532484,270340,139268,73732,12]],[17094,[131136,65600,16384,8256,4160,192]],[17095,[131136,65600,16384,8256,4160,192]],[17096,[2117632,1069056,544768,282624,12288]],[17097,[2117632,1069056,544768,282624,12288]],[17098,[2097216,1048640,524352,262208,16384,192]],[17099,[2097216,1048640,524352,262208,16384,192]],[17100,[135168,69632,20496,12288,48]],[17101,[135168,69632,20496,12288,48]],[17102,[16449,576,320,192,3]],[17103,[16449,576,320,192,3]],[17104,[2113552,1064976,540688,278544,48]],[17105,[2113552,1064976,540688,278544,48]],[17106,[2179072,1130496,606208,344064,196608]],[17107,[2179072,1130496,606208,344064,196608]],[17108,[16384,2112,1088,576,320,192]],[17109,[16384,2112,1088,576,320,192]],[17110,[16656,2304,1280,768,48]],[17111,[16656,2304,1280,768,48]],[17112,[16384,33,17,9,5,3]],[17113,[16384,33,17,9,5,3]],[17114,[16384,33,17,9,5,3]],[17115,[540676,278532,147460,81924,12]],[17116,[540676,278532,147460,81924,12]],[17117,[131136,65600,32768,8256,4160,192]],[17118,[131136,65600,32768,8256,4160,192]],[17119,[2134016,1085440,561152,299008,12288]],[17120,[2134016,1085440,561152,299008,12288]],[17121,[2097216,1048640,524352,262208,32768,192]],[17122,[2097216,1048640,524352,262208,32768,192]],[17123,[135168,69632,36880,12288,48]],[17124,[135168,69632,36880,12288,48]],[17125,[32833,576,320,192,3]],[17126,[32833,576,320,192,3]],[17127,[2129936,1081360,557072,294928,48]],[17128,[2129936,1081360,557072,294928,48]],[17129,[2195456,1146880,622592,360448,196608]],[17130,[2195456,1146880,622592,360448,196608]],[17131,[32768,2112,1088,576,320,192]],[17132,[32768,2112,1088,576,320,192]],[17133,[33040,2304,1280,768,48]],[17134,[33040,2304,1280,768,48]],[17135,[32768,33,17,9,5,3]],[17136,[32768,33,17,9,5,3]],[17137,[32768,33,17,9,5,3]],[17138,[557060,294916,163844,98308,12]],[17139,[557060,294916,163844,98308,12]],[17140,[65536,32832,16448,8256,4160,192]],[17141,[65536,32832,16448,8256,4160,192]],[17142,[2166784,1118208,593920,331776,12288]],[17143,[2166784,1118208,593920,331776,12288]],[17144,[2097216,1048640,524352,262208,65536,192]],[17145,[2097216,1048640,524352,262208,65536,192]],[17146,[69648,36864,20480,12288,48]],[17147,[69648,36864,20480,12288,48]],[17148,[65601,576,320,192,3]],[17149,[65601,576,320,192,3]],[17150,[2162704,1114128,589840,327696,48]],[17151,[2162704,1114128,589840,327696,48]],[17152,[2179072,1130496,606208,344064,49152]],[17153,[2179072,1130496,606208,344064,49152]],[17154,[65536,2112,1088,576,320,192]],[17155,[65536,2112,1088,576,320,192]],[17156,[65808,2304,1280,768,48]],[17157,[65808,2304,1280,768,48]],[17158,[65536,33,17,9,5,3]],[17159,[65536,33,17,9,5,3]],[17160,[65536,33,17,9,5,3]],[17161,[540672,278528,81924,49152,12]],[17162,[540672,278528,81924,49152,12]],[17163,[131072,32832,16448,8256,4160,192]],[17164,[131072,32832,16448,8256,4160,192]],[17165,[2232320,1183744,659456,397312,12288]],[17166,[2232320,1183744,659456,397312,12288]],[17167,[2097216,1048640,524352,262208,131072,192]],[17168,[2097216,1048640,524352,262208,131072,192]],[17169,[135184,36864,20480,12288,48]],[17170,[135184,36864,20480,12288,48]],[17171,[131137,576,320,192,3]],[17172,[131137,576,320,192,3]],[17173,[2228240,1179664,655376,393232,48]],[17174,[2228240,1179664,655376,393232,48]],[17175,[2244608,1196032,671744,409600,49152]],[17176,[2244608,1196032,671744,409600,49152]],[17177,[131072,2112,1088,576,320,192]],[17178,[131072,2112,1088,576,320,192]],[17179,[131344,2304,1280,768,48]],[17180,[131344,2304,1280,768,48]],[17181,[131072,33,17,9,5,3]],[17182,[131072,33,17,9,5,3]],[17183,[131072,33,17,9,5,3]],[17184,[540672,278528,147460,49152,12]],[17185,[540672,278528,147460,49152,12]],[17186,[262144,32832,16448,8256,4160,192]],[17187,[262144,32832,16448,8256,4160,192]],[17188,[2162688,1114112,331776,196608,12288]],[17189,[2162688,1114112,331776,196608,12288]],[17190,[2097216,1048640,262144,131136,65600,192]],[17191,[2097216,1048640,262144,131136,65600,192]],[17192,[266256,36864,20480,12288,48]],[17193,[266256,36864,20480,12288,48]],[17194,[262209,576,320,192,3]],[17195,[262209,576,320,192,3]],[17196,[2162688,1114112,327696,196608,48]],[17197,[2162688,1114112,327696,196608,48]],[17198,[2162688,1114112,344064,196608,49152]],[17199,[2162688,1114112,344064,196608,49152]],[17200,[262144,2112,1088,576,320,192]],[17201,[262144,2112,1088,576,320,192]],[17202,[262416,2304,1280,768,48]],[17203,[262416,2304,1280,768,48]],[17204,[262144,33,17,9,5,3]],[17205,[262144,33,17,9,5,3]],[17206,[262144,33,17,9,5,3]],[17207,[278532,147456,81920,49152,12]],[17208,[278532,147456,81920,49152,12]],[17209,[524288,32832,16448,8256,4160,192]],[17210,[524288,32832,16448,8256,4160,192]],[17211,[2162688,1114112,593920,196608,12288]],[17212,[2162688,1114112,593920,196608,12288]],[17213,[2097216,1048640,524288,131136,65600,192]],[17214,[2097216,1048640,524288,131136,65600,192]],[17215,[528400,36864,20480,12288,48]],[17216,[528400,36864,20480,12288,48]],[17217,[524353,576,320,192,3]],[17218,[524353,576,320,192,3]],[17219,[2162688,1114112,589840,196608,48]],[17220,[2162688,1114112,589840,196608,48]],[17221,[2162688,1114112,606208,196608,49152]],[17222,[2162688,1114112,606208,196608,49152]],[17223,[524288,2112,1088,576,320,192]],[17224,[524288,2112,1088,576,320,192]],[17225,[524560,2304,1280,768,48]],[17226,[524560,2304,1280,768,48]],[17227,[524288,33,17,9,5,3]],[17228,[524288,33,17,9,5,3]],[17229,[524288,33,17,9,5,3]],[17230,[540676,147456,81920,49152,12]],[17231,[540676,147456,81920,49152,12]],[17232,[1048576,32832,16448,8256,4160,192]],[17233,[1048576,32832,16448,8256,4160,192]],[17234,[1118208,589824,327680,196608,12288]],[17235,[1118208,589824,327680,196608,12288]],[17236,[1048576,524352,262208,131136,65600,192]],[17237,[1048576,524352,262208,131136,65600,192]],[17238,[1052688,36864,20480,12288,48]],[17239,[1052688,36864,20480,12288,48]],[17240,[1048641,576,320,192,3]],[17241,[1048641,576,320,192,3]],[17242,[1114128,589824,327680,196608,48]],[17243,[1114128,589824,327680,196608,48]],[17244,[1130496,589824,327680,196608,49152]],[17245,[1130496,589824,327680,196608,49152]],[17246,[1048576,2112,1088,576,320,192]],[17247,[1048576,2112,1088,576,320,192]],[17248,[1048848,2304,1280,768,48]],[17249,[1048848,2304,1280,768,48]],[17250,[1048576,33,17,9,5,3]],[17251,[1048576,33,17,9,5,3]],[17252,[1048576,33,17,9,5,3]],[17253,[1064964,147456,81920,49152,12]],[17254,[1064964,147456,81920,49152,12]],[17255,[2097152,32832,16448,8256,4160,192]],[17256,[2097152,32832,16448,8256,4160,192]],[17257,[2166784,589824,327680,196608,12288]],[17258,[2166784,589824,327680,196608,12288]],[17259,[2097152,524352,262208,131136,65600,192]],[17260,[2097152,524352,262208,131136,65600,192]],[17261,[2101264,36864,20480,12288,48]],[17262,[2101264,36864,20480,12288,48]],[17263,[2097217,576,320,192,3]],[17264,[2097217,576,320,192,3]],[17265,[2162704,589824,327680,196608,48]],[17266,[2162704,589824,327680,196608,48]],[17267,[2179072,589824,327680,196608,49152]],[17268,[2179072,589824,327680,196608,49152]],[17269,[2097152,2112,1088,576,320,192]],[17270,[2097152,2112,1088,576,320,192]],[17271,[2097424,2304,1280,768,48]],[17272,[2097424,2304,1280,768,48]],[17273,[2097152,33,17,9,5,3]],[17274,[2097152,33,17,9,5,3]],[17275,[2097152,33,17,9,5,3]],[17276,[2113540,147456,81920,49152,12]],[17277,[2113540,147456,81920,49152,12]],[17278,[8197,4101,517,261,15]],[17279,[524293,262149,32773,16389,15]],[17280,[2097157,1048581,131077,65541,15]],[17281,[2097157,1048581,131077,65541,15]],[17282,[517,261,37,21,15]],[17283,[133,69,37,21,15]],[17284,[8198,4102,518,262,15]],[17285,[524294,262150,32774,16390,15]],[17286,[2097158,1048582,131078,65542,15]],[17287,[2097158,1048582,131078,65542,15]],[17288,[518,262,38,22,15]],[17289,[134,70,38,22,15]],[17290,[8209,4113,529,273,51]],[17291,[524305,262161,32785,16401,51]],[17292,[2097169,1048593,131089,65553,51]],[17293,[2097169,1048593,131089,65553,51]],[17294,[516,260,38,21,12]],[17295,[132,68,38,21,12]],[17296,[8210,4114,530,274,51]],[17297,[524306,262162,32786,16402,51]],[17298,[2097170,1048594,131090,65554,51]],[17299,[2097170,1048594,131090,65554,51]],[17300,[516,260,37,22,12]],[17301,[132,68,37,22,12]],[17302,[8257,4161,577,321,195]],[17303,[524353,262209,32833,16449,195]],[17304,[2097217,1048641,131137,65601,195]],[17305,[2097217,1048641,131137,65601,195]],[17306,[516,260,134,69,12]],[17307,[134,69,36,20,12]],[17308,[8258,4162,578,322,195]],[17309,[524354,262210,32834,16450,195]],[17310,[2097218,1048642,131138,65602,195]],[17311,[2097218,1048642,131138,65602,195]],[17312,[516,260,133,70,12]],[17313,[133,70,36,20,12]],[17314,[8256,4160,578,321,192]],[17315,[524545,262401,33025,16641,771]],[17316,[2097409,1048833,131329,65793,771]],[17317,[2097409,1048833,131329,65793,771]],[17318,[518,261,132,68,12]],[17319,[518,261,36,20,12]],[17320,[8256,4160,577,322,192]],[17321,[524546,262402,33026,16642,771]],[17322,[2097410,1048834,131330,65794,771]],[17323,[2097410,1048834,131330,65794,771]],[17324,[517,262,132,68,12]],[17325,[517,262,36,20,12]],[17326,[8256,4160,2114,1089,192]],[17327,[525313,263169,33793,17409,3075]],[17328,[2098177,1049601,132097,66561,3075]],[17329,[2098177,1049601,132097,66561,3075]],[17330,[2054,1029,132,68,12]],[17331,[2054,1029,36,20,12]],[17332,[8256,4160,2113,1090,192]],[17333,[525314,263170,33794,17410,3075]],[17334,[2098178,1049602,132098,66562,3075]],[17335,[2098178,1049602,132098,66562,3075]],[17336,[2053,1030,132,68,12]],[17337,[2053,1030,36,20,12]],[17338,[8258,4161,2112,1088,192]],[17339,[528385,266241,36865,20481,12291]],[17340,[2101249,1052673,135169,69633,12291]],[17341,[2101249,1052673,135169,69633,12291]],[17342,[8198,4101,132,68,12]],[17343,[8198,4101,36,20,12]],[17344,[8257,4162,2112,1088,192]],[17345,[528386,266242,36866,20482,12291]],[17346,[2101250,1052674,135170,69634,12291]],[17347,[2101250,1052674,135170,69634,12291]],[17348,[8197,4102,132,68,12]],[17349,[8197,4102,36,20,12]],[17350,[32834,16449,2112,1088,192]],[17351,[528384,266240,36866,20481,12288]],[17352,[2113537,1064961,147457,81921,49155]],[17353,[2113537,1064961,147457,81921,49155]],[17354,[32774,16389,132,68,12]],[17355,[32774,16389,36,20,12]],[17356,[32833,16450,2112,1088,192]],[17357,[528384,266240,36865,20482,12288]],[17358,[2113538,1064962,147458,81922,49155]],[17359,[2113538,1064962,147458,81922,49155]],[17360,[32773,16390,132,68,12]],[17361,[32773,16390,36,20,12]],[17362,[131138,65601,2112,1088,192]],[17363,[528384,266240,135170,69633,12288]],[17364,[2113536,1064960,147458,81921,49152]],[17365,[2113536,1064960,147458,81921,49152]],[17366,[131078,65541,132,68,12]],[17367,[131078,65541,36,20,12]],[17368,[131137,65602,2112,1088,192]],[17369,[528384,266240,135169,69634,12288]],[17370,[2113536,1064960,147457,81922,49152]],[17371,[2113536,1064960,147457,81922,49152]],[17372,[131077,65542,132,68,12]],[17373,[131077,65542,36,20,12]],[17374,[524354,262209,2112,1088,192]],[17375,[528386,266241,135168,69632,12288]],[17376,[2113536,1064960,540674,278529,49152]],[17377,[2113536,1064960,540674,278529,49152]],[17378,[524294,262149,132,68,12]],[17379,[524294,262149,36,20,12]],[17380,[524353,262210,2112,1088,192]],[17381,[528385,266242,135168,69632,12288]],[17382,[2113536,1064960,540673,278530,49152]],[17383,[2113536,1064960,540673,278530,49152]],[17384,[524293,262150,132,68,12]],[17385,[524293,262150,36,20,12]],[17386,[2097218,1048641,2112,1088,192]],[17387,[2101250,1052673,135168,69632,12288]],[17388,[2113538,1064961,540672,278528,49152]],[17389,[2113538,1064961,540672,278528,49152]],[17390,[2097158,1048581,132,68,12]],[17391,[2097158,1048581,36,20,12]],[17392,[2097217,1048642,2112,1088,192]],[17393,[2101249,1052674,135168,69632,12288]],[17394,[2113537,1064962,540672,278528,49152]],[17395,[2113537,1064962,540672,278528,49152]],[17396,[2097157,1048582,132,68,12]],[17397,[2097157,1048582,36,20,12]],[17398,[8212,4116,532,276,60]],[17399,[524308,262164,32788,16404,60]],[17400,[2097172,1048596,131092,65556,60]],[17401,[2097172,1048596,131092,65556,60]],[17402,[513,257,41,21,3]],[17403,[129,65,41,21,3]],[17404,[8216,4120,536,280,60]],[17405,[524312,262168,32792,16408,60]],[17406,[2097176,1048600,131096,65560,60]],[17407,[2097176,1048600,131096,65560,60]],[17408,[513,257,37,25,3]],[17409,[129,65,37,25,3]],[17410,[8260,4164,580,324,204]],[17411,[524356,262212,32836,16452,204]],[17412,[2097220,1048644,131140,65604,204]],[17413,[2097220,1048644,131140,65604,204]],[17414,[513,257,137,69,3]],[17415,[137,69,33,17,3]],[17416,[8264,4168,584,328,204]],[17417,[524360,262216,32840,16456,204]],[17418,[2097224,1048648,131144,65608,204]],[17419,[2097224,1048648,131144,65608,204]],[17420,[513,257,133,73,3]],[17421,[133,73,33,17,3]],[17422,[8256,4160,584,324,192]],[17423,[524548,262404,33028,16644,780]],[17424,[2097412,1048836,131332,65796,780]],[17425,[2097412,1048836,131332,65796,780]],[17426,[521,261,129,65,3]],[17427,[521,261,33,17,3]],[17428,[8256,4160,580,328,192]],[17429,[524552,262408,33032,16648,780]],[17430,[2097416,1048840,131336,65800,780]],[17431,[2097416,1048840,131336,65800,780]],[17432,[517,265,129,65,3]],[17433,[517,265,33,17,3]],[17434,[8256,4160,2120,1092,192]],[17435,[525316,263172,33796,17412,3084]],[17436,[2098180,1049604,132100,66564,3084]],[17437,[2098180,1049604,132100,66564,3084]],[17438,[2057,1029,129,65,3]],[17439,[2057,1029,33,17,3]],[17440,[8256,4160,2116,1096,192]],[17441,[525320,263176,33800,17416,3084]],[17442,[2098184,1049608,132104,66568,3084]],[17443,[2098184,1049608,132104,66568,3084]],[17444,[2053,1033,129,65,3]],[17445,[2053,1033,33,17,3]],[17446,[8264,4164,2112,1088,192]],[17447,[528388,266244,36868,20484,12300]],[17448,[2101252,1052676,135172,69636,12300]],[17449,[2101252,1052676,135172,69636,12300]],[17450,[8201,4101,129,65,3]],[17451,[8201,4101,33,17,3]],[17452,[8260,4168,2112,1088,192]],[17453,[528392,266248,36872,20488,12300]],[17454,[2101256,1052680,135176,69640,12300]],[17455,[2101256,1052680,135176,69640,12300]],[17456,[8197,4105,129,65,3]],[17457,[8197,4105,33,17,3]],[17458,[32840,16452,2112,1088,192]],[17459,[528384,266240,36872,20484,12288]],[17460,[2113540,1064964,147460,81924,49164]],[17461,[2113540,1064964,147460,81924,49164]],[17462,[32777,16389,129,65,3]],[17463,[32777,16389,33,17,3]],[17464,[32836,16456,2112,1088,192]],[17465,[528384,266240,36868,20488,12288]],[17466,[2113544,1064968,147464,81928,49164]],[17467,[2113544,1064968,147464,81928,49164]],[17468,[32773,16393,129,65,3]],[17469,[32773,16393,33,17,3]],[17470,[131144,65604,2112,1088,192]],[17471,[528384,266240,135176,69636,12288]],[17472,[2113536,1064960,147464,81924,49152]],[17473,[2113536,1064960,147464,81924,49152]],[17474,[131081,65541,129,65,3]],[17475,[131081,65541,33,17,3]],[17476,[131140,65608,2112,1088,192]],[17477,[528384,266240,135172,69640,12288]],[17478,[2113536,1064960,147460,81928,49152]],[17479,[2113536,1064960,147460,81928,49152]],[17480,[131077,65545,129,65,3]],[17481,[131077,65545,33,17,3]],[17482,[524360,262212,2112,1088,192]],[17483,[528392,266244,135168,69632,12288]],[17484,[2113536,1064960,540680,278532,49152]],[17485,[2113536,1064960,540680,278532,49152]],[17486,[524297,262149,129,65,3]],[17487,[524297,262149,33,17,3]],[17488,[524356,262216,2112,1088,192]],[17489,[528388,266248,135168,69632,12288]],[17490,[2113536,1064960,540676,278536,49152]],[17491,[2113536,1064960,540676,278536,49152]],[17492,[524293,262153,129,65,3]],[17493,[524293,262153,33,17,3]],[17494,[2097224,1048644,2112,1088,192]],[17495,[2101256,1052676,135168,69632,12288]],[17496,[2113544,1064964,540672,278528,49152]],[17497,[2113544,1064964,540672,278528,49152]],[17498,[2097161,1048581,129,65,3]],[17499,[2097161,1048581,33,17,3]],[17500,[2097220,1048648,2112,1088,192]],[17501,[2101252,1052680,135168,69632,12288]],[17502,[2113540,1064968,540672,278528,49152]],[17503,[2113540,1064968,540672,278528,49152]],[17504,[2097157,1048585,129,65,3]],[17505,[2097157,1048585,33,17,3]],[17506,[8272,4176,592,336,240]],[17507,[524368,262224,32848,16464,240]],[17508,[2097232,1048656,131152,65616,240]],[17509,[2097232,1048656,131152,65616,240]],[17510,[513,257,161,81,3]],[17511,[161,81,9,5,3]],[17512,[8288,4192,608,352,240]],[17513,[524384,262240,32864,16480,240]],[17514,[2097248,1048672,131168,65632,240]],[17515,[2097248,1048672,131168,65632,240]],[17516,[513,257,145,97,3]],[17517,[145,97,9,5,3]],[17518,[8256,4160,608,336,192]],[17519,[524560,262416,33040,16656,816]],[17520,[2097424,1048848,131344,65808,816]],[17521,[2097424,1048848,131344,65808,816]],[17522,[545,273,129,65,3]],[17523,[545,273,9,5,3]],[17524,[8256,4160,592,352,192]],[17525,[524576,262432,33056,16672,816]],[17526,[2097440,1048864,131360,65824,816]],[17527,[2097440,1048864,131360,65824,816]],[17528,[529,289,129,65,3]],[17529,[529,289,9,5,3]],[17530,[8256,4160,2144,1104,192]],[17531,[525328,263184,33808,17424,3120]],[17532,[2098192,1049616,132112,66576,3120]],[17533,[2098192,1049616,132112,66576,3120]],[17534,[2081,1041,129,65,3]],[17535,[2081,1041,9,5,3]],[17536,[8256,4160,2128,1120,192]],[17537,[525344,263200,33824,17440,3120]],[17538,[2098208,1049632,132128,66592,3120]],[17539,[2098208,1049632,132128,66592,3120]],[17540,[2065,1057,129,65,3]],[17541,[2065,1057,9,5,3]],[17542,[8288,4176,2112,1088,192]],[17543,[528400,266256,36880,20496,12336]],[17544,[2101264,1052688,135184,69648,12336]],[17545,[2101264,1052688,135184,69648,12336]],[17546,[8225,4113,129,65,3]],[17547,[8225,4113,9,5,3]],[17548,[8272,4192,2112,1088,192]],[17549,[528416,266272,36896,20512,12336]],[17550,[2101280,1052704,135200,69664,12336]],[17551,[2101280,1052704,135200,69664,12336]],[17552,[8209,4129,129,65,3]],[17553,[8209,4129,9,5,3]],[17554,[32864,16464,2112,1088,192]],[17555,[528384,266240,36896,20496,12288]],[17556,[2113552,1064976,147472,81936,49200]],[17557,[2113552,1064976,147472,81936,49200]],[17558,[32801,16401,129,65,3]],[17559,[32801,16401,9,5,3]],[17560,[32848,16480,2112,1088,192]],[17561,[528384,266240,36880,20512,12288]],[17562,[2113568,1064992,147488,81952,49200]],[17563,[2113568,1064992,147488,81952,49200]],[17564,[32785,16417,129,65,3]],[17565,[32785,16417,9,5,3]],[17566,[131168,65616,2112,1088,192]],[17567,[528384,266240,135200,69648,12288]],[17568,[2113536,1064960,147488,81936,49152]],[17569,[2113536,1064960,147488,81936,49152]],[17570,[131105,65553,129,65,3]],[17571,[131105,65553,9,5,3]],[17572,[131152,65632,2112,1088,192]],[17573,[528384,266240,135184,69664,12288]],[17574,[2113536,1064960,147472,81952,49152]],[17575,[2113536,1064960,147472,81952,49152]],[17576,[131089,65569,129,65,3]],[17577,[131089,65569,9,5,3]],[17578,[524384,262224,2112,1088,192]],[17579,[528416,266256,135168,69632,12288]],[17580,[2113536,1064960,540704,278544,49152]],[17581,[2113536,1064960,540704,278544,49152]],[17582,[524321,262161,129,65,3]],[17583,[524321,262161,9,5,3]],[17584,[524368,262240,2112,1088,192]],[17585,[528400,266272,135168,69632,12288]],[17586,[2113536,1064960,540688,278560,49152]],[17587,[2113536,1064960,540688,278560,49152]],[17588,[524305,262177,129,65,3]],[17589,[524305,262177,9,5,3]],[17590,[2097248,1048656,2112,1088,192]],[17591,[2101280,1052688,135168,69632,12288]],[17592,[2113568,1064976,540672,278528,49152]],[17593,[2113568,1064976,540672,278528,49152]],[17594,[2097185,1048593,129,65,3]],[17595,[2097185,1048593,9,5,3]],[17596,[2097232,1048672,2112,1088,192]],[17597,[2101264,1052704,135168,69632,12288]],[17598,[2113552,1064992,540672,278528,49152]],[17599,[2113552,1064992,540672,278528,49152]],[17600,[2097169,1048609,129,65,3]],[17601,[2097169,1048609,9,5,3]],[17602,[8208,4112,656,336,48]],[17603,[524608,262464,33088,16704,960]],[17604,[2097472,1048896,131392,65856,960]],[17605,[2097472,1048896,131392,65856,960]],[17606,[641,321,33,17,3]],[17607,[641,321,9,5,3]],[17608,[8208,4112,592,400,48]],[17609,[524672,262528,33152,16768,960]],[17610,[2097536,1048960,131456,65920,960]],[17611,[2097536,1048960,131456,65920,960]],[17612,[577,385,33,17,3]],[17613,[577,385,9,5,3]],[17614,[8208,4112,2192,1104,48]],[17615,[525376,263232,33856,17472,3264]],[17616,[2098240,1049664,132160,66624,3264]],[17617,[2098240,1049664,132160,66624,3264]],[17618,[2177,1089,33,17,3]],[17619,[2177,1089,9,5,3]],[17620,[8208,4112,2128,1168,48]],[17621,[525440,263296,33920,17536,3264]],[17622,[2098304,1049728,132224,66688,3264]],[17623,[2098304,1049728,132224,66688,3264]],[17624,[2113,1153,33,17,3]],[17625,[2113,1153,9,5,3]],[17626,[8336,4176,2064,1040,48]],[17627,[528448,266304,36928,20544,12480]],[17628,[2101312,1052736,135232,69696,12480]],[17629,[2101312,1052736,135232,69696,12480]],[17630,[8321,4161,33,17,3]],[17631,[8321,4161,9,5,3]],[17632,[8272,4240,2064,1040,48]],[17633,[528512,266368,36992,20608,12480]],[17634,[2101376,1052800,135296,69760,12480]],[17635,[2101376,1052800,135296,69760,12480]],[17636,[8257,4225,33,17,3]],[17637,[8257,4225,9,5,3]],[17638,[32912,16464,2064,1040,48]],[17639,[528384,266240,36992,20544,12288]],[17640,[2113600,1065024,147520,81984,49344]],[17641,[2113600,1065024,147520,81984,49344]],[17642,[32897,16449,33,17,3]],[17643,[32897,16449,9,5,3]],[17644,[32848,16528,2064,1040,48]],[17645,[528384,266240,36928,20608,12288]],[17646,[2113664,1065088,147584,82048,49344]],[17647,[2113664,1065088,147584,82048,49344]],[17648,[32833,16513,33,17,3]],[17649,[32833,16513,9,5,3]],[17650,[131216,65616,2064,1040,48]],[17651,[528384,266240,135296,69696,12288]],[17652,[2113536,1064960,147584,81984,49152]],[17653,[2113536,1064960,147584,81984,49152]],[17654,[131201,65601,33,17,3]],[17655,[131201,65601,9,5,3]],[17656,[131152,65680,2064,1040,48]],[17657,[528384,266240,135232,69760,12288]],[17658,[2113536,1064960,147520,82048,49152]],[17659,[2113536,1064960,147520,82048,49152]],[17660,[131137,65665,33,17,3]],[17661,[131137,65665,9,5,3]],[17662,[524432,262224,2064,1040,48]],[17663,[528512,266304,135168,69632,12288]],[17664,[2113536,1064960,540800,278592,49152]],[17665,[2113536,1064960,540800,278592,49152]],[17666,[524417,262209,33,17,3]],[17667,[524417,262209,9,5,3]],[17668,[524368,262288,2064,1040,48]],[17669,[528448,266368,135168,69632,12288]],[17670,[2113536,1064960,540736,278656,49152]],[17671,[2113536,1064960,540736,278656,49152]],[17672,[524353,262273,33,17,3]],[17673,[524353,262273,9,5,3]],[17674,[2097296,1048656,2064,1040,48]],[17675,[2101376,1052736,135168,69632,12288]],[17676,[2113664,1065024,540672,278528,49152]],[17677,[2113664,1065024,540672,278528,49152]],[17678,[2097281,1048641,33,17,3]],[17679,[2097281,1048641,9,5,3]],[17680,[2097232,1048720,2064,1040,48]],[17681,[2101312,1052800,135168,69632,12288]],[17682,[2113600,1065088,540672,278528,49152]],[17683,[2113600,1065088,540672,278528,49152]],[17684,[2097217,1048705,33,17,3]],[17685,[2097217,1048705,9,5,3]],[17686,[8208,4112,2576,1296,48]],[17687,[525568,263424,34048,17664,3840]],[17688,[2098432,1049856,132352,66816,3840]],[17689,[2098432,1049856,132352,66816,3840]],[17690,[2561,1281,33,17,3]],[17691,[2561,1281,9,5,3]],[17692,[8208,4112,2320,1552,48]],[17693,[525824,263680,34304,17920,3840]],[17694,[2098688,1050112,132608,67072,3840]],[17695,[2098688,1050112,132608,67072,3840]],[17696,[2305,1537,33,17,3]],[17697,[2305,1537,9,5,3]],[17698,[8720,4368,2064,1040,48]],[17699,[528640,266496,37120,20736,13056]],[17700,[2101504,1052928,135424,69888,13056]],[17701,[2101504,1052928,135424,69888,13056]],[17702,[8705,4353,33,17,3]],[17703,[8705,4353,9,5,3]],[17704,[8464,4624,2064,1040,48]],[17705,[528896,266752,37376,20992,13056]],[17706,[2101760,1053184,135680,70144,13056]],[17707,[2101760,1053184,135680,70144,13056]],[17708,[8449,4609,33,17,3]],[17709,[8449,4609,9,5,3]],[17710,[33296,16656,2064,1040,48]],[17711,[528384,266240,37376,20736,12288]],[17712,[2113792,1065216,147712,82176,49920]],[17713,[2113792,1065216,147712,82176,49920]],[17714,[33281,16641,33,17,3]],[17715,[33281,16641,9,5,3]],[17716,[33040,16912,2064,1040,48]],[17717,[528384,266240,37120,20992,12288]],[17718,[2114048,1065472,147968,82432,49920]],[17719,[2114048,1065472,147968,82432,49920]],[17720,[33025,16897,33,17,3]],[17721,[33025,16897,9,5,3]],[17722,[131600,65808,2064,1040,48]],[17723,[528384,266240,135680,69888,12288]],[17724,[2113536,1064960,147968,82176,49152]],[17725,[2113536,1064960,147968,82176,49152]],[17726,[131585,65793,33,17,3]],[17727,[131585,65793,9,5,3]],[17728,[131344,66064,2064,1040,48]],[17729,[528384,266240,135424,70144,12288]],[17730,[2113536,1064960,147712,82432,49152]],[17731,[2113536,1064960,147712,82432,49152]],[17732,[131329,66049,33,17,3]],[17733,[131329,66049,9,5,3]],[17734,[524816,262416,2064,1040,48]],[17735,[528896,266496,135168,69632,12288]],[17736,[2113536,1064960,541184,278784,49152]],[17737,[2113536,1064960,541184,278784,49152]],[17738,[524801,262401,33,17,3]],[17739,[524801,262401,9,5,3]],[17740,[524560,262672,2064,1040,48]],[17741,[528640,266752,135168,69632,12288]],[17742,[2113536,1064960,540928,279040,49152]],[17743,[2113536,1064960,540928,279040,49152]],[17744,[524545,262657,33,17,3]],[17745,[524545,262657,9,5,3]],[17746,[2097680,1048848,2064,1040,48]],[17747,[2101760,1052928,135168,69632,12288]],[17748,[2114048,1065216,540672,278528,49152]],[17749,[2114048,1065216,540672,278528,49152]],[17750,[2097665,1048833,33,17,3]],[17751,[2097665,1048833,9,5,3]],[17752,[2097424,1049104,2064,1040,48]],[17753,[2101504,1053184,135168,69632,12288]],[17754,[2113792,1065472,540672,278528,49152]],[17755,[2113792,1065472,540672,278528,49152]],[17756,[2097409,1049089,33,17,3]],[17757,[2097409,1049089,9,5,3]],[17758,[10256,5136,528,272,48]],[17759,[529408,267264,37888,21504,15360]],[17760,[2102272,1053696,136192,70656,15360]],[17761,[2102272,1053696,136192,70656,15360]],[17762,[10241,5121,33,17,3]],[17763,[10241,5121,9,5,3]],[17764,[9232,6160,528,272,48]],[17765,[530432,268288,38912,22528,15360]],[17766,[2103296,1054720,137216,71680,15360]],[17767,[2103296,1054720,137216,71680,15360]],[17768,[9217,6145,33,17,3]],[17769,[9217,6145,9,5,3]],[17770,[34832,17424,528,272,48]],[17771,[528384,266240,38912,21504,12288]],[17772,[2114560,1065984,148480,82944,52224]],[17773,[2114560,1065984,148480,82944,52224]],[17774,[34817,17409,33,17,3]],[17775,[34817,17409,9,5,3]],[17776,[33808,18448,528,272,48]],[17777,[528384,266240,37888,22528,12288]],[17778,[2115584,1067008,149504,83968,52224]],[17779,[2115584,1067008,149504,83968,52224]],[17780,[33793,18433,33,17,3]],[17781,[33793,18433,9,5,3]],[17782,[133136,66576,528,272,48]],[17783,[528384,266240,137216,70656,12288]],[17784,[2113536,1064960,149504,82944,49152]],[17785,[2113536,1064960,149504,82944,49152]],[17786,[133121,66561,33,17,3]],[17787,[133121,66561,9,5,3]],[17788,[132112,67600,528,272,48]],[17789,[528384,266240,136192,71680,12288]],[17790,[2113536,1064960,148480,83968,49152]],[17791,[2113536,1064960,148480,83968,49152]],[17792,[132097,67585,33,17,3]],[17793,[132097,67585,9,5,3]],[17794,[526352,263184,528,272,48]],[17795,[530432,267264,135168,69632,12288]],[17796,[2113536,1064960,542720,279552,49152]],[17797,[2113536,1064960,542720,279552,49152]],[17798,[526337,263169,33,17,3]],[17799,[526337,263169,9,5,3]],[17800,[525328,264208,528,272,48]],[17801,[529408,268288,135168,69632,12288]],[17802,[2113536,1064960,541696,280576,49152]],[17803,[2113536,1064960,541696,280576,49152]],[17804,[525313,264193,33,17,3]],[17805,[525313,264193,9,5,3]],[17806,[2099216,1049616,528,272,48]],[17807,[2103296,1053696,135168,69632,12288]],[17808,[2115584,1065984,540672,278528,49152]],[17809,[2115584,1065984,540672,278528,49152]],[17810,[2099201,1049601,33,17,3]],[17811,[2099201,1049601,9,5,3]],[17812,[2098192,1050640,528,272,48]],[17813,[2102272,1054720,135168,69632,12288]],[17814,[2114560,1067008,540672,278528,49152]],[17815,[2114560,1067008,540672,278528,49152]],[17816,[2098177,1050625,33,17,3]],[17817,[2098177,1050625,9,5,3]],[17818,[40976,20496,528,272,48]],[17819,[525312,263168,41984,21504,3072]],[17820,[2117632,1069056,151552,86016,61440]],[17821,[2117632,1069056,151552,86016,61440]],[17822,[40961,20481,33,17,3]],[17823,[40961,20481,9,5,3]],[17824,[36880,24592,528,272,48]],[17825,[525312,263168,37888,25600,3072]],[17826,[2121728,1073152,155648,90112,61440]],[17827,[2121728,1073152,155648,90112,61440]],[17828,[36865,24577,33,17,3]],[17829,[36865,24577,9,5,3]],[17830,[139280,69648,528,272,48]],[17831,[525312,263168,140288,70656,3072]],[17832,[2113536,1064960,155648,86016,49152]],[17833,[2113536,1064960,155648,86016,49152]],[17834,[139265,69633,33,17,3]],[17835,[139265,69633,9,5,3]],[17836,[135184,73744,528,272,48]],[17837,[525312,263168,136192,74752,3072]],[17838,[2113536,1064960,151552,90112,49152]],[17839,[2113536,1064960,151552,90112,49152]],[17840,[135169,73729,33,17,3]],[17841,[135169,73729,9,5,3]],[17842,[532496,266256,528,272,48]],[17843,[533504,267264,132096,66560,3072]],[17844,[2113536,1064960,548864,282624,49152]],[17845,[2113536,1064960,548864,282624,49152]],[17846,[532481,266241,33,17,3]],[17847,[532481,266241,9,5,3]],[17848,[528400,270352,528,272,48]],[17849,[529408,271360,132096,66560,3072]],[17850,[2113536,1064960,544768,286720,49152]],[17851,[2113536,1064960,544768,286720,49152]],[17852,[528385,270337,33,17,3]],[17853,[528385,270337,9,5,3]],[17854,[2105360,1052688,528,272,48]],[17855,[2106368,1053696,132096,66560,3072]],[17856,[2121728,1069056,540672,278528,49152]],[17857,[2121728,1069056,540672,278528,49152]],[17858,[2105345,1052673,33,17,3]],[17859,[2105345,1052673,9,5,3]],[17860,[2101264,1056784,528,272,48]],[17861,[2102272,1057792,132096,66560,3072]],[17862,[2117632,1073152,540672,278528,49152]],[17863,[2117632,1073152,540672,278528,49152]],[17864,[2101249,1056769,33,17,3]],[17865,[2101249,1056769,9,5,3]],[17866,[163856,81936,528,272,48]],[17867,[525312,263168,164864,82944,3072]],[17868,[2101248,1052672,167936,86016,12288]],[17869,[2101248,1052672,167936,86016,12288]],[17870,[163841,81921,33,17,3]],[17871,[163841,81921,9,5,3]],[17872,[147472,98320,528,272,48]],[17873,[525312,263168,148480,99328,3072]],[17874,[2101248,1052672,151552,102400,12288]],[17875,[2101248,1052672,151552,102400,12288]],[17876,[147457,98305,33,17,3]],[17877,[147457,98305,9,5,3]],[17878,[557072,278544,528,272,48]],[17879,[558080,279552,132096,66560,3072]],[17880,[2101248,1052672,561152,282624,12288]],[17881,[2101248,1052672,561152,282624,12288]],[17882,[557057,278529,33,17,3]],[17883,[557057,278529,9,5,3]],[17884,[540688,294928,528,272,48]],[17885,[541696,295936,132096,66560,3072]],[17886,[2101248,1052672,544768,299008,12288]],[17887,[2101248,1052672,544768,299008,12288]],[17888,[540673,294913,33,17,3]],[17889,[540673,294913,9,5,3]],[17890,[2129936,1064976,528,272,48]],[17891,[2130944,1065984,132096,66560,3072]],[17892,[2134016,1069056,528384,266240,12288]],[17893,[2134016,1069056,528384,266240,12288]],[17894,[2129921,1064961,33,17,3]],[17895,[2129921,1064961,9,5,3]],[17896,[2113552,1081360,528,272,48]],[17897,[2114560,1082368,132096,66560,3072]],[17898,[2117632,1085440,528384,266240,12288]],[17899,[2117632,1085440,528384,266240,12288]],[17900,[2113537,1081345,33,17,3]],[17901,[2113537,1081345,9,5,3]],[17902,[655376,327696,528,272,48]],[17903,[656384,328704,33792,17408,3072]],[17904,[2101248,1052672,659456,331776,12288]],[17905,[2101248,1052672,659456,331776,12288]],[17906,[655361,327681,33,17,3]],[17907,[655361,327681,9,5,3]],[17908,[589840,393232,528,272,48]],[17909,[590848,394240,33792,17408,3072]],[17910,[2101248,1052672,593920,397312,12288]],[17911,[2101248,1052672,593920,397312,12288]],[17912,[589825,393217,33,17,3]],[17913,[589825,393217,9,5,3]],[17914,[2228240,1114128,528,272,48]],[17915,[2229248,1115136,33792,17408,3072]],[17916,[2232320,1118208,528384,266240,12288]],[17917,[2232320,1118208,528384,266240,12288]],[17918,[2228225,1114113,33,17,3]],[17919,[2228225,1114113,9,5,3]],[17920,[2162704,1179664,528,272,48]],[17921,[2163712,1180672,33792,17408,3072]],[17922,[2166784,1183744,528384,266240,12288]],[17923,[2166784,1183744,528384,266240,12288]],[17924,[2162689,1179649,33,17,3]],[17925,[2162689,1179649,9,5,3]],[17926,[2621456,1310736,528,272,48]],[17927,[2622464,1311744,33792,17408,3072]],[17928,[2625536,1314816,135168,69632,12288]],[17929,[2625536,1314816,135168,69632,12288]],[17930,[2621441,1310721,33,17,3]],[17931,[2621441,1310721,9,5,3]],[17932,[2359312,1572880,528,272,48]],[17933,[2360320,1573888,33792,17408,3072]],[17934,[2363392,1576960,135168,69632,12288]],[17935,[2363392,1576960,135168,69632,12288]],[17936,[2359297,1572865,33,17,3]],[17937,[2359297,1572865,9,5,3]],[17938,[33792,17408,9216,5120,3072,1]],[17939,[525312,263168,132096,66560,3072,1]],[17940,[33792,17408,9216,5120,3072,2]],[17941,[525312,263168,132096,66560,3072,2]],[17942,[33792,17408,9216,5120,3072,4]],[17943,[525312,263168,132096,66560,3072,4]],[17944,[33792,17408,9216,5120,3072,8]],[17945,[525312,263168,132096,66560,3072,8]],[17946,[33792,17408,9216,5120,3072,16]],[17947,[525312,263168,132096,66560,3072,16]],[17948,[33792,17408,9216,5120,3072,32]],[17949,[525312,263168,132096,66560,3072,32]],[17950,[33792,17408,9216,5120,3072,64]],[17951,[525312,263168,132096,66560,3072,64]],[17952,[33792,17408,9216,5120,3072,128]],[17953,[525312,263168,132096,66560,3072,128]],[17954,[33792,17408,9216,5120,3072,256]],[17955,[525312,263168,132096,66560,3072,256]],[17956,[33792,17408,9216,5120,3072,512]],[17957,[525312,263168,132096,66560,3072,512]],[17958,[33024,16640,8448,4352,1024,768]],[17959,[524544,262400,131328,65792,1024,768]],[17960,[33024,16640,8448,4352,2048,768]],[17961,[524544,262400,131328,65792,2048,768]],[17962,[33024,16640,4096,2304,1280,768]],[17963,[524544,262400,131328,65792,4096,768]],[17964,[33024,16640,8192,2304,1280,768]],[17965,[524544,262400,131328,65792,8192,768]],[17966,[16384,8448,4352,2304,1280,768]],[17967,[524544,262400,131328,65792,16384,768]],[17968,[32768,8448,4352,2304,1280,768]],[17969,[524544,262400,131328,65792,32768,768]],[17970,[65536,8448,4352,2304,1280,768]],[17971,[524544,262400,65536,33024,16640,768]],[17972,[131072,8448,4352,2304,1280,768]],[17973,[524544,262400,131072,33024,16640,768]],[17974,[262144,8448,4352,2304,1280,768]],[17975,[262144,131328,65792,33024,16640,768]],[17976,[524288,8448,4352,2304,1280,768]],[17977,[524288,131328,65792,33024,16640,768]],[17978,[1048576,8448,4352,2304,1280,768]],[17979,[1048576,131328,65792,33024,16640,768]],[17980,[2097152,8448,4352,2304,1280,768]],[17981,[2097152,131328,65792,33024,16640,768]],[17985,[2097216,1048640,540736,278592,49152,192]],[17994,[2097152,1048576,131073,65537,8193,4097,3]],[17995,[32785,16401,144,80,48,3]],[17998,[8464,4368,2304,1280,768,48]],[17999,[8464,4368,2304,1280,768,48]],[18000,[8464,4368,2304,1280,768,48]],[18034,[2097156,1048580,32773,16389,12,3]],[18035,[524544,262400,37120,20736,12288,768]],[18044,[524304,262160,512,256,144,80,48]],[18046,[524352,262208,2128,1104,192,48]],[18047,[524352,262208,2128,1104,192,48]],[18056,[32769,16385,8193,4097,512,256,3]],[18058,[131392,65856,33088,16704,768,192]],[18059,[131392,65856,33088,16704,768,192]],[18093,[2097168,1048592,589840,327696,196608,48]],[18094,[2097168,1048592,589840,327696,196608,48]],[18095,[2097168,1048592,589840,327696,196608,48]],[18099,[524289,262145,8192,4096,513,257,3]],[18100,[524289,262145,8192,4096,513,257,3]],[18114,[524292,262148,512,256,132,68,12]],[18115,[524292,262148,512,256,132,68,12]],[18116,[2102272,1053696,525312,263168,12288,3072]],[18117,[131076,65540,132,68,32,16,12]],[18123,[524305,262161,8193,4097,48,3]],[18124,[524305,262161,8193,4097,48,3]],[18137,[8193,4097,577,321,192,3]],[18156,[2097152,1048576,32769,16385,8193,4097,3]],[18174,[2375680,1327104,786432,147456,81920,49152]],[18175,[2375680,1327104,786432,147456,81920,49152]],[18179,[2097409,1048833,2304,1280,768,3]],[18180,[2097409,1048833,2304,1280,768,3]],[18181,[2097409,1048833,2304,1280,768,3]],[18182,[2097409,1048833,2304,1280,768,3]],[18193,[2097157,1048581,132,68,12,3]],[18194,[2097157,1048581,132,68,12,3]],[18195,[2097157,1048581,132,68,12,3]],[18196,[2359297,1310721,786432,8193,4097,3]],[18197,[2359297,1310721,786432,8193,4097,3]],[18205,[131073,65537,32769,16385,32,16,3]],[18206,[131073,65537,32769,16385,32,16,3]],[18210,[524304,262160,512,256,144,80,48]],[18224,[2097216,1048640,32832,16448,2048,1024,192]],[18241,[2097216,1048640,32832,16448,2048,1024,192]],[18242,[2097152,1048576,131073,65537,8193,4097,3]],[18265,[540688,278544,147456,81920,49152,48]],[18266,[540688,278544,147456,81920,49152,48]],[18281,[2065,1041,529,273,48,3]],[18282,[2065,1041,529,273,48,3]],[18283,[135424,69888,37120,20736,12288,768]],[18289,[8193,4097,529,273,48,3]],[18290,[8193,4097,529,273,48,3]],[18291,[36880,20496,12288,144,80,48]],[18297,[2162692,1114116,196608,132,68,12]],[18298,[2162692,1114116,196608,132,68,12]],[18301,[136192,70656,37888,21504,12288,3072]],[18307,[2097216,1048640,132160,66624,3072,192]],[18308,[528448,266304,36928,20544,12288,192]],[18309,[135184,69648,36880,20496,12288,48]],[18310,[135184,69648,36880,20496,12288,48]],[18317,[2097152,1048576,131073,65537,32769,16385,3]],[18322,[2097152,1048576,131073,65537,32769,16385,3]],[18339,[589828,327684,196608,132,68,12]],[18344,[2101504,1052928,12288,2304,1280,768]],[18345,[2101504,1052928,12288,2304,1280,768]],[18346,[2101504,1052928,12288,2304,1280,768]],[18349,[131073,65537,8193,4097,512,256,3]],[18356,[131076,65540,132,68,32,16,12]],[18361,[131073,65537,32769,16385,512,256,3]],[18367,[131073,65537,32769,16385,512,256,3]],[18369,[2097152,1048576,32769,16385,8193,4097,3]],[18372,[131089,65553,8193,4097,48,3]],[18373,[525313,263169,131073,65537,3072,3]],[18379,[131092,65556,32788,16404,48,12]],[18382,[8196,4100,36,20,12,1]],[18383,[8196,4100,36,20,12,1]],[18384,[8197,4101,2053,1029,12]],[18385,[8197,4101,2053,1029,12]],[18386,[525313,263169,9216,5120,3072]],[18387,[525313,263169,9216,5120,3072]],[18388,[131328,65792,33024,16640,768,1]],[18389,[2097408,1048832,524544,262400,768,1]],[18390,[32833,16449,2113,1089,192]],[18391,[2097157,1048581,36,20,12]],[18392,[2097157,1048581,36,20,12]],[18393,[2097408,1048832,524544,262400,768,1]],[18394,[131076,65540,32772,16388,12,1]],[18395,[131076,65540,32772,16388,12,1]],[18396,[132096,66560,9216,5120,3072,1]],[18397,[132096,66560,9216,5120,3072,1]],[18398,[528,272,144,80,48,1]],[18399,[131089,65553,32785,16401,48]],[18400,[131089,65553,32785,16401,48]],[18401,[131089,65553,32785,16401,48]],[18402,[131136,65600,576,320,192,1]],[18403,[2097156,1048580,524292,262148,12,1]],[18404,[2097156,1048580,524292,262148,12,1]],[18405,[132096,66560,9216,5120,3072,1]],[18406,[131077,65541,36,20,12]],[18407,[131077,65541,36,20,12]],[18408,[2097169,1048593,524305,262161,48]],[18409,[8448,4352,2304,1280,768,1]],[18410,[131136,65600,576,320,192,1]],[18411,[2098177,1049601,525313,263169,3072]],[18412,[2098177,1049601,525313,263169,3072]],[18413,[2098177,1049601,9216,5120,3072]],[18414,[2098177,1049601,9216,5120,3072]],[18415,[132096,66560,33792,17408,3072,1]],[18416,[135169,69633,36865,20481,12288]],[18417,[135169,69633,36865,20481,12288]],[18418,[528,272,144,80,48,1]],[18419,[517,261,36,20,12]],[18420,[517,261,36,20,12]],[18421,[131136,65600,576,320,192,1]],[18422,[32773,16389,36,20,12]],[18423,[524293,262149,36,20,12]],[18424,[524293,262149,36,20,12]],[18425,[2053,1029,36,20,12]],[18426,[2053,1029,36,20,12]],[18427,[8209,4113,529,273,48]],[18428,[524353,262209,577,321,192]],[18429,[132096,66560,33792,17408,3072,1]],[18430,[540673,278529,147456,81920,49152]],[18431,[2097217,1048641,576,320,192]],[18432,[2097217,1048641,576,320,192]],[18433,[132,68,36,20,12,1]],[18434,[8196,4100,36,20,12,2]],[18435,[8196,4100,36,20,12,2]],[18436,[8198,4102,2054,1030,12]],[18437,[8198,4102,2054,1030,12]],[18438,[525314,263170,9216,5120,3072]],[18439,[525314,263170,9216,5120,3072]],[18440,[131328,65792,33024,16640,768,2]],[18441,[2097408,1048832,524544,262400,768,2]],[18442,[32834,16450,2114,1090,192]],[18443,[2097158,1048582,36,20,12]],[18444,[2097158,1048582,36,20,12]],[18445,[2097408,1048832,524544,262400,768,2]],[18446,[131076,65540,32772,16388,12,2]],[18447,[131076,65540,32772,16388,12,2]],[18448,[132096,66560,9216,5120,3072,2]],[18449,[132096,66560,9216,5120,3072,2]],[18450,[528,272,144,80,48,2]],[18451,[131090,65554,32786,16402,48]],[18452,[131090,65554,32786,16402,48]],[18453,[131090,65554,32786,16402,48]],[18454,[131136,65600,576,320,192,2]],[18455,[2097156,1048580,524292,262148,12,2]],[18456,[2097156,1048580,524292,262148,12,2]],[18457,[132096,66560,9216,5120,3072,2]],[18458,[131078,65542,36,20,12]],[18459,[131078,65542,36,20,12]],[18460,[2097170,1048594,524306,262162,48]],[18461,[8448,4352,2304,1280,768,2]],[18462,[131136,65600,576,320,192,2]],[18463,[2098178,1049602,525314,263170,3072]],[18464,[2098178,1049602,525314,263170,3072]],[18465,[2098178,1049602,9216,5120,3072]],[18466,[2098178,1049602,9216,5120,3072]],[18467,[132096,66560,33792,17408,3072,2]],[18468,[135170,69634,36866,20482,12288]],[18469,[135170,69634,36866,20482,12288]],[18470,[528,272,144,80,48,2]],[18471,[518,262,36,20,12]],[18472,[518,262,36,20,12]],[18473,[131136,65600,576,320,192,2]],[18474,[32774,16390,36,20,12]],[18475,[524294,262150,36,20,12]],[18476,[524294,262150,36,20,12]],[18477,[2054,1030,36,20,12]],[18478,[2054,1030,36,20,12]],[18479,[8210,4114,530,274,48]],[18480,[524354,262210,578,322,192]],[18481,[132096,66560,33792,17408,3072,2]],[18482,[540674,278530,147456,81920,49152]],[18483,[2097218,1048642,576,320,192]],[18484,[2097218,1048642,576,320,192]],[18485,[132,68,36,20,12,2]],[18486,[8193,4097,33,17,4,3]],[18487,[8193,4097,33,17,4,3]],[18488,[8197,4101,2053,1029,3]],[18489,[8197,4101,2053,1029,3]],[18490,[525316,263172,9216,5120,3072]],[18491,[525316,263172,9216,5120,3072]],[18492,[131328,65792,33024,16640,768,4]],[18493,[2097408,1048832,524544,262400,768,4]],[18494,[32836,16452,2116,1092,192]],[18495,[2097157,1048581,33,17,3]],[18496,[2097157,1048581,33,17,3]],[18497,[2097408,1048832,524544,262400,768,4]],[18498,[131073,65537,32769,16385,4,3]],[18499,[131073,65537,32769,16385,4,3]],[18500,[132096,66560,9216,5120,3072,4]],[18501,[132096,66560,9216,5120,3072,4]],[18502,[528,272,144,80,48,4]],[18503,[131092,65556,32788,16404,48]],[18504,[131092,65556,32788,16404,48]],[18505,[131092,65556,32788,16404,48]],[18506,[131136,65600,576,320,192,4]],[18507,[2097153,1048577,524289,262145,4,3]],[18508,[2097153,1048577,524289,262145,4,3]],[18509,[132096,66560,9216,5120,3072,4]],[18510,[131077,65541,33,17,3]],[18511,[131077,65541,33,17,3]],[18512,[2097172,1048596,524308,262164,48]],[18513,[8448,4352,2304,1280,768,4]],[18514,[131136,65600,576,320,192,4]],[18515,[2098180,1049604,525316,263172,3072]],[18516,[2098180,1049604,525316,263172,3072]],[18517,[2098180,1049604,9216,5120,3072]],[18518,[2098180,1049604,9216,5120,3072]],[18519,[132096,66560,33792,17408,3072,4]],[18520,[135172,69636,36868,20484,12288]],[18521,[135172,69636,36868,20484,12288]],[18522,[528,272,144,80,48,4]],[18523,[517,261,33,17,3]],[18524,[517,261,33,17,3]],[18525,[131136,65600,576,320,192,4]],[18526,[32773,16389,33,17,3]],[18527,[524293,262149,33,17,3]],[18528,[524293,262149,33,17,3]],[18529,[2053,1029,33,17,3]],[18530,[2053,1029,33,17,3]],[18531,[8212,4116,532,276,48]],[18532,[524356,262212,580,324,192]],[18533,[132096,66560,33792,17408,3072,4]],[18534,[540676,278532,147456,81920,49152]],[18535,[2097220,1048644,576,320,192]],[18536,[2097220,1048644,576,320,192]],[18537,[129,65,33,17,4,3]],[18538,[8193,4097,33,17,8,3]],[18539,[8193,4097,33,17,8,3]],[18540,[8201,4105,2057,1033,3]],[18541,[8201,4105,2057,1033,3]],[18542,[525320,263176,9216,5120,3072]],[18543,[525320,263176,9216,5120,3072]],[18544,[131328,65792,33024,16640,768,8]],[18545,[2097408,1048832,524544,262400,768,8]],[18546,[32840,16456,2120,1096,192]],[18547,[2097161,1048585,33,17,3]],[18548,[2097161,1048585,33,17,3]],[18549,[2097408,1048832,524544,262400,768,8]],[18550,[131073,65537,32769,16385,8,3]],[18551,[131073,65537,32769,16385,8,3]],[18552,[132096,66560,9216,5120,3072,8]],[18553,[132096,66560,9216,5120,3072,8]],[18554,[528,272,144,80,48,8]],[18555,[131096,65560,32792,16408,48]],[18556,[131096,65560,32792,16408,48]],[18557,[131096,65560,32792,16408,48]],[18558,[131136,65600,576,320,192,8]],[18559,[2097153,1048577,524289,262145,8,3]],[18560,[2097153,1048577,524289,262145,8,3]],[18561,[132096,66560,9216,5120,3072,8]],[18562,[131081,65545,33,17,3]],[18563,[131081,65545,33,17,3]],[18564,[2097176,1048600,524312,262168,48]],[18565,[8448,4352,2304,1280,768,8]],[18566,[131136,65600,576,320,192,8]],[18567,[2098184,1049608,525320,263176,3072]],[18568,[2098184,1049608,525320,263176,3072]],[18569,[2098184,1049608,9216,5120,3072]],[18570,[2098184,1049608,9216,5120,3072]],[18571,[132096,66560,33792,17408,3072,8]],[18572,[135176,69640,36872,20488,12288]],[18573,[135176,69640,36872,20488,12288]],[18574,[528,272,144,80,48,8]],[18575,[521,265,33,17,3]],[18576,[521,265,33,17,3]],[18577,[131136,65600,576,320,192,8]],[18578,[32777,16393,33,17,3]],[18579,[524297,262153,33,17,3]],[18580,[524297,262153,33,17,3]],[18581,[2057,1033,33,17,3]],[18582,[2057,1033,33,17,3]],[18583,[8216,4120,536,280,48]],[18584,[524360,262216,584,328,192]],[18585,[132096,66560,33792,17408,3072,8]],[18586,[540680,278536,147456,81920,49152]],[18587,[2097224,1048648,576,320,192]],[18588,[2097224,1048648,576,320,192]],[18589,[129,65,33,17,8,3]],[18590,[8193,4097,16,9,5,3]],[18591,[8193,4097,16,9,5,3]],[18592,[8209,4113,2065,1041,3]],[18593,[8209,4113,2065,1041,3]],[18594,[525328,263184,9216,5120,3072]],[18595,[525328,263184,9216,5120,3072]],[18596,[131328,65792,33024,16640,768,16]],[18597,[2097408,1048832,524544,262400,768,16]],[18598,[32848,16464,2128,1104,192]],[18599,[2097169,1048593,9,5,3]],[18600,[2097169,1048593,9,5,3]],[18601,[2097408,1048832,524544,262400,768,16]],[18602,[131073,65537,32769,16385,16,3]],[18603,[131073,65537,32769,16385,16,3]],[18604,[132096,66560,9216,5120,3072,16]],[18605,[132096,66560,9216,5120,3072,16]],[18606,[516,260,132,68,16,12]],[18607,[131092,65556,32788,16404,12]],[18608,[131092,65556,32788,16404,12]],[18609,[131092,65556,32788,16404,12]],[18610,[131136,65600,576,320,192,16]],[18611,[2097153,1048577,524289,262145,16,3]],[18612,[2097153,1048577,524289,262145,16,3]],[18613,[132096,66560,9216,5120,3072,16]],[18614,[131089,65553,9,5,3]],[18615,[131089,65553,9,5,3]],[18616,[2097172,1048596,524308,262164,12]],[18617,[8448,4352,2304,1280,768,16]],[18618,[131136,65600,576,320,192,16]],[18619,[2098192,1049616,525328,263184,3072]],[18620,[2098192,1049616,525328,263184,3072]],[18621,[2098192,1049616,9216,5120,3072]],[18622,[2098192,1049616,9216,5120,3072]],[18623,[132096,66560,33792,17408,3072,16]],[18624,[135184,69648,36880,20496,12288]],[18625,[135184,69648,36880,20496,12288]],[18626,[516,260,132,68,16,12]],[18627,[529,273,9,5,3]],[18628,[529,273,9,5,3]],[18629,[131136,65600,576,320,192,16]],[18630,[32785,16401,9,5,3]],[18631,[524305,262161,9,5,3]],[18632,[524305,262161,9,5,3]],[18633,[2065,1041,9,5,3]],[18634,[2065,1041,9,5,3]],[18635,[8212,4116,532,276,12]],[18636,[524368,262224,592,336,192]],[18637,[132096,66560,33792,17408,3072,16]],[18638,[540688,278544,147456,81920,49152]],[18639,[2097232,1048656,576,320,192]],[18640,[2097232,1048656,576,320,192]],[18641,[129,65,16,9,5,3]],[18642,[8193,4097,32,9,5,3]],[18643,[8193,4097,32,9,5,3]],[18644,[8225,4129,2081,1057,3]],[18645,[8225,4129,2081,1057,3]],[18646,[525344,263200,9216,5120,3072]],[18647,[525344,263200,9216,5120,3072]],[18648,[131328,65792,33024,16640,768,32]],[18649,[2097408,1048832,524544,262400,768,32]],[18650,[32864,16480,2144,1120,192]],[18651,[2097185,1048609,9,5,3]],[18652,[2097185,1048609,9,5,3]],[18653,[2097408,1048832,524544,262400,768,32]],[18654,[131073,65537,32769,16385,32,3]],[18655,[131073,65537,32769,16385,32,3]],[18656,[132096,66560,9216,5120,3072,32]],[18657,[132096,66560,9216,5120,3072,32]],[18658,[516,260,132,68,32,12]],[18659,[131108,65572,32804,16420,12]],[18660,[131108,65572,32804,16420,12]],[18661,[131108,65572,32804,16420,12]],[18662,[131136,65600,576,320,192,32]],[18663,[2097153,1048577,524289,262145,32,3]],[18664,[2097153,1048577,524289,262145,32,3]],[18665,[132096,66560,9216,5120,3072,32]],[18666,[131105,65569,9,5,3]],[18667,[131105,65569,9,5,3]],[18668,[2097188,1048612,524324,262180,12]],[18669,[8448,4352,2304,1280,768,32]],[18670,[131136,65600,576,320,192,32]],[18671,[2098208,1049632,525344,263200,3072]],[18672,[2098208,1049632,525344,263200,3072]],[18673,[2098208,1049632,9216,5120,3072]],[18674,[2098208,1049632,9216,5120,3072]],[18675,[132096,66560,33792,17408,3072,32]],[18676,[135200,69664,36896,20512,12288]],[18677,[135200,69664,36896,20512,12288]],[18678,[516,260,132,68,32,12]],[18679,[545,289,9,5,3]],[18680,[545,289,9,5,3]],[18681,[131136,65600,576,320,192,32]],[18682,[32801,16417,9,5,3]],[18683,[524321,262177,9,5,3]],[18684,[524321,262177,9,5,3]],[18685,[2081,1057,9,5,3]],[18686,[2081,1057,9,5,3]],[18687,[8228,4132,548,292,12]],[18688,[524384,262240,608,352,192]],[18689,[132096,66560,33792,17408,3072,32]],[18690,[540704,278560,147456,81920,49152]],[18691,[2097248,1048672,576,320,192]],[18692,[2097248,1048672,576,320,192]],[18693,[129,65,32,9,5,3]],[18694,[8193,4097,64,9,5,3]],[18695,[8193,4097,64,9,5,3]],[18696,[8257,4161,2113,1089,3]],[18697,[8257,4161,2113,1089,3]],[18698,[525376,263232,9216,5120,3072]],[18699,[525376,263232,9216,5120,3072]],[18700,[131328,65792,33024,16640,768,64]],[18701,[2097408,1048832,524544,262400,768,64]],[18702,[32848,16464,2128,1104,48]],[18703,[2097217,1048641,9,5,3]],[18704,[2097217,1048641,9,5,3]],[18705,[2097408,1048832,524544,262400,768,64]],[18706,[131073,65537,32769,16385,64,3]],[18707,[131073,65537,32769,16385,64,3]],[18708,[132096,66560,9216,5120,3072,64]],[18709,[132096,66560,9216,5120,3072,64]],[18710,[516,260,64,36,20,12]],[18711,[131140,65604,32836,16452,12]],[18712,[131140,65604,32836,16452,12]],[18713,[131140,65604,32836,16452,12]],[18714,[131088,65552,528,272,64,48]],[18715,[2097153,1048577,524289,262145,64,3]],[18716,[2097153,1048577,524289,262145,64,3]],[18717,[132096,66560,9216,5120,3072,64]],[18718,[131137,65601,9,5,3]],[18719,[131137,65601,9,5,3]],[18720,[2097220,1048644,524356,262212,12]],[18721,[8448,4352,2304,1280,768,64]],[18722,[131088,65552,528,272,64,48]],[18723,[2098240,1049664,525376,263232,3072]],[18724,[2098240,1049664,525376,263232,3072]],[18725,[2098240,1049664,9216,5120,3072]],[18726,[2098240,1049664,9216,5120,3072]],[18727,[132096,66560,33792,17408,3072,64]],[18728,[135232,69696,36928,20544,12288]],[18729,[135232,69696,36928,20544,12288]],[18730,[516,260,64,36,20,12]],[18731,[577,321,9,5,3]],[18732,[577,321,9,5,3]],[18733,[131088,65552,528,272,64,48]],[18734,[32833,16449,9,5,3]],[18735,[524353,262209,9,5,3]],[18736,[524353,262209,9,5,3]],[18737,[2113,1089,9,5,3]],[18738,[2113,1089,9,5,3]],[18739,[8260,4164,580,324,12]],[18740,[524368,262224,592,336,48]],[18741,[132096,66560,33792,17408,3072,64]],[18742,[540736,278592,147456,81920,49152]],[18743,[2097232,1048656,528,272,48]],[18744,[2097232,1048656,528,272,48]],[18745,[64,33,17,9,5,3]],[18746,[8193,4097,128,9,5,3]],[18747,[8193,4097,128,9,5,3]],[18748,[8321,4225,2177,1153,3]],[18749,[8321,4225,2177,1153,3]],[18750,[525440,263296,9216,5120,3072]],[18751,[525440,263296,9216,5120,3072]],[18752,[131328,65792,33024,16640,768,128]],[18753,[2097408,1048832,524544,262400,768,128]],[18754,[32912,16528,2192,1168,48]],[18755,[2097281,1048705,9,5,3]],[18756,[2097281,1048705,9,5,3]],[18757,[2097408,1048832,524544,262400,768,128]],[18758,[131073,65537,32769,16385,128,3]],[18759,[131073,65537,32769,16385,128,3]],[18760,[132096,66560,9216,5120,3072,128]],[18761,[132096,66560,9216,5120,3072,128]],[18762,[516,260,128,36,20,12]],[18763,[131204,65668,32900,16516,12]],[18764,[131204,65668,32900,16516,12]],[18765,[131204,65668,32900,16516,12]],[18766,[131088,65552,528,272,128,48]],[18767,[2097153,1048577,524289,262145,128,3]],[18768,[2097153,1048577,524289,262145,128,3]],[18769,[132096,66560,9216,5120,3072,128]],[18770,[131201,65665,9,5,3]],[18771,[131201,65665,9,5,3]],[18772,[2097284,1048708,524420,262276,12]],[18773,[8448,4352,2304,1280,768,128]],[18774,[131088,65552,528,272,128,48]],[18775,[2098304,1049728,525440,263296,3072]],[18776,[2098304,1049728,525440,263296,3072]],[18777,[2098304,1049728,9216,5120,3072]],[18778,[2098304,1049728,9216,5120,3072]],[18779,[132096,66560,33792,17408,3072,128]],[18780,[135296,69760,36992,20608,12288]],[18781,[135296,69760,36992,20608,12288]],[18782,[516,260,128,36,20,12]],[18783,[641,385,9,5,3]],[18784,[641,385,9,5,3]],[18785,[131088,65552,528,272,128,48]],[18786,[32897,16513,9,5,3]],[18787,[524417,262273,9,5,3]],[18788,[524417,262273,9,5,3]],[18789,[2177,1153,9,5,3]],[18790,[2177,1153,9,5,3]],[18791,[8324,4228,644,388,12]],[18792,[524432,262288,656,400,48]],[18793,[132096,66560,33792,17408,3072,128]],[18794,[540800,278656,147456,81920,49152]],[18795,[2097296,1048720,528,272,48]],[18796,[2097296,1048720,528,272,48]],[18797,[128,33,17,9,5,3]],[18798,[8193,4097,256,9,5,3]],[18799,[8193,4097,256,9,5,3]],[18800,[8449,4353,2305,1281,3]],[18801,[8449,4353,2305,1281,3]],[18802,[525568,263424,9216,5120,3072]],[18803,[525568,263424,9216,5120,3072]],[18804,[131136,65600,32832,16448,256,192]],[18805,[2097216,1048640,524352,262208,256,192]],[18806,[33040,16656,2320,1296,48]],[18807,[2097409,1048833,9,5,3]],[18808,[2097409,1048833,9,5,3]],[18809,[2097216,1048640,524352,262208,256,192]],[18810,[131073,65537,32769,16385,256,3]],[18811,[131073,65537,32769,16385,256,3]],[18812,[132096,66560,9216,5120,3072,256]],[18813,[132096,66560,9216,5120,3072,256]],[18814,[256,132,68,36,20,12]],[18815,[131332,65796,33028,16644,12]],[18816,[131332,65796,33028,16644,12]],[18817,[131332,65796,33028,16644,12]],[18818,[131088,65552,256,144,80,48]],[18819,[2097153,1048577,524289,262145,256,3]],[18820,[2097153,1048577,524289,262145,256,3]],[18821,[132096,66560,9216,5120,3072,256]],[18822,[131329,65793,9,5,3]],[18823,[131329,65793,9,5,3]],[18824,[2097412,1048836,524548,262404,12]],[18825,[8256,4160,2112,1088,256,192]],[18826,[131088,65552,256,144,80,48]],[18827,[2098432,1049856,525568,263424,3072]],[18828,[2098432,1049856,525568,263424,3072]],[18829,[2098432,1049856,9216,5120,3072]],[18830,[2098432,1049856,9216,5120,3072]],[18831,[132096,66560,33792,17408,3072,256]],[18832,[135424,69888,37120,20736,12288]],[18833,[135424,69888,37120,20736,12288]],[18834,[256,132,68,36,20,12]],[18835,[321,192,9,5,3]],[18836,[321,192,9,5,3]],[18837,[131088,65552,256,144,80,48]],[18838,[33025,16641,9,5,3]],[18839,[524545,262401,9,5,3]],[18840,[524545,262401,9,5,3]],[18841,[2305,1281,9,5,3]],[18842,[2305,1281,9,5,3]],[18843,[8256,4160,324,192,12]],[18844,[524352,262208,336,192,48]],[18845,[132096,66560,33792,17408,3072,256]],[18846,[540928,278784,147456,81920,49152]],[18847,[2097424,1048848,144,80,48]],[18848,[2097424,1048848,144,80,48]],[18849,[256,33,17,9,5,3]],[18850,[8193,4097,512,9,5,3]],[18851,[8193,4097,512,9,5,3]],[18852,[8705,4609,2561,1537,3]],[18853,[8705,4609,2561,1537,3]],[18854,[525824,263680,9216,5120,3072]],[18855,[525824,263680,9216,5120,3072]],[18856,[131136,65600,32832,16448,512,192]],[18857,[2097216,1048640,524352,262208,512,192]],[18858,[33296,16912,2576,1552,48]],[18859,[2097665,1049089,9,5,3]],[18860,[2097665,1049089,9,5,3]],[18861,[2097216,1048640,524352,262208,512,192]],[18862,[131073,65537,32769,16385,512,3]],[18863,[131073,65537,32769,16385,512,3]],[18864,[132096,66560,9216,5120,3072,512]],[18865,[132096,66560,9216,5120,3072,512]],[18866,[512,132,68,36,20,12]],[18867,[131588,66052,33284,16900,12]],[18868,[131588,66052,33284,16900,12]],[18869,[131588,66052,33284,16900,12]],[18870,[131088,65552,512,144,80,48]],[18871,[2097153,1048577,524289,262145,512,3]],[18872,[2097153,1048577,524289,262145,512,3]],[18873,[132096,66560,9216,5120,3072,512]],[18874,[131585,66049,9,5,3]],[18875,[131585,66049,9,5,3]],[18876,[2097668,1049092,524804,262660,12]],[18877,[8256,4160,2112,1088,512,192]],[18878,[131088,65552,512,144,80,48]],[18879,[2098688,1050112,525824,263680,3072]],[18880,[2098688,1050112,525824,263680,3072]],[18881,[2098688,1050112,9216,5120,3072]],[18882,[2098688,1050112,9216,5120,3072]],[18883,[132096,66560,33792,17408,3072,512]],[18884,[135680,70144,37376,20992,12288]],[18885,[135680,70144,37376,20992,12288]],[18886,[512,132,68,36,20,12]],[18887,[577,192,9,5,3]],[18888,[577,192,9,5,3]],[18889,[131088,65552,512,144,80,48]],[18890,[33281,16897,9,5,3]],[18891,[524801,262657,9,5,3]],[18892,[524801,262657,9,5,3]],[18893,[2561,1537,9,5,3]],[18894,[2561,1537,9,5,3]],[18895,[8256,4160,580,192,12]],[18896,[524352,262208,592,192,48]],[18897,[132096,66560,33792,17408,3072,512]],[18898,[541184,279040,147456,81920,49152]],[18899,[2097680,1049104,144,80,48]],[18900,[2097680,1049104,144,80,48]],[18901,[512,33,17,9,5,3]],[18902,[8193,4097,1024,9,5,3]],[18903,[8193,4097,1024,9,5,3]],[18904,[8448,4352,1281,768,3]],[18905,[8448,4352,1281,768,3]],[18906,[525568,263424,8448,4352,768]],[18907,[525568,263424,8448,4352,768]],[18908,[131136,65600,32832,16448,1024,192]],[18909,[2097216,1048640,524352,262208,1024,192]],[18910,[33024,16640,1296,768,48]],[18911,[2098177,1049601,9,5,3]],[18912,[2098177,1049601,9,5,3]],[18913,[2097216,1048640,524352,262208,1024,192]],[18914,[131073,65537,32769,16385,1024,3]],[18915,[131073,65537,32769,16385,1024,3]],[18916,[131328,65792,8448,4352,1024,768]],[18917,[131328,65792,8448,4352,1024,768]],[18918,[1024,132,68,36,20,12]],[18919,[132100,66564,33796,17412,12]],[18920,[132100,66564,33796,17412,12]],[18921,[132100,66564,33796,17412,12]],[18922,[131088,65552,1024,144,80,48]],[18923,[2097153,1048577,524289,262145,1024,3]],[18924,[2097153,1048577,524289,262145,1024,3]],[18925,[131328,65792,8448,4352,1024,768]],[18926,[132097,66561,9,5,3]],[18927,[132097,66561,9,5,3]],[18928,[2098180,1049604,525316,263172,12]],[18929,[8256,4160,1024,576,320,192]],[18930,[131088,65552,1024,144,80,48]],[18931,[2098432,1049856,525568,263424,768]],[18932,[2098432,1049856,525568,263424,768]],[18933,[2098432,1049856,8448,4352,768]],[18934,[2098432,1049856,8448,4352,768]],[18935,[131328,65792,33024,16640,1024,768]],[18936,[136192,70656,37888,21504,12288]],[18937,[136192,70656,37888,21504,12288]],[18938,[1024,132,68,36,20,12]],[18939,[1089,192,9,5,3]],[18940,[1089,192,9,5,3]],[18941,[131088,65552,1024,144,80,48]],[18942,[33793,17409,9,5,3]],[18943,[525313,263169,9,5,3]],[18944,[525313,263169,9,5,3]],[18945,[1281,768,9,5,3]],[18946,[1281,768,9,5,3]],[18947,[8256,4160,1092,192,12]],[18948,[524352,262208,1104,192,48]],[18949,[131328,65792,33024,16640,1024,768]],[18950,[541696,279552,147456,81920,49152]],[18951,[2098192,1049616,144,80,48]],[18952,[2098192,1049616,144,80,48]],[18953,[1024,33,17,9,5,3]],[18954,[8193,4097,2048,9,5,3]],[18955,[8193,4097,2048,9,5,3]],[18956,[8448,4352,2305,768,3]],[18957,[8448,4352,2305,768,3]],[18958,[526592,264448,8448,4352,768]],[18959,[526592,264448,8448,4352,768]],[18960,[131136,65600,32832,16448,2048,192]],[18961,[2097216,1048640,524352,262208,2048,192]],[18962,[33024,16640,2320,768,48]],[18963,[2099201,1050625,9,5,3]],[18964,[2099201,1050625,9,5,3]],[18965,[2097216,1048640,524352,262208,2048,192]],[18966,[131073,65537,32769,16385,2048,3]],[18967,[131073,65537,32769,16385,2048,3]],[18968,[131328,65792,8448,4352,2048,768]],[18969,[131328,65792,8448,4352,2048,768]],[18970,[2048,132,68,36,20,12]],[18971,[133124,67588,34820,18436,12]],[18972,[133124,67588,34820,18436,12]],[18973,[133124,67588,34820,18436,12]],[18974,[131088,65552,2048,144,80,48]],[18975,[2097153,1048577,524289,262145,2048,3]],[18976,[2097153,1048577,524289,262145,2048,3]],[18977,[131328,65792,8448,4352,2048,768]],[18978,[133121,67585,9,5,3]],[18979,[133121,67585,9,5,3]],[18980,[2099204,1050628,526340,264196,12]],[18981,[8256,4160,2048,576,320,192]],[18982,[131088,65552,2048,144,80,48]],[18983,[2099456,1050880,526592,264448,768]],[18984,[2099456,1050880,526592,264448,768]],[18985,[2099456,1050880,8448,4352,768]],[18986,[2099456,1050880,8448,4352,768]],[18987,[131328,65792,33024,16640,2048,768]],[18988,[137216,71680,38912,22528,12288]],[18989,[137216,71680,38912,22528,12288]],[18990,[2048,132,68,36,20,12]],[18991,[2113,192,9,5,3]],[18992,[2113,192,9,5,3]],[18993,[131088,65552,2048,144,80,48]],[18994,[34817,18433,9,5,3]],[18995,[526337,264193,9,5,3]],[18996,[526337,264193,9,5,3]],[18997,[2305,768,9,5,3]],[18998,[2305,768,9,5,3]],[18999,[8256,4160,2116,192,12]],[19000,[524352,262208,2128,192,48]],[19001,[131328,65792,33024,16640,2048,768]],[19002,[542720,280576,147456,81920,49152]],[19003,[2099216,1050640,144,80,48]],[19004,[2099216,1050640,144,80,48]],[19005,[2048,33,17,9,5,3]],[19006,[4096,2049,1025,9,5,3]],[19007,[4096,2049,1025,9,5,3]],[19008,[4353,2304,1280,768,3]],[19009,[4353,2304,1280,768,3]],[19010,[528640,266496,2304,1280,768]],[19011,[528640,266496,2304,1280,768]],[19012,[131136,65600,32832,16448,4096,192]],[19013,[2097216,1048640,524352,262208,4096,192]],[19014,[33024,16640,4368,768,48]],[19015,[2101249,1052673,9,5,3]],[19016,[2101249,1052673,9,5,3]],[19017,[2097216,1048640,524352,262208,4096,192]],[19018,[131073,65537,32769,16385,4096,3]],[19019,[131073,65537,32769,16385,4096,3]],[19020,[131328,65792,4096,2304,1280,768]],[19021,[131328,65792,4096,2304,1280,768]],[19022,[4096,132,68,36,20,12]],[19023,[135172,69636,36868,20484,12]],[19024,[135172,69636,36868,20484,12]],[19025,[135172,69636,36868,20484,12]],[19026,[131088,65552,4096,144,80,48]],[19027,[2097153,1048577,524289,262145,4096,3]],[19028,[2097153,1048577,524289,262145,4096,3]],[19029,[131328,65792,4096,2304,1280,768]],[19030,[135169,69633,9,5,3]],[19031,[135169,69633,9,5,3]],[19032,[2101252,1052676,528388,266244,12]],[19033,[4096,2112,1088,576,320,192]],[19034,[131088,65552,4096,144,80,48]],[19035,[2101504,1052928,528640,266496,768]],[19036,[2101504,1052928,528640,266496,768]],[19037,[2101504,1052928,2304,1280,768]],[19038,[2101504,1052928,2304,1280,768]],[19039,[131328,65792,33024,16640,4096,768]],[19040,[136192,70656,37888,21504,3072]],[19041,[136192,70656,37888,21504,3072]],[19042,[4096,132,68,36,20,12]],[19043,[4161,192,9,5,3]],[19044,[4161,192,9,5,3]],[19045,[131088,65552,4096,144,80,48]],[19046,[36865,20481,9,5,3]],[19047,[528385,266241,9,5,3]],[19048,[528385,266241,9,5,3]],[19049,[4353,768,9,5,3]],[19050,[4353,768,9,5,3]],[19051,[4164,2112,1088,192,12]],[19052,[524352,262208,4176,192,48]],[19053,[131328,65792,33024,16640,4096,768]],[19054,[544768,282624,147456,81920,49152]],[19055,[2101264,1052688,144,80,48]],[19056,[2101264,1052688,144,80,48]],[19057,[4096,33,17,9,5,3]],[19058,[8192,2049,1025,9,5,3]],[19059,[8192,2049,1025,9,5,3]],[19060,[8449,2304,1280,768,3]],[19061,[8449,2304,1280,768,3]],[19062,[532736,270592,2304,1280,768]],[19063,[532736,270592,2304,1280,768]],[19064,[131136,65600,32832,16448,8192,192]],[19065,[2097216,1048640,524352,262208,8192,192]],[19066,[33024,16640,8464,768,48]],[19067,[2105345,1056769,9,5,3]],[19068,[2105345,1056769,9,5,3]],[19069,[2097216,1048640,524352,262208,8192,192]],[19070,[131073,65537,32769,16385,8192,3]],[19071,[131073,65537,32769,16385,8192,3]],[19072,[131328,65792,8192,2304,1280,768]],[19073,[131328,65792,8192,2304,1280,768]],[19074,[8192,132,68,36,20,12]],[19075,[139268,73732,40964,24580,12]],[19076,[139268,73732,40964,24580,12]],[19077,[139268,73732,40964,24580,12]],[19078,[131088,65552,8192,144,80,48]],[19079,[2097153,1048577,524289,262145,8192,3]],[19080,[2097153,1048577,524289,262145,8192,3]],[19081,[131328,65792,8192,2304,1280,768]],[19082,[139265,73729,9,5,3]],[19083,[139265,73729,9,5,3]],[19084,[2105348,1056772,532484,270340,12]],[19085,[8192,2112,1088,576,320,192]],[19086,[131088,65552,8192,144,80,48]],[19087,[2105600,1057024,532736,270592,768]],[19088,[2105600,1057024,532736,270592,768]],[19089,[2105600,1057024,2304,1280,768]],[19090,[2105600,1057024,2304,1280,768]],[19091,[131328,65792,33024,16640,8192,768]],[19092,[140288,74752,41984,25600,3072]],[19093,[140288,74752,41984,25600,3072]],[19094,[8192,132,68,36,20,12]],[19095,[8257,192,9,5,3]],[19096,[8257,192,9,5,3]],[19097,[131088,65552,8192,144,80,48]],[19098,[40961,24577,9,5,3]],[19099,[532481,270337,9,5,3]],[19100,[532481,270337,9,5,3]],[19101,[8449,768,9,5,3]],[19102,[8449,768,9,5,3]],[19103,[8260,2112,1088,192,12]],[19104,[524352,262208,8272,192,48]],[19105,[131328,65792,33024,16640,8192,768]],[19106,[548864,286720,147456,81920,49152]],[19107,[2105360,1056784,144,80,48]],[19108,[2105360,1056784,144,80,48]],[19109,[8192,33,17,9,5,3]],[19110,[16384,2049,1025,9,5,3]],[19111,[16384,2049,1025,9,5,3]],[19112,[16641,2304,1280,768,3]],[19113,[16641,2304,1280,768,3]],[19114,[540928,278784,2304,1280,768]],[19115,[540928,278784,2304,1280,768]],[19116,[131136,65600,16384,8256,4160,192]],[19117,[2097216,1048640,524352,262208,16384,192]],[19118,[16656,8448,4352,768,48]],[19119,[2113537,1064961,9,5,3]],[19120,[2113537,1064961,9,5,3]],[19121,[2097216,1048640,524352,262208,16384,192]],[19122,[131073,65537,16384,8193,4097,3]],[19123,[131073,65537,16384,8193,4097,3]],[19124,[131328,65792,16384,2304,1280,768]],[19125,[131328,65792,16384,2304,1280,768]],[19126,[16384,132,68,36,20,12]],[19127,[135168,69632,20484,12288,12]],[19128,[135168,69632,20484,12288,12]],[19129,[135168,69632,20484,12288,12]],[19130,[131088,65552,16384,144,80,48]],[19131,[2097153,1048577,524289,262145,16384,3]],[19132,[2097153,1048577,524289,262145,16384,3]],[19133,[131328,65792,16384,2304,1280,768]],[19134,[147457,81921,9,5,3]],[19135,[147457,81921,9,5,3]],[19136,[2113540,1064964,540676,278532,12]],[19137,[16384,2112,1088,576,320,192]],[19138,[131088,65552,16384,144,80,48]],[19139,[2113792,1065216,540928,278784,768]],[19140,[2113792,1065216,540928,278784,768]],[19141,[2113792,1065216,2304,1280,768]],[19142,[2113792,1065216,2304,1280,768]],[19143,[131328,65792,16384,8448,4352,768]],[19144,[135168,69632,21504,12288,3072]],[19145,[135168,69632,21504,12288,3072]],[19146,[16384,132,68,36,20,12]],[19147,[16449,192,9,5,3]],[19148,[16449,192,9,5,3]],[19149,[131088,65552,16384,144,80,48]],[19150,[20481,12288,9,5,3]],[19151,[540673,278529,9,5,3]],[19152,[540673,278529,9,5,3]],[19153,[16641,768,9,5,3]],[19154,[16641,768,9,5,3]],[19155,[16452,2112,1088,192,12]],[19156,[524352,262208,16464,192,48]],[19157,[131328,65792,16384,8448,4352,768]],[19158,[544768,282624,135168,69632,12288]],[19159,[2113552,1064976,144,80,48]],[19160,[2113552,1064976,144,80,48]],[19161,[16384,33,17,9,5,3]],[19162,[32768,2049,1025,9,5,3]],[19163,[32768,2049,1025,9,5,3]],[19164,[33025,2304,1280,768,3]],[19165,[33025,2304,1280,768,3]],[19166,[557312,295168,2304,1280,768]],[19167,[557312,295168,2304,1280,768]],[19168,[131136,65600,32768,8256,4160,192]],[19169,[2097216,1048640,524352,262208,32768,192]],[19170,[33040,8448,4352,768,48]],[19171,[2129921,1081345,9,5,3]],[19172,[2129921,1081345,9,5,3]],[19173,[2097216,1048640,524352,262208,32768,192]],[19174,[131073,65537,32768,8193,4097,3]],[19175,[131073,65537,32768,8193,4097,3]],[19176,[131328,65792,32768,2304,1280,768]],[19177,[131328,65792,32768,2304,1280,768]],[19178,[32768,132,68,36,20,12]],[19179,[135168,69632,36868,12288,12]],[19180,[135168,69632,36868,12288,12]],[19181,[135168,69632,36868,12288,12]],[19182,[131088,65552,32768,144,80,48]],[19183,[2097153,1048577,524289,262145,32768,3]],[19184,[2097153,1048577,524289,262145,32768,3]],[19185,[131328,65792,32768,2304,1280,768]],[19186,[163841,98305,9,5,3]],[19187,[163841,98305,9,5,3]],[19188,[2129924,1081348,557060,294916,12]],[19189,[32768,2112,1088,576,320,192]],[19190,[131088,65552,32768,144,80,48]],[19191,[2130176,1081600,557312,295168,768]],[19192,[2130176,1081600,557312,295168,768]],[19193,[2130176,1081600,2304,1280,768]],[19194,[2130176,1081600,2304,1280,768]],[19195,[131328,65792,32768,8448,4352,768]],[19196,[135168,69632,37888,12288,3072]],[19197,[135168,69632,37888,12288,3072]],[19198,[32768,132,68,36,20,12]],[19199,[32833,192,9,5,3]],[19200,[32833,192,9,5,3]],[19201,[131088,65552,32768,144,80,48]],[19202,[36865,12288,9,5,3]],[19203,[557057,294913,9,5,3]],[19204,[557057,294913,9,5,3]],[19205,[33025,768,9,5,3]],[19206,[33025,768,9,5,3]],[19207,[32836,2112,1088,192,12]],[19208,[524352,262208,32848,192,48]],[19209,[131328,65792,32768,8448,4352,768]],[19210,[561152,299008,135168,69632,12288]],[19211,[2129936,1081360,144,80,48]],[19212,[2129936,1081360,144,80,48]],[19213,[32768,33,17,9,5,3]],[19214,[65536,2049,1025,9,5,3]],[19215,[65536,2049,1025,9,5,3]],[19216,[65793,2304,1280,768,3]],[19217,[65793,2304,1280,768,3]],[19218,[590080,327936,2304,1280,768]],[19219,[590080,327936,2304,1280,768]],[19220,[65536,32832,16448,8256,4160,192]],[19221,[2097216,1048640,524352,262208,65536,192]],[19222,[65808,8448,4352,768,48]],[19223,[2162689,1114113,9,5,3]],[19224,[2162689,1114113,9,5,3]],[19225,[2097216,1048640,524352,262208,65536,192]],[19226,[65536,32769,16385,8193,4097,3]],[19227,[65536,32769,16385,8193,4097,3]],[19228,[65536,33024,16640,2304,1280,768]],[19229,[65536,33024,16640,2304,1280,768]],[19230,[65536,132,68,36,20,12]],[19231,[69636,36864,20480,12288,12]],[19232,[69636,36864,20480,12288,12]],[19233,[69636,36864,20480,12288,12]],[19234,[65536,32784,16400,144,80,48]],[19235,[2097153,1048577,524289,262145,65536,3]],[19236,[2097153,1048577,524289,262145,65536,3]],[19237,[65536,33024,16640,2304,1280,768]],[19238,[81921,49152,9,5,3]],[19239,[81921,49152,9,5,3]],[19240,[2162692,1114116,589828,327684,12]],[19241,[65536,2112,1088,576,320,192]],[19242,[65536,32784,16400,144,80,48]],[19243,[2162944,1114368,590080,327936,768]],[19244,[2162944,1114368,590080,327936,768]],[19245,[2162944,1114368,2304,1280,768]],[19246,[2162944,1114368,2304,1280,768]],[19247,[65536,33024,16640,8448,4352,768]],[19248,[70656,36864,20480,12288,3072]],[19249,[70656,36864,20480,12288,3072]],[19250,[65536,132,68,36,20,12]],[19251,[65601,192,9,5,3]],[19252,[65601,192,9,5,3]],[19253,[65536,32784,16400,144,80,48]],[19254,[69633,12288,9,5,3]],[19255,[589825,327681,9,5,3]],[19256,[589825,327681,9,5,3]],[19257,[65793,768,9,5,3]],[19258,[65793,768,9,5,3]],[19259,[65604,2112,1088,192,12]],[19260,[524352,262208,65616,192,48]],[19261,[65536,33024,16640,8448,4352,768]],[19262,[593920,331776,36864,20480,12288]],[19263,[2162704,1114128,144,80,48]],[19264,[2162704,1114128,144,80,48]],[19265,[65536,33,17,9,5,3]],[19266,[131072,2049,1025,9,5,3]],[19267,[131072,2049,1025,9,5,3]],[19268,[131329,2304,1280,768,3]],[19269,[131329,2304,1280,768,3]],[19270,[655616,393472,2304,1280,768]],[19271,[655616,393472,2304,1280,768]],[19272,[131072,32832,16448,8256,4160,192]],[19273,[2097216,1048640,524352,262208,131072,192]],[19274,[131344,8448,4352,768,48]],[19275,[2228225,1179649,9,5,3]],[19276,[2228225,1179649,9,5,3]],[19277,[2097216,1048640,524352,262208,131072,192]],[19278,[131072,32769,16385,8193,4097,3]],[19279,[131072,32769,16385,8193,4097,3]],[19280,[131072,33024,16640,2304,1280,768]],[19281,[131072,33024,16640,2304,1280,768]],[19282,[131072,132,68,36,20,12]],[19283,[135172,36864,20480,12288,12]],[19284,[135172,36864,20480,12288,12]],[19285,[135172,36864,20480,12288,12]],[19286,[131072,32784,16400,144,80,48]],[19287,[2097153,1048577,524289,262145,131072,3]],[19288,[2097153,1048577,524289,262145,131072,3]],[19289,[131072,33024,16640,2304,1280,768]],[19290,[147457,49152,9,5,3]],[19291,[147457,49152,9,5,3]],[19292,[2228228,1179652,655364,393220,12]],[19293,[131072,2112,1088,576,320,192]],[19294,[131072,32784,16400,144,80,48]],[19295,[2228480,1179904,655616,393472,768]],[19296,[2228480,1179904,655616,393472,768]],[19297,[2228480,1179904,2304,1280,768]],[19298,[2228480,1179904,2304,1280,768]],[19299,[131072,33024,16640,8448,4352,768]],[19300,[136192,36864,20480,12288,3072]],[19301,[136192,36864,20480,12288,3072]],[19302,[131072,132,68,36,20,12]],[19303,[131137,192,9,5,3]],[19304,[131137,192,9,5,3]],[19305,[131072,32784,16400,144,80,48]],[19306,[135169,12288,9,5,3]],[19307,[655361,393217,9,5,3]],[19308,[655361,393217,9,5,3]],[19309,[131329,768,9,5,3]],[19310,[131329,768,9,5,3]],[19311,[131140,2112,1088,192,12]],[19312,[524352,262208,131152,192,48]],[19313,[131072,33024,16640,8448,4352,768]],[19314,[659456,397312,36864,20480,12288]],[19315,[2228240,1179664,144,80,48]],[19316,[2228240,1179664,144,80,48]],[19317,[131072,33,17,9,5,3]],[19318,[262144,2049,1025,9,5,3]],[19319,[262144,2049,1025,9,5,3]],[19320,[262401,2304,1280,768,3]],[19321,[262401,2304,1280,768,3]],[19322,[327936,196608,2304,1280,768]],[19323,[327936,196608,2304,1280,768]],[19324,[262144,32832,16448,8256,4160,192]],[19325,[2097216,1048640,262144,131136,65600,192]],[19326,[262416,8448,4352,768,48]],[19327,[2359297,1310721,9,5,3]],[19328,[2359297,1310721,9,5,3]],[19329,[2097216,1048640,262144,131136,65600,192]],[19330,[262144,32769,16385,8193,4097,3]],[19331,[262144,32769,16385,8193,4097,3]],[19332,[262144,33024,16640,2304,1280,768]],[19333,[262144,33024,16640,2304,1280,768]],[19334,[262144,132,68,36,20,12]],[19335,[266244,36864,20480,12288,12]],[19336,[266244,36864,20480,12288,12]],[19337,[266244,36864,20480,12288,12]],[19338,[262144,32784,16400,144,80,48]],[19339,[2097153,1048577,262144,131073,65537,3]],[19340,[2097153,1048577,262144,131073,65537,3]],[19341,[262144,33024,16640,2304,1280,768]],[19342,[278529,49152,9,5,3]],[19343,[278529,49152,9,5,3]],[19344,[2162688,1114112,327684,196608,12]],[19345,[262144,2112,1088,576,320,192]],[19346,[262144,32784,16400,144,80,48]],[19347,[2162688,1114112,327936,196608,768]],[19348,[2162688,1114112,327936,196608,768]],[19349,[2359552,1310976,2304,1280,768]],[19350,[2359552,1310976,2304,1280,768]],[19351,[262144,33024,16640,8448,4352,768]],[19352,[267264,36864,20480,12288,3072]],[19353,[267264,36864,20480,12288,3072]],[19354,[262144,132,68,36,20,12]],[19355,[262209,192,9,5,3]],[19356,[262209,192,9,5,3]],[19357,[262144,32784,16400,144,80,48]],[19358,[266241,12288,9,5,3]],[19359,[327681,196608,9,5,3]],[19360,[327681,196608,9,5,3]],[19361,[262401,768,9,5,3]],[19362,[262401,768,9,5,3]],[19363,[262212,2112,1088,192,12]],[19364,[262224,131136,65600,192,48]],[19365,[262144,33024,16640,8448,4352,768]],[19366,[331776,196608,36864,20480,12288]],[19367,[2359312,1310736,144,80,48]],[19368,[2359312,1310736,144,80,48]],[19369,[262144,33,17,9,5,3]],[19370,[524288,2049,1025,9,5,3]],[19371,[524288,2049,1025,9,5,3]],[19372,[524545,2304,1280,768,3]],[19373,[524545,2304,1280,768,3]],[19374,[590080,196608,2304,1280,768]],[19375,[590080,196608,2304,1280,768]],[19376,[524288,32832,16448,8256,4160,192]],[19377,[2097216,1048640,524288,131136,65600,192]],[19378,[524560,8448,4352,768,48]],[19379,[2621441,1572865,9,5,3]],[19380,[2621441,1572865,9,5,3]],[19381,[2097216,1048640,524288,131136,65600,192]],[19382,[524288,32769,16385,8193,4097,3]],[19383,[524288,32769,16385,8193,4097,3]],[19384,[524288,33024,16640,2304,1280,768]],[19385,[524288,33024,16640,2304,1280,768]],[19386,[524288,132,68,36,20,12]],[19387,[528388,36864,20480,12288,12]],[19388,[528388,36864,20480,12288,12]],[19389,[528388,36864,20480,12288,12]],[19390,[524288,32784,16400,144,80,48]],[19391,[2097153,1048577,524288,131073,65537,3]],[19392,[2097153,1048577,524288,131073,65537,3]],[19393,[524288,33024,16640,2304,1280,768]],[19394,[540673,49152,9,5,3]],[19395,[540673,49152,9,5,3]],[19396,[2162688,1114112,589828,196608,12]],[19397,[524288,2112,1088,576,320,192]],[19398,[524288,32784,16400,144,80,48]],[19399,[2162688,1114112,590080,196608,768]],[19400,[2162688,1114112,590080,196608,768]],[19401,[2621696,1573120,2304,1280,768]],[19402,[2621696,1573120,2304,1280,768]],[19403,[524288,33024,16640,8448,4352,768]],[19404,[529408,36864,20480,12288,3072]],[19405,[529408,36864,20480,12288,3072]],[19406,[524288,132,68,36,20,12]],[19407,[524353,192,9,5,3]],[19408,[524353,192,9,5,3]],[19409,[524288,32784,16400,144,80,48]],[19410,[528385,12288,9,5,3]],[19411,[589825,196608,9,5,3]],[19412,[589825,196608,9,5,3]],[19413,[524545,768,9,5,3]],[19414,[524545,768,9,5,3]],[19415,[524356,2112,1088,192,12]],[19416,[524368,131136,65600,192,48]],[19417,[524288,33024,16640,8448,4352,768]],[19418,[593920,196608,36864,20480,12288]],[19419,[2621456,1572880,144,80,48]],[19420,[2621456,1572880,144,80,48]],[19421,[524288,33,17,9,5,3]],[19422,[1048576,2049,1025,9,5,3]],[19423,[1048576,2049,1025,9,5,3]],[19424,[1048833,2304,1280,768,3]],[19425,[1048833,2304,1280,768,3]],[19426,[1114368,196608,2304,1280,768]],[19427,[1114368,196608,2304,1280,768]],[19428,[1048576,32832,16448,8256,4160,192]],[19429,[1048576,524352,262208,131136,65600,192]],[19430,[1048848,8448,4352,768,48]],[19431,[1310721,786432,9,5,3]],[19432,[1310721,786432,9,5,3]],[19433,[1048576,524352,262208,131136,65600,192]],[19434,[1048576,32769,16385,8193,4097,3]],[19435,[1048576,32769,16385,8193,4097,3]],[19436,[1048576,33024,16640,2304,1280,768]],[19437,[1048576,33024,16640,2304,1280,768]],[19438,[1048576,132,68,36,20,12]],[19439,[1052676,36864,20480,12288,12]],[19440,[1052676,36864,20480,12288,12]],[19441,[1052676,36864,20480,12288,12]],[19442,[1048576,32784,16400,144,80,48]],[19443,[1048576,524289,262145,131073,65537,3]],[19444,[1048576,524289,262145,131073,65537,3]],[19445,[1048576,33024,16640,2304,1280,768]],[19446,[1064961,49152,9,5,3]],[19447,[1064961,49152,9,5,3]],[19448,[1114116,589824,327680,196608,12]],[19449,[1048576,2112,1088,576,320,192]],[19450,[1048576,32784,16400,144,80,48]],[19451,[1114368,589824,327680,196608,768]],[19452,[1114368,589824,327680,196608,768]],[19453,[1310976,786432,2304,1280,768]],[19454,[1310976,786432,2304,1280,768]],[19455,[1048576,33024,16640,8448,4352,768]],[19456,[1053696,36864,20480,12288,3072]],[19457,[1053696,36864,20480,12288,3072]],[19458,[1048576,132,68,36,20,12]],[19459,[1048641,192,9,5,3]],[19460,[1048641,192,9,5,3]],[19461,[1048576,32784,16400,144,80,48]],[19462,[1052673,12288,9,5,3]],[19463,[1114113,196608,9,5,3]],[19464,[1114113,196608,9,5,3]],[19465,[1048833,768,9,5,3]],[19466,[1048833,768,9,5,3]],[19467,[1048644,2112,1088,192,12]],[19468,[1048656,131136,65600,192,48]],[19469,[1048576,33024,16640,8448,4352,768]],[19470,[1118208,196608,36864,20480,12288]],[19471,[1310736,786432,144,80,48]],[19472,[1310736,786432,144,80,48]],[19473,[1048576,33,17,9,5,3]],[19474,[2097152,2049,1025,9,5,3]],[19475,[2097152,2049,1025,9,5,3]],[19476,[2097409,2304,1280,768,3]],[19477,[2097409,2304,1280,768,3]],[19478,[2162944,196608,2304,1280,768]],[19479,[2162944,196608,2304,1280,768]],[19480,[2097152,32832,16448,8256,4160,192]],[19481,[2097152,524352,262208,131136,65600,192]],[19482,[2097424,8448,4352,768,48]],[19483,[2359297,786432,9,5,3]],[19484,[2359297,786432,9,5,3]],[19485,[2097152,524352,262208,131136,65600,192]],[19486,[2097152,32769,16385,8193,4097,3]],[19487,[2097152,32769,16385,8193,4097,3]],[19488,[2097152,33024,16640,2304,1280,768]],[19489,[2097152,33024,16640,2304,1280,768]],[19490,[2097152,132,68,36,20,12]],[19491,[2101252,36864,20480,12288,12]],[19492,[2101252,36864,20480,12288,12]],[19493,[2101252,36864,20480,12288,12]],[19494,[2097152,32784,16400,144,80,48]],[19495,[2097152,524289,262145,131073,65537,3]],[19496,[2097152,524289,262145,131073,65537,3]],[19497,[2097152,33024,16640,2304,1280,768]],[19498,[2113537,49152,9,5,3]],[19499,[2113537,49152,9,5,3]],[19500,[2162692,589824,327680,196608,12]],[19501,[2097152,2112,1088,576,320,192]],[19502,[2097152,32784,16400,144,80,48]],[19503,[2162944,589824,327680,196608,768]],[19504,[2162944,589824,327680,196608,768]],[19505,[2359552,786432,2304,1280,768]],[19506,[2359552,786432,2304,1280,768]],[19507,[2097152,33024,16640,8448,4352,768]],[19508,[2102272,36864,20480,12288,3072]],[19509,[2102272,36864,20480,12288,3072]],[19510,[2097152,132,68,36,20,12]],[19511,[2097217,192,9,5,3]],[19512,[2097217,192,9,5,3]],[19513,[2097152,32784,16400,144,80,48]],[19514,[2101249,12288,9,5,3]],[19515,[2162689,196608,9,5,3]],[19516,[2162689,196608,9,5,3]],[19517,[2097409,768,9,5,3]],[19518,[2097409,768,9,5,3]],[19519,[2097220,2112,1088,192,12]],[19520,[2097232,131136,65600,192,48]],[19521,[2097152,33024,16640,8448,4352,768]],[19522,[2166784,196608,36864,20480,12288]],[19523,[2359312,786432,144,80,48]],[19524,[2359312,786432,144,80,48]],[19525,[2097152,33,17,9,5,3]],[19526,[33792,17408,9216,5120,3072,1]],[19527,[525312,263168,132096,66560,3072,1]],[19528,[33792,17408,9216,5120,3072,2]],[19529,[525312,263168,132096,66560,3072,2]],[19530,[33792,17408,9216,5120,3072,4]],[19531,[525312,263168,132096,66560,3072,4]],[19532,[33792,17408,9216,5120,3072,8]],[19533,[525312,263168,132096,66560,3072,8]],[19534,[33792,17408,9216,5120,3072,16]],[19535,[525312,263168,132096,66560,3072,16]],[19536,[33792,17408,9216,5120,3072,32]],[19537,[525312,263168,132096,66560,3072,32]],[19538,[33792,17408,9216,5120,3072,64]],[19539,[525312,263168,132096,66560,3072,64]],[19540,[33792,17408,9216,5120,3072,128]],[19541,[525312,263168,132096,66560,3072,128]],[19542,[33792,17408,9216,5120,3072,256]],[19543,[525312,263168,132096,66560,3072,256]],[19544,[33792,17408,9216,5120,3072,512]],[19545,[525312,263168,132096,66560,3072,512]],[19546,[33024,16640,8448,4352,1024,768]],[19547,[524544,262400,131328,65792,1024,768]],[19548,[33024,16640,8448,4352,2048,768]],[19549,[524544,262400,131328,65792,2048,768]],[19550,[33024,16640,4096,2304,1280,768]],[19551,[524544,262400,131328,65792,4096,768]],[19552,[33024,16640,8192,2304,1280,768]],[19553,[524544,262400,131328,65792,8192,768]],[19554,[16384,8448,4352,2304,1280,768]],[19555,[524544,262400,131328,65792,16384,768]],[19556,[32768,8448,4352,2304,1280,768]],[19557,[524544,262400,131328,65792,32768,768]],[19558,[65536,8448,4352,2304,1280,768]],[19559,[524544,262400,65536,33024,16640,768]],[19560,[131072,8448,4352,2304,1280,768]],[19561,[524544,262400,131072,33024,16640,768]],[19562,[262144,8448,4352,2304,1280,768]],[19563,[262144,131328,65792,33024,16640,768]],[19564,[524288,8448,4352,2304,1280,768]],[19565,[524288,131328,65792,33024,16640,768]],[19566,[1048576,8448,4352,2304,1280,768]],[19567,[1048576,131328,65792,33024,16640,768]],[19568,[2097152,8448,4352,2304,1280,768]],[19569,[2097152,131328,65792,33024,16640,768]],[19570,[2098177,1049601,131073,65537,3072,3]],[19571,[2098177,1049601,131073,65537,3072,3]],[19572,[524292,262148,8196,4100,512,256,12]],[19573,[524292,262148,8196,4100,512,256,12]],[19576,[131077,65541,132,68,12,3]],[19577,[32769,16385,8193,4097,2048,1024,3]],[19578,[32769,16385,8193,4097,2048,1024,3]],[19579,[8193,4097,2113,1089,192,3]],[19580,[8193,4097,2113,1089,192,3]],[19581,[524292,262148,2068,1044,48,12]],[19582,[2098180,1049604,524292,262148,3072,12]],[19583,[2098180,1049604,524292,262148,3072,12]],[19584,[2097152,1048576,32772,16388,132,68,12]],[19585,[8196,4100,2052,1028,32,16,12]],[19586,[131073,65537,8193,4097,2048,1024,3]],[19587,[524292,262148,2053,1029,12,3]],[19588,[524292,262148,2053,1029,12,3]],[19589,[524292,262148,512,256,132,68,12]],[19590,[132100,66564,33796,17412,3072,12]],[19591,[132100,66564,33796,17412,3072,12]],[19592,[8196,4100,2052,1028,32,16,12]],[19593,[524292,262148,33028,16644,768,12]],[19594,[524292,262148,33028,16644,768,12]],[19597,[131073,65537,2113,1089,192,3]],[19598,[9220,5124,3072,132,68,12]],[19599,[2097412,1048836,8196,4100,768,12]],[19600,[2097412,1048836,8196,4100,768,12]],[19601,[2097152,1048576,524292,262148,132,68,12]],[19604,[131076,65540,32772,16388,512,256,12]],[19605,[524292,262148,532,276,48,12]],[19606,[524292,262148,131076,65540,512,256,12]],[19607,[524292,262148,131076,65540,512,256,12]],[19608,[2097152,1048576,524292,262148,132,68,12]],[19609,[131076,65540,32772,16388,512,256,12]],[19610,[131073,65537,8193,4097,2048,1024,3]],[19611,[32769,16385,8193,4097,512,256,3]],[19612,[2097217,1048641,131073,65537,192,3]],[19613,[2097152,1048576,32772,16388,132,68,12]],[19614,[131073,65537,145,81,48,3]],[19615,[2097152,1048576,131072,65536,512,256,32,16]],[19616,[131073,65537,8193,4097,512,256,3]],[19617,[32832,16448,2116,1092,192,12]],[19618,[131344,65808,8464,4368,768,48]],[19619,[2113536,1064960,540672,278528,147456,81920,49152,1]],[19620,[524544,262400,8449,4353,768]],[19621,[2113536,1064960,540672,278528,147456,81920,49152,1]],[19622,[2113536,1064960,540672,278528,147456,81920,49152,2]],[19623,[524544,262400,8450,4354,768]],[19624,[2113536,1064960,540672,278528,147456,81920,49152,2]],[19625,[2113536,1064960,540672,278528,147456,81920,49152,4]],[19626,[524544,262400,8452,4356,768]],[19627,[2113536,1064960,540672,278528,147456,81920,49152,4]],[19628,[2113536,1064960,540672,278528,147456,81920,49152,8]],[19629,[524544,262400,8456,4360,768]],[19630,[2113536,1064960,540672,278528,147456,81920,49152,8]],[19631,[2113536,1064960,540672,278528,147456,81920,49152,16]],[19632,[524544,262400,8464,4368,768]],[19633,[2113536,1064960,540672,278528,147456,81920,49152,16]],[19634,[2113536,1064960,540672,278528,147456,81920,49152,32]],[19635,[524544,262400,8480,4384,768]],[19636,[2113536,1064960,540672,278528,147456,81920,49152,32]],[19637,[2113536,1064960,540672,278528,147456,81920,49152,64]],[19638,[524544,262400,8512,4416,768]],[19639,[2113536,1064960,540672,278528,147456,81920,49152,64]],[19640,[2113536,1064960,540672,278528,147456,81920,49152,128]],[19641,[524544,262400,8576,4480,768]],[19642,[2113536,1064960,540672,278528,147456,81920,49152,128]],[19643,[2113536,1064960,540672,278528,147456,81920,49152,256]],[19644,[524352,262208,8512,4416,192]],[19645,[2113536,1064960,540672,278528,147456,81920,49152,256]],[19646,[2113536,1064960,540672,278528,147456,81920,49152,512]],[19647,[524352,262208,8768,4672,192]],[19648,[2113536,1064960,540672,278528,147456,81920,49152,512]],[19649,[2113536,1064960,540672,278528,147456,81920,49152,1024]],[19650,[524352,262208,9280,5184,192]],[19651,[2113536,1064960,540672,278528,147456,81920,49152,1024]],[19652,[2113536,1064960,540672,278528,147456,81920,49152,2048]],[19653,[524352,262208,10304,6208,192]],[19654,[2113536,1064960,540672,278528,147456,81920,49152,2048]],[19655,[2113536,1064960,540672,278528,147456,81920,49152,4096]],[19656,[524352,262208,5184,3072,192]],[19657,[2113536,1064960,540672,278528,147456,81920,49152,4096]],[19658,[2113536,1064960,540672,278528,147456,81920,49152,8192]],[19659,[524352,262208,9280,3072,192]],[19660,[2113536,1064960,540672,278528,147456,81920,49152,8192]],[19661,[2101248,1052672,528384,266240,135168,69632,16384,12288]],[19662,[524352,262208,17472,3072,192]],[19663,[2101248,1052672,528384,266240,135168,69632,16384,12288]],[19664,[2101248,1052672,528384,266240,135168,69632,32768,12288]],[19665,[524352,262208,33856,3072,192]],[19666,[2101248,1052672,528384,266240,135168,69632,32768,12288]],[19667,[2101248,1052672,528384,266240,65536,36864,20480,12288]],[19668,[524352,262208,66624,3072,192]],[19669,[2101248,1052672,528384,266240,65536,36864,20480,12288]],[19670,[2101248,1052672,528384,266240,131072,36864,20480,12288]],[19671,[524352,262208,132160,3072,192]],[19672,[2101248,1052672,528384,266240,131072,36864,20480,12288]],[19673,[2101248,1052672,262144,135168,69632,36864,20480,12288]],[19674,[263232,131136,65600,3072,192]],[19675,[2101248,1052672,262144,135168,69632,36864,20480,12288]],[19676,[2101248,1052672,524288,135168,69632,36864,20480,12288]],[19677,[525376,131136,65600,3072,192]],[19678,[2101248,1052672,524288,135168,69632,36864,20480,12288]],[19679,[1048576,528384,266240,135168,69632,36864,20480,12288]],[19680,[1049664,131136,65600,3072,192]],[19681,[1048576,528384,266240,135168,69632,36864,20480,12288]],[19682,[2097152,528384,266240,135168,69632,36864,20480,12288]],[19683,[2098240,131136,65600,3072,192]],[19684,[2097152,528384,266240,135168,69632,36864,20480,12288]],[19685,[2053,1029,517,261,37,21,15]],[19686,[517,261,133,69,37,21,15]],[19687,[2097157,1048581,524293,262149,131077,65541,15]],[19688,[2097157,1048581,524293,262149,32773,16389,15]],[19689,[2054,1030,518,262,38,22,15]],[19690,[518,262,134,70,38,22,15]],[19691,[2097158,1048582,524294,262150,131078,65542,15]],[19692,[2097158,1048582,524294,262150,32774,16390,15]],[19693,[2052,1028,516,260,38,21,12]],[19694,[516,260,132,68,38,21,12]],[19695,[2097169,1048593,524305,262161,131089,65553,51]],[19696,[2097169,1048593,524305,262161,32785,16401,51]],[19697,[2052,1028,516,260,37,22,12]],[19698,[516,260,132,68,37,22,12]],[19699,[2097170,1048594,524306,262162,131090,65554,51]],[19700,[2097170,1048594,524306,262162,32786,16402,51]],[19701,[2052,1028,516,260,134,69,12]],[19702,[516,260,134,69,36,20,12]],[19703,[2097217,1048641,524353,262209,131137,65601,195]],[19704,[2097217,1048641,524353,262209,32833,16449,195]],[19705,[2052,1028,516,260,133,70,12]],[19706,[516,260,133,70,36,20,12]],[19707,[2097218,1048642,524354,262210,131138,65602,195]],[19708,[2097218,1048642,524354,262210,32834,16450,195]],[19709,[2052,1028,518,261,132,68,12]],[19710,[518,261,132,68,36,20,12]],[19711,[2097409,1048833,524545,262401,131329,65793,771]],[19712,[2097409,1048833,524545,262401,33025,16641,771]],[19713,[2052,1028,517,262,132,68,12]],[19714,[517,262,132,68,36,20,12]],[19715,[2097410,1048834,524546,262402,131330,65794,771]],[19716,[2097410,1048834,524546,262402,33026,16642,771]],[19717,[2054,1029,516,260,132,68,12]],[19718,[2054,1029,132,68,36,20,12]],[19719,[2098177,1049601,525313,263169,132097,66561,3075]],[19720,[2098177,1049601,525313,263169,33793,17409,3075]],[19721,[2053,1030,516,260,132,68,12]],[19722,[2053,1030,132,68,36,20,12]],[19723,[2098178,1049602,525314,263170,132098,66562,3075]],[19724,[2098178,1049602,525314,263170,33794,17410,3075]],[19725,[8198,4101,516,260,132,68,12]],[19726,[8198,4101,132,68,36,20,12]],[19727,[2101249,1052673,528385,266241,135169,69633,12291]],[19728,[2101249,1052673,528385,266241,36865,20481,12291]],[19729,[8197,4102,516,260,132,68,12]],[19730,[8197,4102,132,68,36,20,12]],[19731,[2101250,1052674,528386,266242,135170,69634,12291]],[19732,[2101250,1052674,528386,266242,36866,20482,12291]],[19733,[32774,16389,516,260,132,68,12]],[19734,[32774,16389,132,68,36,20,12]],[19735,[2113537,1064961,540673,278529,147457,81921,49155]],[19736,[2101248,1052672,528384,266240,36866,20481,12288]],[19737,[32773,16390,516,260,132,68,12]],[19738,[32773,16390,132,68,36,20,12]],[19739,[2113538,1064962,540674,278530,147458,81922,49155]],[19740,[2101248,1052672,528384,266240,36865,20482,12288]],[19741,[131078,65541,516,260,132,68,12]],[19742,[131078,65541,132,68,36,20,12]],[19743,[2113536,1064960,540672,278528,147458,81921,49152]],[19744,[2101248,1052672,528384,266240,135170,69633,12288]],[19745,[131077,65542,516,260,132,68,12]],[19746,[131077,65542,132,68,36,20,12]],[19747,[2113536,1064960,540672,278528,147457,81922,49152]],[19748,[2101248,1052672,528384,266240,135169,69634,12288]],[19749,[524294,262149,516,260,132,68,12]],[19750,[524294,262149,132,68,36,20,12]],[19751,[2113536,1064960,540674,278529,147456,81920,49152]],[19752,[2101248,1052672,528386,266241,135168,69632,12288]],[19753,[524293,262150,516,260,132,68,12]],[19754,[524293,262150,132,68,36,20,12]],[19755,[2113536,1064960,540673,278530,147456,81920,49152]],[19756,[2101248,1052672,528385,266242,135168,69632,12288]],[19757,[2097158,1048581,516,260,132,68,12]],[19758,[2097158,1048581,132,68,36,20,12]],[19759,[2113538,1064961,540672,278528,147456,81920,49152]],[19760,[2101250,1052673,528384,266240,135168,69632,12288]],[19761,[2097157,1048582,516,260,132,68,12]],[19762,[2097157,1048582,132,68,36,20,12]],[19763,[2113537,1064962,540672,278528,147456,81920,49152]],[19764,[2101249,1052674,528384,266240,135168,69632,12288]],[19765,[2049,1025,513,257,41,21,3]],[19766,[513,257,129,65,41,21,3]],[19767,[2097172,1048596,524308,262164,131092,65556,60]],[19768,[2097172,1048596,524308,262164,32788,16404,60]],[19769,[2049,1025,513,257,37,25,3]],[19770,[513,257,129,65,37,25,3]],[19771,[2097176,1048600,524312,262168,131096,65560,60]],[19772,[2097176,1048600,524312,262168,32792,16408,60]],[19773,[2049,1025,513,257,137,69,3]],[19774,[513,257,137,69,33,17,3]],[19775,[2097220,1048644,524356,262212,131140,65604,204]],[19776,[2097220,1048644,524356,262212,32836,16452,204]],[19777,[2049,1025,513,257,133,73,3]],[19778,[513,257,133,73,33,17,3]],[19779,[2097224,1048648,524360,262216,131144,65608,204]],[19780,[2097224,1048648,524360,262216,32840,16456,204]],[19781,[2049,1025,521,261,129,65,3]],[19782,[521,261,129,65,33,17,3]],[19783,[2097412,1048836,524548,262404,131332,65796,780]],[19784,[2097412,1048836,524548,262404,33028,16644,780]],[19785,[2049,1025,517,265,129,65,3]],[19786,[517,265,129,65,33,17,3]],[19787,[2097416,1048840,524552,262408,131336,65800,780]],[19788,[2097416,1048840,524552,262408,33032,16648,780]],[19789,[2057,1029,513,257,129,65,3]],[19790,[2057,1029,129,65,33,17,3]],[19791,[2098180,1049604,525316,263172,132100,66564,3084]],[19792,[2098180,1049604,525316,263172,33796,17412,3084]],[19793,[2053,1033,513,257,129,65,3]],[19794,[2053,1033,129,65,33,17,3]],[19795,[2098184,1049608,525320,263176,132104,66568,3084]],[19796,[2098184,1049608,525320,263176,33800,17416,3084]],[19797,[8201,4101,513,257,129,65,3]],[19798,[8201,4101,129,65,33,17,3]],[19799,[2101252,1052676,528388,266244,135172,69636,12300]],[19800,[2101252,1052676,528388,266244,36868,20484,12300]],[19801,[8197,4105,513,257,129,65,3]],[19802,[8197,4105,129,65,33,17,3]],[19803,[2101256,1052680,528392,266248,135176,69640,12300]],[19804,[2101256,1052680,528392,266248,36872,20488,12300]],[19805,[32777,16389,513,257,129,65,3]],[19806,[32777,16389,129,65,33,17,3]],[19807,[2113540,1064964,540676,278532,147460,81924,49164]],[19808,[2101248,1052672,528384,266240,36872,20484,12288]],[19809,[32773,16393,513,257,129,65,3]],[19810,[32773,16393,129,65,33,17,3]],[19811,[2113544,1064968,540680,278536,147464,81928,49164]],[19812,[2101248,1052672,528384,266240,36868,20488,12288]],[19813,[131081,65541,513,257,129,65,3]],[19814,[131081,65541,129,65,33,17,3]],[19815,[2113536,1064960,540672,278528,147464,81924,49152]],[19816,[2101248,1052672,528384,266240,135176,69636,12288]],[19817,[131077,65545,513,257,129,65,3]],[19818,[131077,65545,129,65,33,17,3]],[19819,[2113536,1064960,540672,278528,147460,81928,49152]],[19820,[2101248,1052672,528384,266240,135172,69640,12288]],[19821,[524297,262149,513,257,129,65,3]],[19822,[524297,262149,129,65,33,17,3]],[19823,[2113536,1064960,540680,278532,147456,81920,49152]],[19824,[2101248,1052672,528392,266244,135168,69632,12288]],[19825,[524293,262153,513,257,129,65,3]],[19826,[524293,262153,129,65,33,17,3]],[19827,[2113536,1064960,540676,278536,147456,81920,49152]],[19828,[2101248,1052672,528388,266248,135168,69632,12288]],[19829,[2097161,1048581,513,257,129,65,3]],[19830,[2097161,1048581,129,65,33,17,3]],[19831,[2113544,1064964,540672,278528,147456,81920,49152]],[19832,[2101256,1052676,528384,266240,135168,69632,12288]],[19833,[2097157,1048585,513,257,129,65,3]],[19834,[2097157,1048585,129,65,33,17,3]],[19835,[2113540,1064968,540672,278528,147456,81920,49152]],[19836,[2101252,1052680,528384,266240,135168,69632,12288]],[19837,[2049,1025,513,257,161,81,3]],[19838,[513,257,161,81,9,5,3]],[19839,[2097232,1048656,524368,262224,131152,65616,240]],[19840,[2097232,1048656,524368,262224,32848,16464,240]],[19841,[2049,1025,513,257,145,97,3]],[19842,[513,257,145,97,9,5,3]],[19843,[2097248,1048672,524384,262240,131168,65632,240]],[19844,[2097248,1048672,524384,262240,32864,16480,240]],[19845,[2049,1025,545,273,129,65,3]],[19846,[545,273,129,65,9,5,3]],[19847,[2097424,1048848,524560,262416,131344,65808,816]],[19848,[2097424,1048848,524560,262416,33040,16656,816]],[19849,[2049,1025,529,289,129,65,3]],[19850,[529,289,129,65,9,5,3]],[19851,[2097440,1048864,524576,262432,131360,65824,816]],[19852,[2097440,1048864,524576,262432,33056,16672,816]],[19853,[2081,1041,513,257,129,65,3]],[19854,[2081,1041,129,65,9,5,3]],[19855,[2098192,1049616,525328,263184,132112,66576,3120]],[19856,[2098192,1049616,525328,263184,33808,17424,3120]],[19857,[2065,1057,513,257,129,65,3]],[19858,[2065,1057,129,65,9,5,3]],[19859,[2098208,1049632,525344,263200,132128,66592,3120]],[19860,[2098208,1049632,525344,263200,33824,17440,3120]],[19861,[8225,4113,513,257,129,65,3]],[19862,[8225,4113,129,65,9,5,3]],[19863,[2101264,1052688,528400,266256,135184,69648,12336]],[19864,[2101264,1052688,528400,266256,36880,20496,12336]],[19865,[8209,4129,513,257,129,65,3]],[19866,[8209,4129,129,65,9,5,3]],[19867,[2101280,1052704,528416,266272,135200,69664,12336]],[19868,[2101280,1052704,528416,266272,36896,20512,12336]],[19869,[32801,16401,513,257,129,65,3]],[19870,[32801,16401,129,65,9,5,3]],[19871,[2113552,1064976,540688,278544,147472,81936,49200]],[19872,[2101248,1052672,528384,266240,36896,20496,12288]],[19873,[32785,16417,513,257,129,65,3]],[19874,[32785,16417,129,65,9,5,3]],[19875,[2113568,1064992,540704,278560,147488,81952,49200]],[19876,[2101248,1052672,528384,266240,36880,20512,12288]],[19877,[131105,65553,513,257,129,65,3]],[19878,[131105,65553,129,65,9,5,3]],[19879,[2113536,1064960,540672,278528,147488,81936,49152]],[19880,[2101248,1052672,528384,266240,135200,69648,12288]],[19881,[131089,65569,513,257,129,65,3]],[19882,[131089,65569,129,65,9,5,3]],[19883,[2113536,1064960,540672,278528,147472,81952,49152]],[19884,[2101248,1052672,528384,266240,135184,69664,12288]],[19885,[524321,262161,513,257,129,65,3]],[19886,[524321,262161,129,65,9,5,3]],[19887,[2113536,1064960,540704,278544,147456,81920,49152]],[19888,[2101248,1052672,528416,266256,135168,69632,12288]],[19889,[524305,262177,513,257,129,65,3]],[19890,[524305,262177,129,65,9,5,3]],[19891,[2113536,1064960,540688,278560,147456,81920,49152]],[19892,[2101248,1052672,528400,266272,135168,69632,12288]],[19893,[2097185,1048593,513,257,129,65,3]],[19894,[2097185,1048593,129,65,9,5,3]],[19895,[2113568,1064976,540672,278528,147456,81920,49152]],[19896,[2101280,1052688,528384,266240,135168,69632,12288]],[19897,[2097169,1048609,513,257,129,65,3]],[19898,[2097169,1048609,129,65,9,5,3]],[19899,[2113552,1064992,540672,278528,147456,81920,49152]],[19900,[2101264,1052704,528384,266240,135168,69632,12288]],[19901,[2049,1025,641,321,33,17,3]],[19902,[641,321,33,17,9,5,3]],[19903,[2097472,1048896,524608,262464,131392,65856,960]],[19904,[2097472,1048896,524608,262464,33088,16704,960]],[19905,[2049,1025,577,385,33,17,3]],[19906,[577,385,33,17,9,5,3]],[19907,[2097536,1048960,524672,262528,131456,65920,960]],[19908,[2097536,1048960,524672,262528,33152,16768,960]],[19909,[2177,1089,513,257,33,17,3]],[19910,[2177,1089,33,17,9,5,3]],[19911,[2098240,1049664,525376,263232,132160,66624,3264]],[19912,[2098240,1049664,525376,263232,33856,17472,3264]],[19913,[2113,1153,513,257,33,17,3]],[19914,[2113,1153,33,17,9,5,3]],[19915,[2098304,1049728,525440,263296,132224,66688,3264]],[19916,[2098304,1049728,525440,263296,33920,17536,3264]],[19917,[8321,4161,513,257,33,17,3]],[19918,[8321,4161,33,17,9,5,3]],[19919,[2101312,1052736,528448,266304,135232,69696,12480]],[19920,[2101312,1052736,528448,266304,36928,20544,12480]],[19921,[8257,4225,513,257,33,17,3]],[19922,[8257,4225,33,17,9,5,3]],[19923,[2101376,1052800,528512,266368,135296,69760,12480]],[19924,[2101376,1052800,528512,266368,36992,20608,12480]],[19925,[32897,16449,513,257,33,17,3]],[19926,[32897,16449,33,17,9,5,3]],[19927,[2113600,1065024,540736,278592,147520,81984,49344]],[19928,[2101248,1052672,528384,266240,36992,20544,12288]],[19929,[32833,16513,513,257,33,17,3]],[19930,[32833,16513,33,17,9,5,3]],[19931,[2113664,1065088,540800,278656,147584,82048,49344]],[19932,[2101248,1052672,528384,266240,36928,20608,12288]],[19933,[131201,65601,513,257,33,17,3]],[19934,[131201,65601,33,17,9,5,3]],[19935,[2113536,1064960,540672,278528,147584,81984,49152]],[19936,[2101248,1052672,528384,266240,135296,69696,12288]],[19937,[131137,65665,513,257,33,17,3]],[19938,[131137,65665,33,17,9,5,3]],[19939,[2113536,1064960,540672,278528,147520,82048,49152]],[19940,[2101248,1052672,528384,266240,135232,69760,12288]],[19941,[524417,262209,513,257,33,17,3]],[19942,[524417,262209,33,17,9,5,3]],[19943,[2113536,1064960,540800,278592,147456,81920,49152]],[19944,[2101248,1052672,528512,266304,135168,69632,12288]],[19945,[524353,262273,513,257,33,17,3]],[19946,[524353,262273,33,17,9,5,3]],[19947,[2113536,1064960,540736,278656,147456,81920,49152]],[19948,[2101248,1052672,528448,266368,135168,69632,12288]],[19949,[2097281,1048641,513,257,33,17,3]],[19950,[2097281,1048641,33,17,9,5,3]],[19951,[2113664,1065024,540672,278528,147456,81920,49152]],[19952,[2101376,1052736,528384,266240,135168,69632,12288]],[19953,[2097217,1048705,513,257,33,17,3]],[19954,[2097217,1048705,33,17,9,5,3]],[19955,[2113600,1065088,540672,278528,147456,81920,49152]],[19956,[2101312,1052800,528384,266240,135168,69632,12288]],[19957,[2561,1281,129,65,33,17,3]],[19958,[2561,1281,33,17,9,5,3]],[19959,[2098432,1049856,525568,263424,132352,66816,3840]],[19960,[2098432,1049856,525568,263424,34048,17664,3840]],[19961,[2305,1537,129,65,33,17,3]],[19962,[2305,1537,33,17,9,5,3]],[19963,[2098688,1050112,525824,263680,132608,67072,3840]],[19964,[2098688,1050112,525824,263680,34304,17920,3840]],[19965,[8705,4353,129,65,33,17,3]],[19966,[8705,4353,33,17,9,5,3]],[19967,[2101504,1052928,528640,266496,135424,69888,13056]],[19968,[2101504,1052928,528640,266496,37120,20736,13056]],[19969,[8449,4609,129,65,33,17,3]],[19970,[8449,4609,33,17,9,5,3]],[19971,[2101760,1053184,528896,266752,135680,70144,13056]],[19972,[2101760,1053184,528896,266752,37376,20992,13056]],[19973,[33281,16641,129,65,33,17,3]],[19974,[33281,16641,33,17,9,5,3]],[19975,[2113792,1065216,540928,278784,147712,82176,49920]],[19976,[2101248,1052672,528384,266240,37376,20736,12288]],[19977,[33025,16897,129,65,33,17,3]],[19978,[33025,16897,33,17,9,5,3]],[19979,[2114048,1065472,541184,279040,147968,82432,49920]],[19980,[2101248,1052672,528384,266240,37120,20992,12288]],[19981,[131585,65793,129,65,33,17,3]],[19982,[131585,65793,33,17,9,5,3]],[19983,[2113536,1064960,540672,278528,147968,82176,49152]],[19984,[2101248,1052672,528384,266240,135680,69888,12288]],[19985,[131329,66049,129,65,33,17,3]],[19986,[131329,66049,33,17,9,5,3]],[19987,[2113536,1064960,540672,278528,147712,82432,49152]],[19988,[2101248,1052672,528384,266240,135424,70144,12288]],[19989,[524801,262401,129,65,33,17,3]],[19990,[524801,262401,33,17,9,5,3]],[19991,[2113536,1064960,541184,278784,147456,81920,49152]],[19992,[2101248,1052672,528896,266496,135168,69632,12288]],[19993,[524545,262657,129,65,33,17,3]],[19994,[524545,262657,33,17,9,5,3]],[19995,[2113536,1064960,540928,279040,147456,81920,49152]],[19996,[2101248,1052672,528640,266752,135168,69632,12288]],[19997,[2097665,1048833,129,65,33,17,3]],[19998,[2097665,1048833,33,17,9,5,3]],[19999,[2114048,1065216,540672,278528,147456,81920,49152]],[20000,[2101760,1052928,528384,266240,135168,69632,12288]],[20001,[2097409,1049089,129,65,33,17,3]],[20002,[2097409,1049089,33,17,9,5,3]],[20003,[2113792,1065472,540672,278528,147456,81920,49152]],[20004,[2101504,1053184,528384,266240,135168,69632,12288]],[20005,[10241,5121,129,65,33,17,3]],[20006,[10241,5121,33,17,9,5,3]],[20007,[2102272,1053696,529408,267264,136192,70656,15360]],[20008,[2102272,1053696,529408,267264,37888,21504,15360]],[20009,[9217,6145,129,65,33,17,3]],[20010,[9217,6145,33,17,9,5,3]],[20011,[2103296,1054720,530432,268288,137216,71680,15360]],[20012,[2103296,1054720,530432,268288,38912,22528,15360]],[20013,[34817,17409,129,65,33,17,3]],[20014,[34817,17409,33,17,9,5,3]],[20015,[2114560,1065984,541696,279552,148480,82944,52224]],[20016,[2101248,1052672,528384,266240,38912,21504,12288]],[20017,[33793,18433,129,65,33,17,3]],[20018,[33793,18433,33,17,9,5,3]],[20019,[2115584,1067008,542720,280576,149504,83968,52224]],[20020,[2101248,1052672,528384,266240,37888,22528,12288]],[20021,[133121,66561,129,65,33,17,3]],[20022,[133121,66561,33,17,9,5,3]],[20023,[2113536,1064960,540672,278528,149504,82944,49152]],[20024,[2101248,1052672,528384,266240,137216,70656,12288]],[20025,[132097,67585,129,65,33,17,3]],[20026,[132097,67585,33,17,9,5,3]],[20027,[2113536,1064960,540672,278528,148480,83968,49152]],[20028,[2101248,1052672,528384,266240,136192,71680,12288]],[20029,[526337,263169,129,65,33,17,3]],[20030,[526337,263169,33,17,9,5,3]],[20031,[2113536,1064960,542720,279552,147456,81920,49152]],[20032,[2101248,1052672,530432,267264,135168,69632,12288]],[20033,[525313,264193,129,65,33,17,3]],[20034,[525313,264193,33,17,9,5,3]],[20035,[2113536,1064960,541696,280576,147456,81920,49152]],[20036,[2101248,1052672,529408,268288,135168,69632,12288]],[20037,[2099201,1049601,129,65,33,17,3]],[20038,[2099201,1049601,33,17,9,5,3]],[20039,[2115584,1065984,540672,278528,147456,81920,49152]],[20040,[2103296,1053696,528384,266240,135168,69632,12288]],[20041,[2098177,1050625,129,65,33,17,3]],[20042,[2098177,1050625,33,17,9,5,3]],[20043,[2114560,1067008,540672,278528,147456,81920,49152]],[20044,[2102272,1054720,528384,266240,135168,69632,12288]],[20045,[40961,20481,129,65,33,17,3]],[20046,[40961,20481,33,17,9,5,3]],[20047,[2117632,1069056,544768,282624,151552,86016,61440]],[20048,[2098176,1049600,525312,263168,41984,21504,3072]],[20049,[36865,24577,129,65,33,17,3]],[20050,[36865,24577,33,17,9,5,3]],[20051,[2121728,1073152,548864,286720,155648,90112,61440]],[20052,[2098176,1049600,525312,263168,37888,25600,3072]],[20053,[139265,69633,129,65,33,17,3]],[20054,[139265,69633,33,17,9,5,3]],[20055,[2113536,1064960,540672,278528,155648,86016,49152]],[20056,[2098176,1049600,525312,263168,140288,70656,3072]],[20057,[135169,73729,129,65,33,17,3]],[20058,[135169,73729,33,17,9,5,3]],[20059,[2113536,1064960,540672,278528,151552,90112,49152]],[20060,[2098176,1049600,525312,263168,136192,74752,3072]],[20061,[532481,266241,129,65,33,17,3]],[20062,[532481,266241,33,17,9,5,3]],[20063,[2113536,1064960,548864,282624,147456,81920,49152]],[20064,[2098176,1049600,533504,267264,132096,66560,3072]],[20065,[528385,270337,129,65,33,17,3]],[20066,[528385,270337,33,17,9,5,3]],[20067,[2113536,1064960,544768,286720,147456,81920,49152]],[20068,[2098176,1049600,529408,271360,132096,66560,3072]],[20069,[2105345,1052673,129,65,33,17,3]],[20070,[2105345,1052673,33,17,9,5,3]],[20071,[2121728,1069056,540672,278528,147456,81920,49152]],[20072,[2106368,1053696,525312,263168,132096,66560,3072]],[20073,[2101249,1056769,129,65,33,17,3]],[20074,[2101249,1056769,33,17,9,5,3]],[20075,[2117632,1073152,540672,278528,147456,81920,49152]],[20076,[2102272,1057792,525312,263168,132096,66560,3072]],[20077,[163841,81921,129,65,33,17,3]],[20078,[163841,81921,33,17,9,5,3]],[20079,[2101248,1052672,528384,266240,167936,86016,12288]],[20080,[2098176,1049600,525312,263168,164864,82944,3072]],[20081,[147457,98305,129,65,33,17,3]],[20082,[147457,98305,33,17,9,5,3]],[20083,[2101248,1052672,528384,266240,151552,102400,12288]],[20084,[2098176,1049600,525312,263168,148480,99328,3072]],[20085,[557057,278529,129,65,33,17,3]],[20086,[557057,278529,33,17,9,5,3]],[20087,[2101248,1052672,561152,282624,135168,69632,12288]],[20088,[2098176,1049600,558080,279552,132096,66560,3072]],[20089,[540673,294913,129,65,33,17,3]],[20090,[540673,294913,33,17,9,5,3]],[20091,[2101248,1052672,544768,299008,135168,69632,12288]],[20092,[2098176,1049600,541696,295936,132096,66560,3072]],[20093,[2129921,1064961,129,65,33,17,3]],[20094,[2129921,1064961,33,17,9,5,3]],[20095,[2134016,1069056,528384,266240,135168,69632,12288]],[20096,[2130944,1065984,525312,263168,132096,66560,3072]],[20097,[2113537,1081345,129,65,33,17,3]],[20098,[2113537,1081345,33,17,9,5,3]],[20099,[2117632,1085440,528384,266240,135168,69632,12288]],[20100,[2114560,1082368,525312,263168,132096,66560,3072]],[20101,[655361,327681,129,65,33,17,3]],[20102,[655361,327681,33,17,9,5,3]],[20103,[2101248,1052672,659456,331776,36864,20480,12288]],[20104,[2098176,1049600,656384,328704,33792,17408,3072]],[20105,[589825,393217,129,65,33,17,3]],[20106,[589825,393217,33,17,9,5,3]],[20107,[2101248,1052672,593920,397312,36864,20480,12288]],[20108,[2098176,1049600,590848,394240,33792,17408,3072]],[20109,[2228225,1114113,129,65,33,17,3]],[20110,[2228225,1114113,33,17,9,5,3]],[20111,[2232320,1118208,528384,266240,36864,20480,12288]],[20112,[2229248,1115136,525312,263168,33792,17408,3072]],[20113,[2162689,1179649,129,65,33,17,3]],[20114,[2162689,1179649,33,17,9,5,3]],[20115,[2166784,1183744,528384,266240,36864,20480,12288]],[20116,[2163712,1180672,525312,263168,33792,17408,3072]],[20117,[2621441,1310721,129,65,33,17,3]],[20118,[2621441,1310721,33,17,9,5,3]],[20119,[2625536,1314816,135168,69632,36864,20480,12288]],[20120,[2622464,1311744,132096,66560,33792,17408,3072]],[20121,[2359297,1572865,129,65,33,17,3]],[20122,[2359297,1572865,33,17,9,5,3]],[20123,[2363392,1576960,135168,69632,36864,20480,12288]],[20124,[2360320,1573888,132096,66560,33792,17408,3072]],[20125,[2065,1041,529,273,48]],[20126,[2101249,1052673,147457,81921,49152,12288]],[20127,[2066,1042,530,274,48]],[20128,[2101250,1052674,147458,81922,49152,12288]],[20129,[2068,1044,532,276,48]],[20130,[2101252,1052676,147460,81924,49152,12288]],[20131,[8216,4120,2072,1048,536,280,48]],[20132,[2101256,1052680,147464,81928,49152,12288]],[20133,[2068,1044,532,276,12]],[20134,[2101264,1052688,147472,81936,49152,12288]],[20135,[2084,1060,548,292,12]],[20136,[2101280,1052704,147488,81952,49152,12288]],[20137,[2116,1092,580,324,12]],[20138,[2101312,1052736,147520,81984,49152,12288]],[20139,[2180,1156,644,388,12]],[20140,[2101376,1052800,147584,82048,49152,12288]],[20141,[8256,4160,2112,1088,324,192,12]],[20142,[2101504,1052928,147712,82176,49152,12288]],[20143,[2112,1088,580,192,12]],[20144,[2101760,1053184,147968,82432,49152,12288]],[20145,[1092,576,320,192,12]],[20146,[2102272,1053696,148480,82944,49152,12288]],[20147,[2116,576,320,192,12]],[20148,[2103296,1054720,149504,83968,49152,12288]],[20149,[4164,576,320,192,12]],[20150,[2102272,1053696,151552,86016,49152,3072]],[20151,[8260,576,320,192,12]],[20152,[2106368,1057792,155648,90112,49152,3072]],[20153,[16452,576,320,192,12]],[20154,[2114560,1065984,151552,86016,12288,3072]],[20155,[32836,576,320,192,12]],[20156,[2130944,1082368,167936,102400,12288,3072]],[20157,[65604,576,320,192,12]],[20158,[2118656,1070080,86016,49152,12288,3072]],[20159,[131140,576,320,192,12]],[20160,[2118656,1070080,151552,49152,12288,3072]],[20161,[262212,2112,1088,576,320,192,12]],[20162,[2118656,1070080,282624,49152,12288,3072]],[20163,[524356,576,320,192,12]],[20164,[2118656,1070080,544768,49152,12288,3072]],[20165,[1048644,576,320,192,12]],[20166,[1069056,545792,283648,49152,12288,3072]],[20167,[2097220,576,320,192,12]],[20168,[2117632,545792,283648,49152,12288,3072]],[20173,[131136,65600,32832,16448,8256,4160,512,256,192]],[20183,[2097156,1048580,36868,20484,12288,12]],[20199,[32848,16464,8272,4176,192,48]],[20212,[529408,267264,36864,20480,12288,3072]],[20231,[2097472,1048896,524352,262208,768,192]],[20264,[131136,65600,32832,16448,8256,4160,512,256,192]],[20281,[2097152,1048576,524289,262145,131073,65537,8193,4097,3]],[20287,[8193,4097,2065,1041,529,273,48,3]],[20307,[8193,4097,2065,1041,529,273,48,3]],[20322,[2097152,1048576,131073,65537,32769,16385,8193,4097,3]],[20323,[2097152,1048576,131073,65537,32769,16385,8193,4097,3]],[20324,[2097152,1048576,131073,65537,32769,16385,8193,4097,3]],[20350,[132112,66576,33808,17424,3072,48]],[20359,[131076,65540,8196,4100,132,68,32,16,12]],[20389,[2113792,1065216,147456,81920,49152,768]],[20407,[131073,65537,32769,16385,8193,4097,512,256,3]],[20421,[131073,65537,32769,16385,8193,4097,512,256,3]],[20422,[32832,16448,592,336,192,48]],[20448,[528640,266496,36864,20480,12288,768]],[20456,[8193,4097,2065,1041,48,3]],[20461,[2097409,1048833,8193,4097,2304,1280,768,3]],[20464,[2101312,1052736,36864,20480,12288,192]],[20477,[2097156,1048580,524292,262148,36,20,12,1]],[20478,[8196,4100,2052,1028,36,20,12,1]],[20479,[8196,4100,2052,1028,36,20,12,1]],[20480,[2097156,1048580,524292,262148,36,20,12,1]],[20481,[2097156,1048580,524292,262148,132,68,12,1]],[20482,[131076,65540,32772,16388,36,20,12,1]],[20483,[2098177,1049601,525313,263169,9216,5120,3072]],[20484,[8197,4101,2053,1029,517,261,12]],[20485,[2097169,1048593,524305,262161,32785,16401,48]],[20486,[2097156,1048580,524292,262148,36,20,12,1]],[20487,[132096,66560,33792,17408,9216,5120,3072,1]],[20488,[132096,66560,33792,17408,9216,5120,3072,1]],[20489,[132096,66560,33792,17408,9216,5120,3072,1]],[20490,[32832,16448,8256,4160,2112,1088,192,1]],[20491,[32832,16448,8256,4160,2112,1088,192,1]],[20492,[516,260,132,68,36,20,12,1]],[20493,[32773,16389,2052,1028,36,20,12]],[20494,[2098177,1049601,525313,263169,9216,5120,3072]],[20495,[524292,262148,516,260,36,20,12,1]],[20496,[8196,4100,2052,1028,36,20,12,1]],[20497,[8196,4100,2052,1028,36,20,12,1]],[20498,[8196,4100,2052,1028,36,20,12,1]],[20499,[8196,4100,2052,1028,36,20,12,1]],[20500,[131076,65540,2053,1029,36,20,12]],[20501,[2097157,1048581,131076,65540,36,20,12]],[20502,[524352,262208,32832,16448,576,320,192,1]],[20503,[2097156,1048580,524292,262148,132,68,12,1]],[20504,[524292,262148,516,260,36,20,12,1]],[20505,[8256,4160,2112,1088,576,320,192,1]],[20506,[2097156,1048580,524292,262148,36,20,12,1]],[20507,[2097156,1048580,524292,262148,36,20,12,1]],[20508,[2097216,1048640,524352,262208,576,320,192,1]],[20509,[2097216,1048640,524352,262208,576,320,192,1]],[20510,[2097216,1048640,524352,262208,576,320,192,1]],[20511,[2097217,1048641,32832,16448,576,320,192]],[20512,[2097217,1048641,32832,16448,576,320,192]],[20513,[2098177,1049601,132096,66560,9216,5120,3072]],[20514,[2097156,1048580,524292,262148,36,20,12,1]],[20515,[516,260,132,68,36,20,12,1]],[20516,[516,260,132,68,36,20,12,1]],[20517,[524352,262208,32832,16448,576,320,192,1]],[20518,[524352,262208,32832,16448,576,320,192,1]],[20519,[524305,262161,131089,65553,32785,16401,48]],[20520,[32773,16389,8196,4100,12]],[20521,[2097408,1048832,524544,262400,131328,65792,768,1]],[20522,[2097156,1048580,524292,262148,36,20,12,2]],[20523,[8196,4100,2052,1028,36,20,12,2]],[20524,[8196,4100,2052,1028,36,20,12,2]],[20525,[2097156,1048580,524292,262148,36,20,12,2]],[20526,[2097156,1048580,524292,262148,132,68,12,2]],[20527,[131076,65540,32772,16388,36,20,12,2]],[20528,[2098178,1049602,525314,263170,9216,5120,3072]],[20529,[8198,4102,2054,1030,518,262,12]],[20530,[2097170,1048594,524306,262162,32786,16402,48]],[20531,[2097156,1048580,524292,262148,36,20,12,2]],[20532,[132096,66560,33792,17408,9216,5120,3072,2]],[20533,[132096,66560,33792,17408,9216,5120,3072,2]],[20534,[132096,66560,33792,17408,9216,5120,3072,2]],[20535,[32832,16448,8256,4160,2112,1088,192,2]],[20536,[32832,16448,8256,4160,2112,1088,192,2]],[20537,[516,260,132,68,36,20,12,2]],[20538,[32774,16390,2052,1028,36,20,12]],[20539,[2098178,1049602,525314,263170,9216,5120,3072]],[20540,[524292,262148,516,260,36,20,12,2]],[20541,[8196,4100,2052,1028,36,20,12,2]],[20542,[8196,4100,2052,1028,36,20,12,2]],[20543,[8196,4100,2052,1028,36,20,12,2]],[20544,[8196,4100,2052,1028,36,20,12,2]],[20545,[131076,65540,2054,1030,36,20,12]],[20546,[2097158,1048582,131076,65540,36,20,12]],[20547,[524352,262208,32832,16448,576,320,192,2]],[20548,[2097156,1048580,524292,262148,132,68,12,2]],[20549,[524292,262148,516,260,36,20,12,2]],[20550,[8256,4160,2112,1088,576,320,192,2]],[20551,[2097156,1048580,524292,262148,36,20,12,2]],[20552,[2097156,1048580,524292,262148,36,20,12,2]],[20553,[2097216,1048640,524352,262208,576,320,192,2]],[20554,[2097216,1048640,524352,262208,576,320,192,2]],[20555,[2097216,1048640,524352,262208,576,320,192,2]],[20556,[2097218,1048642,32832,16448,576,320,192]],[20557,[2097218,1048642,32832,16448,576,320,192]],[20558,[2098178,1049602,132096,66560,9216,5120,3072]],[20559,[2097156,1048580,524292,262148,36,20,12,2]],[20560,[516,260,132,68,36,20,12,2]],[20561,[516,260,132,68,36,20,12,2]],[20562,[524352,262208,32832,16448,576,320,192,2]],[20563,[524352,262208,32832,16448,576,320,192,2]],[20564,[524306,262162,131090,65554,32786,16402,48]],[20565,[32774,16390,8196,4100,12]],[20566,[2097408,1048832,524544,262400,131328,65792,768,2]],[20567,[2097153,1048577,524289,262145,33,17,4,3]],[20568,[8193,4097,2049,1025,33,17,4,3]],[20569,[8193,4097,2049,1025,33,17,4,3]],[20570,[2097153,1048577,524289,262145,33,17,4,3]],[20571,[2097153,1048577,524289,262145,129,65,4,3]],[20572,[131073,65537,32769,16385,33,17,4,3]],[20573,[2098180,1049604,525316,263172,9216,5120,3072]],[20574,[8197,4101,2053,1029,517,261,3]],[20575,[2097172,1048596,524308,262164,32788,16404,48]],[20576,[2097153,1048577,524289,262145,33,17,4,3]],[20577,[132096,66560,33792,17408,9216,5120,3072,4]],[20578,[132096,66560,33792,17408,9216,5120,3072,4]],[20579,[132096,66560,33792,17408,9216,5120,3072,4]],[20580,[32832,16448,8256,4160,2112,1088,192,4]],[20581,[32832,16448,8256,4160,2112,1088,192,4]],[20582,[513,257,129,65,33,17,4,3]],[20583,[32773,16389,2049,1025,33,17,3]],[20584,[2098180,1049604,525316,263172,9216,5120,3072]],[20585,[524289,262145,513,257,33,17,4,3]],[20586,[8193,4097,2049,1025,33,17,4,3]],[20587,[8193,4097,2049,1025,33,17,4,3]],[20588,[8193,4097,2049,1025,33,17,4,3]],[20589,[8193,4097,2049,1025,33,17,4,3]],[20590,[131073,65537,2053,1029,33,17,3]],[20591,[2097157,1048581,131073,65537,33,17,3]],[20592,[524352,262208,32832,16448,576,320,192,4]],[20593,[2097153,1048577,524289,262145,129,65,4,3]],[20594,[524289,262145,513,257,33,17,4,3]],[20595,[8256,4160,2112,1088,576,320,192,4]],[20596,[2097153,1048577,524289,262145,33,17,4,3]],[20597,[2097153,1048577,524289,262145,33,17,4,3]],[20598,[2097216,1048640,524352,262208,576,320,192,4]],[20599,[2097216,1048640,524352,262208,576,320,192,4]],[20600,[2097216,1048640,524352,262208,576,320,192,4]],[20601,[2097220,1048644,32832,16448,576,320,192]],[20602,[2097220,1048644,32832,16448,576,320,192]],[20603,[2098180,1049604,132096,66560,9216,5120,3072]],[20604,[2097153,1048577,524289,262145,33,17,4,3]],[20605,[513,257,129,65,33,17,4,3]],[20606,[513,257,129,65,33,17,4,3]],[20607,[524352,262208,32832,16448,576,320,192,4]],[20608,[524352,262208,32832,16448,576,320,192,4]],[20609,[524308,262164,131092,65556,32788,16404,48]],[20610,[32773,16389,8193,4097,3]],[20611,[2097408,1048832,524544,262400,131328,65792,768,4]],[20612,[2097153,1048577,524289,262145,33,17,8,3]],[20613,[8193,4097,2049,1025,33,17,8,3]],[20614,[8193,4097,2049,1025,33,17,8,3]],[20615,[2097153,1048577,524289,262145,33,17,8,3]],[20616,[2097153,1048577,524289,262145,129,65,8,3]],[20617,[131073,65537,32769,16385,33,17,8,3]],[20618,[2098184,1049608,525320,263176,9216,5120,3072]],[20619,[8201,4105,2057,1033,521,265,3]],[20620,[2097176,1048600,524312,262168,32792,16408,48]],[20621,[2097153,1048577,524289,262145,33,17,8,3]],[20622,[132096,66560,33792,17408,9216,5120,3072,8]],[20623,[132096,66560,33792,17408,9216,5120,3072,8]],[20624,[132096,66560,33792,17408,9216,5120,3072,8]],[20625,[32832,16448,8256,4160,2112,1088,192,8]],[20626,[32832,16448,8256,4160,2112,1088,192,8]],[20627,[513,257,129,65,33,17,8,3]],[20628,[32777,16393,2049,1025,33,17,3]],[20629,[2098184,1049608,525320,263176,9216,5120,3072]],[20630,[524289,262145,513,257,33,17,8,3]],[20631,[8193,4097,2049,1025,33,17,8,3]],[20632,[8193,4097,2049,1025,33,17,8,3]],[20633,[8193,4097,2049,1025,33,17,8,3]],[20634,[8193,4097,2049,1025,33,17,8,3]],[20635,[131073,65537,2057,1033,33,17,3]],[20636,[2097161,1048585,131073,65537,33,17,3]],[20637,[524352,262208,32832,16448,576,320,192,8]],[20638,[2097153,1048577,524289,262145,129,65,8,3]],[20639,[524289,262145,513,257,33,17,8,3]],[20640,[8256,4160,2112,1088,576,320,192,8]],[20641,[2097153,1048577,524289,262145,33,17,8,3]],[20642,[2097153,1048577,524289,262145,33,17,8,3]],[20643,[2097216,1048640,524352,262208,576,320,192,8]],[20644,[2097216,1048640,524352,262208,576,320,192,8]],[20645,[2097216,1048640,524352,262208,576,320,192,8]],[20646,[2097224,1048648,32832,16448,576,320,192]],[20647,[2097224,1048648,32832,16448,576,320,192]],[20648,[2098184,1049608,132096,66560,9216,5120,3072]],[20649,[2097153,1048577,524289,262145,33,17,8,3]],[20650,[513,257,129,65,33,17,8,3]],[20651,[513,257,129,65,33,17,8,3]],[20652,[524352,262208,32832,16448,576,320,192,8]],[20653,[524352,262208,32832,16448,576,320,192,8]],[20654,[524312,262168,131096,65560,32792,16408,48]],[20655,[32777,16393,8193,4097,3]],[20656,[2097408,1048832,524544,262400,131328,65792,768,8]],[20657,[2097153,1048577,524289,262145,16,9,5,3]],[20658,[8193,4097,2049,1025,16,9,5,3]],[20659,[8193,4097,2049,1025,16,9,5,3]],[20660,[2097153,1048577,524289,262145,16,9,5,3]],[20661,[2097153,1048577,524289,262145,129,65,16,3]],[20662,[131073,65537,32769,16385,16,9,5,3]],[20663,[2098192,1049616,525328,263184,9216,5120,3072]],[20664,[8209,4113,2065,1041,529,273,3]],[20665,[2097172,1048596,524308,262164,32788,16404,12]],[20666,[2097153,1048577,524289,262145,16,9,5,3]],[20667,[132096,66560,33792,17408,9216,5120,3072,16]],[20668,[132096,66560,33792,17408,9216,5120,3072,16]],[20669,[132096,66560,33792,17408,9216,5120,3072,16]],[20670,[32832,16448,8256,4160,2112,1088,192,16]],[20671,[32832,16448,8256,4160,2112,1088,192,16]],[20672,[513,257,129,65,16,9,5,3]],[20673,[32785,16401,2049,1025,9,5,3]],[20674,[2098192,1049616,525328,263184,9216,5120,3072]],[20675,[524289,262145,513,257,16,9,5,3]],[20676,[8193,4097,2049,1025,16,9,5,3]],[20677,[8193,4097,2049,1025,16,9,5,3]],[20678,[8193,4097,2049,1025,16,9,5,3]],[20679,[8193,4097,2049,1025,16,9,5,3]],[20680,[131073,65537,2065,1041,9,5,3]],[20681,[2097169,1048593,131073,65537,9,5,3]],[20682,[524352,262208,32832,16448,576,320,192,16]],[20683,[2097153,1048577,524289,262145,129,65,16,3]],[20684,[524289,262145,513,257,16,9,5,3]],[20685,[8256,4160,2112,1088,576,320,192,16]],[20686,[2097153,1048577,524289,262145,16,9,5,3]],[20687,[2097153,1048577,524289,262145,16,9,5,3]],[20688,[2097216,1048640,524352,262208,576,320,192,16]],[20689,[2097216,1048640,524352,262208,576,320,192,16]],[20690,[2097216,1048640,524352,262208,576,320,192,16]],[20691,[2097232,1048656,32832,16448,576,320,192]],[20692,[2097232,1048656,32832,16448,576,320,192]],[20693,[2098192,1049616,132096,66560,9216,5120,3072]],[20694,[2097153,1048577,524289,262145,16,9,5,3]],[20695,[513,257,129,65,16,9,5,3]],[20696,[513,257,129,65,16,9,5,3]],[20697,[524352,262208,32832,16448,576,320,192,16]],[20698,[524352,262208,32832,16448,576,320,192,16]],[20699,[524308,262164,131092,65556,32788,16404,12]],[20700,[32785,16401,8193,4097,3]],[20701,[2097408,1048832,524544,262400,131328,65792,768,16]],[20702,[2097153,1048577,524289,262145,32,9,5,3]],[20703,[8193,4097,2049,1025,32,9,5,3]],[20704,[8193,4097,2049,1025,32,9,5,3]],[20705,[2097153,1048577,524289,262145,32,9,5,3]],[20706,[2097153,1048577,524289,262145,129,65,32,3]],[20707,[131073,65537,32769,16385,32,9,5,3]],[20708,[2098208,1049632,525344,263200,9216,5120,3072]],[20709,[8225,4129,2081,1057,545,289,3]],[20710,[2097188,1048612,524324,262180,32804,16420,12]],[20711,[2097153,1048577,524289,262145,32,9,5,3]],[20712,[132096,66560,33792,17408,9216,5120,3072,32]],[20713,[132096,66560,33792,17408,9216,5120,3072,32]],[20714,[132096,66560,33792,17408,9216,5120,3072,32]],[20715,[32832,16448,8256,4160,2112,1088,192,32]],[20716,[32832,16448,8256,4160,2112,1088,192,32]],[20717,[513,257,129,65,32,9,5,3]],[20718,[32801,16417,2049,1025,9,5,3]],[20719,[2098208,1049632,525344,263200,9216,5120,3072]],[20720,[524289,262145,513,257,32,9,5,3]],[20721,[8193,4097,2049,1025,32,9,5,3]],[20722,[8193,4097,2049,1025,32,9,5,3]],[20723,[8193,4097,2049,1025,32,9,5,3]],[20724,[8193,4097,2049,1025,32,9,5,3]],[20725,[131073,65537,2081,1057,9,5,3]],[20726,[2097185,1048609,131073,65537,9,5,3]],[20727,[524352,262208,32832,16448,576,320,192,32]],[20728,[2097153,1048577,524289,262145,129,65,32,3]],[20729,[524289,262145,513,257,32,9,5,3]],[20730,[8256,4160,2112,1088,576,320,192,32]],[20731,[2097153,1048577,524289,262145,32,9,5,3]],[20732,[2097153,1048577,524289,262145,32,9,5,3]],[20733,[2097216,1048640,524352,262208,576,320,192,32]],[20734,[2097216,1048640,524352,262208,576,320,192,32]],[20735,[2097216,1048640,524352,262208,576,320,192,32]],[20736,[2097248,1048672,32832,16448,576,320,192]],[20737,[2097248,1048672,32832,16448,576,320,192]],[20738,[2098208,1049632,132096,66560,9216,5120,3072]],[20739,[2097153,1048577,524289,262145,32,9,5,3]],[20740,[513,257,129,65,32,9,5,3]],[20741,[513,257,129,65,32,9,5,3]],[20742,[524352,262208,32832,16448,576,320,192,32]],[20743,[524352,262208,32832,16448,576,320,192,32]],[20744,[524324,262180,131108,65572,32804,16420,12]],[20745,[32801,16417,8193,4097,3]],[20746,[2097408,1048832,524544,262400,131328,65792,768,32]],[20747,[2097153,1048577,524289,262145,64,9,5,3]],[20748,[8193,4097,2049,1025,64,9,5,3]],[20749,[8193,4097,2049,1025,64,9,5,3]],[20750,[2097153,1048577,524289,262145,64,9,5,3]],[20751,[2097153,1048577,524289,262145,64,33,17,3]],[20752,[131073,65537,32769,16385,64,9,5,3]],[20753,[2098240,1049664,525376,263232,9216,5120,3072]],[20754,[8257,4161,2113,1089,577,321,3]],[20755,[2097220,1048644,524356,262212,32836,16452,12]],[20756,[2097153,1048577,524289,262145,64,9,5,3]],[20757,[132096,66560,33792,17408,9216,5120,3072,64]],[20758,[132096,66560,33792,17408,9216,5120,3072,64]],[20759,[132096,66560,33792,17408,9216,5120,3072,64]],[20760,[32784,16400,8208,4112,2064,1040,64,48]],[20761,[32784,16400,8208,4112,2064,1040,64,48]],[20762,[513,257,64,33,17,9,5,3]],[20763,[32833,16449,2049,1025,9,5,3]],[20764,[2098240,1049664,525376,263232,9216,5120,3072]],[20765,[524289,262145,513,257,64,9,5,3]],[20766,[8193,4097,2049,1025,64,9,5,3]],[20767,[8193,4097,2049,1025,64,9,5,3]],[20768,[8193,4097,2049,1025,64,9,5,3]],[20769,[8193,4097,2049,1025,64,9,5,3]],[20770,[131073,65537,2113,1089,9,5,3]],[20771,[2097217,1048641,131073,65537,9,5,3]],[20772,[524304,262160,32784,16400,528,272,64,48]],[20773,[2097153,1048577,524289,262145,64,33,17,3]],[20774,[524289,262145,513,257,64,9,5,3]],[20775,[8208,4112,2064,1040,528,272,64,48]],[20776,[2097153,1048577,524289,262145,64,9,5,3]],[20777,[2097153,1048577,524289,262145,64,9,5,3]],[20778,[2097168,1048592,524304,262160,528,272,64,48]],[20779,[2097168,1048592,524304,262160,528,272,64,48]],[20780,[2097168,1048592,524304,262160,528,272,64,48]],[20781,[2097232,1048656,32784,16400,528,272,48]],[20782,[2097232,1048656,32784,16400,528,272,48]],[20783,[2098240,1049664,132096,66560,9216,5120,3072]],[20784,[2097153,1048577,524289,262145,64,9,5,3]],[20785,[513,257,64,33,17,9,5,3]],[20786,[513,257,64,33,17,9,5,3]],[20787,[524304,262160,32784,16400,528,272,64,48]],[20788,[524304,262160,32784,16400,528,272,64,48]],[20789,[524356,262212,131140,65604,32836,16452,12]],[20790,[32833,16449,8193,4097,3]],[20791,[2097408,1048832,524544,262400,131328,65792,768,64]],[20792,[2097153,1048577,524289,262145,128,9,5,3]],[20793,[8193,4097,2049,1025,128,9,5,3]],[20794,[8193,4097,2049,1025,128,9,5,3]],[20795,[2097153,1048577,524289,262145,128,9,5,3]],[20796,[2097153,1048577,524289,262145,128,33,17,3]],[20797,[131073,65537,32769,16385,128,9,5,3]],[20798,[2098304,1049728,525440,263296,9216,5120,3072]],[20799,[8321,4225,2177,1153,641,385,3]],[20800,[2097284,1048708,524420,262276,32900,16516,12]],[20801,[2097153,1048577,524289,262145,128,9,5,3]],[20802,[132096,66560,33792,17408,9216,5120,3072,128]],[20803,[132096,66560,33792,17408,9216,5120,3072,128]],[20804,[132096,66560,33792,17408,9216,5120,3072,128]],[20805,[32784,16400,8208,4112,2064,1040,128,48]],[20806,[32784,16400,8208,4112,2064,1040,128,48]],[20807,[513,257,128,33,17,9,5,3]],[20808,[32897,16513,2049,1025,9,5,3]],[20809,[2098304,1049728,525440,263296,9216,5120,3072]],[20810,[524289,262145,513,257,128,9,5,3]],[20811,[8193,4097,2049,1025,128,9,5,3]],[20812,[8193,4097,2049,1025,128,9,5,3]],[20813,[8193,4097,2049,1025,128,9,5,3]],[20814,[8193,4097,2049,1025,128,9,5,3]],[20815,[131073,65537,2177,1153,9,5,3]],[20816,[2097281,1048705,131073,65537,9,5,3]],[20817,[524304,262160,32784,16400,528,272,128,48]],[20818,[2097153,1048577,524289,262145,128,33,17,3]],[20819,[524289,262145,513,257,128,9,5,3]],[20820,[8208,4112,2064,1040,528,272,128,48]],[20821,[2097153,1048577,524289,262145,128,9,5,3]],[20822,[2097153,1048577,524289,262145,128,9,5,3]],[20823,[2097168,1048592,524304,262160,528,272,128,48]],[20824,[2097168,1048592,524304,262160,528,272,128,48]],[20825,[2097168,1048592,524304,262160,528,272,128,48]],[20826,[2097296,1048720,32784,16400,528,272,48]],[20827,[2097296,1048720,32784,16400,528,272,48]],[20828,[2098304,1049728,132096,66560,9216,5120,3072]],[20829,[2097153,1048577,524289,262145,128,9,5,3]],[20830,[513,257,128,33,17,9,5,3]],[20831,[513,257,128,33,17,9,5,3]],[20832,[524304,262160,32784,16400,528,272,128,48]],[20833,[524304,262160,32784,16400,528,272,128,48]],[20834,[524420,262276,131204,65668,32900,16516,12]],[20835,[32897,16513,8193,4097,3]],[20836,[2097408,1048832,524544,262400,131328,65792,768,128]],[20837,[2097153,1048577,524289,262145,256,9,5,3]],[20838,[8193,4097,2049,1025,256,9,5,3]],[20839,[8193,4097,2049,1025,256,9,5,3]],[20840,[2097153,1048577,524289,262145,256,9,5,3]],[20841,[2097153,1048577,524289,262145,256,33,17,3]],[20842,[131073,65537,32769,16385,256,9,5,3]],[20843,[2098432,1049856,525568,263424,9216,5120,3072]],[20844,[8256,4160,2112,1088,321,192,3]],[20845,[2097412,1048836,524548,262404,33028,16644,12]],[20846,[2097153,1048577,524289,262145,256,9,5,3]],[20847,[132096,66560,33792,17408,9216,5120,3072,256]],[20848,[132096,66560,33792,17408,9216,5120,3072,256]],[20849,[132096,66560,33792,17408,9216,5120,3072,256]],[20850,[32784,16400,8208,4112,2064,1040,256,48]],[20851,[32784,16400,8208,4112,2064,1040,256,48]],[20852,[256,129,65,33,17,9,5,3]],[20853,[33025,16641,2049,1025,9,5,3]],[20854,[2098432,1049856,525568,263424,9216,5120,3072]],[20855,[524289,262145,256,129,65,9,5,3]],[20856,[8193,4097,2049,1025,256,9,5,3]],[20857,[8193,4097,2049,1025,256,9,5,3]],[20858,[8193,4097,2049,1025,256,9,5,3]],[20859,[8193,4097,2049,1025,256,9,5,3]],[20860,[131073,65537,2305,1281,9,5,3]],[20861,[2097409,1048833,131073,65537,9,5,3]],[20862,[524304,262160,32784,16400,256,144,80,48]],[20863,[2097153,1048577,524289,262145,256,33,17,3]],[20864,[524289,262145,256,129,65,9,5,3]],[20865,[8208,4112,2064,1040,256,144,80,48]],[20866,[2097153,1048577,524289,262145,256,9,5,3]],[20867,[2097153,1048577,524289,262145,256,9,5,3]],[20868,[2097168,1048592,524304,262160,256,144,80,48]],[20869,[2097168,1048592,524304,262160,256,144,80,48]],[20870,[2097168,1048592,524304,262160,256,144,80,48]],[20871,[2097424,1048848,32784,16400,144,80,48]],[20872,[2097424,1048848,32784,16400,144,80,48]],[20873,[2098432,1049856,132096,66560,9216,5120,3072]],[20874,[2097153,1048577,524289,262145,256,9,5,3]],[20875,[256,129,65,33,17,9,5,3]],[20876,[256,129,65,33,17,9,5,3]],[20877,[524304,262160,32784,16400,256,144,80,48]],[20878,[524304,262160,32784,16400,256,144,80,48]],[20879,[524548,262404,131332,65796,33028,16644,12]],[20880,[33025,16641,8193,4097,3]],[20881,[2097216,1048640,524352,262208,131136,65600,256,192]],[20882,[2097153,1048577,524289,262145,512,9,5,3]],[20883,[8193,4097,2049,1025,512,9,5,3]],[20884,[8193,4097,2049,1025,512,9,5,3]],[20885,[2097153,1048577,524289,262145,512,9,5,3]],[20886,[2097153,1048577,524289,262145,512,33,17,3]],[20887,[131073,65537,32769,16385,512,9,5,3]],[20888,[2098688,1050112,525824,263680,9216,5120,3072]],[20889,[8256,4160,2112,1088,577,192,3]],[20890,[2097668,1049092,524804,262660,33284,16900,12]],[20891,[2097153,1048577,524289,262145,512,9,5,3]],[20892,[132096,66560,33792,17408,9216,5120,3072,512]],[20893,[132096,66560,33792,17408,9216,5120,3072,512]],[20894,[132096,66560,33792,17408,9216,5120,3072,512]],[20895,[32784,16400,8208,4112,2064,1040,512,48]],[20896,[32784,16400,8208,4112,2064,1040,512,48]],[20897,[512,129,65,33,17,9,5,3]],[20898,[33281,16897,2049,1025,9,5,3]],[20899,[2098688,1050112,525824,263680,9216,5120,3072]],[20900,[524289,262145,512,129,65,9,5,3]],[20901,[8193,4097,2049,1025,512,9,5,3]],[20902,[8193,4097,2049,1025,512,9,5,3]],[20903,[8193,4097,2049,1025,512,9,5,3]],[20904,[8193,4097,2049,1025,512,9,5,3]],[20905,[131073,65537,2561,1537,9,5,3]],[20906,[2097665,1049089,131073,65537,9,5,3]],[20907,[524304,262160,32784,16400,512,144,80,48]],[20908,[2097153,1048577,524289,262145,512,33,17,3]],[20909,[524289,262145,512,129,65,9,5,3]],[20910,[8208,4112,2064,1040,512,144,80,48]],[20911,[2097153,1048577,524289,262145,512,9,5,3]],[20912,[2097153,1048577,524289,262145,512,9,5,3]],[20913,[2097168,1048592,524304,262160,512,144,80,48]],[20914,[2097168,1048592,524304,262160,512,144,80,48]],[20915,[2097168,1048592,524304,262160,512,144,80,48]],[20916,[2097680,1049104,32784,16400,144,80,48]],[20917,[2097680,1049104,32784,16400,144,80,48]],[20918,[2098688,1050112,132096,66560,9216,5120,3072]],[20919,[2097153,1048577,524289,262145,512,9,5,3]],[20920,[512,129,65,33,17,9,5,3]],[20921,[512,129,65,33,17,9,5,3]],[20922,[524304,262160,32784,16400,512,144,80,48]],[20923,[524304,262160,32784,16400,512,144,80,48]],[20924,[524804,262660,131588,66052,33284,16900,12]],[20925,[33281,16897,8193,4097,3]],[20926,[2097216,1048640,524352,262208,131136,65600,512,192]],[20927,[2097153,1048577,524289,262145,1024,9,5,3]],[20928,[8193,4097,1024,513,257,9,5,3]],[20929,[8193,4097,1024,513,257,9,5,3]],[20930,[2097153,1048577,524289,262145,1024,9,5,3]],[20931,[2097153,1048577,524289,262145,1024,33,17,3]],[20932,[131073,65537,32769,16385,1024,9,5,3]],[20933,[2098432,1049856,525568,263424,8448,4352,768]],[20934,[8256,4160,1089,576,320,192,3]],[20935,[2098180,1049604,525316,263172,33796,17412,12]],[20936,[2097153,1048577,524289,262145,1024,9,5,3]],[20937,[131328,65792,33024,16640,8448,4352,1024,768]],[20938,[131328,65792,33024,16640,8448,4352,1024,768]],[20939,[131328,65792,33024,16640,8448,4352,1024,768]],[20940,[32784,16400,8208,4112,1024,528,272,48]],[20941,[32784,16400,8208,4112,1024,528,272,48]],[20942,[1024,129,65,33,17,9,5,3]],[20943,[33793,17409,513,257,9,5,3]],[20944,[2098432,1049856,525568,263424,8448,4352,768]],[20945,[524289,262145,1024,129,65,9,5,3]],[20946,[8193,4097,1024,513,257,9,5,3]],[20947,[8193,4097,1024,513,257,9,5,3]],[20948,[8193,4097,1024,513,257,9,5,3]],[20949,[8193,4097,1024,513,257,9,5,3]],[20950,[131073,65537,1281,768,9,5,3]],[20951,[2098177,1049601,131073,65537,9,5,3]],[20952,[524304,262160,32784,16400,1024,144,80,48]],[20953,[2097153,1048577,524289,262145,1024,33,17,3]],[20954,[524289,262145,1024,129,65,9,5,3]],[20955,[8208,4112,1024,528,272,144,80,48]],[20956,[2097153,1048577,524289,262145,1024,9,5,3]],[20957,[2097153,1048577,524289,262145,1024,9,5,3]],[20958,[2097168,1048592,524304,262160,1024,144,80,48]],[20959,[2097168,1048592,524304,262160,1024,144,80,48]],[20960,[2097168,1048592,524304,262160,1024,144,80,48]],[20961,[2098192,1049616,32784,16400,144,80,48]],[20962,[2098192,1049616,32784,16400,144,80,48]],[20963,[2098432,1049856,131328,65792,8448,4352,768]],[20964,[2097153,1048577,524289,262145,1024,9,5,3]],[20965,[1024,129,65,33,17,9,5,3]],[20966,[1024,129,65,33,17,9,5,3]],[20967,[524304,262160,32784,16400,1024,144,80,48]],[20968,[524304,262160,32784,16400,1024,144,80,48]],[20969,[525316,263172,132100,66564,33796,17412,12]],[20970,[33793,17409,8193,4097,3]],[20971,[2097216,1048640,524352,262208,131136,65600,1024,192]],[20972,[2097153,1048577,524289,262145,2048,9,5,3]],[20973,[8193,4097,2048,513,257,9,5,3]],[20974,[8193,4097,2048,513,257,9,5,3]],[20975,[2097153,1048577,524289,262145,2048,9,5,3]],[20976,[2097153,1048577,524289,262145,2048,33,17,3]],[20977,[131073,65537,32769,16385,2048,9,5,3]],[20978,[2099456,1050880,526592,264448,8448,4352,768]],[20979,[8256,4160,2113,576,320,192,3]],[20980,[2099204,1050628,526340,264196,34820,18436,12]],[20981,[2097153,1048577,524289,262145,2048,9,5,3]],[20982,[131328,65792,33024,16640,8448,4352,2048,768]],[20983,[131328,65792,33024,16640,8448,4352,2048,768]],[20984,[131328,65792,33024,16640,8448,4352,2048,768]],[20985,[32784,16400,8208,4112,2048,528,272,48]],[20986,[32784,16400,8208,4112,2048,528,272,48]],[20987,[2048,129,65,33,17,9,5,3]],[20988,[34817,18433,513,257,9,5,3]],[20989,[2099456,1050880,526592,264448,8448,4352,768]],[20990,[524289,262145,2048,129,65,9,5,3]],[20991,[8193,4097,2048,513,257,9,5,3]],[20992,[8193,4097,2048,513,257,9,5,3]],[20993,[8193,4097,2048,513,257,9,5,3]],[20994,[8193,4097,2048,513,257,9,5,3]],[20995,[131073,65537,2305,768,9,5,3]],[20996,[2099201,1050625,131073,65537,9,5,3]],[20997,[524304,262160,32784,16400,2048,144,80,48]],[20998,[2097153,1048577,524289,262145,2048,33,17,3]],[20999,[524289,262145,2048,129,65,9,5,3]],[21000,[8208,4112,2048,528,272,144,80,48]],[21001,[2097153,1048577,524289,262145,2048,9,5,3]],[21002,[2097153,1048577,524289,262145,2048,9,5,3]],[21003,[2097168,1048592,524304,262160,2048,144,80,48]],[21004,[2097168,1048592,524304,262160,2048,144,80,48]],[21005,[2097168,1048592,524304,262160,2048,144,80,48]],[21006,[2099216,1050640,32784,16400,144,80,48]],[21007,[2099216,1050640,32784,16400,144,80,48]],[21008,[2099456,1050880,131328,65792,8448,4352,768]],[21009,[2097153,1048577,524289,262145,2048,9,5,3]],[21010,[2048,129,65,33,17,9,5,3]],[21011,[2048,129,65,33,17,9,5,3]],[21012,[524304,262160,32784,16400,2048,144,80,48]],[21013,[524304,262160,32784,16400,2048,144,80,48]],[21014,[526340,264196,133124,67588,34820,18436,12]],[21015,[34817,18433,8193,4097,3]],[21016,[2097216,1048640,524352,262208,131136,65600,2048,192]],[21017,[2097153,1048577,524289,262145,4096,9,5,3]],[21018,[4096,2049,1025,513,257,9,5,3]],[21019,[4096,2049,1025,513,257,9,5,3]],[21020,[2097153,1048577,524289,262145,4096,9,5,3]],[21021,[2097153,1048577,524289,262145,4096,33,17,3]],[21022,[131073,65537,32769,16385,4096,9,5,3]],[21023,[2101504,1052928,528640,266496,2304,1280,768]],[21024,[4161,2112,1088,576,320,192,3]],[21025,[2101252,1052676,528388,266244,36868,20484,12]],[21026,[2097153,1048577,524289,262145,4096,9,5,3]],[21027,[131328,65792,33024,16640,4096,2304,1280,768]],[21028,[131328,65792,33024,16640,4096,2304,1280,768]],[21029,[131328,65792,33024,16640,4096,2304,1280,768]],[21030,[32784,16400,4096,2064,1040,528,272,48]],[21031,[32784,16400,4096,2064,1040,528,272,48]],[21032,[4096,129,65,33,17,9,5,3]],[21033,[36865,20481,513,257,9,5,3]],[21034,[2101504,1052928,528640,266496,2304,1280,768]],[21035,[524289,262145,4096,129,65,9,5,3]],[21036,[4096,2049,1025,513,257,9,5,3]],[21037,[4096,2049,1025,513,257,9,5,3]],[21038,[4096,2049,1025,513,257,9,5,3]],[21039,[4096,2049,1025,513,257,9,5,3]],[21040,[131073,65537,4353,768,9,5,3]],[21041,[2101249,1052673,131073,65537,9,5,3]],[21042,[524304,262160,32784,16400,4096,144,80,48]],[21043,[2097153,1048577,524289,262145,4096,33,17,3]],[21044,[524289,262145,4096,129,65,9,5,3]],[21045,[4096,2064,1040,528,272,144,80,48]],[21046,[2097153,1048577,524289,262145,4096,9,5,3]],[21047,[2097153,1048577,524289,262145,4096,9,5,3]],[21048,[2097168,1048592,524304,262160,4096,144,80,48]],[21049,[2097168,1048592,524304,262160,4096,144,80,48]],[21050,[2097168,1048592,524304,262160,4096,144,80,48]],[21051,[2101264,1052688,32784,16400,144,80,48]],[21052,[2101264,1052688,32784,16400,144,80,48]],[21053,[2101504,1052928,131328,65792,2304,1280,768]],[21054,[2097153,1048577,524289,262145,4096,9,5,3]],[21055,[4096,129,65,33,17,9,5,3]],[21056,[4096,129,65,33,17,9,5,3]],[21057,[524304,262160,32784,16400,4096,144,80,48]],[21058,[524304,262160,32784,16400,4096,144,80,48]],[21059,[528388,266244,135172,69636,36868,20484,12]],[21060,[36865,20481,2049,1025,3]],[21061,[2097216,1048640,524352,262208,131136,65600,4096,192]],[21062,[2097153,1048577,524289,262145,8192,9,5,3]],[21063,[8192,2049,1025,513,257,9,5,3]],[21064,[8192,2049,1025,513,257,9,5,3]],[21065,[2097153,1048577,524289,262145,8192,9,5,3]],[21066,[2097153,1048577,524289,262145,8192,33,17,3]],[21067,[131073,65537,32769,16385,8192,9,5,3]],[21068,[2105600,1057024,532736,270592,2304,1280,768]],[21069,[8257,2112,1088,576,320,192,3]],[21070,[2105348,1056772,532484,270340,40964,24580,12]],[21071,[2097153,1048577,524289,262145,8192,9,5,3]],[21072,[131328,65792,33024,16640,8192,2304,1280,768]],[21073,[131328,65792,33024,16640,8192,2304,1280,768]],[21074,[131328,65792,33024,16640,8192,2304,1280,768]],[21075,[32784,16400,8192,2064,1040,528,272,48]],[21076,[32784,16400,8192,2064,1040,528,272,48]],[21077,[8192,129,65,33,17,9,5,3]],[21078,[40961,24577,513,257,9,5,3]],[21079,[2105600,1057024,532736,270592,2304,1280,768]],[21080,[524289,262145,8192,129,65,9,5,3]],[21081,[8192,2049,1025,513,257,9,5,3]],[21082,[8192,2049,1025,513,257,9,5,3]],[21083,[8192,2049,1025,513,257,9,5,3]],[21084,[8192,2049,1025,513,257,9,5,3]],[21085,[131073,65537,8449,768,9,5,3]],[21086,[2105345,1056769,131073,65537,9,5,3]],[21087,[524304,262160,32784,16400,8192,144,80,48]],[21088,[2097153,1048577,524289,262145,8192,33,17,3]],[21089,[524289,262145,8192,129,65,9,5,3]],[21090,[8192,2064,1040,528,272,144,80,48]],[21091,[2097153,1048577,524289,262145,8192,9,5,3]],[21092,[2097153,1048577,524289,262145,8192,9,5,3]],[21093,[2097168,1048592,524304,262160,8192,144,80,48]],[21094,[2097168,1048592,524304,262160,8192,144,80,48]],[21095,[2097168,1048592,524304,262160,8192,144,80,48]],[21096,[2105360,1056784,32784,16400,144,80,48]],[21097,[2105360,1056784,32784,16400,144,80,48]],[21098,[2105600,1057024,131328,65792,2304,1280,768]],[21099,[2097153,1048577,524289,262145,8192,9,5,3]],[21100,[8192,129,65,33,17,9,5,3]],[21101,[8192,129,65,33,17,9,5,3]],[21102,[524304,262160,32784,16400,8192,144,80,48]],[21103,[524304,262160,32784,16400,8192,144,80,48]],[21104,[532484,270340,139268,73732,40964,24580,12]],[21105,[40961,24577,2049,1025,3]],[21106,[2097216,1048640,524352,262208,131136,65600,8192,192]],[21107,[2097153,1048577,524289,262145,16384,9,5,3]],[21108,[16384,2049,1025,513,257,9,5,3]],[21109,[16384,2049,1025,513,257,9,5,3]],[21110,[2097153,1048577,524289,262145,16384,9,5,3]],[21111,[2097153,1048577,524289,262145,16384,33,17,3]],[21112,[131073,65537,16384,8193,4097,9,5,3]],[21113,[2113792,1065216,540928,278784,2304,1280,768]],[21114,[16449,2112,1088,576,320,192,3]],[21115,[2101248,1052672,528384,266240,20484,12288,12]],[21116,[2097153,1048577,524289,262145,16384,9,5,3]],[21117,[131328,65792,16384,8448,4352,2304,1280,768]],[21118,[131328,65792,16384,8448,4352,2304,1280,768]],[21119,[131328,65792,16384,8448,4352,2304,1280,768]],[21120,[16384,8208,4112,2064,1040,528,272,48]],[21121,[16384,8208,4112,2064,1040,528,272,48]],[21122,[16384,129,65,33,17,9,5,3]],[21123,[20481,12288,513,257,9,5,3]],[21124,[2113792,1065216,540928,278784,2304,1280,768]],[21125,[524289,262145,16384,129,65,9,5,3]],[21126,[16384,2049,1025,513,257,9,5,3]],[21127,[16384,2049,1025,513,257,9,5,3]],[21128,[16384,2049,1025,513,257,9,5,3]],[21129,[16384,2049,1025,513,257,9,5,3]],[21130,[131073,65537,16641,768,9,5,3]],[21131,[2113537,1064961,131073,65537,9,5,3]],[21132,[524304,262160,16384,8208,4112,144,80,48]],[21133,[2097153,1048577,524289,262145,16384,33,17,3]],[21134,[524289,262145,16384,129,65,9,5,3]],[21135,[16384,2064,1040,528,272,144,80,48]],[21136,[2097153,1048577,524289,262145,16384,9,5,3]],[21137,[2097153,1048577,524289,262145,16384,9,5,3]],[21138,[2097168,1048592,524304,262160,16384,144,80,48]],[21139,[2097168,1048592,524304,262160,16384,144,80,48]],[21140,[2097168,1048592,524304,262160,16384,144,80,48]],[21141,[2113552,1064976,8208,4112,144,80,48]],[21142,[2113552,1064976,8208,4112,144,80,48]],[21143,[2113792,1065216,131328,65792,2304,1280,768]],[21144,[2097153,1048577,524289,262145,16384,9,5,3]],[21145,[16384,129,65,33,17,9,5,3]],[21146,[16384,129,65,33,17,9,5,3]],[21147,[524304,262160,16384,8208,4112,144,80,48]],[21148,[524304,262160,16384,8208,4112,144,80,48]],[21149,[528384,266240,135168,69632,20484,12288,12]],[21150,[20481,12288,2049,1025,3]],[21151,[2097216,1048640,524352,262208,131136,65600,16384,192]],[21152,[2097153,1048577,524289,262145,32768,9,5,3]],[21153,[32768,2049,1025,513,257,9,5,3]],[21154,[32768,2049,1025,513,257,9,5,3]],[21155,[2097153,1048577,524289,262145,32768,9,5,3]],[21156,[2097153,1048577,524289,262145,32768,33,17,3]],[21157,[131073,65537,32768,8193,4097,9,5,3]],[21158,[2130176,1081600,557312,295168,2304,1280,768]],[21159,[32833,2112,1088,576,320,192,3]],[21160,[2101248,1052672,528384,266240,36868,12288,12]],[21161,[2097153,1048577,524289,262145,32768,9,5,3]],[21162,[131328,65792,32768,8448,4352,2304,1280,768]],[21163,[131328,65792,32768,8448,4352,2304,1280,768]],[21164,[131328,65792,32768,8448,4352,2304,1280,768]],[21165,[32768,8208,4112,2064,1040,528,272,48]],[21166,[32768,8208,4112,2064,1040,528,272,48]],[21167,[32768,129,65,33,17,9,5,3]],[21168,[36865,12288,513,257,9,5,3]],[21169,[2130176,1081600,557312,295168,2304,1280,768]],[21170,[524289,262145,32768,129,65,9,5,3]],[21171,[32768,2049,1025,513,257,9,5,3]],[21172,[32768,2049,1025,513,257,9,5,3]],[21173,[32768,2049,1025,513,257,9,5,3]],[21174,[32768,2049,1025,513,257,9,5,3]],[21175,[131073,65537,33025,768,9,5,3]],[21176,[2129921,1081345,131073,65537,9,5,3]],[21177,[524304,262160,32768,8208,4112,144,80,48]],[21178,[2097153,1048577,524289,262145,32768,33,17,3]],[21179,[524289,262145,32768,129,65,9,5,3]],[21180,[32768,2064,1040,528,272,144,80,48]],[21181,[2097153,1048577,524289,262145,32768,9,5,3]],[21182,[2097153,1048577,524289,262145,32768,9,5,3]],[21183,[2097168,1048592,524304,262160,32768,144,80,48]],[21184,[2097168,1048592,524304,262160,32768,144,80,48]],[21185,[2097168,1048592,524304,262160,32768,144,80,48]],[21186,[2129936,1081360,8208,4112,144,80,48]],[21187,[2129936,1081360,8208,4112,144,80,48]],[21188,[2130176,1081600,131328,65792,2304,1280,768]],[21189,[2097153,1048577,524289,262145,32768,9,5,3]],[21190,[32768,129,65,33,17,9,5,3]],[21191,[32768,129,65,33,17,9,5,3]],[21192,[524304,262160,32768,8208,4112,144,80,48]],[21193,[524304,262160,32768,8208,4112,144,80,48]],[21194,[528384,266240,135168,69632,36868,12288,12]],[21195,[36865,12288,2049,1025,3]],[21196,[2097216,1048640,524352,262208,131136,65600,32768,192]],[21197,[2097153,1048577,524289,262145,65536,9,5,3]],[21198,[65536,2049,1025,513,257,9,5,3]],[21199,[65536,2049,1025,513,257,9,5,3]],[21200,[2097153,1048577,524289,262145,65536,9,5,3]],[21201,[2097153,1048577,524289,262145,65536,33,17,3]],[21202,[65536,32769,16385,8193,4097,9,5,3]],[21203,[2162944,1114368,590080,327936,2304,1280,768]],[21204,[65601,2112,1088,576,320,192,3]],[21205,[2101248,1052672,528384,266240,69636,12288,12]],[21206,[2097153,1048577,524289,262145,65536,9,5,3]],[21207,[65536,33024,16640,8448,4352,2304,1280,768]],[21208,[65536,33024,16640,8448,4352,2304,1280,768]],[21209,[65536,33024,16640,8448,4352,2304,1280,768]],[21210,[65536,8208,4112,2064,1040,528,272,48]],[21211,[65536,8208,4112,2064,1040,528,272,48]],[21212,[65536,129,65,33,17,9,5,3]],[21213,[69633,12288,513,257,9,5,3]],[21214,[2162944,1114368,590080,327936,2304,1280,768]],[21215,[524289,262145,65536,129,65,9,5,3]],[21216,[65536,2049,1025,513,257,9,5,3]],[21217,[65536,2049,1025,513,257,9,5,3]],[21218,[65536,2049,1025,513,257,9,5,3]],[21219,[65536,2049,1025,513,257,9,5,3]],[21220,[65793,32769,16385,768,9,5,3]],[21221,[2162689,1114113,32769,16385,9,5,3]],[21222,[524304,262160,65536,8208,4112,144,80,48]],[21223,[2097153,1048577,524289,262145,65536,33,17,3]],[21224,[524289,262145,65536,129,65,9,5,3]],[21225,[65536,2064,1040,528,272,144,80,48]],[21226,[2097153,1048577,524289,262145,65536,9,5,3]],[21227,[2097153,1048577,524289,262145,65536,9,5,3]],[21228,[2097168,1048592,524304,262160,65536,144,80,48]],[21229,[2097168,1048592,524304,262160,65536,144,80,48]],[21230,[2097168,1048592,524304,262160,65536,144,80,48]],[21231,[2162704,1114128,8208,4112,144,80,48]],[21232,[2162704,1114128,8208,4112,144,80,48]],[21233,[2162944,1114368,33024,16640,2304,1280,768]],[21234,[2097153,1048577,524289,262145,65536,9,5,3]],[21235,[65536,129,65,33,17,9,5,3]],[21236,[65536,129,65,33,17,9,5,3]],[21237,[524304,262160,65536,8208,4112,144,80,48]],[21238,[524304,262160,65536,8208,4112,144,80,48]],[21239,[528384,266240,69636,36864,20480,12288,12]],[21240,[69633,12288,2049,1025,3]],[21241,[2097216,1048640,524352,262208,65536,32832,16448,192]],[21242,[2097153,1048577,524289,262145,131072,9,5,3]],[21243,[131072,2049,1025,513,257,9,5,3]],[21244,[131072,2049,1025,513,257,9,5,3]],[21245,[2097153,1048577,524289,262145,131072,9,5,3]],[21246,[2097153,1048577,524289,262145,131072,33,17,3]],[21247,[131072,32769,16385,8193,4097,9,5,3]],[21248,[2228480,1179904,655616,393472,2304,1280,768]],[21249,[131137,2112,1088,576,320,192,3]],[21250,[2101248,1052672,528384,266240,135172,12288,12]],[21251,[2097153,1048577,524289,262145,131072,9,5,3]],[21252,[131072,33024,16640,8448,4352,2304,1280,768]],[21253,[131072,33024,16640,8448,4352,2304,1280,768]],[21254,[131072,33024,16640,8448,4352,2304,1280,768]],[21255,[131072,8208,4112,2064,1040,528,272,48]],[21256,[131072,8208,4112,2064,1040,528,272,48]],[21257,[131072,129,65,33,17,9,5,3]],[21258,[135169,12288,513,257,9,5,3]],[21259,[2228480,1179904,655616,393472,2304,1280,768]],[21260,[524289,262145,131072,129,65,9,5,3]],[21261,[131072,2049,1025,513,257,9,5,3]],[21262,[131072,2049,1025,513,257,9,5,3]],[21263,[131072,2049,1025,513,257,9,5,3]],[21264,[131072,2049,1025,513,257,9,5,3]],[21265,[131329,32769,16385,768,9,5,3]],[21266,[2228225,1179649,32769,16385,9,5,3]],[21267,[524304,262160,131072,8208,4112,144,80,48]],[21268,[2097153,1048577,524289,262145,131072,33,17,3]],[21269,[524289,262145,131072,129,65,9,5,3]],[21270,[131072,2064,1040,528,272,144,80,48]],[21271,[2097153,1048577,524289,262145,131072,9,5,3]],[21272,[2097153,1048577,524289,262145,131072,9,5,3]],[21273,[2097168,1048592,524304,262160,131072,144,80,48]],[21274,[2097168,1048592,524304,262160,131072,144,80,48]],[21275,[2097168,1048592,524304,262160,131072,144,80,48]],[21276,[2228240,1179664,8208,4112,144,80,48]],[21277,[2228240,1179664,8208,4112,144,80,48]],[21278,[2228480,1179904,33024,16640,2304,1280,768]],[21279,[2097153,1048577,524289,262145,131072,9,5,3]],[21280,[131072,129,65,33,17,9,5,3]],[21281,[131072,129,65,33,17,9,5,3]],[21282,[524304,262160,131072,8208,4112,144,80,48]],[21283,[524304,262160,131072,8208,4112,144,80,48]],[21284,[528384,266240,135172,36864,20480,12288,12]],[21285,[135169,12288,2049,1025,3]],[21286,[2097216,1048640,524352,262208,131072,32832,16448,192]],[21287,[2097153,1048577,262144,131073,65537,9,5,3]],[21288,[262144,2049,1025,513,257,9,5,3]],[21289,[262144,2049,1025,513,257,9,5,3]],[21290,[2097153,1048577,262144,131073,65537,9,5,3]],[21291,[2097153,1048577,262144,131073,65537,33,17,3]],[21292,[262144,32769,16385,8193,4097,9,5,3]],[21293,[2162688,1114112,327936,196608,2304,1280,768]],[21294,[262209,2112,1088,576,320,192,3]],[21295,[2101248,1052672,266244,135168,69632,12288,12]],[21296,[2097153,1048577,262144,131073,65537,9,5,3]],[21297,[262144,33024,16640,8448,4352,2304,1280,768]],[21298,[262144,33024,16640,8448,4352,2304,1280,768]],[21299,[262144,33024,16640,8448,4352,2304,1280,768]],[21300,[262144,8208,4112,2064,1040,528,272,48]],[21301,[262144,8208,4112,2064,1040,528,272,48]],[21302,[262144,129,65,33,17,9,5,3]],[21303,[266241,12288,513,257,9,5,3]],[21304,[2162688,1114112,327936,196608,2304,1280,768]],[21305,[262144,131073,65537,129,65,9,5,3]],[21306,[262144,2049,1025,513,257,9,5,3]],[21307,[262144,2049,1025,513,257,9,5,3]],[21308,[262144,2049,1025,513,257,9,5,3]],[21309,[262144,2049,1025,513,257,9,5,3]],[21310,[262401,32769,16385,768,9,5,3]],[21311,[2359297,1310721,32769,16385,9,5,3]],[21312,[262144,131088,65552,8208,4112,144,80,48]],[21313,[2097153,1048577,262144,131073,65537,33,17,3]],[21314,[262144,131073,65537,129,65,9,5,3]],[21315,[262144,2064,1040,528,272,144,80,48]],[21316,[2097153,1048577,262144,131073,65537,9,5,3]],[21317,[2097153,1048577,262144,131073,65537,9,5,3]],[21318,[2097168,1048592,262144,131088,65552,144,80,48]],[21319,[2097168,1048592,262144,131088,65552,144,80,48]],[21320,[2097168,1048592,262144,131088,65552,144,80,48]],[21321,[2359312,1310736,8208,4112,144,80,48]],[21322,[2359312,1310736,8208,4112,144,80,48]],[21323,[2359552,1310976,33024,16640,2304,1280,768]],[21324,[2097153,1048577,262144,131073,65537,9,5,3]],[21325,[262144,129,65,33,17,9,5,3]],[21326,[262144,129,65,33,17,9,5,3]],[21327,[262144,131088,65552,8208,4112,144,80,48]],[21328,[262144,131088,65552,8208,4112,144,80,48]],[21329,[266244,135168,69632,36864,20480,12288,12]],[21330,[266241,12288,2049,1025,3]],[21331,[2097216,1048640,262144,131136,65600,32832,16448,192]],[21332,[2097153,1048577,524288,131073,65537,9,5,3]],[21333,[524288,2049,1025,513,257,9,5,3]],[21334,[524288,2049,1025,513,257,9,5,3]],[21335,[2097153,1048577,524288,131073,65537,9,5,3]],[21336,[2097153,1048577,524288,131073,65537,33,17,3]],[21337,[524288,32769,16385,8193,4097,9,5,3]],[21338,[2162688,1114112,590080,196608,2304,1280,768]],[21339,[524353,2112,1088,576,320,192,3]],[21340,[2101248,1052672,528388,135168,69632,12288,12]],[21341,[2097153,1048577,524288,131073,65537,9,5,3]],[21342,[524288,33024,16640,8448,4352,2304,1280,768]],[21343,[524288,33024,16640,8448,4352,2304,1280,768]],[21344,[524288,33024,16640,8448,4352,2304,1280,768]],[21345,[524288,8208,4112,2064,1040,528,272,48]],[21346,[524288,8208,4112,2064,1040,528,272,48]],[21347,[524288,129,65,33,17,9,5,3]],[21348,[528385,12288,513,257,9,5,3]],[21349,[2162688,1114112,590080,196608,2304,1280,768]],[21350,[524288,131073,65537,129,65,9,5,3]],[21351,[524288,2049,1025,513,257,9,5,3]],[21352,[524288,2049,1025,513,257,9,5,3]],[21353,[524288,2049,1025,513,257,9,5,3]],[21354,[524288,2049,1025,513,257,9,5,3]],[21355,[524545,32769,16385,768,9,5,3]],[21356,[2621441,1572865,32769,16385,9,5,3]],[21357,[524288,131088,65552,8208,4112,144,80,48]],[21358,[2097153,1048577,524288,131073,65537,33,17,3]],[21359,[524288,131073,65537,129,65,9,5,3]],[21360,[524288,2064,1040,528,272,144,80,48]],[21361,[2097153,1048577,524288,131073,65537,9,5,3]],[21362,[2097153,1048577,524288,131073,65537,9,5,3]],[21363,[2097168,1048592,524288,131088,65552,144,80,48]],[21364,[2097168,1048592,524288,131088,65552,144,80,48]],[21365,[2097168,1048592,524288,131088,65552,144,80,48]],[21366,[2621456,1572880,8208,4112,144,80,48]],[21367,[2621456,1572880,8208,4112,144,80,48]],[21368,[2621696,1573120,33024,16640,2304,1280,768]],[21369,[2097153,1048577,524288,131073,65537,9,5,3]],[21370,[524288,129,65,33,17,9,5,3]],[21371,[524288,129,65,33,17,9,5,3]],[21372,[524288,131088,65552,8208,4112,144,80,48]],[21373,[524288,131088,65552,8208,4112,144,80,48]],[21374,[528388,135168,69632,36864,20480,12288,12]],[21375,[528385,12288,2049,1025,3]],[21376,[2097216,1048640,524288,131136,65600,32832,16448,192]],[21377,[1048576,524289,262145,131073,65537,9,5,3]],[21378,[1048576,2049,1025,513,257,9,5,3]],[21379,[1048576,2049,1025,513,257,9,5,3]],[21380,[1048576,524289,262145,131073,65537,9,5,3]],[21381,[1048576,524289,262145,131073,65537,33,17,3]],[21382,[1048576,32769,16385,8193,4097,9,5,3]],[21383,[1114368,589824,327680,196608,2304,1280,768]],[21384,[1048641,2112,1088,576,320,192,3]],[21385,[1052676,528384,266240,135168,69632,12288,12]],[21386,[1048576,524289,262145,131073,65537,9,5,3]],[21387,[1048576,33024,16640,8448,4352,2304,1280,768]],[21388,[1048576,33024,16640,8448,4352,2304,1280,768]],[21389,[1048576,33024,16640,8448,4352,2304,1280,768]],[21390,[1048576,8208,4112,2064,1040,528,272,48]],[21391,[1048576,8208,4112,2064,1040,528,272,48]],[21392,[1048576,129,65,33,17,9,5,3]],[21393,[1052673,12288,513,257,9,5,3]],[21394,[1114368,589824,327680,196608,2304,1280,768]],[21395,[1048576,131073,65537,129,65,9,5,3]],[21396,[1048576,2049,1025,513,257,9,5,3]],[21397,[1048576,2049,1025,513,257,9,5,3]],[21398,[1048576,2049,1025,513,257,9,5,3]],[21399,[1048576,2049,1025,513,257,9,5,3]],[21400,[1048833,32769,16385,768,9,5,3]],[21401,[1310721,786432,32769,16385,9,5,3]],[21402,[1048576,131088,65552,8208,4112,144,80,48]],[21403,[1048576,524289,262145,131073,65537,33,17,3]],[21404,[1048576,131073,65537,129,65,9,5,3]],[21405,[1048576,2064,1040,528,272,144,80,48]],[21406,[1048576,524289,262145,131073,65537,9,5,3]],[21407,[1048576,524289,262145,131073,65537,9,5,3]],[21408,[1048576,524304,262160,131088,65552,144,80,48]],[21409,[1048576,524304,262160,131088,65552,144,80,48]],[21410,[1048576,524304,262160,131088,65552,144,80,48]],[21411,[1310736,786432,8208,4112,144,80,48]],[21412,[1310736,786432,8208,4112,144,80,48]],[21413,[1310976,786432,33024,16640,2304,1280,768]],[21414,[1048576,524289,262145,131073,65537,9,5,3]],[21415,[1048576,129,65,33,17,9,5,3]],[21416,[1048576,129,65,33,17,9,5,3]],[21417,[1048576,131088,65552,8208,4112,144,80,48]],[21418,[1048576,131088,65552,8208,4112,144,80,48]],[21419,[1052676,135168,69632,36864,20480,12288,12]],[21420,[1052673,12288,2049,1025,3]],[21421,[1048576,524352,262208,131136,65600,32832,16448,192]],[21422,[2097152,524289,262145,131073,65537,9,5,3]],[21423,[2097152,2049,1025,513,257,9,5,3]],[21424,[2097152,2049,1025,513,257,9,5,3]],[21425,[2097152,524289,262145,131073,65537,9,5,3]],[21426,[2097152,524289,262145,131073,65537,33,17,3]],[21427,[2097152,32769,16385,8193,4097,9,5,3]],[21428,[2162944,589824,327680,196608,2304,1280,768]],[21429,[2097217,2112,1088,576,320,192,3]],[21430,[2101252,528384,266240,135168,69632,12288,12]],[21431,[2097152,524289,262145,131073,65537,9,5,3]],[21432,[2097152,33024,16640,8448,4352,2304,1280,768]],[21433,[2097152,33024,16640,8448,4352,2304,1280,768]],[21434,[2097152,33024,16640,8448,4352,2304,1280,768]],[21435,[2097152,8208,4112,2064,1040,528,272,48]],[21436,[2097152,8208,4112,2064,1040,528,272,48]],[21437,[2097152,129,65,33,17,9,5,3]],[21438,[2101249,12288,513,257,9,5,3]],[21439,[2162944,589824,327680,196608,2304,1280,768]],[21440,[2097152,131073,65537,129,65,9,5,3]],[21441,[2097152,2049,1025,513,257,9,5,3]],[21442,[2097152,2049,1025,513,257,9,5,3]],[21443,[2097152,2049,1025,513,257,9,5,3]],[21444,[2097152,2049,1025,513,257,9,5,3]],[21445,[2097409,32769,16385,768,9,5,3]],[21446,[2359297,786432,32769,16385,9,5,3]],[21447,[2097152,131088,65552,8208,4112,144,80,48]],[21448,[2097152,524289,262145,131073,65537,33,17,3]],[21449,[2097152,131073,65537,129,65,9,5,3]],[21450,[2097152,2064,1040,528,272,144,80,48]],[21451,[2097152,524289,262145,131073,65537,9,5,3]],[21452,[2097152,524289,262145,131073,65537,9,5,3]],[21453,[2097152,524304,262160,131088,65552,144,80,48]],[21454,[2097152,524304,262160,131088,65552,144,80,48]],[21455,[2097152,524304,262160,131088,65552,144,80,48]],[21456,[2359312,786432,8208,4112,144,80,48]],[21457,[2359312,786432,8208,4112,144,80,48]],[21458,[2359552,786432,33024,16640,2304,1280,768]],[21459,[2097152,524289,262145,131073,65537,9,5,3]],[21460,[2097152,129,65,33,17,9,5,3]],[21461,[2097152,129,65,33,17,9,5,3]],[21462,[2097152,131088,65552,8208,4112,144,80,48]],[21463,[2097152,131088,65552,8208,4112,144,80,48]],[21464,[2101252,135168,69632,36864,20480,12288,12]],[21465,[2101249,12288,2049,1025,3]],[21466,[2097152,524352,262208,131136,65600,32832,16448,192]],[21467,[525312,263168,132096,66560,33792,17408,3072,1]],[21468,[525312,263168,132096,66560,33792,17408,3072,1]],[21469,[528385,266241,135169,69633,12288]],[21470,[525312,263168,132096,66560,33792,17408,3072,2]],[21471,[525312,263168,132096,66560,33792,17408,3072,2]],[21472,[528386,266242,135170,69634,12288]],[21473,[525312,263168,132096,66560,33792,17408,3072,4]],[21474,[525312,263168,132096,66560,33792,17408,3072,4]],[21475,[528388,266244,135172,69636,12288]],[21476,[525312,263168,132096,66560,33792,17408,3072,8]],[21477,[525312,263168,132096,66560,33792,17408,3072,8]],[21478,[528392,266248,135176,69640,12288]],[21479,[525312,263168,132096,66560,33792,17408,3072,16]],[21480,[525312,263168,132096,66560,33792,17408,3072,16]],[21481,[528400,266256,135184,69648,12288]],[21482,[525312,263168,132096,66560,33792,17408,3072,32]],[21483,[525312,263168,132096,66560,33792,17408,3072,32]],[21484,[528416,266272,135200,69664,12288]],[21485,[525312,263168,132096,66560,33792,17408,3072,64]],[21486,[525312,263168,132096,66560,33792,17408,3072,64]],[21487,[528448,266304,135232,69696,12288]],[21488,[525312,263168,132096,66560,33792,17408,3072,128]],[21489,[525312,263168,132096,66560,33792,17408,3072,128]],[21490,[528512,266368,135296,69760,12288]],[21491,[525312,263168,132096,66560,33792,17408,3072,256]],[21492,[525312,263168,132096,66560,33792,17408,3072,256]],[21493,[528640,266496,135424,69888,12288]],[21494,[525312,263168,132096,66560,33792,17408,3072,512]],[21495,[525312,263168,132096,66560,33792,17408,3072,512]],[21496,[528896,266752,135680,70144,12288]],[21497,[524544,262400,131328,65792,33024,16640,1024,768]],[21498,[524544,262400,131328,65792,33024,16640,1024,768]],[21499,[529408,267264,136192,70656,12288]],[21500,[524544,262400,131328,65792,33024,16640,2048,768]],[21501,[524544,262400,131328,65792,33024,16640,2048,768]],[21502,[530432,268288,137216,71680,12288]],[21503,[524544,262400,131328,65792,33024,16640,4096,768]],[21504,[524544,262400,131328,65792,33024,16640,4096,768]],[21505,[529408,267264,136192,70656,3072]],[21506,[524544,262400,131328,65792,33024,16640,8192,768]],[21507,[524544,262400,131328,65792,33024,16640,8192,768]],[21508,[533504,271360,140288,74752,3072]],[21509,[524544,262400,131328,65792,16384,8448,4352,768]],[21510,[524544,262400,131328,65792,16384,8448,4352,768]],[21511,[541696,279552,148480,82944,3072]],[21512,[524544,262400,131328,65792,32768,8448,4352,768]],[21513,[524544,262400,131328,65792,32768,8448,4352,768]],[21514,[558080,295936,164864,99328,3072]],[21515,[524544,262400,65536,33024,16640,8448,4352,768]],[21516,[524544,262400,65536,33024,16640,8448,4352,768]],[21517,[540672,278528,82944,49152,3072]],[21518,[524544,262400,131072,33024,16640,8448,4352,768]],[21519,[524544,262400,131072,33024,16640,8448,4352,768]],[21520,[540672,278528,148480,49152,3072]],[21521,[262144,131328,65792,33024,16640,8448,4352,768]],[21522,[262144,131328,65792,33024,16640,8448,4352,768]],[21523,[279552,147456,81920,49152,3072]],[21524,[524288,131328,65792,33024,16640,8448,4352,768]],[21525,[524288,131328,65792,33024,16640,8448,4352,768]],[21526,[541696,147456,81920,49152,3072]],[21527,[1048576,131328,65792,33024,16640,8448,4352,768]],[21528,[1048576,131328,65792,33024,16640,8448,4352,768]],[21529,[1065984,147456,81920,49152,3072]],[21530,[2097152,131328,65792,33024,16640,8448,4352,768]],[21531,[2097152,131328,65792,33024,16640,8448,4352,768]],[21532,[2114560,147456,81920,49152,3072]],[21534,[524288,262144,8192,4096,512,256,8,4,2,1]],[21538,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[21539,[524288,262144,512,256,128,64,8,4,2,1]],[21544,[524288,262144,8192,4096,512,256,8,4,2,1]],[21545,[524288,262144,8192,4096,512,256,8,4,2,1]],[21548,[131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[21549,[131072,65536,32768,16384,8192,4096,2048,1024,2,1]],[21552,[131072,65536,32768,16384,2048,1024,128,64,2,1]],[21553,[2097152,1048576,8192,4096,512,256,32,16,2,1]],[21554,[2097152,1048576,131072,65536,32768,16384,512,256,32,16]],[21555,[2097152,1048576,131072,65536,32768,16384,512,256,32,16]],[21563,[524292,262148,131076,65540,8196,4100,512,256,12]],[21565,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256]],[21566,[524292,262148,131076,65540,8196,4100,512,256,12]],[21567,[524288,262144,131072,65536,32768,16384,2048,1024,8,4]],[21570,[524292,262148,131076,65540,32772,16388,512,256,12]],[21571,[524292,262148,131076,65540,32772,16388,512,256,12]],[21572,[524292,262148,131076,65540,32772,16388,512,256,12]],[21573,[2097152,1048576,524288,262144,2048,1024,32,16,8,4]],[21574,[524288,262144,8192,4096,128,64,32,16,8,4]],[21575,[2097152,1048576,131072,65536,8192,4096,32,16,2,1]],[21576,[2097152,1048576,131072,65536,128,64,32,16,8,4]],[21577,[2097152,1048576,524288,262144,8192,4096,32,16,8,4]],[21578,[2097152,1048576,131072,65536,128,64,32,16,8,4]],[21579,[2097152,1048576,131072,65536,128,64,32,16,8,4]],[21580,[2097152,1048576,524288,262144,32,16,8,4,2,1]],[21582,[2097152,1048576,2048,1024,128,64,32,16,2,1]],[21583,[2097152,1048576,2048,1024,128,64,32,16,2,1]],[21585,[2097152,1048576,2048,1024,128,64,32,16,8,4]],[21586,[2097152,1048576,131072,65536,8192,4096,32,16,2,1]],[21587,[2097152,1048576,8192,4096,2048,1024,512,256,32,16]],[21588,[2097152,1048576,131072,65536,32768,16384,8,4,2,1]],[21589,[524288,262144,131072,65536,8192,4096,2048,1024,8,4]],[21590,[2097152,1048576,32768,16384,8192,4096,128,64,32,16]],[21593,[2097152,1048576,8192,4096,2048,1024,512,256,32,16]],[21594,[2097152,1048576,8192,4096,2048,1024,512,256,32,16]],[21595,[131072,65536,2048,1024,512,256,128,64,8,4]],[21596,[131072,65536,2048,1024,512,256,128,64,8,4]],[21597,[131072,65536,2048,1024,512,256,128,64,8,4]],[21598,[131072,65536,32768,16384,128,64,32,16,8,4]],[21599,[2097152,1048576,131072,65536,32768,16384,128,64,8,4]],[21600,[2097152,1048576,131072,65536,32768,16384,128,64,8,4]],[21601,[2097152,1048576,131072,65536,32768,16384,128,64,8,4]],[21602,[2097152,1048576,131072,65536,512,256,128,64,32,16]],[21603,[2097152,1048576,131072,65536,512,256,128,64,32,16]],[21604,[131073,65537,32769,16385,512,256,9,5,3]],[21605,[131073,65537,32769,16385,512,256,9,5,3]],[21606,[2097152,1048576,8192,4096,2048,1024,32,16,2,1]],[21607,[524289,262145,131089,65553,8193,4097,48,3]],[21608,[2097152,1048576,524288,262144,2048,1024,32,16,8,4]],[21609,[2097152,1048576,524288,262144,2048,1024,32,16,8,4]],[21610,[2097152,1048576,131072,65536,32768,16384,2048,1024,32,16]],[21611,[2097152,1048576,131072,65536,32768,16384,512,256,32,16]],[21613,[131072,65536,32768,16384,2048,1024,512,256,32,16]],[21614,[131073,65537,8193,4097,2048,1024,129,65,3]],[21615,[2097152,1048576,131072,65536,32768,16384,2048,1024,512,256]],[21618,[524288,262144,131072,65536,32768,16384,2048,1024,8,4]],[21619,[524288,262144,131072,65536,32768,16384,2048,1024,8,4]],[21620,[131073,65537,8193,4097,529,273,48,3]],[21621,[131136,65600,32832,16448,2116,1092,192,12]],[21622,[2162688,1114112,590848,328704,196608,3072]],[21627,[2097216,1048640,524352,262208,2113,1089,192]],[21628,[524293,262149,131077,65541,12]],[21629,[131136,65600,32832,16448,8257,4161,192]],[21630,[2097408,1048832,524544,262400,8449,4353,768]],[21631,[131328,65792,33024,16640,8448,4352,2304,1280,768,1]],[21632,[131328,65792,33024,16640,8448,4352,2304,1280,768,1]],[21633,[131328,65792,33024,16640,2304,1280,768,1]],[21634,[2097216,1048640,524352,262208,2114,1090,192]],[21635,[524294,262150,131078,65542,12]],[21636,[131136,65600,32832,16448,8258,4162,192]],[21637,[2097408,1048832,524544,262400,8450,4354,768]],[21638,[131328,65792,33024,16640,8448,4352,2304,1280,768,2]],[21639,[131328,65792,33024,16640,8448,4352,2304,1280,768,2]],[21640,[131328,65792,33024,16640,2304,1280,768,2]],[21641,[2097216,1048640,524352,262208,2116,1092,192]],[21642,[524293,262149,131077,65541,3]],[21643,[131136,65600,32832,16448,8260,4164,192]],[21644,[2097408,1048832,524544,262400,8452,4356,768]],[21645,[131328,65792,33024,16640,8448,4352,2304,1280,768,4]],[21646,[131328,65792,33024,16640,8448,4352,2304,1280,768,4]],[21647,[131328,65792,33024,16640,2304,1280,768,4]],[21648,[2097216,1048640,524352,262208,2120,1096,192]],[21649,[524297,262153,131081,65545,3]],[21650,[131136,65600,32832,16448,8264,4168,192]],[21651,[2097408,1048832,524544,262400,8456,4360,768]],[21652,[131328,65792,33024,16640,8448,4352,2304,1280,768,8]],[21653,[131328,65792,33024,16640,8448,4352,2304,1280,768,8]],[21654,[131328,65792,33024,16640,2304,1280,768,8]],[21655,[2097216,1048640,524352,262208,2128,1104,192]],[21656,[524305,262161,131089,65553,3]],[21657,[131136,65600,32832,16448,8272,4176,192]],[21658,[2097408,1048832,524544,262400,8464,4368,768]],[21659,[131328,65792,33024,16640,8448,4352,2304,1280,768,16]],[21660,[131328,65792,33024,16640,8448,4352,2304,1280,768,16]],[21661,[131328,65792,33024,16640,2304,1280,768,16]],[21662,[2097216,1048640,524352,262208,2144,1120,192]],[21663,[524321,262177,131105,65569,3]],[21664,[131136,65600,32832,16448,8288,4192,192]],[21665,[2097408,1048832,524544,262400,8480,4384,768]],[21666,[131328,65792,33024,16640,8448,4352,2304,1280,768,32]],[21667,[131328,65792,33024,16640,8448,4352,2304,1280,768,32]],[21668,[131328,65792,33024,16640,2304,1280,768,32]],[21669,[2097168,1048592,524304,262160,2128,1104,48]],[21670,[524353,262209,131137,65601,3]],[21671,[131088,65552,32784,16400,8272,4176,48]],[21672,[2097408,1048832,524544,262400,8512,4416,768]],[21673,[131328,65792,33024,16640,8448,4352,2304,1280,768,64]],[21674,[131328,65792,33024,16640,8448,4352,2304,1280,768,64]],[21675,[131328,65792,33024,16640,2304,1280,768,64]],[21676,[2097168,1048592,524304,262160,2192,1168,48]],[21677,[524417,262273,131201,65665,3]],[21678,[131088,65552,32784,16400,8336,4240,48]],[21679,[2097408,1048832,524544,262400,8576,4480,768]],[21680,[131328,65792,33024,16640,8448,4352,2304,1280,768,128]],[21681,[131328,65792,33024,16640,8448,4352,2304,1280,768,128]],[21682,[131328,65792,33024,16640,2304,1280,768,128]],[21683,[2097168,1048592,524304,262160,2320,1296,48]],[21684,[524545,262401,131329,65793,3]],[21685,[131088,65552,32784,16400,8464,4368,48]],[21686,[2097216,1048640,524352,262208,8512,4416,192]],[21687,[131136,65600,32832,16448,8256,4160,2112,1088,256,192]],[21688,[131136,65600,32832,16448,8256,4160,2112,1088,256,192]],[21689,[131136,65600,32832,16448,2112,1088,256,192]],[21690,[2097168,1048592,524304,262160,2576,1552,48]],[21691,[524801,262657,131585,66049,3]],[21692,[131088,65552,32784,16400,8720,4624,48]],[21693,[2097216,1048640,524352,262208,8768,4672,192]],[21694,[131136,65600,32832,16448,8256,4160,2112,1088,512,192]],[21695,[131136,65600,32832,16448,8256,4160,2112,1088,512,192]],[21696,[131136,65600,32832,16448,2112,1088,512,192]],[21697,[2097168,1048592,524304,262160,1296,768,48]],[21698,[525313,263169,132097,66561,3]],[21699,[131088,65552,32784,16400,9232,5136,48]],[21700,[2097216,1048640,524352,262208,9280,5184,192]],[21701,[131136,65600,32832,16448,8256,4160,1024,576,320,192]],[21702,[131136,65600,32832,16448,8256,4160,1024,576,320,192]],[21703,[131136,65600,32832,16448,1024,576,320,192]],[21704,[2097168,1048592,524304,262160,2320,768,48]],[21705,[526337,264193,133121,67585,3]],[21706,[131088,65552,32784,16400,10256,6160,48]],[21707,[2097216,1048640,524352,262208,10304,6208,192]],[21708,[131136,65600,32832,16448,8256,4160,2048,576,320,192]],[21709,[131136,65600,32832,16448,8256,4160,2048,576,320,192]],[21710,[131136,65600,32832,16448,2048,576,320,192]],[21711,[2097168,1048592,524304,262160,4368,768,48]],[21712,[528385,266241,135169,69633,3]],[21713,[131088,65552,32784,16400,5136,3072,48]],[21714,[2097216,1048640,524352,262208,5184,3072,192]],[21715,[131136,65600,32832,16448,4096,2112,1088,576,320,192]],[21716,[131136,65600,32832,16448,4096,2112,1088,576,320,192]],[21717,[131136,65600,32832,16448,4096,576,320,192]],[21718,[2097168,1048592,524304,262160,8464,768,48]],[21719,[532481,270337,139265,73729,3]],[21720,[131088,65552,32784,16400,9232,3072,48]],[21721,[2097216,1048640,524352,262208,9280,3072,192]],[21722,[131136,65600,32832,16448,8192,2112,1088,576,320,192]],[21723,[131136,65600,32832,16448,8192,2112,1088,576,320,192]],[21724,[131136,65600,32832,16448,8192,576,320,192]],[21725,[2097168,1048592,524304,262160,16656,768,48]],[21726,[540673,278529,147457,81921,3]],[21727,[131088,65552,17424,8208,4112,3072,48]],[21728,[2097216,1048640,524352,262208,17472,3072,192]],[21729,[131136,65600,16384,8256,4160,2112,1088,576,320,192]],[21730,[131136,65600,16384,8256,4160,2112,1088,576,320,192]],[21731,[131136,65600,16384,8256,4160,576,320,192]],[21732,[2097168,1048592,524304,262160,33040,768,48]],[21733,[557057,294913,163841,98305,3]],[21734,[131088,65552,33808,8208,4112,3072,48]],[21735,[2097216,1048640,524352,262208,33856,3072,192]],[21736,[131136,65600,32768,8256,4160,2112,1088,576,320,192]],[21737,[131136,65600,32768,8256,4160,2112,1088,576,320,192]],[21738,[131136,65600,32768,8256,4160,576,320,192]],[21739,[2097168,1048592,524304,262160,65808,768,48]],[21740,[540672,278528,81921,49152,3]],[21741,[66576,32784,16400,8208,4112,3072,48]],[21742,[2097216,1048640,524352,262208,66624,3072,192]],[21743,[65536,32832,16448,8256,4160,2112,1088,576,320,192]],[21744,[65536,32832,16448,8256,4160,2112,1088,576,320,192]],[21745,[65536,32832,16448,8256,4160,576,320,192]],[21746,[2097168,1048592,524304,262160,131344,768,48]],[21747,[540672,278528,147457,49152,3]],[21748,[132112,32784,16400,8208,4112,3072,48]],[21749,[2097216,1048640,524352,262208,132160,3072,192]],[21750,[131072,32832,16448,8256,4160,2112,1088,576,320,192]],[21751,[131072,32832,16448,8256,4160,2112,1088,576,320,192]],[21752,[131072,32832,16448,8256,4160,576,320,192]],[21753,[2097168,1048592,262416,131088,65552,768,48]],[21754,[278529,147456,81920,49152,3]],[21755,[263184,32784,16400,8208,4112,3072,48]],[21756,[2097216,1048640,263232,131136,65600,3072,192]],[21757,[262144,32832,16448,8256,4160,2112,1088,576,320,192]],[21758,[262144,32832,16448,8256,4160,2112,1088,576,320,192]],[21759,[262144,32832,16448,8256,4160,576,320,192]],[21760,[2097168,1048592,524560,131088,65552,768,48]],[21761,[540673,147456,81920,49152,3]],[21762,[525328,32784,16400,8208,4112,3072,48]],[21763,[2097216,1048640,525376,131136,65600,3072,192]],[21764,[524288,32832,16448,8256,4160,2112,1088,576,320,192]],[21765,[524288,32832,16448,8256,4160,2112,1088,576,320,192]],[21766,[524288,32832,16448,8256,4160,576,320,192]],[21767,[1048848,524304,262160,131088,65552,768,48]],[21768,[1064961,147456,81920,49152,3]],[21769,[1049616,32784,16400,8208,4112,3072,48]],[21770,[1049664,524352,262208,131136,65600,3072,192]],[21771,[1048576,32832,16448,8256,4160,2112,1088,576,320,192]],[21772,[1048576,32832,16448,8256,4160,2112,1088,576,320,192]],[21773,[1048576,32832,16448,8256,4160,576,320,192]],[21774,[2097424,524304,262160,131088,65552,768,48]],[21775,[2113537,147456,81920,49152,3]],[21776,[2098192,32784,16400,8208,4112,3072,48]],[21777,[2098240,524352,262208,131136,65600,3072,192]],[21778,[2097152,32832,16448,8256,4160,2112,1088,576,320,192]],[21779,[2097152,32832,16448,8256,4160,2112,1088,576,320,192]],[21780,[2097152,32832,16448,8256,4160,576,320,192]],[21781,[2097157,1048581,131077,65541,2053,1029,15]],[21782,[8197,4101,2053,1029,517,261,37,21,15]],[21783,[2053,1029,517,261,133,69,37,21,15]],[21784,[2097157,1048581,524293,262149,131077,65541,32773,16389,15]],[21785,[2097158,1048582,131078,65542,2054,1030,15]],[21786,[8198,4102,2054,1030,518,262,38,22,15]],[21787,[2054,1030,518,262,134,70,38,22,15]],[21788,[2097158,1048582,524294,262150,131078,65542,32774,16390,15]],[21789,[2097169,1048593,131089,65553,2065,1041,51]],[21790,[8196,4100,2052,1028,516,260,38,21,12]],[21791,[2052,1028,516,260,132,68,38,21,12]],[21792,[2097169,1048593,524305,262161,131089,65553,32785,16401,51]],[21793,[2097170,1048594,131090,65554,2066,1042,51]],[21794,[8196,4100,2052,1028,516,260,37,22,12]],[21795,[2052,1028,516,260,132,68,37,22,12]],[21796,[2097170,1048594,524306,262162,131090,65554,32786,16402,51]],[21797,[2097217,1048641,131137,65601,2113,1089,195]],[21798,[8196,4100,2052,1028,516,260,134,69,12]],[21799,[2052,1028,516,260,134,69,36,20,12]],[21800,[2097217,1048641,524353,262209,131137,65601,32833,16449,195]],[21801,[2097218,1048642,131138,65602,2114,1090,195]],[21802,[8196,4100,2052,1028,516,260,133,70,12]],[21803,[2052,1028,516,260,133,70,36,20,12]],[21804,[2097218,1048642,524354,262210,131138,65602,32834,16450,195]],[21805,[2097409,1048833,131329,65793,2305,1281,771]],[21806,[8196,4100,2052,1028,518,261,132,68,12]],[21807,[2052,1028,518,261,132,68,36,20,12]],[21808,[2097409,1048833,524545,262401,131329,65793,33025,16641,771]],[21809,[2097410,1048834,131330,65794,2306,1282,771]],[21810,[8196,4100,2052,1028,517,262,132,68,12]],[21811,[2052,1028,517,262,132,68,36,20,12]],[21812,[2097410,1048834,524546,262402,131330,65794,33026,16642,771]],[21813,[2097408,1048832,131328,65792,2306,1281,768]],[21814,[8196,4100,2054,1029,516,260,132,68,12]],[21815,[2054,1029,516,260,132,68,36,20,12]],[21816,[2098177,1049601,525313,263169,132097,66561,33793,17409,3075]],[21817,[2097408,1048832,131328,65792,2305,1282,768]],[21818,[8196,4100,2053,1030,516,260,132,68,12]],[21819,[2053,1030,516,260,132,68,36,20,12]],[21820,[2098178,1049602,525314,263170,132098,66562,33794,17410,3075]],[21821,[2097408,1048832,131328,65792,8450,4353,768]],[21822,[8198,4101,2052,1028,516,260,132,68,12]],[21823,[8198,4101,516,260,132,68,36,20,12]],[21824,[2101249,1052673,528385,266241,135169,69633,36865,20481,12291]],[21825,[2097408,1048832,131328,65792,8449,4354,768]],[21826,[8197,4102,2052,1028,516,260,132,68,12]],[21827,[8197,4102,516,260,132,68,36,20,12]],[21828,[2101250,1052674,528386,266242,135170,69634,36866,20482,12291]],[21829,[2097408,1048832,131328,65792,33026,16641,768]],[21830,[32774,16389,2052,1028,516,260,132,68,12]],[21831,[32774,16389,516,260,132,68,36,20,12]],[21832,[2101248,1052672,528384,266240,135168,69632,36866,20481,12288]],[21833,[2097408,1048832,131328,65792,33025,16642,768]],[21834,[32773,16390,2052,1028,516,260,132,68,12]],[21835,[32773,16390,516,260,132,68,36,20,12]],[21836,[2101248,1052672,528384,266240,135168,69632,36865,20482,12288]],[21837,[2097408,1048832,131330,65793,33024,16640,768]],[21838,[131078,65541,2052,1028,516,260,132,68,12]],[21839,[131078,65541,516,260,132,68,36,20,12]],[21840,[2101248,1052672,528384,266240,135170,69633,36864,20480,12288]],[21841,[2097408,1048832,131329,65794,33024,16640,768]],[21842,[131077,65542,2052,1028,516,260,132,68,12]],[21843,[131077,65542,516,260,132,68,36,20,12]],[21844,[2101248,1052672,528384,266240,135169,69634,36864,20480,12288]],[21845,[2097408,1048832,524546,262401,33024,16640,768]],[21846,[524294,262149,2052,1028,516,260,132,68,12]],[21847,[524294,262149,516,260,132,68,36,20,12]],[21848,[2101248,1052672,528386,266241,135168,69632,36864,20480,12288]],[21849,[2097408,1048832,524545,262402,33024,16640,768]],[21850,[524293,262150,2052,1028,516,260,132,68,12]],[21851,[524293,262150,516,260,132,68,36,20,12]],[21852,[2101248,1052672,528385,266242,135168,69632,36864,20480,12288]],[21853,[2097410,1048833,524544,262400,33024,16640,768]],[21854,[2097158,1048581,2052,1028,516,260,132,68,12]],[21855,[2097158,1048581,516,260,132,68,36,20,12]],[21856,[2101250,1052673,528384,266240,135168,69632,36864,20480,12288]],[21857,[2097409,1048834,524544,262400,33024,16640,768]],[21858,[2097157,1048582,2052,1028,516,260,132,68,12]],[21859,[2097157,1048582,516,260,132,68,36,20,12]],[21860,[2101249,1052674,528384,266240,135168,69632,36864,20480,12288]],[21861,[2097172,1048596,131092,65556,2068,1044,60]],[21862,[8193,4097,2049,1025,513,257,41,21,3]],[21863,[2049,1025,513,257,129,65,41,21,3]],[21864,[2097172,1048596,524308,262164,131092,65556,32788,16404,60]],[21865,[2097176,1048600,131096,65560,2072,1048,60]],[21866,[8193,4097,2049,1025,513,257,37,25,3]],[21867,[2049,1025,513,257,129,65,37,25,3]],[21868,[2097176,1048600,524312,262168,131096,65560,32792,16408,60]],[21869,[2097220,1048644,131140,65604,2116,1092,204]],[21870,[8193,4097,2049,1025,513,257,137,69,3]],[21871,[2049,1025,513,257,137,69,33,17,3]],[21872,[2097220,1048644,524356,262212,131140,65604,32836,16452,204]],[21873,[2097224,1048648,131144,65608,2120,1096,204]],[21874,[8193,4097,2049,1025,513,257,133,73,3]],[21875,[2049,1025,513,257,133,73,33,17,3]],[21876,[2097224,1048648,524360,262216,131144,65608,32840,16456,204]],[21877,[2097412,1048836,131332,65796,2308,1284,780]],[21878,[8193,4097,2049,1025,521,261,129,65,3]],[21879,[2049,1025,521,261,129,65,33,17,3]],[21880,[2097412,1048836,524548,262404,131332,65796,33028,16644,780]],[21881,[2097416,1048840,131336,65800,2312,1288,780]],[21882,[8193,4097,2049,1025,517,265,129,65,3]],[21883,[2049,1025,517,265,129,65,33,17,3]],[21884,[2097416,1048840,524552,262408,131336,65800,33032,16648,780]],[21885,[2097408,1048832,131328,65792,2312,1284,768]],[21886,[8193,4097,2057,1029,513,257,129,65,3]],[21887,[2057,1029,513,257,129,65,33,17,3]],[21888,[2098180,1049604,525316,263172,132100,66564,33796,17412,3084]],[21889,[2097408,1048832,131328,65792,2308,1288,768]],[21890,[8193,4097,2053,1033,513,257,129,65,3]],[21891,[2053,1033,513,257,129,65,33,17,3]],[21892,[2098184,1049608,525320,263176,132104,66568,33800,17416,3084]],[21893,[2097408,1048832,131328,65792,8456,4356,768]],[21894,[8201,4101,2049,1025,513,257,129,65,3]],[21895,[8201,4101,513,257,129,65,33,17,3]],[21896,[2101252,1052676,528388,266244,135172,69636,36868,20484,12300]],[21897,[2097408,1048832,131328,65792,8452,4360,768]],[21898,[8197,4105,2049,1025,513,257,129,65,3]],[21899,[8197,4105,513,257,129,65,33,17,3]],[21900,[2101256,1052680,528392,266248,135176,69640,36872,20488,12300]],[21901,[2097408,1048832,131328,65792,33032,16644,768]],[21902,[32777,16389,2049,1025,513,257,129,65,3]],[21903,[32777,16389,513,257,129,65,33,17,3]],[21904,[2101248,1052672,528384,266240,135168,69632,36872,20484,12288]],[21905,[2097408,1048832,131328,65792,33028,16648,768]],[21906,[32773,16393,2049,1025,513,257,129,65,3]],[21907,[32773,16393,513,257,129,65,33,17,3]],[21908,[2101248,1052672,528384,266240,135168,69632,36868,20488,12288]],[21909,[2097408,1048832,131336,65796,33024,16640,768]],[21910,[131081,65541,2049,1025,513,257,129,65,3]],[21911,[131081,65541,513,257,129,65,33,17,3]],[21912,[2101248,1052672,528384,266240,135176,69636,36864,20480,12288]],[21913,[2097408,1048832,131332,65800,33024,16640,768]],[21914,[131077,65545,2049,1025,513,257,129,65,3]],[21915,[131077,65545,513,257,129,65,33,17,3]],[21916,[2101248,1052672,528384,266240,135172,69640,36864,20480,12288]],[21917,[2097408,1048832,524552,262404,33024,16640,768]],[21918,[524297,262149,2049,1025,513,257,129,65,3]],[21919,[524297,262149,513,257,129,65,33,17,3]],[21920,[2101248,1052672,528392,266244,135168,69632,36864,20480,12288]],[21921,[2097408,1048832,524548,262408,33024,16640,768]],[21922,[524293,262153,2049,1025,513,257,129,65,3]],[21923,[524293,262153,513,257,129,65,33,17,3]],[21924,[2101248,1052672,528388,266248,135168,69632,36864,20480,12288]],[21925,[2097416,1048836,524544,262400,33024,16640,768]],[21926,[2097161,1048581,2049,1025,513,257,129,65,3]],[21927,[2097161,1048581,513,257,129,65,33,17,3]],[21928,[2101256,1052676,528384,266240,135168,69632,36864,20480,12288]],[21929,[2097412,1048840,524544,262400,33024,16640,768]],[21930,[2097157,1048585,2049,1025,513,257,129,65,3]],[21931,[2097157,1048585,513,257,129,65,33,17,3]],[21932,[2101252,1052680,528384,266240,135168,69632,36864,20480,12288]],[21933,[2097232,1048656,131152,65616,2128,1104,240]],[21934,[8193,4097,2049,1025,513,257,161,81,3]],[21935,[2049,1025,513,257,161,81,9,5,3]],[21936,[2097232,1048656,524368,262224,131152,65616,32848,16464,240]],[21937,[2097248,1048672,131168,65632,2144,1120,240]],[21938,[8193,4097,2049,1025,513,257,145,97,3]],[21939,[2049,1025,513,257,145,97,9,5,3]],[21940,[2097248,1048672,524384,262240,131168,65632,32864,16480,240]],[21941,[2097424,1048848,131344,65808,2320,1296,816]],[21942,[8193,4097,2049,1025,545,273,129,65,3]],[21943,[2049,1025,545,273,129,65,9,5,3]],[21944,[2097424,1048848,524560,262416,131344,65808,33040,16656,816]],[21945,[2097440,1048864,131360,65824,2336,1312,816]],[21946,[8193,4097,2049,1025,529,289,129,65,3]],[21947,[2049,1025,529,289,129,65,9,5,3]],[21948,[2097440,1048864,524576,262432,131360,65824,33056,16672,816]],[21949,[2097408,1048832,131328,65792,2336,1296,768]],[21950,[8193,4097,2081,1041,513,257,129,65,3]],[21951,[2081,1041,513,257,129,65,9,5,3]],[21952,[2098192,1049616,525328,263184,132112,66576,33808,17424,3120]],[21953,[2097408,1048832,131328,65792,2320,1312,768]],[21954,[8193,4097,2065,1057,513,257,129,65,3]],[21955,[2065,1057,513,257,129,65,9,5,3]],[21956,[2098208,1049632,525344,263200,132128,66592,33824,17440,3120]],[21957,[2097408,1048832,131328,65792,8480,4368,768]],[21958,[8225,4113,2049,1025,513,257,129,65,3]],[21959,[8225,4113,513,257,129,65,9,5,3]],[21960,[2101264,1052688,528400,266256,135184,69648,36880,20496,12336]],[21961,[2097408,1048832,131328,65792,8464,4384,768]],[21962,[8209,4129,2049,1025,513,257,129,65,3]],[21963,[8209,4129,513,257,129,65,9,5,3]],[21964,[2101280,1052704,528416,266272,135200,69664,36896,20512,12336]],[21965,[2097408,1048832,131328,65792,33056,16656,768]],[21966,[32801,16401,2049,1025,513,257,129,65,3]],[21967,[32801,16401,513,257,129,65,9,5,3]],[21968,[2101248,1052672,528384,266240,135168,69632,36896,20496,12288]],[21969,[2097408,1048832,131328,65792,33040,16672,768]],[21970,[32785,16417,2049,1025,513,257,129,65,3]],[21971,[32785,16417,513,257,129,65,9,5,3]],[21972,[2101248,1052672,528384,266240,135168,69632,36880,20512,12288]],[21973,[2097408,1048832,131360,65808,33024,16640,768]],[21974,[131105,65553,2049,1025,513,257,129,65,3]],[21975,[131105,65553,513,257,129,65,9,5,3]],[21976,[2101248,1052672,528384,266240,135200,69648,36864,20480,12288]],[21977,[2097408,1048832,131344,65824,33024,16640,768]],[21978,[131089,65569,2049,1025,513,257,129,65,3]],[21979,[131089,65569,513,257,129,65,9,5,3]],[21980,[2101248,1052672,528384,266240,135184,69664,36864,20480,12288]],[21981,[2097408,1048832,524576,262416,33024,16640,768]],[21982,[524321,262161,2049,1025,513,257,129,65,3]],[21983,[524321,262161,513,257,129,65,9,5,3]],[21984,[2101248,1052672,528416,266256,135168,69632,36864,20480,12288]],[21985,[2097408,1048832,524560,262432,33024,16640,768]],[21986,[524305,262177,2049,1025,513,257,129,65,3]],[21987,[524305,262177,513,257,129,65,9,5,3]],[21988,[2101248,1052672,528400,266272,135168,69632,36864,20480,12288]],[21989,[2097440,1048848,524544,262400,33024,16640,768]],[21990,[2097185,1048593,2049,1025,513,257,129,65,3]],[21991,[2097185,1048593,513,257,129,65,9,5,3]],[21992,[2101280,1052688,528384,266240,135168,69632,36864,20480,12288]],[21993,[2097424,1048864,524544,262400,33024,16640,768]],[21994,[2097169,1048609,2049,1025,513,257,129,65,3]],[21995,[2097169,1048609,513,257,129,65,9,5,3]],[21996,[2101264,1052704,528384,266240,135168,69632,36864,20480,12288]],[21997,[2097472,1048896,131392,65856,2368,1344,960]],[21998,[8193,4097,2049,1025,641,321,33,17,3]],[21999,[2049,1025,641,321,33,17,9,5,3]],[22000,[2097472,1048896,524608,262464,131392,65856,33088,16704,960]],[22001,[2097536,1048960,131456,65920,2432,1408,960]],[22002,[8193,4097,2049,1025,577,385,33,17,3]],[22003,[2049,1025,577,385,33,17,9,5,3]],[22004,[2097536,1048960,524672,262528,131456,65920,33152,16768,960]],[22005,[2097408,1048832,131328,65792,2432,1344,768]],[22006,[8193,4097,2177,1089,513,257,33,17,3]],[22007,[2177,1089,513,257,33,17,9,5,3]],[22008,[2098240,1049664,525376,263232,132160,66624,33856,17472,3264]],[22009,[2097408,1048832,131328,65792,2368,1408,768]],[22010,[8193,4097,2113,1153,513,257,33,17,3]],[22011,[2113,1153,513,257,33,17,9,5,3]],[22012,[2098304,1049728,525440,263296,132224,66688,33920,17536,3264]],[22013,[2097408,1048832,131328,65792,8576,4416,768]],[22014,[8321,4161,2049,1025,513,257,33,17,3]],[22015,[8321,4161,513,257,33,17,9,5,3]],[22016,[2101312,1052736,528448,266304,135232,69696,36928,20544,12480]],[22017,[2097408,1048832,131328,65792,8512,4480,768]],[22018,[8257,4225,2049,1025,513,257,33,17,3]],[22019,[8257,4225,513,257,33,17,9,5,3]],[22020,[2101376,1052800,528512,266368,135296,69760,36992,20608,12480]],[22021,[2097408,1048832,131328,65792,33152,16704,768]],[22022,[32897,16449,2049,1025,513,257,33,17,3]],[22023,[32897,16449,513,257,33,17,9,5,3]],[22024,[2101248,1052672,528384,266240,135168,69632,36992,20544,12288]],[22025,[2097408,1048832,131328,65792,33088,16768,768]],[22026,[32833,16513,2049,1025,513,257,33,17,3]],[22027,[32833,16513,513,257,33,17,9,5,3]],[22028,[2101248,1052672,528384,266240,135168,69632,36928,20608,12288]],[22029,[2097408,1048832,131456,65856,33024,16640,768]],[22030,[131201,65601,2049,1025,513,257,33,17,3]],[22031,[131201,65601,513,257,33,17,9,5,3]],[22032,[2101248,1052672,528384,266240,135296,69696,36864,20480,12288]],[22033,[2097408,1048832,131392,65920,33024,16640,768]],[22034,[131137,65665,2049,1025,513,257,33,17,3]],[22035,[131137,65665,513,257,33,17,9,5,3]],[22036,[2101248,1052672,528384,266240,135232,69760,36864,20480,12288]],[22037,[2097408,1048832,524672,262464,33024,16640,768]],[22038,[524417,262209,2049,1025,513,257,33,17,3]],[22039,[524417,262209,513,257,33,17,9,5,3]],[22040,[2101248,1052672,528512,266304,135168,69632,36864,20480,12288]],[22041,[2097408,1048832,524608,262528,33024,16640,768]],[22042,[524353,262273,2049,1025,513,257,33,17,3]],[22043,[524353,262273,513,257,33,17,9,5,3]],[22044,[2101248,1052672,528448,266368,135168,69632,36864,20480,12288]],[22045,[2097536,1048896,524544,262400,33024,16640,768]],[22046,[2097281,1048641,2049,1025,513,257,33,17,3]],[22047,[2097281,1048641,513,257,33,17,9,5,3]],[22048,[2101376,1052736,528384,266240,135168,69632,36864,20480,12288]],[22049,[2097472,1048960,524544,262400,33024,16640,768]],[22050,[2097217,1048705,2049,1025,513,257,33,17,3]],[22051,[2097217,1048705,513,257,33,17,9,5,3]],[22052,[2101312,1052800,528384,266240,135168,69632,36864,20480,12288]],[22053,[2097216,1048640,131136,65600,2624,1344,192]],[22054,[8193,4097,2561,1281,129,65,33,17,3]],[22055,[2561,1281,129,65,33,17,9,5,3]],[22056,[2098432,1049856,525568,263424,132352,66816,34048,17664,3840]],[22057,[2097216,1048640,131136,65600,2368,1600,192]],[22058,[8193,4097,2305,1537,129,65,33,17,3]],[22059,[2305,1537,129,65,33,17,9,5,3]],[22060,[2098688,1050112,525824,263680,132608,67072,34304,17920,3840]],[22061,[2097216,1048640,131136,65600,8768,4416,192]],[22062,[8705,4353,2049,1025,129,65,33,17,3]],[22063,[8705,4353,129,65,33,17,9,5,3]],[22064,[2101504,1052928,528640,266496,135424,69888,37120,20736,13056]],[22065,[2097216,1048640,131136,65600,8512,4672,192]],[22066,[8449,4609,2049,1025,129,65,33,17,3]],[22067,[8449,4609,129,65,33,17,9,5,3]],[22068,[2101760,1053184,528896,266752,135680,70144,37376,20992,13056]],[22069,[2097216,1048640,131136,65600,33344,16704,192]],[22070,[33281,16641,2049,1025,129,65,33,17,3]],[22071,[33281,16641,129,65,33,17,9,5,3]],[22072,[2101248,1052672,528384,266240,135168,69632,37376,20736,12288]],[22073,[2097216,1048640,131136,65600,33088,16960,192]],[22074,[33025,16897,2049,1025,129,65,33,17,3]],[22075,[33025,16897,129,65,33,17,9,5,3]],[22076,[2101248,1052672,528384,266240,135168,69632,37120,20992,12288]],[22077,[2097216,1048640,131648,65856,32832,16448,192]],[22078,[131585,65793,2049,1025,129,65,33,17,3]],[22079,[131585,65793,129,65,33,17,9,5,3]],[22080,[2101248,1052672,528384,266240,135680,69888,36864,20480,12288]],[22081,[2097216,1048640,131392,66112,32832,16448,192]],[22082,[131329,66049,2049,1025,129,65,33,17,3]],[22083,[131329,66049,129,65,33,17,9,5,3]],[22084,[2101248,1052672,528384,266240,135424,70144,36864,20480,12288]],[22085,[2097216,1048640,524864,262464,32832,16448,192]],[22086,[524801,262401,2049,1025,129,65,33,17,3]],[22087,[524801,262401,129,65,33,17,9,5,3]],[22088,[2101248,1052672,528896,266496,135168,69632,36864,20480,12288]],[22089,[2097216,1048640,524608,262720,32832,16448,192]],[22090,[524545,262657,2049,1025,129,65,33,17,3]],[22091,[524545,262657,129,65,33,17,9,5,3]],[22092,[2101248,1052672,528640,266752,135168,69632,36864,20480,12288]],[22093,[2097728,1048896,524352,262208,32832,16448,192]],[22094,[2097665,1048833,2049,1025,129,65,33,17,3]],[22095,[2097665,1048833,129,65,33,17,9,5,3]],[22096,[2101760,1052928,528384,266240,135168,69632,36864,20480,12288]],[22097,[2097472,1049152,524352,262208,32832,16448,192]],[22098,[2097409,1049089,2049,1025,129,65,33,17,3]],[22099,[2097409,1049089,129,65,33,17,9,5,3]],[22100,[2101504,1053184,528384,266240,135168,69632,36864,20480,12288]],[22101,[2097216,1048640,131136,65600,10304,5184,192]],[22102,[10241,5121,513,257,129,65,33,17,3]],[22103,[10241,5121,129,65,33,17,9,5,3]],[22104,[2102272,1053696,529408,267264,136192,70656,37888,21504,15360]],[22105,[2097216,1048640,131136,65600,9280,6208,192]],[22106,[9217,6145,513,257,129,65,33,17,3]],[22107,[9217,6145,129,65,33,17,9,5,3]],[22108,[2103296,1054720,530432,268288,137216,71680,38912,22528,15360]],[22109,[2097216,1048640,131136,65600,34880,17472,192]],[22110,[34817,17409,513,257,129,65,33,17,3]],[22111,[34817,17409,129,65,33,17,9,5,3]],[22112,[2101248,1052672,528384,266240,135168,69632,38912,21504,12288]],[22113,[2097216,1048640,131136,65600,33856,18496,192]],[22114,[33793,18433,513,257,129,65,33,17,3]],[22115,[33793,18433,129,65,33,17,9,5,3]],[22116,[2101248,1052672,528384,266240,135168,69632,37888,22528,12288]],[22117,[2097216,1048640,133184,66624,32832,16448,192]],[22118,[133121,66561,513,257,129,65,33,17,3]],[22119,[133121,66561,129,65,33,17,9,5,3]],[22120,[2101248,1052672,528384,266240,137216,70656,36864,20480,12288]],[22121,[2097216,1048640,132160,67648,32832,16448,192]],[22122,[132097,67585,513,257,129,65,33,17,3]],[22123,[132097,67585,129,65,33,17,9,5,3]],[22124,[2101248,1052672,528384,266240,136192,71680,36864,20480,12288]],[22125,[2097216,1048640,526400,263232,32832,16448,192]],[22126,[526337,263169,513,257,129,65,33,17,3]],[22127,[526337,263169,129,65,33,17,9,5,3]],[22128,[2101248,1052672,530432,267264,135168,69632,36864,20480,12288]],[22129,[2097216,1048640,525376,264256,32832,16448,192]],[22130,[525313,264193,513,257,129,65,33,17,3]],[22131,[525313,264193,129,65,33,17,9,5,3]],[22132,[2101248,1052672,529408,268288,135168,69632,36864,20480,12288]],[22133,[2099264,1049664,524352,262208,32832,16448,192]],[22134,[2099201,1049601,513,257,129,65,33,17,3]],[22135,[2099201,1049601,129,65,33,17,9,5,3]],[22136,[2103296,1053696,528384,266240,135168,69632,36864,20480,12288]],[22137,[2098240,1050688,524352,262208,32832,16448,192]],[22138,[2098177,1050625,513,257,129,65,33,17,3]],[22139,[2098177,1050625,129,65,33,17,9,5,3]],[22140,[2102272,1054720,528384,266240,135168,69632,36864,20480,12288]],[22141,[2097216,1048640,131136,65600,41024,20544,192]],[22142,[40961,20481,513,257,129,65,33,17,3]],[22143,[40961,20481,129,65,33,17,9,5,3]],[22144,[2098176,1049600,525312,263168,132096,66560,41984,21504,3072]],[22145,[2097216,1048640,131136,65600,36928,24640,192]],[22146,[36865,24577,513,257,129,65,33,17,3]],[22147,[36865,24577,129,65,33,17,9,5,3]],[22148,[2098176,1049600,525312,263168,132096,66560,37888,25600,3072]],[22149,[2097216,1048640,139328,69696,32832,16448,192]],[22150,[139265,69633,513,257,129,65,33,17,3]],[22151,[139265,69633,129,65,33,17,9,5,3]],[22152,[2098176,1049600,525312,263168,140288,70656,33792,17408,3072]],[22153,[2097216,1048640,135232,73792,32832,16448,192]],[22154,[135169,73729,513,257,129,65,33,17,3]],[22155,[135169,73729,129,65,33,17,9,5,3]],[22156,[2098176,1049600,525312,263168,136192,74752,33792,17408,3072]],[22157,[2097216,1048640,532544,266304,32832,16448,192]],[22158,[532481,266241,513,257,129,65,33,17,3]],[22159,[532481,266241,129,65,33,17,9,5,3]],[22160,[2098176,1049600,533504,267264,132096,66560,33792,17408,3072]],[22161,[2097216,1048640,528448,270400,32832,16448,192]],[22162,[528385,270337,513,257,129,65,33,17,3]],[22163,[528385,270337,129,65,33,17,9,5,3]],[22164,[2098176,1049600,529408,271360,132096,66560,33792,17408,3072]],[22165,[2105408,1052736,524352,262208,32832,16448,192]],[22166,[2105345,1052673,513,257,129,65,33,17,3]],[22167,[2105345,1052673,129,65,33,17,9,5,3]],[22168,[2106368,1053696,525312,263168,132096,66560,33792,17408,3072]],[22169,[2101312,1056832,524352,262208,32832,16448,192]],[22170,[2101249,1056769,513,257,129,65,33,17,3]],[22171,[2101249,1056769,129,65,33,17,9,5,3]],[22172,[2102272,1057792,525312,263168,132096,66560,33792,17408,3072]],[22173,[2097216,1048640,163904,81984,8256,4160,192]],[22174,[163841,81921,513,257,129,65,33,17,3]],[22175,[163841,81921,129,65,33,17,9,5,3]],[22176,[2098176,1049600,525312,263168,164864,82944,9216,5120,3072]],[22177,[2097216,1048640,147520,98368,8256,4160,192]],[22178,[147457,98305,513,257,129,65,33,17,3]],[22179,[147457,98305,129,65,33,17,9,5,3]],[22180,[2098176,1049600,525312,263168,148480,99328,9216,5120,3072]],[22181,[2097216,1048640,557120,278592,8256,4160,192]],[22182,[557057,278529,513,257,129,65,33,17,3]],[22183,[557057,278529,129,65,33,17,9,5,3]],[22184,[2098176,1049600,558080,279552,132096,66560,9216,5120,3072]],[22185,[2097216,1048640,540736,294976,8256,4160,192]],[22186,[540673,294913,513,257,129,65,33,17,3]],[22187,[540673,294913,129,65,33,17,9,5,3]],[22188,[2098176,1049600,541696,295936,132096,66560,9216,5120,3072]],[22189,[2129984,1065024,524352,262208,8256,4160,192]],[22190,[2129921,1064961,513,257,129,65,33,17,3]],[22191,[2129921,1064961,129,65,33,17,9,5,3]],[22192,[2130944,1065984,525312,263168,132096,66560,9216,5120,3072]],[22193,[2113600,1081408,524352,262208,8256,4160,192]],[22194,[2113537,1081345,513,257,129,65,33,17,3]],[22195,[2113537,1081345,129,65,33,17,9,5,3]],[22196,[2114560,1082368,525312,263168,132096,66560,9216,5120,3072]],[22197,[2097216,1048640,655424,327744,8256,4160,192]],[22198,[655361,327681,513,257,129,65,33,17,3]],[22199,[655361,327681,129,65,33,17,9,5,3]],[22200,[2098176,1049600,656384,328704,33792,17408,9216,5120,3072]],[22201,[2097216,1048640,589888,393280,8256,4160,192]],[22202,[589825,393217,513,257,129,65,33,17,3]],[22203,[589825,393217,129,65,33,17,9,5,3]],[22204,[2098176,1049600,590848,394240,33792,17408,9216,5120,3072]],[22205,[2228288,1114176,524352,262208,8256,4160,192]],[22206,[2228225,1114113,513,257,129,65,33,17,3]],[22207,[2228225,1114113,129,65,33,17,9,5,3]],[22208,[2229248,1115136,525312,263168,33792,17408,9216,5120,3072]],[22209,[2162752,1179712,524352,262208,8256,4160,192]],[22210,[2162689,1179649,513,257,129,65,33,17,3]],[22211,[2162689,1179649,129,65,33,17,9,5,3]],[22212,[2163712,1180672,525312,263168,33792,17408,9216,5120,3072]],[22213,[2621504,1310784,131136,65600,8256,4160,192]],[22214,[2621441,1310721,513,257,129,65,33,17,3]],[22215,[2621441,1310721,129,65,33,17,9,5,3]],[22216,[2622464,1311744,132096,66560,33792,17408,9216,5120,3072]],[22217,[2359360,1572928,131136,65600,8256,4160,192]],[22218,[2359297,1572865,513,257,129,65,33,17,3]],[22219,[2359297,1572865,129,65,33,17,9,5,3]],[22220,[2360320,1573888,132096,66560,33792,17408,9216,5120,3072]],[22221,[32773,16389,8197,4101,12]],[22222,[2097156,1048580,524292,262148,132,68,36,20,12,1]],[22223,[8209,4113,2065,1041,529,273,48]],[22224,[525312,263168,132096,66560,9216,5120,3072,1]],[22225,[32774,16390,8198,4102,12]],[22226,[2097156,1048580,524292,262148,132,68,36,20,12,2]],[22227,[8210,4114,2066,1042,530,274,48]],[22228,[525312,263168,132096,66560,9216,5120,3072,2]],[22229,[32773,16389,8197,4101,3]],[22230,[2097153,1048577,524289,262145,129,65,33,17,4,3]],[22231,[8212,4116,2068,1044,532,276,48]],[22232,[525312,263168,132096,66560,9216,5120,3072,4]],[22233,[32777,16393,8201,4105,3]],[22234,[2097153,1048577,524289,262145,129,65,33,17,8,3]],[22235,[8216,4120,2072,1048,536,280,48]],[22236,[525312,263168,132096,66560,9216,5120,3072,8]],[22237,[32785,16401,8209,4113,3]],[22238,[2097153,1048577,524289,262145,129,65,16,9,5,3]],[22239,[8212,4116,2068,1044,532,276,12]],[22240,[525312,263168,132096,66560,9216,5120,3072,16]],[22241,[32801,16417,8225,4129,3]],[22242,[2097153,1048577,524289,262145,129,65,32,9,5,3]],[22243,[8228,4132,2084,1060,548,292,12]],[22244,[525312,263168,132096,66560,9216,5120,3072,32]],[22245,[32833,16449,8257,4161,3]],[22246,[2097153,1048577,524289,262145,64,33,17,9,5,3]],[22247,[8260,4164,2116,1092,580,324,12]],[22248,[525312,263168,132096,66560,9216,5120,3072,64]],[22249,[32897,16513,8321,4225,3]],[22250,[2097153,1048577,524289,262145,128,33,17,9,5,3]],[22251,[8324,4228,2180,1156,644,388,12]],[22252,[525312,263168,132096,66560,9216,5120,3072,128]],[22253,[33025,16641,8449,4353,3]],[22254,[2097153,1048577,524289,262145,256,33,17,9,5,3]],[22255,[8256,4160,2112,1088,324,192,12]],[22256,[525312,263168,132096,66560,9216,5120,3072,256]],[22257,[33281,16897,8705,4609,3]],[22258,[2097153,1048577,524289,262145,512,33,17,9,5,3]],[22259,[8256,4160,2112,1088,580,192,12]],[22260,[525312,263168,132096,66560,9216,5120,3072,512]],[22261,[33793,17409,9217,5121,3]],[22262,[2097153,1048577,524289,262145,1024,33,17,9,5,3]],[22263,[8256,4160,1092,576,320,192,12]],[22264,[524544,262400,131328,65792,8448,4352,1024,768]],[22265,[34817,18433,10241,6145,3]],[22266,[2097153,1048577,524289,262145,2048,33,17,9,5,3]],[22267,[8256,4160,2116,576,320,192,12]],[22268,[524544,262400,131328,65792,8448,4352,2048,768]],[22269,[33792,17408,5121,3072,3]],[22270,[2097153,1048577,524289,262145,4096,33,17,9,5,3]],[22271,[4164,2112,1088,576,320,192,12]],[22272,[524544,262400,131328,65792,4096,2304,1280,768]],[22273,[33792,17408,9217,3072,3]],[22274,[2097153,1048577,524289,262145,8192,33,17,9,5,3]],[22275,[8260,2112,1088,576,320,192,12]],[22276,[524544,262400,131328,65792,8192,2304,1280,768]],[22277,[17409,9216,5120,3072,3]],[22278,[2097153,1048577,524289,262145,16384,33,17,9,5,3]],[22279,[16452,2112,1088,576,320,192,12]],[22280,[524544,262400,131328,65792,16384,2304,1280,768]],[22281,[33793,9216,5120,3072,3]],[22282,[2097153,1048577,524289,262145,32768,33,17,9,5,3]],[22283,[32836,2112,1088,576,320,192,12]],[22284,[524544,262400,131328,65792,32768,2304,1280,768]],[22285,[66561,9216,5120,3072,3]],[22286,[2097153,1048577,524289,262145,65536,33,17,9,5,3]],[22287,[65604,2112,1088,576,320,192,12]],[22288,[524544,262400,65536,33024,16640,2304,1280,768]],[22289,[132097,9216,5120,3072,3]],[22290,[2097153,1048577,524289,262145,131072,33,17,9,5,3]],[22291,[131140,2112,1088,576,320,192,12]],[22292,[524544,262400,131072,33024,16640,2304,1280,768]],[22293,[263169,9216,5120,3072,3]],[22294,[2097153,1048577,262144,131073,65537,33,17,9,5,3]],[22295,[262212,2112,1088,576,320,192,12]],[22296,[262144,131328,65792,33024,16640,2304,1280,768]],[22298,[2097153,1048577,524288,131073,65537,33,17,9,5,3]],[22299,[524356,2112,1088,576,320,192,12]],[22300,[524288,131328,65792,33024,16640,2304,1280,768]],[22301,[1049601,9216,5120,3072,3]],[22302,[1048576,524289,262145,131073,65537,33,17,9,5,3]],[22303,[1048644,2112,1088,576,320,192,12]],[22304,[1048576,131328,65792,33024,16640,2304,1280,768]],[22305,[2098177,9216,5120,3072,3]],[22306,[2097152,524289,262145,131073,65537,33,17,9,5,3]],[22307,[2097220,2112,1088,576,320,192,12]],[22308,[2097152,131328,65792,33024,16640,2304,1280,768]],[22311,[1032387,8192,4096,2048,1024,512,256,32,16,8,4]],[22317,[3981552,131072,65536,8192,4096,512,256,8,4,2,1]],[22320,[2097412,1048836,524292,262148,768,12]],[22352,[2097152,1048576,524292,262148,8196,4100,2052,1028,12]],[22357,[2097152,1048576,524288,262144,2048,1024,128,64,32,16]],[22385,[525313,263169,32769,16385,8193,4097,3072,3]],[22415,[32769,16385,8193,4097,145,81,48,3]],[22470,[524545,262401,32769,16385,8193,4097,768,3]],[22471,[2097409,1048833,131073,65537,32769,16385,768,3]],[22474,[131073,65537,8193,4097,512,256,129,65,3]],[22476,[2097472,1048896,524352,262208,131136,65600,768,192]],[22479,[131073,65537,8193,4097,2065,1041,48,3]],[22483,[2097409,1048833,8193,4097,768,9,5,3]],[22491,[524292,262148,32772,16388,532,276,48,12]],[22497,[2097217,1048641,32769,16385,8193,4097,192,3]],[22525,[2097153,1048577,32769,16385,2048,1024,129,65,3]],[22532,[131076,65540,32772,16388,2052,1028,36,20,12,1]],[22533,[131136,65600,32832,16448,8256,4160,2112,1088,192,1]],[22534,[2097156,1048580,524292,262148,131076,65540,32772,16388,12,1]],[22535,[131136,65600,32832,16448,8256,4160,2112,1088,192,1]],[22537,[131076,65540,32772,16388,132,68,36,20,12,1]],[22538,[131076,65540,32772,16388,132,68,36,20,12,1]],[22539,[32773,16389,2052,1028,516,260,36,20,12]],[22540,[2097216,1048640,8256,4160,2112,1088,576,320,192,1]],[22541,[524292,262148,516,260,132,68,36,20,12,1]],[22542,[2097156,1048580,524292,262148,131076,65540,32772,16388,12,1]],[22543,[524292,262148,516,260,132,68,36,20,12,1]],[22544,[131076,65540,32772,16388,2052,1028,36,20,12,1]],[22545,[2097216,1048640,524352,262208,131136,65600,576,320,192,1]],[22546,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,1]],[22547,[524292,262148,516,260,132,68,36,20,12,1]],[22548,[524292,262148,516,260,132,68,36,20,12,1]],[22549,[131076,65540,32772,16388,2052,1028,36,20,12,1]],[22550,[131076,65540,32772,16388,2052,1028,36,20,12,1]],[22551,[2097216,1048640,524352,262208,32832,16448,576,320,192,1]],[22552,[2097216,1048640,524352,262208,32832,16448,576,320,192,1]],[22553,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,1]],[22554,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,1]],[22555,[131136,65600,32832,16448,8256,4160,2112,1088,192,1]],[22556,[32772,16388,8196,4100,2052,1028,516,260,12,1]],[22557,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,1]],[22558,[2097216,1048640,524352,262208,131136,65600,576,320,192,1]],[22559,[131076,65540,32772,16388,2052,1028,36,20,12,2]],[22560,[131136,65600,32832,16448,8256,4160,2112,1088,192,2]],[22561,[2097156,1048580,524292,262148,131076,65540,32772,16388,12,2]],[22562,[131136,65600,32832,16448,8256,4160,2112,1088,192,2]],[22564,[131076,65540,32772,16388,132,68,36,20,12,2]],[22565,[131076,65540,32772,16388,132,68,36,20,12,2]],[22566,[32774,16390,2052,1028,516,260,36,20,12]],[22567,[2097216,1048640,8256,4160,2112,1088,576,320,192,2]],[22568,[524292,262148,516,260,132,68,36,20,12,2]],[22569,[2097156,1048580,524292,262148,131076,65540,32772,16388,12,2]],[22570,[524292,262148,516,260,132,68,36,20,12,2]],[22571,[131076,65540,32772,16388,2052,1028,36,20,12,2]],[22572,[2097216,1048640,524352,262208,131136,65600,576,320,192,2]],[22573,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,2]],[22574,[524292,262148,516,260,132,68,36,20,12,2]],[22575,[524292,262148,516,260,132,68,36,20,12,2]],[22576,[131076,65540,32772,16388,2052,1028,36,20,12,2]],[22577,[131076,65540,32772,16388,2052,1028,36,20,12,2]],[22578,[2097216,1048640,524352,262208,32832,16448,576,320,192,2]],[22579,[2097216,1048640,524352,262208,32832,16448,576,320,192,2]],[22580,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,2]],[22581,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,2]],[22582,[131136,65600,32832,16448,8256,4160,2112,1088,192,2]],[22583,[32772,16388,8196,4100,2052,1028,516,260,12,2]],[22584,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,2]],[22585,[2097216,1048640,524352,262208,131136,65600,576,320,192,2]],[22586,[131073,65537,32769,16385,2049,1025,33,17,4,3]],[22587,[131136,65600,32832,16448,8256,4160,2112,1088,192,4]],[22588,[2097153,1048577,524289,262145,131073,65537,32769,16385,4,3]],[22589,[131136,65600,32832,16448,8256,4160,2112,1088,192,4]],[22591,[131073,65537,32769,16385,129,65,33,17,4,3]],[22592,[131073,65537,32769,16385,129,65,33,17,4,3]],[22593,[32773,16389,2049,1025,513,257,33,17,3]],[22594,[2097216,1048640,8256,4160,2112,1088,576,320,192,4]],[22595,[524289,262145,513,257,129,65,33,17,4,3]],[22596,[2097153,1048577,524289,262145,131073,65537,32769,16385,4,3]],[22597,[524289,262145,513,257,129,65,33,17,4,3]],[22598,[131073,65537,32769,16385,2049,1025,33,17,4,3]],[22599,[2097216,1048640,524352,262208,131136,65600,576,320,192,4]],[22600,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,4]],[22601,[524289,262145,513,257,129,65,33,17,4,3]],[22602,[524289,262145,513,257,129,65,33,17,4,3]],[22603,[131073,65537,32769,16385,2049,1025,33,17,4,3]],[22604,[131073,65537,32769,16385,2049,1025,33,17,4,3]],[22605,[2097216,1048640,524352,262208,32832,16448,576,320,192,4]],[22606,[2097216,1048640,524352,262208,32832,16448,576,320,192,4]],[22607,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,4]],[22608,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,4]],[22609,[131136,65600,32832,16448,8256,4160,2112,1088,192,4]],[22610,[32769,16385,8193,4097,2049,1025,513,257,4,3]],[22611,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,4]],[22612,[2097216,1048640,524352,262208,131136,65600,576,320,192,4]],[22613,[131073,65537,32769,16385,2049,1025,33,17,8,3]],[22614,[131136,65600,32832,16448,8256,4160,2112,1088,192,8]],[22615,[2097153,1048577,524289,262145,131073,65537,32769,16385,8,3]],[22616,[131136,65600,32832,16448,8256,4160,2112,1088,192,8]],[22618,[131073,65537,32769,16385,129,65,33,17,8,3]],[22619,[131073,65537,32769,16385,129,65,33,17,8,3]],[22620,[32777,16393,2049,1025,513,257,33,17,3]],[22621,[2097216,1048640,8256,4160,2112,1088,576,320,192,8]],[22622,[524289,262145,513,257,129,65,33,17,8,3]],[22623,[2097153,1048577,524289,262145,131073,65537,32769,16385,8,3]],[22624,[524289,262145,513,257,129,65,33,17,8,3]],[22625,[131073,65537,32769,16385,2049,1025,33,17,8,3]],[22626,[2097216,1048640,524352,262208,131136,65600,576,320,192,8]],[22627,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,8]],[22628,[524289,262145,513,257,129,65,33,17,8,3]],[22629,[524289,262145,513,257,129,65,33,17,8,3]],[22630,[131073,65537,32769,16385,2049,1025,33,17,8,3]],[22631,[131073,65537,32769,16385,2049,1025,33,17,8,3]],[22632,[2097216,1048640,524352,262208,32832,16448,576,320,192,8]],[22633,[2097216,1048640,524352,262208,32832,16448,576,320,192,8]],[22634,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,8]],[22635,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,8]],[22636,[131136,65600,32832,16448,8256,4160,2112,1088,192,8]],[22638,[2097168,1048592,524304,262160,131088,65552,32784,16400,48,8]],[22639,[2097216,1048640,524352,262208,131136,65600,576,320,192,8]],[22640,[131073,65537,32769,16385,2049,1025,16,9,5,3]],[22641,[131136,65600,32832,16448,8256,4160,2112,1088,192,16]],[22642,[2097153,1048577,524289,262145,131073,65537,32769,16385,16,3]],[22643,[131136,65600,32832,16448,8256,4160,2112,1088,192,16]],[22645,[131073,65537,32769,16385,129,65,16,9,5,3]],[22646,[131073,65537,32769,16385,129,65,16,9,5,3]],[22647,[32785,16401,2049,1025,513,257,9,5,3]],[22648,[2097216,1048640,8256,4160,2112,1088,576,320,192,16]],[22649,[524289,262145,513,257,129,65,16,9,5,3]],[22650,[2097153,1048577,524289,262145,131073,65537,32769,16385,16,3]],[22651,[524289,262145,513,257,129,65,16,9,5,3]],[22652,[131073,65537,32769,16385,2049,1025,16,9,5,3]],[22653,[2097216,1048640,524352,262208,131136,65600,576,320,192,16]],[22654,[2097156,1048580,524292,262148,131076,65540,32772,16388,16,12]],[22655,[524289,262145,513,257,129,65,16,9,5,3]],[22656,[524289,262145,513,257,129,65,16,9,5,3]],[22657,[131073,65537,32769,16385,2049,1025,16,9,5,3]],[22658,[131073,65537,32769,16385,2049,1025,16,9,5,3]],[22659,[2097216,1048640,524352,262208,32832,16448,576,320,192,16]],[22660,[2097216,1048640,524352,262208,32832,16448,576,320,192,16]],[22661,[2097156,1048580,524292,262148,131076,65540,32772,16388,16,12]],[22662,[2097156,1048580,524292,262148,131076,65540,32772,16388,16,12]],[22663,[131136,65600,32832,16448,8256,4160,2112,1088,192,16]],[22664,[32769,16385,8193,4097,2049,1025,513,257,16,3]],[22665,[2097156,1048580,524292,262148,131076,65540,32772,16388,16,12]],[22666,[2097216,1048640,524352,262208,131136,65600,576,320,192,16]],[22667,[131073,65537,32769,16385,2049,1025,32,9,5,3]],[22668,[131136,65600,32832,16448,8256,4160,2112,1088,192,32]],[22669,[2097153,1048577,524289,262145,131073,65537,32769,16385,32,3]],[22670,[131136,65600,32832,16448,8256,4160,2112,1088,192,32]],[22672,[131073,65537,32769,16385,129,65,32,9,5,3]],[22673,[131073,65537,32769,16385,129,65,32,9,5,3]],[22674,[32801,16417,2049,1025,513,257,9,5,3]],[22675,[2097216,1048640,8256,4160,2112,1088,576,320,192,32]],[22676,[524289,262145,513,257,129,65,32,9,5,3]],[22677,[2097153,1048577,524289,262145,131073,65537,32769,16385,32,3]],[22678,[524289,262145,513,257,129,65,32,9,5,3]],[22679,[131073,65537,32769,16385,2049,1025,32,9,5,3]],[22680,[2097216,1048640,524352,262208,131136,65600,576,320,192,32]],[22681,[2097156,1048580,524292,262148,131076,65540,32772,16388,32,12]],[22682,[524289,262145,513,257,129,65,32,9,5,3]],[22683,[524289,262145,513,257,129,65,32,9,5,3]],[22684,[131073,65537,32769,16385,2049,1025,32,9,5,3]],[22685,[131073,65537,32769,16385,2049,1025,32,9,5,3]],[22686,[2097216,1048640,524352,262208,32832,16448,576,320,192,32]],[22687,[2097216,1048640,524352,262208,32832,16448,576,320,192,32]],[22688,[2097156,1048580,524292,262148,131076,65540,32772,16388,32,12]],[22689,[2097156,1048580,524292,262148,131076,65540,32772,16388,32,12]],[22690,[131136,65600,32832,16448,8256,4160,2112,1088,192,32]],[22691,[32769,16385,8193,4097,2049,1025,513,257,32,3]],[22692,[2097156,1048580,524292,262148,131076,65540,32772,16388,32,12]],[22693,[2097216,1048640,524352,262208,131136,65600,576,320,192,32]],[22694,[131073,65537,32769,16385,2049,1025,64,9,5,3]],[22695,[131088,65552,32784,16400,8208,4112,2064,1040,64,48]],[22696,[2097153,1048577,524289,262145,131073,65537,32769,16385,64,3]],[22697,[131088,65552,32784,16400,8208,4112,2064,1040,64,48]],[22699,[131073,65537,32769,16385,64,33,17,9,5,3]],[22700,[131073,65537,32769,16385,64,33,17,9,5,3]],[22701,[32833,16449,2049,1025,513,257,9,5,3]],[22702,[2097168,1048592,8208,4112,2064,1040,528,272,64,48]],[22703,[524289,262145,513,257,64,33,17,9,5,3]],[22704,[2097153,1048577,524289,262145,131073,65537,32769,16385,64,3]],[22705,[524289,262145,513,257,64,33,17,9,5,3]],[22706,[131073,65537,32769,16385,2049,1025,64,9,5,3]],[22707,[2097168,1048592,524304,262160,131088,65552,528,272,64,48]],[22708,[2097156,1048580,524292,262148,131076,65540,32772,16388,64,12]],[22709,[524289,262145,513,257,64,33,17,9,5,3]],[22710,[524289,262145,513,257,64,33,17,9,5,3]],[22711,[131073,65537,32769,16385,2049,1025,64,9,5,3]],[22712,[131073,65537,32769,16385,2049,1025,64,9,5,3]],[22713,[2097168,1048592,524304,262160,32784,16400,528,272,64,48]],[22714,[2097168,1048592,524304,262160,32784,16400,528,272,64,48]],[22715,[2097156,1048580,524292,262148,131076,65540,32772,16388,64,12]],[22716,[2097156,1048580,524292,262148,131076,65540,32772,16388,64,12]],[22717,[131088,65552,32784,16400,8208,4112,2064,1040,64,48]],[22719,[2097156,1048580,524292,262148,131076,65540,32772,16388,64,12]],[22720,[2097168,1048592,524304,262160,131088,65552,528,272,64,48]],[22721,[131073,65537,32769,16385,2049,1025,128,9,5,3]],[22722,[131088,65552,32784,16400,8208,4112,2064,1040,128,48]],[22723,[2097153,1048577,524289,262145,131073,65537,32769,16385,128,3]],[22724,[131088,65552,32784,16400,8208,4112,2064,1040,128,48]],[22726,[131073,65537,32769,16385,128,33,17,9,5,3]],[22727,[131073,65537,32769,16385,128,33,17,9,5,3]],[22728,[32897,16513,2049,1025,513,257,9,5,3]],[22729,[2097168,1048592,8208,4112,2064,1040,528,272,128,48]],[22730,[524289,262145,513,257,128,33,17,9,5,3]],[22731,[2097153,1048577,524289,262145,131073,65537,32769,16385,128,3]],[22732,[524289,262145,513,257,128,33,17,9,5,3]],[22733,[131073,65537,32769,16385,2049,1025,128,9,5,3]],[22734,[2097168,1048592,524304,262160,131088,65552,528,272,128,48]],[22735,[2097156,1048580,524292,262148,131076,65540,32772,16388,128,12]],[22736,[524289,262145,513,257,128,33,17,9,5,3]],[22737,[524289,262145,513,257,128,33,17,9,5,3]],[22738,[131073,65537,32769,16385,2049,1025,128,9,5,3]],[22739,[131073,65537,32769,16385,2049,1025,128,9,5,3]],[22740,[2097168,1048592,524304,262160,32784,16400,528,272,128,48]],[22741,[2097168,1048592,524304,262160,32784,16400,528,272,128,48]],[22742,[2097156,1048580,524292,262148,131076,65540,32772,16388,128,12]],[22743,[2097156,1048580,524292,262148,131076,65540,32772,16388,128,12]],[22744,[131088,65552,32784,16400,8208,4112,2064,1040,128,48]],[22745,[32769,16385,8193,4097,2049,1025,513,257,128,3]],[22746,[2097156,1048580,524292,262148,131076,65540,32772,16388,128,12]],[22747,[2097168,1048592,524304,262160,131088,65552,528,272,128,48]],[22748,[131073,65537,32769,16385,2049,1025,256,9,5,3]],[22749,[131088,65552,32784,16400,8208,4112,2064,1040,256,48]],[22750,[2097153,1048577,524289,262145,131073,65537,32769,16385,256,3]],[22751,[131088,65552,32784,16400,8208,4112,2064,1040,256,48]],[22753,[131073,65537,32769,16385,256,33,17,9,5,3]],[22754,[131073,65537,32769,16385,256,33,17,9,5,3]],[22755,[33025,16641,2049,1025,129,65,9,5,3]],[22756,[2097168,1048592,8208,4112,2064,1040,256,144,80,48]],[22757,[524289,262145,256,129,65,33,17,9,5,3]],[22758,[2097153,1048577,524289,262145,131073,65537,32769,16385,256,3]],[22759,[524289,262145,256,129,65,33,17,9,5,3]],[22760,[131073,65537,32769,16385,2049,1025,256,9,5,3]],[22761,[2097168,1048592,524304,262160,131088,65552,256,144,80,48]],[22762,[2097156,1048580,524292,262148,131076,65540,32772,16388,256,12]],[22763,[524289,262145,256,129,65,33,17,9,5,3]],[22764,[524289,262145,256,129,65,33,17,9,5,3]],[22765,[131073,65537,32769,16385,2049,1025,256,9,5,3]],[22766,[131073,65537,32769,16385,2049,1025,256,9,5,3]],[22767,[2097168,1048592,524304,262160,32784,16400,256,144,80,48]],[22768,[2097168,1048592,524304,262160,32784,16400,256,144,80,48]],[22769,[2097156,1048580,524292,262148,131076,65540,32772,16388,256,12]],[22770,[2097156,1048580,524292,262148,131076,65540,32772,16388,256,12]],[22771,[131088,65552,32784,16400,8208,4112,2064,1040,256,48]],[22772,[32769,16385,8193,4097,2049,1025,256,129,65,3]],[22773,[2097156,1048580,524292,262148,131076,65540,32772,16388,256,12]],[22774,[2097168,1048592,524304,262160,131088,65552,256,144,80,48]],[22775,[131073,65537,32769,16385,2049,1025,512,9,5,3]],[22776,[131088,65552,32784,16400,8208,4112,2064,1040,512,48]],[22777,[2097153,1048577,524289,262145,131073,65537,32769,16385,512,3]],[22778,[131088,65552,32784,16400,8208,4112,2064,1040,512,48]],[22780,[131073,65537,32769,16385,512,33,17,9,5,3]],[22781,[131073,65537,32769,16385,512,33,17,9,5,3]],[22782,[33281,16897,2049,1025,129,65,9,5,3]],[22783,[2097168,1048592,8208,4112,2064,1040,512,144,80,48]],[22784,[524289,262145,512,129,65,33,17,9,5,3]],[22785,[2097153,1048577,524289,262145,131073,65537,32769,16385,512,3]],[22786,[524289,262145,512,129,65,33,17,9,5,3]],[22787,[131073,65537,32769,16385,2049,1025,512,9,5,3]],[22788,[2097168,1048592,524304,262160,131088,65552,512,144,80,48]],[22789,[2097156,1048580,524292,262148,131076,65540,32772,16388,512,12]],[22790,[524289,262145,512,129,65,33,17,9,5,3]],[22791,[524289,262145,512,129,65,33,17,9,5,3]],[22792,[131073,65537,32769,16385,2049,1025,512,9,5,3]],[22793,[131073,65537,32769,16385,2049,1025,512,9,5,3]],[22794,[2097168,1048592,524304,262160,32784,16400,512,144,80,48]],[22795,[2097168,1048592,524304,262160,32784,16400,512,144,80,48]],[22796,[2097156,1048580,524292,262148,131076,65540,32772,16388,512,12]],[22797,[2097156,1048580,524292,262148,131076,65540,32772,16388,512,12]],[22798,[131088,65552,32784,16400,8208,4112,2064,1040,512,48]],[22799,[32769,16385,8193,4097,2049,1025,512,129,65,3]],[22800,[2097156,1048580,524292,262148,131076,65540,32772,16388,512,12]],[22801,[2097168,1048592,524304,262160,131088,65552,512,144,80,48]],[22802,[131073,65537,32769,16385,1024,513,257,9,5,3]],[22803,[131088,65552,32784,16400,8208,4112,1024,528,272,48]],[22804,[2097153,1048577,524289,262145,131073,65537,32769,16385,1024,3]],[22805,[131088,65552,32784,16400,8208,4112,1024,528,272,48]],[22807,[131073,65537,32769,16385,1024,33,17,9,5,3]],[22808,[131073,65537,32769,16385,1024,33,17,9,5,3]],[22809,[33793,17409,513,257,129,65,9,5,3]],[22810,[2097168,1048592,8208,4112,1024,528,272,144,80,48]],[22811,[524289,262145,1024,129,65,33,17,9,5,3]],[22812,[2097153,1048577,524289,262145,131073,65537,32769,16385,1024,3]],[22813,[524289,262145,1024,129,65,33,17,9,5,3]],[22814,[131073,65537,32769,16385,1024,513,257,9,5,3]],[22815,[2097168,1048592,524304,262160,131088,65552,1024,144,80,48]],[22816,[2097156,1048580,524292,262148,131076,65540,32772,16388,1024,12]],[22817,[524289,262145,1024,129,65,33,17,9,5,3]],[22818,[524289,262145,1024,129,65,33,17,9,5,3]],[22819,[131073,65537,32769,16385,1024,513,257,9,5,3]],[22820,[131073,65537,32769,16385,1024,513,257,9,5,3]],[22821,[2097168,1048592,524304,262160,32784,16400,1024,144,80,48]],[22822,[2097168,1048592,524304,262160,32784,16400,1024,144,80,48]],[22823,[2097156,1048580,524292,262148,131076,65540,32772,16388,1024,12]],[22824,[2097156,1048580,524292,262148,131076,65540,32772,16388,1024,12]],[22825,[131088,65552,32784,16400,8208,4112,1024,528,272,48]],[22827,[2097156,1048580,524292,262148,131076,65540,32772,16388,1024,12]],[22828,[2097168,1048592,524304,262160,131088,65552,1024,144,80,48]],[22829,[131073,65537,32769,16385,2048,513,257,9,5,3]],[22830,[131088,65552,32784,16400,8208,4112,2048,528,272,48]],[22831,[2097153,1048577,524289,262145,131073,65537,32769,16385,2048,3]],[22832,[131088,65552,32784,16400,8208,4112,2048,528,272,48]],[22834,[131073,65537,32769,16385,2048,33,17,9,5,3]],[22835,[131073,65537,32769,16385,2048,33,17,9,5,3]],[22836,[34817,18433,513,257,129,65,9,5,3]],[22837,[2097168,1048592,8208,4112,2048,528,272,144,80,48]],[22838,[524289,262145,2048,129,65,33,17,9,5,3]],[22839,[2097153,1048577,524289,262145,131073,65537,32769,16385,2048,3]],[22840,[524289,262145,2048,129,65,33,17,9,5,3]],[22841,[131073,65537,32769,16385,2048,513,257,9,5,3]],[22842,[2097168,1048592,524304,262160,131088,65552,2048,144,80,48]],[22843,[2097156,1048580,524292,262148,131076,65540,32772,16388,2048,12]],[22844,[524289,262145,2048,129,65,33,17,9,5,3]],[22845,[524289,262145,2048,129,65,33,17,9,5,3]],[22846,[131073,65537,32769,16385,2048,513,257,9,5,3]],[22847,[131073,65537,32769,16385,2048,513,257,9,5,3]],[22848,[2097168,1048592,524304,262160,32784,16400,2048,144,80,48]],[22849,[2097168,1048592,524304,262160,32784,16400,2048,144,80,48]],[22850,[2097156,1048580,524292,262148,131076,65540,32772,16388,2048,12]],[22851,[2097156,1048580,524292,262148,131076,65540,32772,16388,2048,12]],[22852,[131088,65552,32784,16400,8208,4112,2048,528,272,48]],[22854,[2097156,1048580,524292,262148,131076,65540,32772,16388,2048,12]],[22855,[2097168,1048592,524304,262160,131088,65552,2048,144,80,48]],[22856,[131073,65537,32769,16385,4096,513,257,9,5,3]],[22857,[131088,65552,32784,16400,4096,2064,1040,528,272,48]],[22858,[2097153,1048577,524289,262145,131073,65537,32769,16385,4096,3]],[22859,[131088,65552,32784,16400,4096,2064,1040,528,272,48]],[22861,[131073,65537,32769,16385,4096,33,17,9,5,3]],[22862,[131073,65537,32769,16385,4096,33,17,9,5,3]],[22863,[36865,20481,513,257,129,65,9,5,3]],[22864,[2097168,1048592,4096,2064,1040,528,272,144,80,48]],[22865,[524289,262145,4096,129,65,33,17,9,5,3]],[22866,[2097153,1048577,524289,262145,131073,65537,32769,16385,4096,3]],[22867,[524289,262145,4096,129,65,33,17,9,5,3]],[22868,[131073,65537,32769,16385,4096,513,257,9,5,3]],[22869,[2097168,1048592,524304,262160,131088,65552,4096,144,80,48]],[22870,[2097156,1048580,524292,262148,131076,65540,32772,16388,4096,12]],[22871,[524289,262145,4096,129,65,33,17,9,5,3]],[22872,[524289,262145,4096,129,65,33,17,9,5,3]],[22873,[131073,65537,32769,16385,4096,513,257,9,5,3]],[22874,[131073,65537,32769,16385,4096,513,257,9,5,3]],[22875,[2097168,1048592,524304,262160,32784,16400,4096,144,80,48]],[22876,[2097168,1048592,524304,262160,32784,16400,4096,144,80,48]],[22877,[2097156,1048580,524292,262148,131076,65540,32772,16388,4096,12]],[22878,[2097156,1048580,524292,262148,131076,65540,32772,16388,4096,12]],[22879,[131088,65552,32784,16400,4096,2064,1040,528,272,48]],[22880,[32769,16385,4096,2049,1025,513,257,129,65,3]],[22881,[2097156,1048580,524292,262148,131076,65540,32772,16388,4096,12]],[22882,[2097168,1048592,524304,262160,131088,65552,4096,144,80,48]],[22883,[131073,65537,32769,16385,8192,513,257,9,5,3]],[22884,[131088,65552,32784,16400,8192,2064,1040,528,272,48]],[22885,[2097153,1048577,524289,262145,131073,65537,32769,16385,8192,3]],[22886,[131088,65552,32784,16400,8192,2064,1040,528,272,48]],[22888,[131073,65537,32769,16385,8192,33,17,9,5,3]],[22889,[131073,65537,32769,16385,8192,33,17,9,5,3]],[22890,[40961,24577,513,257,129,65,9,5,3]],[22891,[2097168,1048592,8192,2064,1040,528,272,144,80,48]],[22892,[524289,262145,8192,129,65,33,17,9,5,3]],[22893,[2097153,1048577,524289,262145,131073,65537,32769,16385,8192,3]],[22894,[524289,262145,8192,129,65,33,17,9,5,3]],[22895,[131073,65537,32769,16385,8192,513,257,9,5,3]],[22896,[2097168,1048592,524304,262160,131088,65552,8192,144,80,48]],[22897,[2097156,1048580,524292,262148,131076,65540,32772,16388,8192,12]],[22898,[524289,262145,8192,129,65,33,17,9,5,3]],[22899,[524289,262145,8192,129,65,33,17,9,5,3]],[22900,[131073,65537,32769,16385,8192,513,257,9,5,3]],[22901,[131073,65537,32769,16385,8192,513,257,9,5,3]],[22902,[2097168,1048592,524304,262160,32784,16400,8192,144,80,48]],[22903,[2097168,1048592,524304,262160,32784,16400,8192,144,80,48]],[22904,[2097156,1048580,524292,262148,131076,65540,32772,16388,8192,12]],[22905,[2097156,1048580,524292,262148,131076,65540,32772,16388,8192,12]],[22906,[131088,65552,32784,16400,8192,2064,1040,528,272,48]],[22907,[32769,16385,8192,2049,1025,513,257,129,65,3]],[22908,[2097156,1048580,524292,262148,131076,65540,32772,16388,8192,12]],[22909,[2097168,1048592,524304,262160,131088,65552,8192,144,80,48]],[22910,[131073,65537,16384,8193,4097,513,257,9,5,3]],[22911,[131088,65552,16384,8208,4112,2064,1040,528,272,48]],[22912,[2097153,1048577,524289,262145,131073,65537,16384,8193,4097,3]],[22913,[131088,65552,16384,8208,4112,2064,1040,528,272,48]],[22915,[131073,65537,16384,8193,4097,33,17,9,5,3]],[22916,[131073,65537,16384,8193,4097,33,17,9,5,3]],[22917,[20481,12288,513,257,129,65,9,5,3]],[22918,[2097168,1048592,16384,2064,1040,528,272,144,80,48]],[22919,[524289,262145,16384,129,65,33,17,9,5,3]],[22920,[2097153,1048577,524289,262145,131073,65537,16384,8193,4097,3]],[22921,[524289,262145,16384,129,65,33,17,9,5,3]],[22922,[131073,65537,16384,8193,4097,513,257,9,5,3]],[22923,[2097168,1048592,524304,262160,131088,65552,16384,144,80,48]],[22924,[2097156,1048580,524292,262148,131076,65540,16384,8196,4100,12]],[22925,[524289,262145,16384,129,65,33,17,9,5,3]],[22926,[524289,262145,16384,129,65,33,17,9,5,3]],[22927,[131073,65537,16384,8193,4097,513,257,9,5,3]],[22928,[131073,65537,16384,8193,4097,513,257,9,5,3]],[22929,[2097168,1048592,524304,262160,16384,8208,4112,144,80,48]],[22930,[2097168,1048592,524304,262160,16384,8208,4112,144,80,48]],[22931,[2097156,1048580,524292,262148,131076,65540,16384,8196,4100,12]],[22932,[2097156,1048580,524292,262148,131076,65540,16384,8196,4100,12]],[22933,[131088,65552,16384,8208,4112,2064,1040,528,272,48]],[22934,[16384,8193,4097,2049,1025,513,257,129,65,3]],[22935,[2097156,1048580,524292,262148,131076,65540,16384,8196,4100,12]],[22936,[2097168,1048592,524304,262160,131088,65552,16384,144,80,48]],[22937,[131073,65537,32768,8193,4097,513,257,9,5,3]],[22938,[131088,65552,32768,8208,4112,2064,1040,528,272,48]],[22939,[2097153,1048577,524289,262145,131073,65537,32768,8193,4097,3]],[22940,[131088,65552,32768,8208,4112,2064,1040,528,272,48]],[22942,[131073,65537,32768,8193,4097,33,17,9,5,3]],[22943,[131073,65537,32768,8193,4097,33,17,9,5,3]],[22944,[36865,12288,513,257,129,65,9,5,3]],[22945,[2097168,1048592,32768,2064,1040,528,272,144,80,48]],[22946,[524289,262145,32768,129,65,33,17,9,5,3]],[22947,[2097153,1048577,524289,262145,131073,65537,32768,8193,4097,3]],[22948,[524289,262145,32768,129,65,33,17,9,5,3]],[22949,[131073,65537,32768,8193,4097,513,257,9,5,3]],[22950,[2097168,1048592,524304,262160,131088,65552,32768,144,80,48]],[22951,[2097156,1048580,524292,262148,131076,65540,32768,8196,4100,12]],[22952,[524289,262145,32768,129,65,33,17,9,5,3]],[22953,[524289,262145,32768,129,65,33,17,9,5,3]],[22954,[131073,65537,32768,8193,4097,513,257,9,5,3]],[22955,[131073,65537,32768,8193,4097,513,257,9,5,3]],[22956,[2097168,1048592,524304,262160,32768,8208,4112,144,80,48]],[22957,[2097168,1048592,524304,262160,32768,8208,4112,144,80,48]],[22958,[2097156,1048580,524292,262148,131076,65540,32768,8196,4100,12]],[22959,[2097156,1048580,524292,262148,131076,65540,32768,8196,4100,12]],[22960,[131088,65552,32768,8208,4112,2064,1040,528,272,48]],[22961,[32768,8193,4097,2049,1025,513,257,129,65,3]],[22962,[2097156,1048580,524292,262148,131076,65540,32768,8196,4100,12]],[22963,[2097168,1048592,524304,262160,131088,65552,32768,144,80,48]],[22964,[65536,32769,16385,8193,4097,513,257,9,5,3]],[22965,[65536,32784,16400,8208,4112,2064,1040,528,272,48]],[22966,[2097153,1048577,524289,262145,65536,32769,16385,8193,4097,3]],[22967,[65536,32784,16400,8208,4112,2064,1040,528,272,48]],[22969,[65536,32769,16385,8193,4097,33,17,9,5,3]],[22970,[65536,32769,16385,8193,4097,33,17,9,5,3]],[22971,[69633,12288,513,257,129,65,9,5,3]],[22972,[2097168,1048592,65536,2064,1040,528,272,144,80,48]],[22973,[524289,262145,65536,129,65,33,17,9,5,3]],[22974,[2097153,1048577,524289,262145,65536,32769,16385,8193,4097,3]],[22975,[524289,262145,65536,129,65,33,17,9,5,3]],[22976,[65536,32769,16385,8193,4097,513,257,9,5,3]],[22977,[2097168,1048592,524304,262160,65536,32784,16400,144,80,48]],[22978,[2097156,1048580,524292,262148,65536,32772,16388,8196,4100,12]],[22979,[524289,262145,65536,129,65,33,17,9,5,3]],[22980,[524289,262145,65536,129,65,33,17,9,5,3]],[22981,[65536,32769,16385,8193,4097,513,257,9,5,3]],[22982,[65536,32769,16385,8193,4097,513,257,9,5,3]],[22983,[2097168,1048592,524304,262160,65536,8208,4112,144,80,48]],[22984,[2097168,1048592,524304,262160,65536,8208,4112,144,80,48]],[22985,[2097156,1048580,524292,262148,65536,32772,16388,8196,4100,12]],[22986,[2097156,1048580,524292,262148,65536,32772,16388,8196,4100,12]],[22987,[65536,32784,16400,8208,4112,2064,1040,528,272,48]],[22988,[65536,8193,4097,2049,1025,513,257,129,65,3]],[22989,[2097156,1048580,524292,262148,65536,32772,16388,8196,4100,12]],[22990,[2097168,1048592,524304,262160,65536,32784,16400,144,80,48]],[22991,[131072,32769,16385,8193,4097,513,257,9,5,3]],[22992,[131072,32784,16400,8208,4112,2064,1040,528,272,48]],[22993,[2097153,1048577,524289,262145,131072,32769,16385,8193,4097,3]],[22994,[131072,32784,16400,8208,4112,2064,1040,528,272,48]],[22996,[131072,32769,16385,8193,4097,33,17,9,5,3]],[22997,[131072,32769,16385,8193,4097,33,17,9,5,3]],[22998,[135169,12288,513,257,129,65,9,5,3]],[22999,[2097168,1048592,131072,2064,1040,528,272,144,80,48]],[23000,[524289,262145,131072,129,65,33,17,9,5,3]],[23001,[2097153,1048577,524289,262145,131072,32769,16385,8193,4097,3]],[23002,[524289,262145,131072,129,65,33,17,9,5,3]],[23003,[131072,32769,16385,8193,4097,513,257,9,5,3]],[23004,[2097168,1048592,524304,262160,131072,32784,16400,144,80,48]],[23005,[2097156,1048580,524292,262148,131072,32772,16388,8196,4100,12]],[23006,[524289,262145,131072,129,65,33,17,9,5,3]],[23007,[524289,262145,131072,129,65,33,17,9,5,3]],[23008,[131072,32769,16385,8193,4097,513,257,9,5,3]],[23009,[131072,32769,16385,8193,4097,513,257,9,5,3]],[23010,[2097168,1048592,524304,262160,131072,8208,4112,144,80,48]],[23011,[2097168,1048592,524304,262160,131072,8208,4112,144,80,48]],[23012,[2097156,1048580,524292,262148,131072,32772,16388,8196,4100,12]],[23013,[2097156,1048580,524292,262148,131072,32772,16388,8196,4100,12]],[23014,[131072,32784,16400,8208,4112,2064,1040,528,272,48]],[23015,[131072,8193,4097,2049,1025,513,257,129,65,3]],[23016,[2097156,1048580,524292,262148,131072,32772,16388,8196,4100,12]],[23017,[2097168,1048592,524304,262160,131072,32784,16400,144,80,48]],[23018,[262144,32769,16385,8193,4097,513,257,9,5,3]],[23019,[262144,32784,16400,8208,4112,2064,1040,528,272,48]],[23020,[2097153,1048577,262144,131073,65537,32769,16385,8193,4097,3]],[23021,[262144,32784,16400,8208,4112,2064,1040,528,272,48]],[23023,[262144,32769,16385,8193,4097,33,17,9,5,3]],[23024,[262144,32769,16385,8193,4097,33,17,9,5,3]],[23025,[266241,12288,513,257,129,65,9,5,3]],[23026,[2097168,1048592,262144,2064,1040,528,272,144,80,48]],[23027,[262144,131073,65537,129,65,33,17,9,5,3]],[23028,[2097153,1048577,262144,131073,65537,32769,16385,8193,4097,3]],[23029,[262144,131073,65537,129,65,33,17,9,5,3]],[23030,[262144,32769,16385,8193,4097,513,257,9,5,3]],[23031,[2097168,1048592,262144,131088,65552,32784,16400,144,80,48]],[23032,[2097156,1048580,262144,131076,65540,32772,16388,8196,4100,12]],[23033,[262144,131073,65537,129,65,33,17,9,5,3]],[23034,[262144,131073,65537,129,65,33,17,9,5,3]],[23035,[262144,32769,16385,8193,4097,513,257,9,5,3]],[23036,[262144,32769,16385,8193,4097,513,257,9,5,3]],[23037,[2097168,1048592,262144,131088,65552,8208,4112,144,80,48]],[23038,[2097168,1048592,262144,131088,65552,8208,4112,144,80,48]],[23039,[2097156,1048580,262144,131076,65540,32772,16388,8196,4100,12]],[23040,[2097156,1048580,262144,131076,65540,32772,16388,8196,4100,12]],[23041,[262144,32784,16400,8208,4112,2064,1040,528,272,48]],[23042,[262144,8193,4097,2049,1025,513,257,129,65,3]],[23043,[2097156,1048580,262144,131076,65540,32772,16388,8196,4100,12]],[23044,[2097168,1048592,262144,131088,65552,32784,16400,144,80,48]],[23045,[524288,32769,16385,8193,4097,513,257,9,5,3]],[23046,[524288,32784,16400,8208,4112,2064,1040,528,272,48]],[23047,[2097153,1048577,524288,131073,65537,32769,16385,8193,4097,3]],[23048,[524288,32784,16400,8208,4112,2064,1040,528,272,48]],[23050,[524288,32769,16385,8193,4097,33,17,9,5,3]],[23051,[524288,32769,16385,8193,4097,33,17,9,5,3]],[23052,[528385,12288,513,257,129,65,9,5,3]],[23053,[2097168,1048592,524288,2064,1040,528,272,144,80,48]],[23054,[524288,131073,65537,129,65,33,17,9,5,3]],[23055,[2097153,1048577,524288,131073,65537,32769,16385,8193,4097,3]],[23056,[524288,131073,65537,129,65,33,17,9,5,3]],[23057,[524288,32769,16385,8193,4097,513,257,9,5,3]],[23058,[2097168,1048592,524288,131088,65552,32784,16400,144,80,48]],[23059,[2097156,1048580,524288,131076,65540,32772,16388,8196,4100,12]],[23060,[524288,131073,65537,129,65,33,17,9,5,3]],[23061,[524288,131073,65537,129,65,33,17,9,5,3]],[23062,[524288,32769,16385,8193,4097,513,257,9,5,3]],[23063,[524288,32769,16385,8193,4097,513,257,9,5,3]],[23064,[2097168,1048592,524288,131088,65552,8208,4112,144,80,48]],[23065,[2097168,1048592,524288,131088,65552,8208,4112,144,80,48]],[23066,[2097156,1048580,524288,131076,65540,32772,16388,8196,4100,12]],[23067,[2097156,1048580,524288,131076,65540,32772,16388,8196,4100,12]],[23068,[524288,32784,16400,8208,4112,2064,1040,528,272,48]],[23069,[524288,8193,4097,2049,1025,513,257,129,65,3]],[23070,[2097156,1048580,524288,131076,65540,32772,16388,8196,4100,12]],[23071,[2097168,1048592,524288,131088,65552,32784,16400,144,80,48]],[23072,[1048576,32769,16385,8193,4097,513,257,9,5,3]],[23073,[1048576,32784,16400,8208,4112,2064,1040,528,272,48]],[23074,[1048576,524289,262145,131073,65537,32769,16385,8193,4097,3]],[23075,[1048576,32784,16400,8208,4112,2064,1040,528,272,48]],[23077,[1048576,32769,16385,8193,4097,33,17,9,5,3]],[23078,[1048576,32769,16385,8193,4097,33,17,9,5,3]],[23079,[1052673,12288,513,257,129,65,9,5,3]],[23080,[1048576,524304,262160,2064,1040,528,272,144,80,48]],[23081,[1048576,131073,65537,129,65,33,17,9,5,3]],[23082,[1048576,524289,262145,131073,65537,32769,16385,8193,4097,3]],[23083,[1048576,131073,65537,129,65,33,17,9,5,3]],[23084,[1048576,32769,16385,8193,4097,513,257,9,5,3]],[23085,[1048576,524304,262160,131088,65552,32784,16400,144,80,48]],[23086,[1048576,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23087,[1048576,131073,65537,129,65,33,17,9,5,3]],[23088,[1048576,131073,65537,129,65,33,17,9,5,3]],[23089,[1048576,32769,16385,8193,4097,513,257,9,5,3]],[23090,[1048576,32769,16385,8193,4097,513,257,9,5,3]],[23091,[1048576,524304,262160,131088,65552,8208,4112,144,80,48]],[23092,[1048576,524304,262160,131088,65552,8208,4112,144,80,48]],[23093,[1048576,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23094,[1048576,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23095,[1048576,32784,16400,8208,4112,2064,1040,528,272,48]],[23097,[1048576,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23098,[1048576,524304,262160,131088,65552,32784,16400,144,80,48]],[23099,[2097152,32769,16385,8193,4097,513,257,9,5,3]],[23100,[2097152,32784,16400,8208,4112,2064,1040,528,272,48]],[23101,[2097152,524289,262145,131073,65537,32769,16385,8193,4097,3]],[23102,[2097152,32784,16400,8208,4112,2064,1040,528,272,48]],[23104,[2097152,32769,16385,8193,4097,33,17,9,5,3]],[23105,[2097152,32769,16385,8193,4097,33,17,9,5,3]],[23106,[2101249,12288,513,257,129,65,9,5,3]],[23107,[2097152,524304,262160,2064,1040,528,272,144,80,48]],[23108,[2097152,131073,65537,129,65,33,17,9,5,3]],[23109,[2097152,524289,262145,131073,65537,32769,16385,8193,4097,3]],[23110,[2097152,131073,65537,129,65,33,17,9,5,3]],[23111,[2097152,32769,16385,8193,4097,513,257,9,5,3]],[23112,[2097152,524304,262160,131088,65552,32784,16400,144,80,48]],[23113,[2097152,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23114,[2097152,131073,65537,129,65,33,17,9,5,3]],[23115,[2097152,131073,65537,129,65,33,17,9,5,3]],[23116,[2097152,32769,16385,8193,4097,513,257,9,5,3]],[23117,[2097152,32769,16385,8193,4097,513,257,9,5,3]],[23118,[2097152,524304,262160,131088,65552,8208,4112,144,80,48]],[23119,[2097152,524304,262160,131088,65552,8208,4112,144,80,48]],[23120,[2097152,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23121,[2097152,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23122,[2097152,32784,16400,8208,4112,2064,1040,528,272,48]],[23123,[2097152,8193,4097,2049,1025,513,257,129,65,3]],[23124,[2097152,524292,262148,131076,65540,32772,16388,8196,4100,12]],[23125,[2097152,524304,262160,131088,65552,32784,16400,144,80,48]],[23126,[2097156,1048580,524292,262148,132,68,36,20,12,1]],[23127,[2097156,1048580,524292,262148,132,68,36,20,12,1]],[23128,[2097156,1048580,524292,262148,132,68,36,20,12,2]],[23129,[2097156,1048580,524292,262148,132,68,36,20,12,2]],[23130,[2097153,1048577,524289,262145,129,65,33,17,4,3]],[23131,[2097153,1048577,524289,262145,129,65,33,17,4,3]],[23132,[2097153,1048577,524289,262145,129,65,33,17,8,3]],[23133,[2097153,1048577,524289,262145,129,65,33,17,8,3]],[23134,[2097153,1048577,524289,262145,129,65,16,9,5,3]],[23135,[2097153,1048577,524289,262145,129,65,16,9,5,3]],[23136,[2097153,1048577,524289,262145,129,65,32,9,5,3]],[23137,[2097153,1048577,524289,262145,129,65,32,9,5,3]],[23138,[2097153,1048577,524289,262145,64,33,17,9,5,3]],[23139,[2097153,1048577,524289,262145,64,33,17,9,5,3]],[23140,[2097153,1048577,524289,262145,128,33,17,9,5,3]],[23141,[2097153,1048577,524289,262145,128,33,17,9,5,3]],[23142,[2097153,1048577,524289,262145,256,33,17,9,5,3]],[23143,[2097153,1048577,524289,262145,256,33,17,9,5,3]],[23144,[2097153,1048577,524289,262145,512,33,17,9,5,3]],[23145,[2097153,1048577,524289,262145,512,33,17,9,5,3]],[23146,[2097153,1048577,524289,262145,1024,33,17,9,5,3]],[23147,[2097153,1048577,524289,262145,1024,33,17,9,5,3]],[23148,[2097153,1048577,524289,262145,2048,33,17,9,5,3]],[23149,[2097153,1048577,524289,262145,2048,33,17,9,5,3]],[23150,[2097153,1048577,524289,262145,4096,33,17,9,5,3]],[23151,[2097153,1048577,524289,262145,4096,33,17,9,5,3]],[23152,[2097153,1048577,524289,262145,8192,33,17,9,5,3]],[23153,[2097153,1048577,524289,262145,8192,33,17,9,5,3]],[23154,[2097153,1048577,524289,262145,16384,33,17,9,5,3]],[23155,[2097153,1048577,524289,262145,16384,33,17,9,5,3]],[23156,[2097153,1048577,524289,262145,32768,33,17,9,5,3]],[23157,[2097153,1048577,524289,262145,32768,33,17,9,5,3]],[23158,[2097153,1048577,524289,262145,65536,33,17,9,5,3]],[23159,[2097153,1048577,524289,262145,65536,33,17,9,5,3]],[23160,[2097153,1048577,524289,262145,131072,33,17,9,5,3]],[23161,[2097153,1048577,524289,262145,131072,33,17,9,5,3]],[23162,[2097153,1048577,262144,131073,65537,33,17,9,5,3]],[23163,[2097153,1048577,262144,131073,65537,33,17,9,5,3]],[23164,[2097153,1048577,524288,131073,65537,33,17,9,5,3]],[23165,[2097153,1048577,524288,131073,65537,33,17,9,5,3]],[23166,[1048576,524289,262145,131073,65537,33,17,9,5,3]],[23167,[1048576,524289,262145,131073,65537,33,17,9,5,3]],[23168,[2097152,524289,262145,131073,65537,33,17,9,5,3]],[23169,[2097152,524289,262145,131073,65537,33,17,9,5,3]],[23172,[524288,262144,8192,4096,512,256,128,64,8,4,2,1]],[23180,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16]],[23184,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[23190,[524288,262144,8192,4096,2048,1024,512,256,128,64,2,1]],[23191,[2097152,1048576,32768,16384,2048,1024,512,256,32,16,8,4]],[23192,[524292,262148,32772,16388,32,16,12]],[23193,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,2,1]],[23194,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,2,1]],[23195,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,8,4]],[23196,[2097152,1048576,32768,16384,8192,4096,32,16,8,4,2,1]],[23197,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4]],[23199,[2097152,1048576,32768,16384,8192,4096,128,64,32,16,2,1]],[23200,[2097152,1048576,32768,16384,8192,4096,128,64,32,16,2,1]],[23201,[2097152,1048576,32768,16384,8192,4096,128,64,32,16,2,1]],[23202,[524288,262144,131072,65536,8192,4096,128,64,8,4,2,1]],[23203,[524288,262144,131072,65536,8192,4096,128,64,8,4,2,1]],[23208,[2097152,1048576,524288,262144,32768,16384,2048,1024,128,64,32,16]],[23211,[2097152,1048576,524288,262144,8192,4096,32,16,8,4,2,1]],[23212,[2097152,1048576,524288,262144,8192,4096,32,16,8,4,2,1]],[23213,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16]],[23216,[524288,262144,131072,65536,8192,4096,2048,1024,512,256,8,4]],[23218,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,32,16]],[23219,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,32,16]],[23220,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,32,16]],[23221,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4]],[23222,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4]],[23223,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4]],[23224,[2097152,1048576,131072,65536,32768,16384,128,64,32,16,8,4]],[23225,[2097152,1048576,131072,65536,32768,16384,128,64,32,16,8,4]],[23226,[2097152,1048576,131072,65536,32768,16384,128,64,32,16,8,4]],[23227,[2097152,1048576,32768,16384,8192,4096,128,64,32,16,2,1]],[23228,[2097152,1048576,32768,16384,8192,4096,128,64,32,16,2,1]],[23230,[524288,262144,8192,4096,2048,1024,512,256,32,16,2,1]],[23231,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4]],[23232,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4]],[23235,[2097152,1048576,524288,262144,131072,65536,32768,16384,8,4,2,1]],[23236,[524288,262144,131072,65536,8192,4096,2048,1024,512,256,8,4]],[23237,[2097152,1048576,524288,262144,32768,16384,8192,4096,32,16]],[23240,[524288,262144,131072,65536,2048,1024,512,256,8,4,2,1]],[23241,[524288,262144,131072,65536,2048,1024,512,256,8,4,2,1]],[23244,[2097152,1048576,32768,16384,8192,4096,2048,1024,32,16,2,1]],[23248,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,2,1]],[23249,[2097152,1048576,32768,16384,8192,4096,32,16,8,4,2,1]],[23250,[2097152,1048576,8192,4096,2048,1024,512,256,32,16,8,4]],[23253,[2097152,1048576,32768,16384,8192,4096,512,256,32,16,2,1]],[23254,[131072,65536,32768,16384,128,64,32,16,8,4,2,1]],[23255,[131072,65536,32768,16384,128,64,32,16,8,4,2,1]],[23257,[2097152,1048576,2048,1024,128,64,32,16,8,4]],[23260,[2097152,1048576,131072,65536,8192,4096,32,16,8,4,2,1]],[23267,[524288,262144,131072,65536,8192,4096,128,64,8,4,2,1]],[23268,[524288,262144,131072,65536,8192,4096,128,64,8,4,2,1]],[23269,[2097152,1048576,131072,65536,8192,4096,128,64,32,16,8,4]],[23270,[2097152,1048576,131072,65536,8192,4096,128,64,32,16,8,4]],[23271,[2097152,1048576,131072,65536,32768,16384,512,256,128,64,32,16]],[23276,[2097152,1048576,131072,65536,2048,1024,512,256,32,16,8,4]],[23277,[2097152,1048576,32768,16384,2048,1024,512,256,32,16,8,4]],[23278,[2097152,1048576,131072,65536,32768,16384,512,256,128,64,32,16]],[23279,[131072,65536,32768,16384,128,64,32,16,8,4,2,1]],[23280,[2097152,1048576,524288,262144,8192,4096,32,16,8,4,2,1]],[23281,[2097152,1048576,524288,262144,8192,4096,32,16,8,4,2,1]],[23282,[2097152,1048576,131072,65536,32768,16384,2048,1024,128,64,32,16]],[23284,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16]],[23285,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16]],[23286,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16]],[23287,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16]],[23288,[2097152,1048576,131072,65536,8192,4096,32,16,8,4,2,1]],[23289,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[23295,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,32,16]],[23296,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,32,16]],[23297,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16]],[23299,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4]],[23302,[2097152,1048576,131072,65536,32768,16384,8192,4096,512,256,32,16]],[23306,[524292,262148,32772,16388,32,16,12]],[23307,[524288,262144,32768,16384,2048,1024,512,256,8,4,2,1]],[23308,[524288,262144,32768,16384,2048,1024,512,256,8,4,2,1]],[23309,[524288,262144,2048,1024,512,256,128,64,8,4,2,1]],[23310,[524288,262144,2048,1024,512,256,128,64,8,4,2,1]],[23311,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[23312,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,8,4]],[23313,[131072,65536,8192,4096,2048,1024,512,256,8,4,2,1]],[23316,[131072,65536,8192,4096,128,64,32,16,8,4,2,1]],[23317,[524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[23318,[2097152,1048576,8192,4096,2048,1024,512,256,32,16,8,4]],[23319,[2097152,1048576,524288,262144,32768,16384,128,64,32,16,2,1]],[23325,[32772,16388,512,256,132,68,12]],[23326,[2097152,1048576,131072,65536,32768,16384,32,16,8,4,2,1]],[23329,[2097152,1048576,524288,262144,32768,16384,8192,4096,32,16]],[23330,[8196,4100,516,260,36,20,12,1]],[23331,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,1]],[23332,[2097157,1048581,131076,65540,32772,16388,36,20,12]],[23333,[2097168,1048592,524304,262160,8208,4112,528,272,48,1]],[23334,[2097157,1048581,32772,16388,516,260,132,68,12]],[23335,[2097216,1048640,524352,262208,2113,1089,576,320,192]],[23339,[524353,262209,8256,4160,192]],[23340,[32785,16401,8209,4113,48]],[23341,[131076,65540,32772,16388,2052,1028,36,20,12,1]],[23342,[2097216,1048640,524352,262208,131136,65600,576,320,192,1]],[23343,[8196,4100,516,260,36,20,12,2]],[23344,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,2]],[23345,[2097158,1048582,131076,65540,32772,16388,36,20,12]],[23346,[2097168,1048592,524304,262160,8208,4112,528,272,48,2]],[23347,[2097158,1048582,32772,16388,516,260,132,68,12]],[23348,[2097216,1048640,524352,262208,2114,1090,576,320,192]],[23352,[524354,262210,8256,4160,192]],[23353,[32786,16402,8210,4114,48]],[23354,[131076,65540,32772,16388,2052,1028,36,20,12,2]],[23355,[2097216,1048640,524352,262208,131136,65600,576,320,192,2]],[23356,[8193,4097,513,257,33,17,4,3]],[23357,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,4]],[23358,[2097157,1048581,131073,65537,32769,16385,33,17,3]],[23359,[2097168,1048592,524304,262160,8208,4112,528,272,48,4]],[23360,[2097157,1048581,32769,16385,513,257,129,65,3]],[23361,[2097216,1048640,524352,262208,2116,1092,576,320,192]],[23365,[524356,262212,8256,4160,192]],[23366,[524308,262164,131092,65556,32788,16404,8212,4116,48]],[23367,[131073,65537,32769,16385,2049,1025,33,17,4,3]],[23368,[2097216,1048640,524352,262208,131136,65600,576,320,192,4]],[23369,[8193,4097,513,257,33,17,8,3]],[23370,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,8]],[23371,[2097161,1048585,131073,65537,32769,16385,33,17,3]],[23372,[2097168,1048592,524304,262160,8208,4112,528,272,48,8]],[23373,[2097161,1048585,32769,16385,513,257,129,65,3]],[23374,[2097216,1048640,524352,262208,2120,1096,576,320,192]],[23378,[524360,262216,8256,4160,192]],[23379,[524312,262168,131096,65560,32792,16408,8216,4120,48]],[23380,[131073,65537,32769,16385,2049,1025,33,17,8,3]],[23381,[2097216,1048640,524352,262208,131136,65600,576,320,192,8]],[23382,[8193,4097,513,257,16,9,5,3]],[23383,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,16]],[23384,[2097169,1048593,131073,65537,32769,16385,9,5,3]],[23385,[2097156,1048580,524292,262148,8196,4100,516,260,16,12]],[23386,[2097169,1048593,32769,16385,513,257,129,65,3]],[23387,[2097216,1048640,524352,262208,2128,1104,576,320,192]],[23391,[524368,262224,8256,4160,192]],[23392,[32788,16404,8212,4116,12]],[23393,[131073,65537,32769,16385,2049,1025,16,9,5,3]],[23394,[2097216,1048640,524352,262208,131136,65600,576,320,192,16]],[23395,[8193,4097,513,257,32,9,5,3]],[23396,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,32]],[23397,[2097185,1048609,131073,65537,32769,16385,9,5,3]],[23398,[2097156,1048580,524292,262148,8196,4100,516,260,32,12]],[23399,[2097185,1048609,32769,16385,513,257,129,65,3]],[23400,[2097216,1048640,524352,262208,2144,1120,576,320,192]],[23404,[524384,262240,8256,4160,192]],[23405,[32804,16420,8228,4132,12]],[23406,[131073,65537,32769,16385,2049,1025,32,9,5,3]],[23407,[2097216,1048640,524352,262208,131136,65600,576,320,192,32]],[23408,[8193,4097,513,257,64,9,5,3]],[23409,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,64]],[23410,[2097217,1048641,131073,65537,32769,16385,9,5,3]],[23411,[2097152,1048576,524288,262144,245939,8192,4096,512,256,64,8,4]],[23412,[2097217,1048641,32769,16385,513,257,33,17,3]],[23413,[2097168,1048592,524304,262160,2128,1104,528,272,48]],[23417,[524368,262224,8208,4112,48]],[23418,[32836,16452,8260,4164,12]],[23419,[131073,65537,32769,16385,2049,1025,64,9,5,3]],[23420,[2097168,1048592,524304,262160,131088,65552,528,272,64,48]],[23421,[8193,4097,513,257,128,9,5,3]],[23422,[2097408,1048832,524544,262400,131328,65792,33024,16640,768,128]],[23423,[2097281,1048705,131073,65537,32769,16385,9,5,3]],[23424,[2097156,1048580,524292,262148,8196,4100,516,260,128,12]],[23425,[2097281,1048705,32769,16385,513,257,33,17,3]],[23426,[2097168,1048592,524304,262160,2192,1168,528,272,48]],[23430,[524432,262288,8208,4112,48]],[23431,[32900,16516,8324,4228,12]],[23432,[131073,65537,32769,16385,2049,1025,128,9,5,3]],[23433,[2097168,1048592,524304,262160,131088,65552,528,272,128,48]],[23434,[8193,4097,256,129,65,9,5,3]],[23435,[2097216,1048640,524352,262208,131136,65600,32832,16448,256,192]],[23436,[2097409,1048833,131073,65537,32769,16385,9,5,3]],[23437,[2097156,1048580,524292,262148,8196,4100,256,132,68,12]],[23438,[2097409,1048833,32769,16385,129,65,33,17,3]],[23439,[2097168,1048592,524304,262160,2320,1296,144,80,48]],[23443,[524560,262416,8208,4112,48]],[23444,[524548,262404,131332,65796,33028,16644,8452,4356,12]],[23445,[131073,65537,32769,16385,2049,1025,256,9,5,3]],[23446,[2097168,1048592,524304,262160,131088,65552,256,144,80,48]],[23447,[8193,4097,512,129,65,9,5,3]],[23448,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64]],[23449,[2097665,1049089,131073,65537,32769,16385,9,5,3]],[23450,[2097156,1048580,524292,262148,8196,4100,512,132,68,12]],[23451,[2097665,1049089,32769,16385,129,65,33,17,3]],[23452,[2097168,1048592,524304,262160,2576,1552,144,80,48]],[23456,[524816,262672,8208,4112,48]],[23457,[33284,16900,8708,4612,12]],[23458,[131073,65537,32769,16385,2049,1025,512,9,5,3]],[23459,[2097168,1048592,524304,262160,131088,65552,512,144,80,48]],[23460,[8193,4097,1024,129,65,9,5,3]],[23461,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64]],[23462,[2098177,1049601,131073,65537,32769,16385,9,5,3]],[23463,[2097156,1048580,524292,262148,8196,4100,1024,132,68,12]],[23464,[2098177,1049601,32769,16385,129,65,33,17,3]],[23465,[2097168,1048592,524304,262160,1296,768,144,80,48]],[23469,[525328,263184,8208,4112,48]],[23470,[525316,263172,132100,66564,33796,17412,9220,5124,12]],[23471,[131073,65537,32769,16385,1024,513,257,9,5,3]],[23472,[2097168,1048592,524304,262160,131088,65552,1024,144,80,48]],[23473,[8193,4097,2048,129,65,9,5,3]],[23474,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64]],[23475,[2099201,1050625,131073,65537,32769,16385,9,5,3]],[23476,[2097156,1048580,524292,262148,8196,4100,2048,132,68,12]],[23477,[2099201,1050625,32769,16385,129,65,33,17,3]],[23478,[2097168,1048592,524304,262160,2320,768,144,80,48]],[23482,[526352,264208,8208,4112,48]],[23483,[34820,18436,10244,6148,12]],[23484,[131073,65537,32769,16385,2048,513,257,9,5,3]],[23485,[2097168,1048592,524304,262160,131088,65552,2048,144,80,48]],[23486,[4096,2049,1025,129,65,9,5,3]],[23487,[2097216,1048640,524352,262208,131136,65600,32832,16448,4096,192]],[23488,[2101249,1052673,131073,65537,32769,16385,9,5,3]],[23489,[2097156,1048580,524292,262148,4096,2052,1028,132,68,12]],[23490,[2101249,1052673,32769,16385,129,65,33,17,3]],[23491,[2097168,1048592,524304,262160,4368,768,144,80,48]],[23495,[528400,266256,2064,1040,48]],[23496,[525312,263168,132096,66560,33792,17408,5124,3072,12]],[23497,[131073,65537,32769,16385,4096,513,257,9,5,3]],[23498,[2097168,1048592,524304,262160,131088,65552,4096,144,80,48]],[23499,[8192,2049,1025,129,65,9,5,3]],[23500,[2097216,1048640,524352,262208,131136,65600,32832,16448,8192,192]],[23501,[2105345,1056769,131073,65537,32769,16385,9,5,3]],[23502,[2097156,1048580,524292,262148,8192,2052,1028,132,68,12]],[23503,[2105345,1056769,32769,16385,129,65,33,17,3]],[23504,[2097168,1048592,524304,262160,8464,768,144,80,48]],[23508,[532496,270352,2064,1040,48]],[23509,[33792,17408,9220,3072,12]],[23510,[131073,65537,32769,16385,8192,513,257,9,5,3]],[23511,[2097168,1048592,524304,262160,131088,65552,8192,144,80,48]],[23512,[16384,2049,1025,129,65,9,5,3]],[23513,[2097216,1048640,524352,262208,131136,65600,16384,8256,4160,192]],[23514,[2113537,1064961,131073,65537,8193,4097,9,5,3]],[23515,[2097156,1048580,524292,262148,16384,2052,1028,132,68,12]],[23516,[2113537,1064961,8193,4097,129,65,33,17,3]],[23517,[2097168,1048592,524304,262160,16656,768,144,80,48]],[23521,[540688,278544,2064,1040,48]],[23522,[17412,9216,5120,3072,12]],[23523,[131073,65537,16384,8193,4097,513,257,9,5,3]],[23524,[2097168,1048592,524304,262160,131088,65552,16384,144,80,48]],[23525,[32768,2049,1025,129,65,9,5,3]],[23526,[2097216,1048640,524352,262208,131136,65600,32768,8256,4160,192]],[23527,[2129921,1081345,131073,65537,8193,4097,9,5,3]],[23528,[2097156,1048580,524292,262148,32768,2052,1028,132,68,12]],[23529,[2129921,1081345,8193,4097,129,65,33,17,3]],[23530,[2097168,1048592,524304,262160,33040,768,144,80,48]],[23534,[557072,294928,2064,1040,48]],[23535,[33796,9216,5120,3072,12]],[23536,[131073,65537,32768,8193,4097,513,257,9,5,3]],[23537,[2097168,1048592,524304,262160,131088,65552,32768,144,80,48]],[23538,[65536,2049,1025,129,65,9,5,3]],[23539,[2097216,1048640,524352,262208,65536,32832,16448,8256,4160,192]],[23540,[2162689,1114113,32769,16385,8193,4097,9,5,3]],[23541,[2097156,1048580,524292,262148,65536,2052,1028,132,68,12]],[23542,[2162689,1114113,8193,4097,129,65,33,17,3]],[23543,[2097168,1048592,524304,262160,65808,768,144,80,48]],[23547,[589840,327696,2064,1040,48]],[23548,[525312,263168,66564,33792,17408,9216,5120,3072,12]],[23549,[65536,32769,16385,8193,4097,513,257,9,5,3]],[23550,[2097168,1048592,524304,262160,65536,32784,16400,144,80,48]],[23551,[131072,2049,1025,129,65,9,5,3]],[23552,[2097216,1048640,524352,262208,131072,32832,16448,8256,4160,192]],[23553,[2228225,1179649,32769,16385,8193,4097,9,5,3]],[23554,[2097156,1048580,524292,262148,131072,2052,1028,132,68,12]],[23555,[2228225,1179649,8193,4097,129,65,33,17,3]],[23556,[2097168,1048592,524304,262160,131344,768,144,80,48]],[23560,[655376,393232,2064,1040,48]],[23561,[525312,263168,132100,33792,17408,9216,5120,3072,12]],[23562,[131072,32769,16385,8193,4097,513,257,9,5,3]],[23563,[2097168,1048592,524304,262160,131072,32784,16400,144,80,48]],[23564,[262144,2049,1025,129,65,9,5,3]],[23565,[2097216,1048640,262144,131136,65600,32832,16448,8256,4160,192]],[23566,[2359297,1310721,32769,16385,8193,4097,9,5,3]],[23567,[2097156,1048580,262144,131076,65540,2052,1028,132,68,12]],[23568,[2359297,1310721,8193,4097,129,65,33,17,3]],[23569,[2097168,1048592,262416,131088,65552,768,144,80,48]],[23573,[327696,196608,2064,1040,48]],[23574,[263172,132096,66560,33792,17408,9216,5120,3072,12]],[23575,[262144,32769,16385,8193,4097,513,257,9,5,3]],[23576,[2097168,1048592,262144,131088,65552,32784,16400,144,80,48]],[23577,[524288,2049,1025,129,65,9,5,3]],[23578,[2097216,1048640,524288,131136,65600,32832,16448,8256,4160,192]],[23579,[2621441,1572865,32769,16385,8193,4097,9,5,3]],[23580,[2097156,1048580,524288,131076,65540,2052,1028,132,68,12]],[23581,[2621441,1572865,8193,4097,129,65,33,17,3]],[23582,[2097168,1048592,524560,131088,65552,768,144,80,48]],[23586,[589840,196608,2064,1040,48]],[23587,[525316,132096,66560,33792,17408,9216,5120,3072,12]],[23588,[524288,32769,16385,8193,4097,513,257,9,5,3]],[23589,[2097168,1048592,524288,131088,65552,32784,16400,144,80,48]],[23590,[1048576,2049,1025,129,65,9,5,3]],[23591,[1048576,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23592,[1310721,786432,32769,16385,8193,4097,9,5,3]],[23593,[1048576,524292,262148,131076,65540,2052,1028,132,68,12]],[23594,[1310721,786432,8193,4097,129,65,33,17,3]],[23595,[1048848,524304,262160,131088,65552,768,144,80,48]],[23599,[1114128,196608,2064,1040,48]],[23600,[1049604,9216,5120,3072,12]],[23601,[1048576,32769,16385,8193,4097,513,257,9,5,3]],[23602,[1048576,524304,262160,131088,65552,32784,16400,144,80,48]],[23603,[2097152,2049,1025,129,65,9,5,3]],[23604,[2097152,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23605,[2359297,786432,32769,16385,8193,4097,9,5,3]],[23606,[2097152,524292,262148,131076,65540,2052,1028,132,68,12]],[23607,[2359297,786432,8193,4097,129,65,33,17,3]],[23608,[2097424,524304,262160,131088,65552,768,144,80,48]],[23612,[2162704,196608,2064,1040,48]],[23613,[2098180,132096,66560,33792,17408,9216,5120,3072,12]],[23614,[2097152,32769,16385,8193,4097,513,257,9,5,3]],[23615,[2097152,524304,262160,131088,65552,32784,16400,144,80,48]],[23616,[8197,4101,2053,1029,517,261,133,69,37,21,15]],[23617,[2097157,1048581,524293,262149,131077,65541,32773,16389,2053,1029,15]],[23618,[8198,4102,2054,1030,518,262,134,70,38,22,15]],[23619,[2097158,1048582,524294,262150,131078,65542,32774,16390,2054,1030,15]],[23620,[8196,4100,2052,1028,516,260,132,68,38,21,12]],[23621,[2097169,1048593,524305,262161,131089,65553,32785,16401,2065,1041,51]],[23622,[8196,4100,2052,1028,516,260,132,68,37,22,12]],[23623,[2097170,1048594,524306,262162,131090,65554,32786,16402,2066,1042,51]],[23624,[8196,4100,2052,1028,516,260,134,69,36,20,12]],[23625,[2097217,1048641,524353,262209,131137,65601,32833,16449,2113,1089,195]],[23626,[8196,4100,2052,1028,516,260,133,70,36,20,12]],[23627,[2097218,1048642,524354,262210,131138,65602,32834,16450,2114,1090,195]],[23628,[8196,4100,2052,1028,518,261,132,68,36,20,12]],[23629,[2097409,1048833,524545,262401,131329,65793,33025,16641,2305,1281,771]],[23630,[8196,4100,2052,1028,517,262,132,68,36,20,12]],[23631,[2097410,1048834,524546,262402,131330,65794,33026,16642,2306,1282,771]],[23632,[8196,4100,2054,1029,516,260,132,68,36,20,12]],[23633,[2097408,1048832,524544,262400,131328,65792,33024,16640,2306,1281,768]],[23634,[8196,4100,2053,1030,516,260,132,68,36,20,12]],[23635,[2097408,1048832,524544,262400,131328,65792,33024,16640,2305,1282,768]],[23636,[8198,4101,2052,1028,516,260,132,68,36,20,12]],[23637,[2097408,1048832,524544,262400,131328,65792,33024,16640,8450,4353,768]],[23638,[8197,4102,2052,1028,516,260,132,68,36,20,12]],[23639,[2097408,1048832,524544,262400,131328,65792,33024,16640,8449,4354,768]],[23640,[32774,16389,2052,1028,516,260,132,68,36,20,12]],[23641,[2097408,1048832,524544,262400,131328,65792,33026,16641,8448,4352,768]],[23642,[32773,16390,2052,1028,516,260,132,68,36,20,12]],[23643,[2097408,1048832,524544,262400,131328,65792,33025,16642,8448,4352,768]],[23644,[131078,65541,2052,1028,516,260,132,68,36,20,12]],[23645,[2097408,1048832,524544,262400,131330,65793,33024,16640,8448,4352,768]],[23646,[131077,65542,2052,1028,516,260,132,68,36,20,12]],[23647,[2097408,1048832,524544,262400,131329,65794,33024,16640,8448,4352,768]],[23648,[524294,262149,2052,1028,516,260,132,68,36,20,12]],[23649,[2097408,1048832,524546,262401,131328,65792,33024,16640,8448,4352,768]],[23650,[524293,262150,2052,1028,516,260,132,68,36,20,12]],[23651,[2097408,1048832,524545,262402,131328,65792,33024,16640,8448,4352,768]],[23652,[2097158,1048581,2052,1028,516,260,132,68,36,20,12]],[23653,[2097410,1048833,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23654,[2097157,1048582,2052,1028,516,260,132,68,36,20,12]],[23655,[2097409,1048834,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23656,[8193,4097,2049,1025,513,257,129,65,41,21,3]],[23657,[2097172,1048596,524308,262164,131092,65556,32788,16404,2068,1044,60]],[23658,[8193,4097,2049,1025,513,257,129,65,37,25,3]],[23659,[2097176,1048600,524312,262168,131096,65560,32792,16408,2072,1048,60]],[23660,[8193,4097,2049,1025,513,257,137,69,33,17,3]],[23661,[2097220,1048644,524356,262212,131140,65604,32836,16452,2116,1092,204]],[23662,[8193,4097,2049,1025,513,257,133,73,33,17,3]],[23663,[2097224,1048648,524360,262216,131144,65608,32840,16456,2120,1096,204]],[23664,[8193,4097,2049,1025,521,261,129,65,33,17,3]],[23665,[2097412,1048836,524548,262404,131332,65796,33028,16644,2308,1284,780]],[23666,[8193,4097,2049,1025,517,265,129,65,33,17,3]],[23667,[2097416,1048840,524552,262408,131336,65800,33032,16648,2312,1288,780]],[23668,[8193,4097,2057,1029,513,257,129,65,33,17,3]],[23669,[2097408,1048832,524544,262400,131328,65792,33024,16640,2312,1284,768]],[23670,[8193,4097,2053,1033,513,257,129,65,33,17,3]],[23671,[2097408,1048832,524544,262400,131328,65792,33024,16640,2308,1288,768]],[23672,[8201,4101,2049,1025,513,257,129,65,33,17,3]],[23673,[2097408,1048832,524544,262400,131328,65792,33024,16640,8456,4356,768]],[23674,[8197,4105,2049,1025,513,257,129,65,33,17,3]],[23675,[2097408,1048832,524544,262400,131328,65792,33024,16640,8452,4360,768]],[23676,[32777,16389,2049,1025,513,257,129,65,33,17,3]],[23677,[2097408,1048832,524544,262400,131328,65792,33032,16644,8448,4352,768]],[23678,[32773,16393,2049,1025,513,257,129,65,33,17,3]],[23679,[2097408,1048832,524544,262400,131328,65792,33028,16648,8448,4352,768]],[23680,[131081,65541,2049,1025,513,257,129,65,33,17,3]],[23681,[2097408,1048832,524544,262400,131336,65796,33024,16640,8448,4352,768]],[23682,[131077,65545,2049,1025,513,257,129,65,33,17,3]],[23683,[2097408,1048832,524544,262400,131332,65800,33024,16640,8448,4352,768]],[23684,[524297,262149,2049,1025,513,257,129,65,33,17,3]],[23685,[2097408,1048832,524552,262404,131328,65792,33024,16640,8448,4352,768]],[23686,[524293,262153,2049,1025,513,257,129,65,33,17,3]],[23687,[2097408,1048832,524548,262408,131328,65792,33024,16640,8448,4352,768]],[23688,[2097161,1048581,2049,1025,513,257,129,65,33,17,3]],[23689,[2097416,1048836,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23690,[2097157,1048585,2049,1025,513,257,129,65,33,17,3]],[23691,[2097412,1048840,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23692,[8193,4097,2049,1025,513,257,161,81,9,5,3]],[23693,[2097232,1048656,524368,262224,131152,65616,32848,16464,2128,1104,240]],[23694,[8193,4097,2049,1025,513,257,145,97,9,5,3]],[23695,[2097248,1048672,524384,262240,131168,65632,32864,16480,2144,1120,240]],[23696,[8193,4097,2049,1025,545,273,129,65,9,5,3]],[23697,[2097424,1048848,524560,262416,131344,65808,33040,16656,2320,1296,816]],[23698,[8193,4097,2049,1025,529,289,129,65,9,5,3]],[23699,[2097440,1048864,524576,262432,131360,65824,33056,16672,2336,1312,816]],[23700,[8193,4097,2081,1041,513,257,129,65,9,5,3]],[23701,[2097408,1048832,524544,262400,131328,65792,33024,16640,2336,1296,768]],[23702,[8193,4097,2065,1057,513,257,129,65,9,5,3]],[23703,[2097408,1048832,524544,262400,131328,65792,33024,16640,2320,1312,768]],[23704,[8225,4113,2049,1025,513,257,129,65,9,5,3]],[23705,[2097408,1048832,524544,262400,131328,65792,33024,16640,8480,4368,768]],[23706,[8209,4129,2049,1025,513,257,129,65,9,5,3]],[23707,[2097408,1048832,524544,262400,131328,65792,33024,16640,8464,4384,768]],[23708,[32801,16401,2049,1025,513,257,129,65,9,5,3]],[23709,[2097408,1048832,524544,262400,131328,65792,33056,16656,8448,4352,768]],[23710,[32785,16417,2049,1025,513,257,129,65,9,5,3]],[23711,[2097408,1048832,524544,262400,131328,65792,33040,16672,8448,4352,768]],[23712,[131105,65553,2049,1025,513,257,129,65,9,5,3]],[23713,[2097408,1048832,524544,262400,131360,65808,33024,16640,8448,4352,768]],[23714,[131089,65569,2049,1025,513,257,129,65,9,5,3]],[23715,[2097408,1048832,524544,262400,131344,65824,33024,16640,8448,4352,768]],[23716,[524321,262161,2049,1025,513,257,129,65,9,5,3]],[23717,[2097408,1048832,524576,262416,131328,65792,33024,16640,8448,4352,768]],[23718,[524305,262177,2049,1025,513,257,129,65,9,5,3]],[23719,[2097408,1048832,524560,262432,131328,65792,33024,16640,8448,4352,768]],[23720,[2097185,1048593,2049,1025,513,257,129,65,9,5,3]],[23721,[2097440,1048848,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23722,[2097169,1048609,2049,1025,513,257,129,65,9,5,3]],[23723,[2097424,1048864,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23724,[8193,4097,2049,1025,641,321,33,17,9,5,3]],[23725,[2097472,1048896,524608,262464,131392,65856,33088,16704,2368,1344,960]],[23726,[8193,4097,2049,1025,577,385,33,17,9,5,3]],[23727,[2097536,1048960,524672,262528,131456,65920,33152,16768,2432,1408,960]],[23728,[8193,4097,2177,1089,513,257,33,17,9,5,3]],[23729,[2097408,1048832,524544,262400,131328,65792,33024,16640,2432,1344,768]],[23730,[8193,4097,2113,1153,513,257,33,17,9,5,3]],[23731,[2097408,1048832,524544,262400,131328,65792,33024,16640,2368,1408,768]],[23732,[8321,4161,2049,1025,513,257,33,17,9,5,3]],[23733,[2097408,1048832,524544,262400,131328,65792,33024,16640,8576,4416,768]],[23734,[8257,4225,2049,1025,513,257,33,17,9,5,3]],[23735,[2097408,1048832,524544,262400,131328,65792,33024,16640,8512,4480,768]],[23736,[32897,16449,2049,1025,513,257,33,17,9,5,3]],[23737,[2097408,1048832,524544,262400,131328,65792,33152,16704,8448,4352,768]],[23738,[32833,16513,2049,1025,513,257,33,17,9,5,3]],[23739,[2097408,1048832,524544,262400,131328,65792,33088,16768,8448,4352,768]],[23740,[131201,65601,2049,1025,513,257,33,17,9,5,3]],[23741,[2097408,1048832,524544,262400,131456,65856,33024,16640,8448,4352,768]],[23742,[131137,65665,2049,1025,513,257,33,17,9,5,3]],[23743,[2097408,1048832,524544,262400,131392,65920,33024,16640,8448,4352,768]],[23744,[524417,262209,2049,1025,513,257,33,17,9,5,3]],[23745,[2097408,1048832,524672,262464,131328,65792,33024,16640,8448,4352,768]],[23746,[524353,262273,2049,1025,513,257,33,17,9,5,3]],[23747,[2097408,1048832,524608,262528,131328,65792,33024,16640,8448,4352,768]],[23748,[2097281,1048641,2049,1025,513,257,33,17,9,5,3]],[23749,[2097536,1048896,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23750,[2097217,1048705,2049,1025,513,257,33,17,9,5,3]],[23751,[2097472,1048960,524544,262400,131328,65792,33024,16640,8448,4352,768]],[23752,[8193,4097,2561,1281,129,65,33,17,9,5,3]],[23753,[2097216,1048640,524352,262208,131136,65600,32832,16448,2624,1344,192]],[23754,[8193,4097,2305,1537,129,65,33,17,9,5,3]],[23755,[2097216,1048640,524352,262208,131136,65600,32832,16448,2368,1600,192]],[23756,[8705,4353,2049,1025,129,65,33,17,9,5,3]],[23757,[2097216,1048640,524352,262208,131136,65600,32832,16448,8768,4416,192]],[23758,[8449,4609,2049,1025,129,65,33,17,9,5,3]],[23759,[2097216,1048640,524352,262208,131136,65600,32832,16448,8512,4672,192]],[23760,[33281,16641,2049,1025,129,65,33,17,9,5,3]],[23761,[2097216,1048640,524352,262208,131136,65600,33344,16704,8256,4160,192]],[23762,[33025,16897,2049,1025,129,65,33,17,9,5,3]],[23763,[2097216,1048640,524352,262208,131136,65600,33088,16960,8256,4160,192]],[23764,[131585,65793,2049,1025,129,65,33,17,9,5,3]],[23765,[2097216,1048640,524352,262208,131648,65856,32832,16448,8256,4160,192]],[23766,[131329,66049,2049,1025,129,65,33,17,9,5,3]],[23767,[2097216,1048640,524352,262208,131392,66112,32832,16448,8256,4160,192]],[23768,[524801,262401,2049,1025,129,65,33,17,9,5,3]],[23769,[2097216,1048640,524864,262464,131136,65600,32832,16448,8256,4160,192]],[23770,[524545,262657,2049,1025,129,65,33,17,9,5,3]],[23771,[2097216,1048640,524608,262720,131136,65600,32832,16448,8256,4160,192]],[23772,[2097665,1048833,2049,1025,129,65,33,17,9,5,3]],[23773,[2097728,1048896,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23774,[2097409,1049089,2049,1025,129,65,33,17,9,5,3]],[23775,[2097472,1049152,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23776,[10241,5121,513,257,129,65,33,17,9,5,3]],[23777,[2097216,1048640,524352,262208,131136,65600,32832,16448,10304,5184,192]],[23778,[9217,6145,513,257,129,65,33,17,9,5,3]],[23779,[2097216,1048640,524352,262208,131136,65600,32832,16448,9280,6208,192]],[23780,[34817,17409,513,257,129,65,33,17,9,5,3]],[23781,[2097216,1048640,524352,262208,131136,65600,34880,17472,8256,4160,192]],[23782,[33793,18433,513,257,129,65,33,17,9,5,3]],[23783,[2097216,1048640,524352,262208,131136,65600,33856,18496,8256,4160,192]],[23784,[133121,66561,513,257,129,65,33,17,9,5,3]],[23785,[2097216,1048640,524352,262208,133184,66624,32832,16448,8256,4160,192]],[23786,[132097,67585,513,257,129,65,33,17,9,5,3]],[23787,[2097216,1048640,524352,262208,132160,67648,32832,16448,8256,4160,192]],[23788,[526337,263169,513,257,129,65,33,17,9,5,3]],[23789,[2097216,1048640,526400,263232,131136,65600,32832,16448,8256,4160,192]],[23790,[525313,264193,513,257,129,65,33,17,9,5,3]],[23791,[2097216,1048640,525376,264256,131136,65600,32832,16448,8256,4160,192]],[23792,[2099201,1049601,513,257,129,65,33,17,9,5,3]],[23793,[2099264,1049664,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23794,[2098177,1050625,513,257,129,65,33,17,9,5,3]],[23795,[2098240,1050688,524352,262208,131136,65600,32832,16448,8256,4160,192]],[23796,[40961,20481,513,257,129,65,33,17,9,5,3]],[23797,[2097216,1048640,524352,262208,131136,65600,41024,20544,2112,1088,192]],[23798,[36865,24577,513,257,129,65,33,17,9,5,3]],[23799,[2097216,1048640,524352,262208,131136,65600,36928,24640,2112,1088,192]],[23800,[139265,69633,513,257,129,65,33,17,9,5,3]],[23801,[2097216,1048640,524352,262208,139328,69696,32832,16448,2112,1088,192]],[23802,[135169,73729,513,257,129,65,33,17,9,5,3]],[23803,[2097216,1048640,524352,262208,135232,73792,32832,16448,2112,1088,192]],[23804,[532481,266241,513,257,129,65,33,17,9,5,3]],[23805,[2097216,1048640,532544,266304,131136,65600,32832,16448,2112,1088,192]],[23806,[528385,270337,513,257,129,65,33,17,9,5,3]],[23807,[2097216,1048640,528448,270400,131136,65600,32832,16448,2112,1088,192]],[23808,[2105345,1052673,513,257,129,65,33,17,9,5,3]],[23809,[2105408,1052736,524352,262208,131136,65600,32832,16448,2112,1088,192]],[23810,[2101249,1056769,513,257,129,65,33,17,9,5,3]],[23811,[2101312,1056832,524352,262208,131136,65600,32832,16448,2112,1088,192]],[23812,[163841,81921,513,257,129,65,33,17,9,5,3]],[23813,[2097216,1048640,524352,262208,163904,81984,8256,4160,2112,1088,192]],[23814,[147457,98305,513,257,129,65,33,17,9,5,3]],[23815,[2097216,1048640,524352,262208,147520,98368,8256,4160,2112,1088,192]],[23816,[557057,278529,513,257,129,65,33,17,9,5,3]],[23817,[2097216,1048640,557120,278592,131136,65600,8256,4160,2112,1088,192]],[23818,[540673,294913,513,257,129,65,33,17,9,5,3]],[23819,[2097216,1048640,540736,294976,131136,65600,8256,4160,2112,1088,192]],[23820,[2129921,1064961,513,257,129,65,33,17,9,5,3]],[23821,[2129984,1065024,524352,262208,131136,65600,8256,4160,2112,1088,192]],[23822,[2113537,1081345,513,257,129,65,33,17,9,5,3]],[23823,[2113600,1081408,524352,262208,131136,65600,8256,4160,2112,1088,192]],[23824,[655361,327681,513,257,129,65,33,17,9,5,3]],[23825,[2097216,1048640,655424,327744,32832,16448,8256,4160,2112,1088,192]],[23826,[589825,393217,513,257,129,65,33,17,9,5,3]],[23827,[2097216,1048640,589888,393280,32832,16448,8256,4160,2112,1088,192]],[23828,[2228225,1114113,513,257,129,65,33,17,9,5,3]],[23829,[2228288,1114176,524352,262208,32832,16448,8256,4160,2112,1088,192]],[23830,[2162689,1179649,513,257,129,65,33,17,9,5,3]],[23831,[2162752,1179712,524352,262208,32832,16448,8256,4160,2112,1088,192]],[23832,[2621441,1310721,513,257,129,65,33,17,9,5,3]],[23833,[2621504,1310784,131136,65600,32832,16448,8256,4160,2112,1088,192]],[23834,[2359297,1572865,513,257,129,65,33,17,9,5,3]],[23835,[2359360,1572928,131136,65600,32832,16448,8256,4160,2112,1088,192]],[23837,[8208,4112,2064,1040,528,272,144,80,48,1]],[23839,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[23840,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[23841,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[23842,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[23843,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[23845,[8208,4112,2064,1040,528,272,144,80,48,2]],[23847,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[23848,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[23849,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[23850,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[23851,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[23853,[8208,4112,2064,1040,528,272,144,80,48,4]],[23855,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[23856,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[23857,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[23858,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[23859,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[23861,[8208,4112,2064,1040,528,272,144,80,48,8]],[23863,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[23864,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[23865,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[23866,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[23867,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[23869,[8196,4100,2052,1028,516,260,132,68,16,12]],[23871,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[23872,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[23873,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[23874,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[23875,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[23877,[8196,4100,2052,1028,516,260,132,68,32,12]],[23879,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[23880,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[23881,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[23882,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[23883,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[23885,[8196,4100,2052,1028,516,260,64,36,20,12]],[23887,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[23888,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[23889,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[23890,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[23891,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[23893,[8196,4100,2052,1028,516,260,128,36,20,12]],[23895,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[23896,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[23897,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[23898,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[23899,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[23901,[8196,4100,2052,1028,256,132,68,36,20,12]],[23903,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[23904,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[23905,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[23906,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[23907,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[23909,[8196,4100,2052,1028,512,132,68,36,20,12]],[23911,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[23912,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[23913,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[23914,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[23915,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[23917,[8196,4100,1024,516,260,132,68,36,20,12]],[23919,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[23920,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[23921,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[23922,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[23923,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[23925,[8196,4100,2048,516,260,132,68,36,20,12]],[23927,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[23928,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[23929,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[23930,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[23931,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[23933,[4096,2052,1028,516,260,132,68,36,20,12]],[23935,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[23936,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[23937,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[23938,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[23939,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[23941,[8192,2052,1028,516,260,132,68,36,20,12]],[23943,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[23944,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[23945,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[23946,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[23947,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[23949,[16384,2052,1028,516,260,132,68,36,20,12]],[23951,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[23952,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[23953,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[23954,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[23955,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[23957,[32768,2052,1028,516,260,132,68,36,20,12]],[23959,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[23960,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[23961,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[23962,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[23963,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[23965,[65536,2052,1028,516,260,132,68,36,20,12]],[23967,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[23968,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[23969,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[23970,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[23971,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[23973,[131072,2052,1028,516,260,132,68,36,20,12]],[23975,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[23976,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[23977,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[23978,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[23979,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[23981,[262144,2052,1028,516,260,132,68,36,20,12]],[23983,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23984,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23985,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23986,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23987,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23988,[3343308,524288,32769,16385,8193,4097,2049,1025,33,17,3]],[23989,[524288,2052,1028,516,260,132,68,36,20,12]],[23991,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23992,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23993,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23994,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23995,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[23997,[1048576,2052,1028,516,260,132,68,36,20,12]],[23999,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24000,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24001,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24002,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24003,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24005,[2097152,2052,1028,516,260,132,68,36,20,12]],[24007,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24008,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24009,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24010,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24011,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24012,[524288,262144,8192,4096,512,256,128,64,8,4,2,1]],[24015,[2097152,1048576,790275,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24018,[2097152,1048576,524288,262144,208911,32768,16384,2048,1024,512,256,128,64]],[24020,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[24024,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,2,1]],[24027,[131072,65536,32768,16384,8192,4096,2048,1024,128,64,2,1]],[24032,[524289,262145,131073,65537,32769,16385,512,256,9,5,3]],[24041,[524289,262145,131073,65537,32769,16385,512,256,9,5,3]],[24043,[2097152,1048576,32768,16384,8192,4096,2048,1024,128,64,32,16]],[24056,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24057,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24058,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24059,[524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24065,[2097152,1048576,8192,4096,512,256,128,64,32,16,2,1]],[24067,[2097152,1048576,790275,131072,65536,32768,16384,8192,4096,128,64,8,4]],[24068,[2097152,1048576,32768,16384,8192,4096,512,256,32,16,2,1]],[24070,[2097152,1048576,8192,4096,2048,1024,128,64,32,16,2,1]],[24071,[2097152,1048576,131072,65536,8192,4096,128,64,32,16,8,4]],[24072,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[24073,[131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[24077,[2097152,1048576,8192,4096,512,256,128,64,32,16,2,1]],[24079,[2097152,1048576,8192,4096,2048,1024,128,64,32,16,2,1]],[24080,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,8,4]],[24081,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,8,4]],[24085,[2097152,1048576,524288,262144,32768,16384,2048,1024,128,64,32,16]],[24091,[2097152,1048576,524288,262144,131072,65536,128,64,32,16,8,4]],[24098,[524288,262144,208911,32768,16384,2048,1024,512,256,128,64,32,16]],[24105,[3944496,131072,65536,32768,16384,2048,1024,128,64,8,4,2,1]],[24106,[131072,65536,32768,16384,128,64,32,16,8,4,2,1]],[24109,[131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[24113,[524288,262144,2048,1024,512,256,128,64,8,4,2,1]],[24125,[524288,262144,32768,16384,2048,1024,512,256,8,4,2,1]],[24126,[32772,16388,512,256,132,68,12]],[24127,[3981504,131072,65536,8192,4096,512,256,32,16,8,4,2,1]],[24129,[524288,262144,131072,65536,8192,4096,2048,1024,512,256,8,4]],[24136,[32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24137,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,1]],[24138,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,1]],[24142,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,1]],[24143,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,1]],[24144,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,1]],[24151,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,1]],[24154,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,2]],[24155,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,2]],[24159,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,2]],[24160,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,2]],[24161,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,2]],[24168,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,2]],[24171,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,4]],[24172,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,4]],[24176,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,4,3]],[24177,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,4,3]],[24178,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,4]],[24185,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,4,2,1]],[24188,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,8]],[24189,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,8]],[24193,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,8,3]],[24194,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,8,3]],[24195,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,8]],[24202,[131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,2,1]],[24205,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,16]],[24206,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,16]],[24210,[2097153,1048577,524289,262145,8193,4097,2049,1025,16,9,5,3]],[24211,[2097153,1048577,524289,262145,8193,4097,2049,1025,16,9,5,3]],[24212,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,16]],[24219,[131072,65536,32768,16384,8192,4096,2048,1024,16,8,4,2,1]],[24222,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,32]],[24223,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,32]],[24227,[2097153,1048577,524289,262145,8193,4097,2049,1025,32,9,5,3]],[24228,[2097153,1048577,524289,262145,8193,4097,2049,1025,32,9,5,3]],[24229,[131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,32]],[24236,[131072,65536,32768,16384,8192,4096,2048,1024,32,8,4,2,1]],[24239,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,64,48]],[24240,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,64,48]],[24244,[2097153,1048577,524289,262145,8193,4097,2049,1025,64,9,5,3]],[24245,[2097153,1048577,524289,262145,8193,4097,2049,1025,64,9,5,3]],[24246,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,64,48]],[24253,[131072,65536,32768,16384,8192,4096,2048,1024,64,8,4,2,1]],[24256,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,128,48]],[24257,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,128,48]],[24261,[2097153,1048577,524289,262145,8193,4097,2049,1025,128,9,5,3]],[24262,[2097153,1048577,524289,262145,8193,4097,2049,1025,128,9,5,3]],[24263,[131088,65552,32784,16400,8208,4112,2064,1040,528,272,128,48]],[24270,[131072,65536,32768,16384,8192,4096,2048,1024,128,8,4,2,1]],[24273,[131088,65552,32784,16400,8208,4112,2064,1040,256,144,80,48]],[24274,[131088,65552,32784,16400,8208,4112,2064,1040,256,144,80,48]],[24278,[2097153,1048577,524289,262145,8193,4097,2049,1025,256,9,5,3]],[24279,[2097153,1048577,524289,262145,8193,4097,2049,1025,256,9,5,3]],[24280,[131088,65552,32784,16400,8208,4112,2064,1040,256,144,80,48]],[24287,[131072,65536,32768,16384,8192,4096,2048,1024,256,8,4,2,1]],[24290,[131088,65552,32784,16400,8208,4112,2064,1040,512,144,80,48]],[24291,[131088,65552,32784,16400,8208,4112,2064,1040,512,144,80,48]],[24295,[2097153,1048577,524289,262145,8193,4097,2049,1025,512,9,5,3]],[24296,[2097153,1048577,524289,262145,8193,4097,2049,1025,512,9,5,3]],[24297,[131088,65552,32784,16400,8208,4112,2064,1040,512,144,80,48]],[24304,[131072,65536,32768,16384,8192,4096,2048,1024,512,8,4,2,1]],[24307,[131088,65552,32784,16400,8208,4112,1024,528,272,144,80,48]],[24308,[131088,65552,32784,16400,8208,4112,1024,528,272,144,80,48]],[24312,[2097153,1048577,524289,262145,8193,4097,1024,513,257,9,5,3]],[24313,[2097153,1048577,524289,262145,8193,4097,1024,513,257,9,5,3]],[24314,[131088,65552,32784,16400,8208,4112,1024,528,272,144,80,48]],[24321,[131072,65536,32768,16384,8192,4096,1024,512,256,8,4,2,1]],[24324,[131088,65552,32784,16400,8208,4112,2048,528,272,144,80,48]],[24325,[131088,65552,32784,16400,8208,4112,2048,528,272,144,80,48]],[24329,[2097153,1048577,524289,262145,8193,4097,2048,513,257,9,5,3]],[24330,[2097153,1048577,524289,262145,8193,4097,2048,513,257,9,5,3]],[24331,[131088,65552,32784,16400,8208,4112,2048,528,272,144,80,48]],[24338,[131072,65536,32768,16384,8192,4096,2048,512,256,8,4,2,1]],[24341,[131088,65552,32784,16400,4096,2064,1040,528,272,144,80,48]],[24342,[131088,65552,32784,16400,4096,2064,1040,528,272,144,80,48]],[24346,[2097153,1048577,524289,262145,4096,2049,1025,513,257,9,5,3]],[24347,[2097153,1048577,524289,262145,4096,2049,1025,513,257,9,5,3]],[24348,[131088,65552,32784,16400,4096,2064,1040,528,272,144,80,48]],[24355,[131072,65536,32768,16384,4096,2048,1024,512,256,8,4,2,1]],[24358,[131088,65552,32784,16400,8192,2064,1040,528,272,144,80,48]],[24359,[131088,65552,32784,16400,8192,2064,1040,528,272,144,80,48]],[24363,[2097153,1048577,524289,262145,8192,2049,1025,513,257,9,5,3]],[24364,[2097153,1048577,524289,262145,8192,2049,1025,513,257,9,5,3]],[24365,[131088,65552,32784,16400,8192,2064,1040,528,272,144,80,48]],[24372,[131072,65536,32768,16384,8192,2048,1024,512,256,8,4,2,1]],[24375,[131088,65552,16384,8208,4112,2064,1040,528,272,144,80,48]],[24376,[131088,65552,16384,8208,4112,2064,1040,528,272,144,80,48]],[24380,[2097153,1048577,524289,262145,16384,2049,1025,513,257,9,5,3]],[24381,[2097153,1048577,524289,262145,16384,2049,1025,513,257,9,5,3]],[24382,[131088,65552,16384,8208,4112,2064,1040,528,272,144,80,48]],[24389,[131072,65536,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24392,[131088,65552,32768,8208,4112,2064,1040,528,272,144,80,48]],[24393,[131088,65552,32768,8208,4112,2064,1040,528,272,144,80,48]],[24397,[2097153,1048577,524289,262145,32768,2049,1025,513,257,9,5,3]],[24398,[2097153,1048577,524289,262145,32768,2049,1025,513,257,9,5,3]],[24399,[131088,65552,32768,8208,4112,2064,1040,528,272,144,80,48]],[24406,[131072,65536,32768,8192,4096,2048,1024,512,256,8,4,2,1]],[24409,[65536,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24410,[65536,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24414,[2097153,1048577,524289,262145,65536,2049,1025,513,257,9,5,3]],[24415,[2097153,1048577,524289,262145,65536,2049,1025,513,257,9,5,3]],[24416,[65536,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24423,[65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24426,[131072,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24427,[131072,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24431,[2097153,1048577,524289,262145,131072,2049,1025,513,257,9,5,3]],[24432,[2097153,1048577,524289,262145,131072,2049,1025,513,257,9,5,3]],[24433,[131072,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24440,[131072,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24443,[262144,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24444,[262144,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24448,[2097153,1048577,262144,131073,65537,2049,1025,513,257,9,5,3]],[24449,[2097153,1048577,262144,131073,65537,2049,1025,513,257,9,5,3]],[24450,[262144,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24457,[262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24460,[524288,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24461,[524288,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24467,[524288,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24474,[524288,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24477,[1048576,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24478,[1048576,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24482,[1048576,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[24483,[1048576,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[24484,[1048576,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24491,[1048576,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24494,[2097152,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24495,[2097152,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24499,[2097152,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[24500,[2097152,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[24501,[2097152,32784,16400,8208,4112,2064,1040,528,272,144,80,48]],[24508,[2097152,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24514,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[24515,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[24516,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,1]],[24520,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[24521,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[24522,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,2]],[24526,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[24527,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[24528,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,4]],[24532,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[24533,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[24534,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,8]],[24538,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[24539,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[24540,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,16]],[24544,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[24545,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[24546,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,32]],[24550,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[24551,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[24552,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,64]],[24556,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[24557,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[24558,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,128]],[24562,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[24563,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[24564,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,256]],[24568,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[24569,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[24570,[2098176,1049600,525312,263168,132096,66560,33792,17408,9216,5120,3072,512]],[24574,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[24575,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[24576,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,1024,768]],[24580,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[24581,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[24582,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2048,768]],[24586,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[24587,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[24588,[2097408,1048832,524544,262400,131328,65792,33024,16640,4096,2304,1280,768]],[24592,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[24593,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[24594,[2097408,1048832,524544,262400,131328,65792,33024,16640,8192,2304,1280,768]],[24598,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[24599,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[24600,[2097408,1048832,524544,262400,131328,65792,16384,8448,4352,2304,1280,768]],[24604,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[24605,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[24606,[2097408,1048832,524544,262400,131328,65792,32768,8448,4352,2304,1280,768]],[24610,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[24611,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[24612,[2097408,1048832,524544,262400,65536,33024,16640,8448,4352,2304,1280,768]],[24616,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[24617,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[24618,[2097408,1048832,524544,262400,131072,33024,16640,8448,4352,2304,1280,768]],[24622,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24623,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24624,[2097408,1048832,262144,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24628,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24629,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24630,[2097408,1048832,524288,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24634,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24635,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24636,[1048576,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24640,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24641,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24642,[2097152,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768]],[24645,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[24654,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[24655,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[24656,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,8,4,2,1]],[24659,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[24667,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[24674,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,128,64,32,16]],[24679,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[24680,[2097152,1048576,32768,16384,8192,4096,512,256,128,64,32,16,2,1]],[24686,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[24687,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[24694,[2097152,1048576,131072,65536,32768,16384,2048,1024,512,256,128,64,32,16]],[24698,[2097152,1048576,524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[24703,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[24704,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[24712,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[24713,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[24716,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[24717,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,2,1]],[24720,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[24721,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,128,64,32,16]],[24733,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,8,4]],[24734,[2097152,1048576,524288,262144,131072,65536,32768,16384,128,64,32,16,8,4]],[24739,[131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[24743,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16]],[24744,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16]],[24745,[2097152,1048576,524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[24746,[2097152,1048576,524288,262144,2048,1024,512,256,128,64,32,16,2,1]],[24747,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4,2,1]],[24748,[2097152,1048576,131072,65536,32768,16384,8192,4096,32,16,8,4,2,1]],[24752,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[24754,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[24755,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,512,256,2,1]],[24756,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,32,16,8,4]],[24766,[2097152,1048576,131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[24767,[2097152,1048576,131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[24768,[2097152,1048576,131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[24769,[2097152,1048576,131072,65536,32768,16384,8192,4096,512,256,32,16,2,1]],[24784,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[24785,[2097152,1048576,524288,262144,8192,4096,128,64,32,16,8,4,2,1]],[24786,[2097152,1048576,2048,1024,512,256,128,64,32,16,8,4,2,1]],[24791,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[24792,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[24793,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[24799,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24802,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24803,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24805,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[24806,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[24807,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[24810,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,32,16]],[24815,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[24816,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[24817,[2097152,1048576,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[24818,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[24819,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24820,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[24822,[524288,262144,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[24823,[524288,262144,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[24827,[32785,16401,2048,1024,144,80,48,3]],[24828,[2097152,1048576,524288,262144,32768,16384,128,64,32,16,8,4,2,1]],[24829,[2097152,1048576,524288,262144,32768,16384,128,64,32,16,8,4,2,1]],[24836,[2097152,1048576,524288,262144,131072,65536,32768,16384,32,16,8,4,2,1]],[24837,[2097152,1048576,524288,262144,131072,65536,32768,16384,32,16,8,4,2,1]],[24843,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,32,16,8,4]],[24846,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[24847,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[24848,[524288,262144,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[24849,[524288,262144,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[24854,[2097156,1048580,524292,262148,131076,65540,32772,16388,516,260,12,1]],[24855,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,1]],[24856,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,62,1]],[24857,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,62,1]],[24858,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,1]],[24862,[131076,65540,32772,16388,2052,1028,132,68,36,20,12,1]],[24864,[131076,65540,32772,16388,2052,1028,516,260,36,20,12,1]],[24867,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,1]],[24868,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,1]],[24869,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,1]],[24870,[131076,65540,32772,16388,8196,4100,2052,1028,516,260,12,1]],[24871,[2097156,1048580,524292,262148,131076,65540,32772,16388,516,260,12,2]],[24872,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,2]],[24873,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,61,2]],[24874,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,61,2]],[24875,[2097156,1048580,524292,262148,8196,4100,2052,1028,36,20,12,2]],[24879,[131076,65540,32772,16388,2052,1028,132,68,36,20,12,2]],[24881,[131076,65540,32772,16388,2052,1028,516,260,36,20,12,2]],[24884,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,2]],[24885,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,2]],[24886,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,2]],[24887,[131076,65540,32772,16388,8196,4100,2052,1028,516,260,12,2]],[24888,[2097153,1048577,524289,262145,131073,65537,32769,16385,513,257,4,3]],[24889,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,4,3]],[24890,[2097152,1048576,524288,262144,245768,8192,4096,2048,1024,512,256,128,64,4]],[24891,[2097152,1048576,524288,262144,245768,8192,4096,2048,1024,512,256,128,64,4]],[24892,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,4,3]],[24896,[131073,65537,32769,16385,2049,1025,129,65,33,17,4,3]],[24898,[131073,65537,32769,16385,2049,1025,513,257,33,17,4,3]],[24901,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,4]],[24902,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,4]],[24903,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,4]],[24904,[131073,65537,32769,16385,8193,4097,2049,1025,513,257,4,3]],[24905,[2097153,1048577,524289,262145,131073,65537,32769,16385,513,257,8,3]],[24906,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,8,3]],[24907,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,55,8]],[24908,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,55,8]],[24909,[2097153,1048577,524289,262145,8193,4097,2049,1025,33,17,8,3]],[24913,[131073,65537,32769,16385,2049,1025,129,65,33,17,8,3]],[24915,[131073,65537,32769,16385,2049,1025,513,257,33,17,8,3]],[24918,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,8]],[24919,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,8]],[24920,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,8]],[24921,[3932400,131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,2,1]],[24922,[2097153,1048577,524289,262145,131073,65537,32769,16385,513,257,16,3]],[24923,[2097153,1048577,524289,262145,8193,4097,2049,1025,16,9,5,3]],[24924,[2097152,1048576,524288,262144,245792,8192,4096,2048,1024,512,256,128,64,16]],[24925,[2097152,1048576,524288,262144,245792,8192,4096,2048,1024,512,256,128,64,16]],[24926,[2097153,1048577,524289,262145,8193,4097,2049,1025,16,9,5,3]],[24930,[131073,65537,32769,16385,2049,1025,129,65,16,9,5,3]],[24932,[131073,65537,32769,16385,2049,1025,513,257,16,9,5,3]],[24935,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,16]],[24936,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,16]],[24937,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,16]],[24938,[131073,65537,32769,16385,8193,4097,2049,1025,513,257,16,3]],[24939,[2097153,1048577,524289,262145,131073,65537,32769,16385,513,257,32,3]],[24940,[2097153,1048577,524289,262145,8193,4097,2049,1025,32,9,5,3]],[24941,[2097152,1048576,524288,262144,245776,8192,4096,2048,1024,512,256,128,64,32]],[24942,[2097152,1048576,524288,262144,245776,8192,4096,2048,1024,512,256,128,64,32]],[24943,[2097153,1048577,524289,262145,8193,4097,2049,1025,32,9,5,3]],[24947,[131073,65537,32769,16385,2049,1025,129,65,32,9,5,3]],[24949,[131073,65537,32769,16385,2049,1025,513,257,32,9,5,3]],[24952,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,32]],[24953,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,32]],[24954,[2097216,1048640,524352,262208,131136,65600,32832,16448,576,320,192,32]],[24955,[131073,65537,32769,16385,8193,4097,2049,1025,513,257,32,3]],[24956,[2097153,1048577,524289,262145,131073,65537,32769,16385,513,257,64,3]],[24957,[2097153,1048577,524289,262145,8193,4097,2049,1025,64,9,5,3]],[24958,[2097152,1048576,524288,262144,245888,8192,4096,2048,1024,512,256,64,32,16]],[24959,[2097152,1048576,524288,262144,245888,8192,4096,2048,1024,512,256,64,32,16]],[24960,[2097153,1048577,524289,262145,8193,4097,2049,1025,64,9,5,3]],[24964,[131073,65537,32769,16385,2049,1025,64,33,17,9,5,3]],[24966,[131073,65537,32769,16385,2049,1025,513,257,64,9,5,3]],[24969,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,64,48]],[24970,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,64,48]],[24971,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,64,48]],[24972,[3932220,131072,65536,32768,16384,8192,4096,2048,1024,512,256,64,2,1]],[24974,[2097153,1048577,524289,262145,8193,4097,2049,1025,128,9,5,3]],[24975,[2097152,1048576,524288,262144,245824,8192,4096,2048,1024,512,256,128,32,16]],[24976,[2097152,1048576,524288,262144,245824,8192,4096,2048,1024,512,256,128,32,16]],[24977,[2097153,1048577,524289,262145,8193,4097,2049,1025,128,9,5,3]],[24981,[131073,65537,32769,16385,2049,1025,128,33,17,9,5,3]],[24983,[131073,65537,32769,16385,2049,1025,513,257,128,9,5,3]],[24986,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,128,48]],[24987,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,128,48]],[24988,[2097168,1048592,524304,262160,131088,65552,32784,16400,528,272,128,48]],[24989,[131073,65537,32769,16385,8193,4097,2049,1025,513,257,128,3]],[24991,[2097153,1048577,524289,262145,8193,4097,2049,1025,256,9,5,3]],[24992,[2097152,1048576,524288,262144,246272,8192,4096,2048,1024,256,128,64,32,16]],[24993,[2097152,1048576,524288,262144,246272,8192,4096,2048,1024,256,128,64,32,16]],[24994,[2097153,1048577,524289,262145,8193,4097,2049,1025,256,9,5,3]],[24998,[131073,65537,32769,16385,2049,1025,256,33,17,9,5,3]],[25000,[131073,65537,32769,16385,2049,1025,256,129,65,9,5,3]],[25003,[2097168,1048592,524304,262160,131088,65552,32784,16400,256,144,80,48]],[25004,[2097168,1048592,524304,262160,131088,65552,32784,16400,256,144,80,48]],[25005,[2097168,1048592,524304,262160,131088,65552,32784,16400,256,144,80,48]],[25006,[131073,65537,32769,16385,8193,4097,2049,1025,256,129,65,3]],[25007,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,2,1]],[25008,[2097153,1048577,524289,262145,8193,4097,2049,1025,512,9,5,3]],[25009,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,271,128,64,32,16]],[25010,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,271,128,64,32,16]],[25011,[2097153,1048577,524289,262145,8193,4097,2049,1025,512,9,5,3]],[25015,[131073,65537,32769,16385,2049,1025,512,33,17,9,5,3]],[25017,[131073,65537,32769,16385,2049,1025,512,129,65,9,5,3]],[25020,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16]],[25021,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16]],[25022,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16]],[25023,[131073,65537,32769,16385,8193,4097,2049,1025,512,129,65,3]],[25024,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,2,1]],[25025,[2097153,1048577,524289,262145,8193,4097,1024,513,257,9,5,3]],[25026,[2097152,1048576,524288,262144,8192,4096,2063,1024,512,256,128,64,32,16]],[25027,[2097152,1048576,524288,262144,8192,4096,2063,1024,512,256,128,64,32,16]],[25028,[2097153,1048577,524289,262145,8193,4097,1024,513,257,9,5,3]],[25032,[131073,65537,32769,16385,1024,513,257,33,17,9,5,3]],[25034,[131073,65537,32769,16385,1024,513,257,129,65,9,5,3]],[25037,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16]],[25038,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16]],[25039,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16]],[25040,[3932220,131072,65536,32768,16384,8192,4096,1024,512,256,128,64,2,1]],[25041,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,2,1]],[25042,[2097153,1048577,524289,262145,8193,4097,2048,513,257,9,5,3]],[25043,[2097152,1048576,524288,262144,246784,8192,4096,2048,512,256,128,64,32,16]],[25044,[2097152,1048576,524288,262144,246784,8192,4096,2048,512,256,128,64,32,16]],[25045,[2097153,1048577,524289,262145,8193,4097,2048,513,257,9,5,3]],[25049,[131073,65537,32769,16385,2048,513,257,33,17,9,5,3]],[25051,[131073,65537,32769,16385,2048,513,257,129,65,9,5,3]],[25054,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16]],[25055,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16]],[25056,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16]],[25057,[3932220,131072,65536,32768,16384,8192,4096,2048,512,256,128,64,2,1]],[25058,[2097153,1048577,524289,262145,131073,65537,32769,16385,4096,129,65,3]],[25059,[2097153,1048577,524289,262145,4096,2049,1025,513,257,9,5,3]],[25060,[2097152,1048576,524288,262144,253952,4096,2048,1024,512,256,128,64,32,16]],[25061,[2097152,1048576,524288,262144,253952,4096,2048,1024,512,256,128,64,32,16]],[25062,[2097153,1048577,524289,262145,4096,2049,1025,513,257,9,5,3]],[25066,[131073,65537,32769,16385,4096,513,257,33,17,9,5,3]],[25068,[131073,65537,32769,16385,4096,513,257,129,65,9,5,3]],[25071,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,144,80,48]],[25072,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,144,80,48]],[25073,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,144,80,48]],[25074,[131073,65537,32769,16385,4096,2049,1025,513,257,129,65,3]],[25075,[2097153,1048577,524289,262145,131073,65537,32769,16385,8192,129,65,3]],[25076,[2097153,1048577,524289,262145,8192,2049,1025,513,257,9,5,3]],[25077,[2097152,1048576,524288,262144,249856,8192,2048,1024,512,256,128,64,32,16]],[25078,[2097152,1048576,524288,262144,249856,8192,2048,1024,512,256,128,64,32,16]],[25079,[2097153,1048577,524289,262145,8192,2049,1025,513,257,9,5,3]],[25083,[131073,65537,32769,16385,8192,513,257,33,17,9,5,3]],[25085,[131073,65537,32769,16385,8192,513,257,129,65,9,5,3]],[25088,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,144,80,48]],[25089,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,144,80,48]],[25090,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,144,80,48]],[25091,[131073,65537,32769,16385,8192,2049,1025,513,257,129,65,3]],[25092,[2097153,1048577,524289,262145,131073,65537,16384,8193,4097,129,65,3]],[25093,[2097153,1048577,524289,262145,16384,2049,1025,513,257,9,5,3]],[25094,[2097152,1048576,524288,262144,241664,16384,2048,1024,512,256,128,64,32,16]],[25095,[2097152,1048576,524288,262144,241664,16384,2048,1024,512,256,128,64,32,16]],[25096,[2097153,1048577,524289,262145,16384,2049,1025,513,257,9,5,3]],[25100,[131073,65537,16384,8193,4097,513,257,33,17,9,5,3]],[25102,[131073,65537,16384,8193,4097,513,257,129,65,9,5,3]],[25105,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,144,80,48]],[25106,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,144,80,48]],[25107,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,144,80,48]],[25108,[131073,65537,16384,8193,4097,2049,1025,513,257,129,65,3]],[25110,[2097153,1048577,524289,262145,32768,2049,1025,513,257,9,5,3]],[25111,[2097152,1048576,524288,262144,225280,32768,2048,1024,512,256,128,64,32,16]],[25112,[2097152,1048576,524288,262144,225280,32768,2048,1024,512,256,128,64,32,16]],[25113,[2097153,1048577,524289,262145,32768,2049,1025,513,257,9,5,3]],[25117,[131073,65537,32768,8193,4097,513,257,33,17,9,5,3]],[25119,[131073,65537,32768,8193,4097,513,257,129,65,9,5,3]],[25122,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,144,80,48]],[25123,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,144,80,48]],[25124,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,144,80,48]],[25125,[131073,65537,32768,8193,4097,2049,1025,513,257,129,65,3]],[25127,[2097153,1048577,524289,262145,65536,2049,1025,513,257,9,5,3]],[25128,[2097152,1048576,524288,262144,192512,65536,2048,1024,512,256,128,64,32,16]],[25129,[2097152,1048576,524288,262144,192512,65536,2048,1024,512,256,128,64,32,16]],[25130,[2097153,1048577,524289,262145,65536,2049,1025,513,257,9,5,3]],[25134,[65536,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25136,[65536,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25139,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,144,80,48]],[25140,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,144,80,48]],[25141,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,144,80,48]],[25142,[65536,32769,16385,8193,4097,2049,1025,513,257,129,65,3]],[25143,[2097153,1048577,524289,262145,131072,32769,16385,8193,4097,129,65,3]],[25144,[2097153,1048577,524289,262145,131072,2049,1025,513,257,9,5,3]],[25145,[2097152,1048576,524288,262144,131072,126976,2048,1024,512,256,128,64,32,16]],[25146,[2097152,1048576,524288,262144,131072,126976,2048,1024,512,256,128,64,32,16]],[25147,[2097153,1048577,524289,262145,131072,2049,1025,513,257,9,5,3]],[25151,[131072,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25153,[131072,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25156,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,144,80,48]],[25157,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,144,80,48]],[25158,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,144,80,48]],[25159,[131072,32769,16385,8193,4097,2049,1025,513,257,129,65,3]],[25161,[2097153,1048577,262144,131073,65537,2049,1025,513,257,9,5,3]],[25162,[2097152,1048576,585728,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25163,[2097152,1048576,585728,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25164,[2097153,1048577,262144,131073,65537,2049,1025,513,257,9,5,3]],[25168,[262144,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25170,[262144,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25173,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,144,80,48]],[25174,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,144,80,48]],[25175,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,144,80,48]],[25176,[262144,32769,16385,8193,4097,2049,1025,513,257,129,65,3]],[25177,[2097153,1048577,524288,131073,65537,32769,16385,8193,4097,129,65,3]],[25178,[2097152,1048576,524288,131072,65536,61680,2048,1024,512,256,8,4,2,1]],[25179,[2097152,1048576,524288,323584,131072,65536,2048,1024,512,256,128,64,32,16]],[25180,[2097152,1048576,524288,323584,131072,65536,2048,1024,512,256,128,64,32,16]],[25181,[2097152,1048576,524288,131072,65536,61680,2048,1024,512,256,8,4,2,1]],[25185,[524288,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25187,[524288,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25190,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,144,80,48]],[25191,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,144,80,48]],[25192,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,144,80,48]],[25193,[524288,32769,16385,8193,4097,2049,1025,513,257,129,65,3]],[25194,[1048576,524289,262145,131073,65537,32769,16385,8193,4097,129,65,3]],[25195,[1048576,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[25196,[2158592,1048576,524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25197,[2158592,1048576,524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25198,[1048576,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[25202,[1048576,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25204,[1048576,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25207,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25208,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25209,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25210,[1048576,983100,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[25211,[2097152,524289,262145,131073,65537,32769,16385,8193,4097,129,65,3]],[25212,[2097152,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[25213,[2097152,1110016,524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25214,[2097152,1110016,524288,262144,131072,65536,2048,1024,512,256,128,64,32,16]],[25215,[2097152,524289,262145,131073,65537,2049,1025,513,257,9,5,3]],[25219,[2097152,32769,16385,8193,4097,513,257,33,17,9,5,3]],[25221,[2097152,32769,16385,8193,4097,513,257,129,65,9,5,3]],[25224,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25225,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25226,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,144,80,48]],[25227,[2097152,32769,16385,8193,4097,2049,1025,513,257,129,65,3]],[25559,[2097168,1048592,1032204,8208,4112,2064,1040,528,272,144,80,48,1]],[25560,[32832,16448,8256,4160,2112,1088,192,1]],[25561,[3146690,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4,1]],[25562,[3146690,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4,1]],[25565,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,1]],[25570,[2097168,1048592,1032204,8208,4112,2064,1040,528,272,144,80,48,2]],[25571,[32832,16448,8256,4160,2112,1088,192,2]],[25572,[3146689,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4,2]],[25573,[3146689,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,4,2]],[25576,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,2]],[25581,[2097168,1048592,1032195,8208,4112,2064,1040,528,272,144,80,48,4]],[25582,[32832,16448,8256,4160,2112,1088,192,4]],[25583,[3146696,524288,262144,131072,65536,8192,4096,2048,1024,32,16,4,2,1]],[25584,[3146696,524288,262144,131072,65536,8192,4096,2048,1024,32,16,4,2,1]],[25587,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,4,3]],[25592,[2097168,1048592,1032195,8208,4112,2064,1040,528,272,144,80,48,8]],[25593,[32832,16448,8256,4160,2112,1088,192,8]],[25594,[3146692,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,2,1]],[25595,[3146692,524288,262144,131072,65536,8192,4096,2048,1024,32,16,8,2,1]],[25598,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,8,3]],[25603,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,132,68,16,12]],[25604,[32832,16448,8256,4160,2112,1088,192,16]],[25605,[3146720,524288,262144,131072,65536,8192,4096,2048,1024,16,8,4,2,1]],[25606,[3146720,524288,262144,131072,65536,8192,4096,2048,1024,16,8,4,2,1]],[25609,[131073,65537,32769,16385,2049,1025,513,257,129,65,16,9,5,3]],[25614,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,132,68,32,12]],[25615,[32832,16448,8256,4160,2112,1088,192,32]],[25616,[3146704,524288,262144,131072,65536,8192,4096,2048,1024,32,8,4,2,1]],[25617,[3146704,524288,262144,131072,65536,8192,4096,2048,1024,32,8,4,2,1]],[25620,[131073,65537,32769,16385,2049,1025,513,257,129,65,32,9,5,3]],[25625,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,64,36,20,12]],[25626,[32784,16400,8208,4112,2064,1040,64,48]],[25627,[3146672,524288,262144,131072,65536,8192,4096,2048,1024,64,8,4,2,1]],[25628,[3146672,524288,262144,131072,65536,8192,4096,2048,1024,64,8,4,2,1]],[25631,[131073,65537,32769,16385,2049,1025,513,257,64,33,17,9,5,3]],[25636,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,128,36,20,12]],[25637,[32784,16400,8208,4112,2064,1040,128,48]],[25638,[3146608,524288,262144,131072,65536,8192,4096,2048,1024,128,8,4,2,1]],[25639,[3146608,524288,262144,131072,65536,8192,4096,2048,1024,128,8,4,2,1]],[25642,[131073,65537,32769,16385,2049,1025,513,257,128,33,17,9,5,3]],[25647,[2097156,1048580,1032195,8196,4100,2052,1028,256,132,68,36,20,12]],[25648,[32784,16400,8208,4112,2064,1040,256,48]],[25649,[3146480,524288,262144,131072,65536,8192,4096,2048,1024,256,8,4,2,1]],[25650,[3146480,524288,262144,131072,65536,8192,4096,2048,1024,256,8,4,2,1]],[25653,[131073,65537,32769,16385,2049,1025,256,129,65,33,17,9,5,3]],[25658,[2097156,1048580,1032195,8196,4100,2052,1028,512,132,68,36,20,12]],[25659,[32784,16400,8208,4112,2064,1040,512,48]],[25660,[3146224,524288,262144,131072,65536,8192,4096,2048,1024,512,8,4,2,1]],[25661,[3146224,524288,262144,131072,65536,8192,4096,2048,1024,512,8,4,2,1]],[25664,[131073,65537,32769,16385,2049,1025,512,129,65,33,17,9,5,3]],[25669,[2097156,1048580,1032195,8196,4100,1024,516,260,132,68,36,20,12]],[25670,[32784,16400,8208,4112,1024,528,272,48]],[25671,[3148016,524288,262144,131072,65536,8192,4096,1024,512,256,8,4,2,1]],[25672,[3148016,524288,262144,131072,65536,8192,4096,1024,512,256,8,4,2,1]],[25675,[131073,65537,32769,16385,1024,513,257,129,65,33,17,9,5,3]],[25680,[2097156,1048580,1032195,8196,4100,2048,516,260,132,68,36,20,12]],[25681,[32784,16400,8208,4112,2048,528,272,48]],[25682,[3146992,524288,262144,131072,65536,8192,4096,2048,512,256,8,4,2,1]],[25683,[3146992,524288,262144,131072,65536,8192,4096,2048,512,256,8,4,2,1]],[25686,[131073,65537,32769,16385,2048,513,257,129,65,33,17,9,5,3]],[25691,[2097156,1048580,1032195,4096,2052,1028,516,260,132,68,36,20,12]],[25692,[32784,16400,4096,2064,1040,528,272,48]],[25693,[3154160,524288,262144,131072,65536,4096,2048,1024,512,256,8,4,2,1]],[25694,[3154160,524288,262144,131072,65536,4096,2048,1024,512,256,8,4,2,1]],[25697,[131073,65537,32769,16385,4096,513,257,129,65,33,17,9,5,3]],[25702,[2097156,1048580,1032195,8192,2052,1028,516,260,132,68,36,20,12]],[25703,[32784,16400,8192,2064,1040,528,272,48]],[25704,[3150064,524288,262144,131072,65536,8192,2048,1024,512,256,8,4,2,1]],[25705,[3150064,524288,262144,131072,65536,8192,2048,1024,512,256,8,4,2,1]],[25708,[131073,65537,32769,16385,8192,513,257,129,65,33,17,9,5,3]],[25713,[2097156,1048580,995331,16384,2052,1028,516,260,132,68,36,20,12]],[25714,[16384,8208,4112,2064,1040,528,272,48]],[25715,[3178736,524288,262144,131072,65536,16384,2048,1024,512,256,8,4,2,1]],[25716,[3178736,524288,262144,131072,65536,16384,2048,1024,512,256,8,4,2,1]],[25719,[131073,65537,16384,8193,4097,513,257,129,65,33,17,9,5,3]],[25724,[2097156,1048580,995331,32768,2052,1028,516,260,132,68,36,20,12]],[25725,[32768,8208,4112,2064,1040,528,272,48]],[25726,[3162352,524288,262144,131072,65536,32768,2048,1024,512,256,8,4,2,1]],[25727,[3162352,524288,262144,131072,65536,32768,2048,1024,512,256,8,4,2,1]],[25730,[131073,65537,32768,8193,4097,513,257,129,65,33,17,9,5,3]],[25735,[2097156,1048580,847875,65536,2052,1028,516,260,132,68,36,20,12]],[25736,[65536,8208,4112,2064,1040,528,272,48]],[25737,[3277040,524288,262144,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25738,[3277040,524288,262144,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25741,[65536,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25746,[2097156,1048580,847875,131072,2052,1028,516,260,132,68,36,20,12]],[25747,[131072,8208,4112,2064,1040,528,272,48]],[25748,[3211504,524288,262144,131072,32768,16384,2048,1024,512,256,8,4,2,1]],[25749,[3211504,524288,262144,131072,32768,16384,2048,1024,512,256,8,4,2,1]],[25752,[131072,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25757,[2097156,1048580,262144,258051,2052,1028,516,260,132,68,36,20,12]],[25758,[262144,8208,4112,2064,1040,528,272,48]],[25759,[3670256,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25760,[3670256,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25763,[262144,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25768,[2097156,1048580,524288,258051,2052,1028,516,260,132,68,36,20,12]],[25769,[524288,8208,4112,2064,1040,528,272,48]],[25770,[524288,274432,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25771,[524288,274432,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25774,[524288,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25779,[1048576,524292,262148,258051,2052,1028,516,260,132,68,36,20,12]],[25780,[1048576,8208,4112,2064,1040,528,272,48]],[25781,[2883824,1048576,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25782,[2883824,1048576,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25785,[1048576,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25790,[2097152,524292,262148,258051,2052,1028,516,260,132,68,36,20,12]],[25791,[2097152,8208,4112,2064,1040,528,272,48]],[25792,[2097152,1835248,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25793,[2097152,1835248,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25796,[2097152,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[25801,[2097152,1048576,524288,262144,131072,65536,8192,4096,3852,128,64,32,16,2,1]],[25802,[2097152,1048576,524288,262144,131072,65536,8192,4096,3852,128,64,32,16,2,1]],[25803,[2097152,1048576,524288,262144,131072,65536,8192,4096,3852,128,64,32,16,2,1]],[25805,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,4032,32,16,2,1]],[25810,[2097152,1048576,798723,131072,65536,2048,1024,512,256,128,64,32,16,8,4]],[25811,[2097152,1048576,798723,131072,65536,2048,1024,512,256,128,64,32,16,8,4]],[25819,[3145932,524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[25825,[131072,65536,32768,16384,8192,4096,512,256,128,64,8,4,2,1]],[25833,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[25834,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[25835,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,2,1]],[25837,[2097152,1048576,524288,262144,245952,8192,4096,2048,1024,32,16,8,4,2,1]],[25839,[2097152,1048576,32768,16384,8192,4096,2048,1024,128,64,32,16,2,1]],[25840,[3145932,524288,262144,131072,65536,32768,16384,2048,1024,512,256,32,16,2,1]],[25842,[2097152,1048576,835596,131072,65536,8192,4096,2048,1024,512,256,128,64,2,1]],[25845,[2097152,1048576,524288,262144,32768,16384,8192,4096,3843,128,64,32,16,8,4]],[25850,[2097152,1048576,32768,16384,8192,4096,512,256,128,64,32,16,2,1]],[25851,[2097152,1048576,524288,262144,32768,16384,8192,4096,3843,128,64,32,16,8,4]],[25855,[3145779,524288,262144,131072,65536,32768,16384,8192,4096,512,256,128,64,8,4]],[25856,[2097152,1048576,524288,262144,245952,8192,4096,512,256,32,16,8,4,2,1]],[25860,[2097152,1048576,787212,131072,65536,32768,16384,2048,1024,128,64,32,16,2,1]],[25863,[2097152,1048576,32768,16384,8192,4096,2048,1024,128,64,32,16,2,1]],[25867,[2097152,1048576,524288,262144,258048,512,256,128,64,32,16,8,4,2,1]],[25868,[3145968,524288,262144,131072,65536,32768,16384,8192,4096,512,256,8,4,2,1]],[25869,[2097152,1048576,131072,65536,32768,16384,2048,1024,512,256,128,64,32,16]],[25870,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,128,64,32,16]],[25871,[2097152,1048576,245763,8192,4096,2048,1024,512,256,128,64,32,16,8,4]],[25875,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[25877,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,252,2,1]],[25888,[2097152,1048576,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[25890,[2097152,1048576,798723,131072,65536,32768,16384,2048,1024,512,256,128,64,8,4]],[25892,[2097152,1048576,32768,16384,8192,4096,512,256,128,64,32,16,2,1]],[25901,[2097152,1048576,524288,262144,131072,65536,52992,8192,4096,128,64,8,4,2,1]],[25904,[2097152,1048576,524288,262144,208899,32768,16384,512,256,128,64,32,16,8,4]],[25909,[2097152,1048576,787212,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,16]],[25913,[2097152,1048576,524288,262144,131072,65536,61443,2048,1024,128,64,32,16,8,4]],[25915,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,252,2,1]],[25923,[2097152,1048576,524288,262144,131072,65536,16128,128,64,32,16,8,4,2,1]],[25924,[2097152,1048576,524288,262144,131072,65536,16128,128,64,32,16,8,4,2,1]],[25925,[2097152,1048576,2048,1024,512,256,128,64,32,16,8,4,2,1]],[25926,[2097152,1048576,790272,131072,65536,8192,4096,128,64,32,16,8,4,2,1]],[25927,[3342384,524288,262144,32768,16384,8192,4096,2048,1024,128,64,8,4,2,1]],[25928,[2097152,1048576,524288,262144,208899,32768,16384,2048,1024,128,64,32,16,8,4]],[25931,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,4032,32,16,2,1]],[25932,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,4032,32,16,2,1]],[25933,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[25934,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[25937,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25938,[524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[25943,[2097152,1048576,524288,262144,131072,65536,2048,1024,512,256,32,16,8,4]],[25944,[131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[25945,[131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4]],[25947,[2097152,1048576,524288,262144,245952,8192,4096,512,256,32,16,8,4,2,1]],[25949,[2097152,1048576,32768,16384,8192,4096,2048,1024,128,64,32,16,2,1]],[25961,[835596,131072,65536,8192,4096,2048,1024,512,256,128,64,32,16,2,1]],[25963,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,128,64,32,16]],[25970,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,32,16,8,4]],[25974,[524288,262144,32768,16384,8192,4096,2048,1024,512,256,32,16,2,1]],[25975,[2097152,1048576,524288,262144,131072,65536,8192,4096,4032,32,16,8,4,2,1]],[25977,[2097152,1048576,524288,262144,258048,2048,1024,128,64,32,16,8,4,2,1]],[25980,[524288,262144,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[25981,[524288,262144,258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[25982,[2097152,1048576,2048,1024,512,256,128,64,32,16,8,4,2,1]],[25986,[524288,262144,245763,8192,4096,2048,1024,512,256,128,64,32,16,8,4]],[25987,[524288,262144,208899,32768,16384,2048,1024,512,256,128,64,32,16,8,4]],[25989,[3194928,524288,262144,131072,65536,8192,4096,2048,1024,128,64,8,4,2,1]],[25995,[2097152,1048576,787212,131072,65536,32768,16384,2048,1024,128,64,32,16,2,1]],[25997,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,3843,128,64,32,16]],[25998,[2097152,1048576,524288,262144,245763,8192,4096,512,256,128,64,32,16,8,4]],[26001,[2097152,1048576,524288,262144,131072,65536,32768,16384,32,16,8,4,2,1]],[26006,[2097152,1048576,524288,262144,258048,2048,1024,512,256,128,64,8,4,2,1]],[26010,[2097152,1048576,524288,262144,32768,16384,2048,1024,512,256,128,64,32,16]],[26011,[2097152,1048576,524288,262144,2048,1024,512,256,32,16,8,4,2,1]],[26012,[2097152,1048576,524288,262144,8192,4096,2048,1024,512,256,32,16,8,4]],[26013,[2097152,1048576,524288,262144,208899,32768,16384,2048,1024,512,256,128,64,8,4]],[26017,[2097152,1048576,524288,262144,131072,65536,49356,8192,4096,2048,1024,32,16,2,1]],[26018,[2097152,1048576,524288,262144,131072,65536,16128,128,64,32,16,8,4,2,1]],[26019,[2097152,1048576,524288,262144,245952,8192,4096,2048,1024,32,16,8,4,2,1]],[26020,[2097152,1048576,524288,262144,245763,8192,4096,2048,1024,128,64,32,16,8,4]],[26021,[2097152,1048576,524288,262144,131072,65536,49356,8192,4096,512,256,32,16,2,1]],[26024,[2097152,1048576,983808,32768,16384,2048,1024,128,64,32,16,8,4,2,1]],[26027,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,32,16,8,4]],[26029,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[26030,[3145788,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[26031,[3145788,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[26032,[3145788,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,2,1]],[26036,[2097152,1048576,524288,262144,200448,32768,16384,8192,4096,32,16,8,4,2,1]],[26037,[2097152,1048576,524288,262144,200448,32768,16384,8192,4096,32,16,8,4,2,1]],[26261,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,1]],[26262,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,1]],[26263,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,1]],[26264,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,1]],[26267,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,2]],[26268,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,2]],[26269,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,2]],[26270,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,828,192,2]],[26273,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,4]],[26274,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,4]],[26275,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,4]],[26276,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,4]],[26279,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,8]],[26280,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,8]],[26281,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,8]],[26282,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,819,192,8]],[26285,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,16]],[26286,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,16]],[26287,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,16]],[26288,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,16]],[26291,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,32]],[26292,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,32]],[26293,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,32]],[26294,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,783,192,32]],[26297,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,64,63]],[26298,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,64,48]],[26299,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,64,48]],[26300,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,64,48]],[26303,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,128,63]],[26304,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,128,48]],[26305,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,128,48]],[26306,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,783,128,48]],[26309,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,256,192,63]],[26310,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,256,207,48]],[26311,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,256,207,48]],[26312,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,256,207,48]],[26315,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,512,192,63]],[26316,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,512,207,48]],[26317,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,512,207,48]],[26318,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,512,207,48]],[26321,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,1024,576,320,192,63]],[26322,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,1024,528,272,207,48]],[26323,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,1024,528,272,207,48]],[26324,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,1024,528,272,207,48]],[26327,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2048,576,320,192,63]],[26328,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2048,528,272,207,48]],[26329,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2048,528,272,207,48]],[26330,[2097168,1048592,524304,262160,131088,65552,32784,16400,8208,4112,2048,528,272,207,48]],[26333,[2097216,1048640,524352,262208,131136,65600,32832,16448,4096,2112,1088,576,320,192,63]],[26334,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,2064,1040,528,272,207,48]],[26335,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,2064,1040,528,272,207,48]],[26336,[2097168,1048592,524304,262160,131088,65552,32784,16400,4096,2064,1040,528,272,207,48]],[26339,[2097216,1048640,524352,262208,131136,65600,32832,16448,8192,2112,1088,576,320,192,63]],[26340,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,2064,1040,528,272,207,48]],[26341,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,2064,1040,528,272,207,48]],[26342,[2097168,1048592,524304,262160,131088,65552,32784,16400,8192,2064,1040,528,272,207,48]],[26345,[2097216,1048640,524352,262208,131136,65600,16384,8256,4160,2112,1088,576,320,192,63]],[26346,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,2064,1040,528,272,207,48]],[26347,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,2064,1040,528,272,207,48]],[26348,[2097168,1048592,524304,262160,131088,65552,16384,8208,4112,2064,1040,528,272,207,48]],[26351,[2097216,1048640,524352,262208,131136,65600,32768,8256,4160,2112,1088,576,320,192,63]],[26352,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,2064,1040,528,272,207,48]],[26353,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,2064,1040,528,272,207,48]],[26354,[2097168,1048592,524304,262160,131088,65552,32768,8208,4112,2064,1040,528,272,207,48]],[26357,[2097216,1048640,524352,262208,65536,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26358,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26359,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26360,[2097168,1048592,524304,262160,65536,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26363,[2097216,1048640,524352,262208,131072,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26364,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26365,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26366,[2097168,1048592,524304,262160,131072,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26369,[2097216,1048640,262144,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26370,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26371,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26372,[2097168,1048592,262144,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26375,[2097216,1048640,524288,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26376,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26377,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26378,[2097168,1048592,524288,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26381,[1048576,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26382,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26383,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26384,[1048576,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26387,[2097152,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[26388,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26389,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26390,[2097152,524304,262160,131088,65552,32784,16400,8208,4112,2064,1040,528,272,207,48]],[26391,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,32,16,8,4,1]],[26392,[2097152,1048576,524288,262144,245762,8192,4096,512,256,128,64,32,16,8,4,1]],[26393,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,962,32,16,8,4,1]],[26394,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,62,1]],[26395,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,32,16,8,4,1]],[26396,[2097152,1048576,524288,262144,245762,2048,1024,512,256,128,64,32,16,8,4,1]],[26399,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,32,16,8,4,1]],[26402,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,32,16,8,4,1]],[26405,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,962,32,16,8,4,1]],[26407,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,32,16,8,4,1]],[26409,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,62,1]],[26410,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,1]],[26413,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,206,32,16,1]],[26415,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,128,64,32,16,1]],[26416,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,128,64,32,16,1]],[26417,[2097152,1048576,524288,262144,131072,65536,32768,16384,15362,512,256,128,64,8,4,1]],[26418,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,62,1]],[26422,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,206,32,16,1]],[26426,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,16,8,4,1]],[26428,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,32,16,8,4,1]],[26429,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,32,16,8,4,2]],[26430,[2097152,1048576,524288,262144,245761,8192,4096,512,256,128,64,32,16,8,4,2]],[26431,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,961,32,16,8,4,2]],[26432,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,61,2]],[26433,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,32,16,8,4,2]],[26434,[2097152,1048576,524288,262144,245761,2048,1024,512,256,128,64,32,16,8,4,2]],[26437,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,32,16,8,4,2]],[26440,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2]],[26443,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,961,32,16,8,4,2]],[26445,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,32,16,8,4,2]],[26447,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,61,2]],[26448,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,2]],[26451,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,205,32,16,2]],[26453,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,128,64,32,16,2]],[26454,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,128,64,32,16,2]],[26455,[2097152,1048576,524288,262144,131072,65536,32768,16384,15361,512,256,128,64,8,4,2]],[26456,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,61,2]],[26460,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,205,32,16,2]],[26464,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,16,8,4,2]],[26466,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,32,16,8,4,2]],[26467,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,32,16,4,2,1]],[26468,[2097152,1048576,524288,262144,245768,8192,4096,512,256,128,64,32,16,4,2,1]],[26469,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,968,32,16,4,2,1]],[26470,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,59,4]],[26471,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,32,16,4,2,1]],[26472,[2097152,1048576,524288,262144,245768,2048,1024,512,256,128,64,32,16,4,2,1]],[26475,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,32,16,4,2,1]],[26478,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,32,16,4,2,1]],[26481,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,968,32,16,4,2,1]],[26483,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,32,16,4,2,1]],[26485,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,59,4]],[26486,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,4,3]],[26489,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,203,32,16,4]],[26491,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,128,64,32,16,4]],[26492,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,128,64,32,16,4]],[26493,[2097152,1048576,524288,262144,131072,65536,32768,16384,15368,512,256,128,64,4,2,1]],[26498,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,203,32,16,4]],[26502,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,16,4,2,1]],[26504,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,32,16,4,2,1]],[26505,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,32,16,8,2,1]],[26506,[2097152,1048576,524288,262144,245764,8192,4096,512,256,128,64,32,16,8,2,1]],[26507,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,964,32,16,8,2,1]],[26508,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,55,8]],[26509,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,32,16,8,2,1]],[26510,[2097152,1048576,524288,262144,245764,2048,1024,512,256,128,64,32,16,8,2,1]],[26513,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,32,16,8,2,1]],[26516,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,32,16,8,2,1]],[26519,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,964,32,16,8,2,1]],[26521,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,32,16,8,2,1]],[26523,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,55,8]],[26524,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,8,3]],[26527,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,199,32,16,8]],[26529,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,128,64,32,16,8]],[26530,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,128,64,32,16,8]],[26531,[2097152,1048576,524288,262144,131072,65536,32768,16384,15364,512,256,128,64,8,2,1]],[26532,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,55,8]],[26536,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,199,32,16,8]],[26537,[3932352,131072,65536,32768,16384,8192,4096,2048,1024,512,256,32,16,8,2,1]],[26540,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,16,8,2,1]],[26542,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,32,16,8,2,1]],[26543,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,16,8,4,2,1]],[26544,[2097152,1048576,524288,262144,245792,8192,4096,512,256,128,64,16,8,4,2,1]],[26545,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,992,16,8,4,2,1]],[26546,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,47,16]],[26547,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,16,8,4,2,1]],[26548,[2097152,1048576,524288,262144,245792,2048,1024,512,256,128,64,16,8,4,2,1]],[26551,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,16,8,4,2,1]],[26554,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,16,8,4,2,1]],[26557,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,992,16,8,4,2,1]],[26559,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,16,8,4,2,1]],[26561,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,47,16]],[26562,[131073,65537,32769,16385,2049,1025,513,257,129,65,16,9,5,3]],[26565,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,227,16,8,4]],[26567,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,128,64,16,8,4]],[26568,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,128,64,16,8,4]],[26569,[2097152,1048576,524288,262144,131072,65536,32768,16384,15392,512,256,128,64,16,2,1]],[26574,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,227,16,8,4]],[26578,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,16,8,4,2,1]],[26580,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,16,8,4,2,1]],[26581,[2097153,1048577,524289,262145,513,257,32,9,5,3]],[26582,[2097152,1048576,524288,262144,245776,8192,4096,512,256,128,64,32,8,4,2,1]],[26583,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,976,32,8,4,2,1]],[26584,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,32,31]],[26585,[2097152,1048576,524288,262144,131072,65536,32768,16384,15376,512,256,32,8,4,2,1]],[26586,[2097152,1048576,524288,262144,245776,2048,1024,512,256,128,64,32,8,4,2,1]],[26589,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,64,32,8,4,2,1]],[26592,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,64,32,8,4,2,1]],[26595,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,976,32,8,4,2,1]],[26597,[2097152,1048576,524288,262144,131072,65536,32768,16384,15376,512,256,32,8,4,2,1]],[26599,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,31]],[26600,[131073,65537,32769,16385,2049,1025,513,257,129,65,32,9,5,3]],[26603,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,211,32,8,4]],[26605,[2097152,1048576,524288,262144,131072,65536,32768,16384,15376,512,256,128,64,32,8,4]],[26606,[2097152,1048576,524288,262144,131072,65536,32768,16384,15376,512,256,128,64,32,8,4]],[26607,[2097152,1048576,524288,262144,131072,65536,32768,16384,15376,512,256,128,64,32,2,1]],[26612,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,211,32,8,4]],[26616,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,64,32,8,4,2,1]],[26618,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,64,32,8,4,2,1]],[26619,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,8,4,2,1]],[26620,[2097152,1048576,524288,262144,245936,8192,4096,3248,512,256,64,8,4,2,1]],[26621,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,944,64,8,4,2,1]],[26622,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,143,64,32,16]],[26623,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,8,4,2,1]],[26624,[2097152,1048576,524288,262144,245888,2048,1024,512,256,64,32,16,8,4,2,1]],[26627,[3161088,524288,262144,131072,65536,32768,16384,512,256,64,32,16,8,4,2,1]],[26630,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,64,32,16,8,4,2,1]],[26633,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,944,64,8,4,2,1]],[26635,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,8,4,2,1]],[26637,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,143,64,32,16]],[26638,[131073,65537,32769,16385,2049,1025,513,257,64,33,17,9,5,3]],[26641,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,179,64,8,4]],[26643,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,32,16,8,4]],[26644,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,32,16,8,4]],[26645,[2097152,1048576,524288,262144,131072,65536,32768,16384,15488,512,256,64,32,16,2,1]],[26650,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,179,64,8,4]],[26651,[3932208,131072,65536,32768,16384,8192,4096,2048,1024,512,256,64,8,4,2,1]],[26654,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,64,32,16,8,4,2,1]],[26656,[2097152,1048576,524288,262144,211968,32768,16384,512,256,64,32,16,8,4,2,1]],[26657,[2097152,1048576,524288,262144,131072,65536,32768,16384,15424,512,256,128,8,4,2,1]],[26658,[2097152,1048576,524288,262144,245824,8192,4096,512,256,128,32,16,8,4,2,1]],[26659,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,880,128,8,4,2,1]],[26660,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,79,32,16]],[26662,[2097152,1048576,524288,262144,245824,2048,1024,512,256,128,32,16,8,4,2,1]],[26665,[3161088,524288,262144,131072,65536,32768,16384,512,256,128,32,16,8,4,2,1]],[26668,[2097152,1048576,1032192,8192,4096,2048,1024,512,256,128,32,16,8,4,2,1]],[26671,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,880,128,8,4,2,1]],[26675,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,79,32,16]],[26676,[131073,65537,32769,16385,2049,1025,513,257,128,33,17,9,5,3]],[26679,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,128,115,8,4]],[26681,[2097152,1048576,524288,262144,131072,65536,32768,16384,15424,512,256,128,32,16,8,4]],[26682,[2097152,1048576,524288,262144,131072,65536,32768,16384,15424,512,256,128,32,16,8,4]],[26688,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,256,128,115,8,4]],[26692,[3932928,131072,65536,32768,16384,8192,4096,2048,1024,128,32,16,8,4,2,1]],[26694,[2097152,1048576,524288,262144,211968,32768,16384,512,256,128,32,16,8,4,2,1]],[26695,[2097152,1048576,524288,262144,131072,65536,32768,16384,15872,256,128,64,8,4,2,1]],[26696,[2097152,1048576,524288,262144,246272,8192,4096,256,128,64,32,16,8,4,2,1]],[26697,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,752,256,8,4,2,1]],[26698,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,527,256,128,64,32,16]],[26703,[3161088,524288,262144,131072,65536,32768,16384,256,128,64,32,16,8,4,2,1]],[26706,[2097152,1048576,1032192,8192,4096,2048,1024,256,128,64,32,16,8,4,2,1]],[26709,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,752,256,8,4,2,1]],[26713,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,527,256,128,64,32,16]],[26714,[131073,65537,32769,16385,2049,1025,256,129,65,33,17,9,5,3]],[26717,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,563,256,128,64,8,4]],[26719,[2097152,1048576,524288,262144,131072,65536,32768,16384,15872,256,128,64,32,16,8,4]],[26720,[2097152,1048576,524288,262144,131072,65536,32768,16384,15872,256,128,64,32,16,8,4]],[26726,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,563,256,128,64,8,4]],[26730,[3932352,131072,65536,32768,16384,8192,4096,2048,1024,256,32,16,8,4,2,1]],[26732,[2097152,1048576,524288,262144,211968,32768,16384,256,128,64,32,16,8,4,2,1]],[26733,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,8,4,2,1]],[26734,[2097152,1048576,524288,262144,246016,8192,4096,512,128,64,32,16,8,4,2,1]],[26735,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,512,496,8,4,2,1]],[26736,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,271,128,64,32,16]],[26737,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,8,4,2,1]],[26741,[3161088,524288,262144,131072,65536,32768,16384,512,128,64,32,16,8,4,2,1]],[26744,[2097152,1048576,1032192,8192,4096,2048,1024,512,128,64,32,16,8,4,2,1]],[26747,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1024,512,496,8,4,2,1]],[26749,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,8,4,2,1]],[26751,[524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,271,128,64,32,16]],[26752,[131073,65537,32769,16385,2049,1025,512,129,65,33,17,9,5,3]],[26755,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,307,128,64,8,4]],[26757,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16,8,4]],[26758,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16,8,4]],[26759,[2097152,1048576,524288,262144,131072,65536,32768,16384,15616,512,128,64,32,16,2,1]],[26760,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,271,128,64,32,16]],[26764,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,512,307,128,64,8,4]],[26768,[3932352,131072,65536,32768,16384,8192,4096,2048,1024,512,32,16,8,4,2,1]],[26770,[2097152,1048576,524288,262144,211968,32768,16384,512,128,64,32,16,8,4,2,1]],[26771,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,8,4,2,1]],[26772,[2097152,1048576,524288,262144,247808,8192,4096,1024,128,64,32,16,8,4,2,1]],[26773,[2097152,1048576,131072,65536,32768,16384,8192,4096,2288,1024,512,256,8,4,2,1]],[26775,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,8,4,2,1]],[26776,[2097152,1048576,524288,262144,247808,1024,512,256,128,64,32,16,8,4,2,1]],[26779,[3158784,524288,262144,131072,65536,32768,16384,1024,128,64,32,16,8,4,2,1]],[26782,[2097152,1048576,1032192,8192,4096,1024,512,256,128,64,32,16,8,4,2,1]],[26785,[2097152,1048576,131072,65536,32768,16384,8192,4096,2288,1024,512,256,8,4,2,1]],[26787,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,8,4,2,1]],[26790,[131073,65537,32769,16385,1024,513,257,129,65,33,17,9,5,3]],[26793,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2099,1024,128,64,8,4]],[26795,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16,8,4]],[26796,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16,8,4]],[26797,[2097152,1048576,524288,262144,131072,65536,32768,16384,15104,1024,128,64,32,16,2,1]],[26798,[2097152,1048576,524288,262144,131072,65536,8192,4096,2063,1024,512,256,128,64,32,16]],[26802,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2099,1024,128,64,8,4]],[26803,[3932208,131072,65536,32768,16384,8192,4096,1024,512,256,128,64,8,4,2,1]],[26806,[3932352,131072,65536,32768,16384,8192,4096,1024,512,256,32,16,8,4,2,1]],[26808,[2097152,1048576,524288,262144,209664,32768,16384,1024,128,64,32,16,8,4,2,1]],[26809,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,8,4,2,1]],[26810,[2097152,1048576,524288,262144,246784,8192,4096,2048,128,64,32,16,8,4,2,1]],[26811,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1264,512,256,8,4,2,1]],[26813,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,8,4,2,1]],[26814,[2097152,1048576,524288,262144,246784,2048,512,256,128,64,32,16,8,4,2,1]],[26817,[3158784,524288,262144,131072,65536,32768,16384,2048,128,64,32,16,8,4,2,1]],[26820,[2097152,1048576,1032192,8192,4096,2048,512,256,128,64,32,16,8,4,2,1]],[26823,[2097152,1048576,131072,65536,32768,16384,8192,4096,2048,1264,512,256,8,4,2,1]],[26825,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,8,4,2,1]],[26828,[131073,65537,32769,16385,2048,513,257,129,65,33,17,9,5,3]],[26833,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16,8,4]],[26834,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16,8,4]],[26835,[2097152,1048576,524288,262144,131072,65536,32768,16384,14080,2048,128,64,32,16,2,1]],[26841,[3932208,131072,65536,32768,16384,8192,4096,2048,512,256,128,64,8,4,2,1]],[26844,[3932352,131072,65536,32768,16384,8192,4096,2048,512,256,32,16,8,4,2,1]],[26846,[2097152,1048576,524288,262144,209664,32768,16384,2048,128,64,32,16,8,4,2,1]],[26847,[2097153,1048577,524289,262145,4096,129,65,9,5,3]],[26848,[2097152,1048576,524288,262144,253952,4096,2048,1024,128,64,32,16,8,4,2,1]],[26849,[2097152,1048576,131072,65536,32768,16384,8432,4096,2048,1024,512,256,8,4,2,1]],[26851,[2097152,1048576,524288,262144,131072,65536,32768,16384,12032,4096,128,64,8,4,2,1]],[26855,[3149568,524288,262144,131072,65536,32768,16384,4096,128,64,32,16,8,4,2,1]],[26858,[2097152,1048576,1032192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1]],[26861,[2097152,1048576,131072,65536,32768,16384,8432,4096,2048,1024,512,256,8,4,2,1]],[26863,[2097152,1048576,524288,262144,131072,65536,32768,16384,12032,4096,128,64,8,4,2,1]],[26866,[131073,65537,32769,16385,4096,513,257,129,65,33,17,9,5,3]],[26869,[2097152,1048576,524288,262144,131072,65536,32768,16384,8243,4096,2048,1024,128,64,8,4]],[26871,[2097152,1048576,524288,262144,131072,65536,32768,16384,12032,4096,128,64,32,16,8,4]],[26872,[2097152,1048576,524288,262144,131072,65536,32768,16384,12032,4096,128,64,32,16,8,4]],[26873,[2097152,1048576,524288,262144,131072,65536,32768,16384,12032,4096,128,64,32,16,2,1]],[26878,[2097152,1048576,524288,262144,131072,65536,32768,16384,8243,4096,2048,1024,128,64,8,4]],[26882,[3932352,131072,65536,32768,16384,4096,2048,1024,512,256,32,16,8,4,2,1]],[26884,[2097152,1048576,524288,262144,200448,32768,16384,4096,128,64,32,16,8,4,2,1]],[26885,[2097153,1048577,524289,262145,8192,129,65,9,5,3]],[26886,[2097152,1048576,524288,262144,249856,8192,2048,1024,128,64,32,16,8,4,2,1]],[26887,[2097152,1048576,131072,65536,32768,16384,8192,4336,2048,1024,512,256,8,4,2,1]],[26889,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,7936,128,64,8,4,2,1]],[26893,[3149568,524288,262144,131072,65536,32768,16384,8192,128,64,32,16,8,4,2,1]],[26896,[2097152,1048576,1032192,8192,2048,1024,512,256,128,64,32,16,8,4,2,1]],[26899,[2097152,1048576,131072,65536,32768,16384,8192,4336,2048,1024,512,256,8,4,2,1]],[26901,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,7936,128,64,8,4,2,1]],[26904,[131073,65537,32769,16385,8192,513,257,129,65,33,17,9,5,3]],[26907,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4147,2048,1024,128,64,8,4]],[26909,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,7936,128,64,32,16,8,4]],[26910,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,7936,128,64,32,16,8,4]],[26911,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,7936,128,64,32,16,2,1]],[26916,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4147,2048,1024,128,64,8,4]],[26920,[3932352,131072,65536,32768,16384,8192,2048,1024,512,256,32,16,8,4,2,1]],[26922,[2097152,1048576,524288,262144,200448,32768,16384,8192,128,64,32,16,8,4,2,1]],[26923,[2097153,1048577,524289,262145,16384,129,65,9,5,3]],[26924,[2097152,1048576,524288,262144,241664,16384,2048,1024,128,64,32,16,8,4,2,1]],[26925,[2097152,1048576,131072,65536,33008,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[26927,[2097152,1048576,524288,262144,131072,65536,36608,16384,8192,4096,128,64,8,4,2,1]],[26928,[2097152,1048576,524288,262144,241664,16384,512,256,128,64,32,16,8,4,2,1]],[26931,[3149568,524288,262144,131072,65536,16384,8192,4096,128,64,32,16,8,4,2,1]],[26934,[2097152,1048576,995328,16384,2048,1024,512,256,128,64,32,16,8,4,2,1]],[26937,[2097152,1048576,131072,65536,33008,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[26939,[2097152,1048576,524288,262144,131072,65536,36608,16384,8192,4096,128,64,8,4,2,1]],[26941,[524288,262144,131072,65536,32783,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[26942,[131073,65537,16384,8193,4097,513,257,129,65,33,17,9,5,3]],[26945,[2097152,1048576,524288,262144,131072,65536,32819,16384,8192,4096,2048,1024,128,64,8,4]],[26947,[2097152,1048576,524288,262144,131072,65536,36608,16384,8192,4096,128,64,32,16,8,4]],[26948,[2097152,1048576,524288,262144,131072,65536,36608,16384,8192,4096,128,64,32,16,8,4]],[26949,[2097152,1048576,524288,262144,131072,65536,36608,16384,8192,4096,128,64,32,16,2,1]],[26954,[2097152,1048576,524288,262144,131072,65536,32819,16384,8192,4096,2048,1024,128,64,8,4]],[26958,[3932352,131072,65536,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[26960,[2097152,1048576,524288,262144,200448,16384,8192,4096,128,64,32,16,8,4,2,1]],[26961,[2097153,1048577,524289,262145,32768,129,65,9,5,3]],[26962,[2097152,1048576,524288,262144,225280,32768,2048,1024,128,64,32,16,8,4,2,1]],[26963,[2097152,1048576,131072,65536,32768,16624,8192,4096,2048,1024,512,256,8,4,2,1]],[26966,[2097152,1048576,524288,262144,225280,32768,512,256,128,64,32,16,8,4,2,1]],[26969,[3149568,524288,262144,131072,65536,32768,8192,4096,128,64,32,16,8,4,2,1]],[26972,[2097152,1048576,995328,32768,2048,1024,512,256,128,64,32,16,8,4,2,1]],[26975,[2097152,1048576,131072,65536,32768,16624,8192,4096,2048,1024,512,256,8,4,2,1]],[26979,[524288,262144,131072,65536,32768,16399,8192,4096,2048,1024,512,256,128,64,32,16]],[26980,[131073,65537,32768,8193,4097,513,257,129,65,33,17,9,5,3]],[26983,[2097152,1048576,524288,262144,131072,65536,32768,16435,8192,4096,2048,1024,128,64,8,4]],[26985,[2097152,1048576,524288,262144,131072,65536,32768,20224,8192,4096,128,64,32,16,8,4]],[26986,[2097152,1048576,524288,262144,131072,65536,32768,20224,8192,4096,128,64,32,16,8,4]],[26992,[2097152,1048576,524288,262144,131072,65536,32768,16435,8192,4096,2048,1024,128,64,8,4]],[26996,[3932352,131072,65536,32768,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[26998,[2097152,1048576,524288,262144,200448,32768,8192,4096,128,64,32,16,8,4,2,1]],[26999,[2097153,1048577,524289,262145,65536,129,65,9,5,3]],[27000,[2097152,1048576,524288,262144,192512,65536,2048,1024,128,64,32,16,8,4,2,1]],[27001,[2097152,1048576,131312,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27002,[2097152,1048576,524288,262144,131087,65536,32768,16384,8192,4096,512,256,128,64,32,16]],[27004,[2097152,1048576,524288,262144,192512,65536,512,256,128,64,32,16,8,4,2,1]],[27007,[3149568,524288,262144,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27010,[2097152,1048576,847872,65536,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27013,[2097152,1048576,131312,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27017,[524288,262144,131087,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[27018,[65536,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27021,[2097152,1048576,524288,262144,131123,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27023,[2097152,1048576,524288,262144,134912,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27024,[2097152,1048576,524288,262144,134912,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27030,[2097152,1048576,524288,262144,131123,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27034,[3932352,65536,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27036,[2097152,1048576,524288,262144,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[27037,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,8,4,2,1]],[27038,[2097152,1048576,524288,262144,131072,126976,2048,1024,128,64,32,16,8,4,2,1]],[27039,[2097152,1048576,131072,65776,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27041,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,8,4,2,1]],[27042,[2097152,1048576,524288,262144,131072,126976,512,256,128,64,32,16,8,4,2,1]],[27045,[3149568,524288,262144,131072,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27048,[2097152,1048576,847872,131072,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27051,[2097152,1048576,131072,65776,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27053,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,8,4,2,1]],[27056,[131072,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27059,[2097152,1048576,524288,262144,131072,65587,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27061,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,32,16,8,4]],[27062,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,32,16,8,4]],[27063,[2097152,1048576,524288,262144,131072,69376,32768,16384,8192,4096,128,64,32,16,2,1]],[27068,[2097152,1048576,524288,262144,131072,65587,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27072,[3932352,131072,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27074,[2097152,1048576,524288,262144,131072,52992,8192,4096,128,64,32,16,8,4,2,1]],[27075,[2097153,1048577,262144,131073,65537,129,65,9,5,3]],[27076,[2097152,1048576,585728,262144,131072,65536,2048,1024,128,64,32,16,8,4,2,1]],[27077,[2097152,1048576,524528,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27080,[2097152,1048576,585728,262144,131072,65536,512,256,128,64,32,16,8,4,2,1]],[27083,[3149568,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27086,[2097152,1048576,262144,258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27089,[2097152,1048576,524528,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27093,[524303,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[27094,[262144,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27097,[2097152,1048576,524339,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27099,[2097152,1048576,528128,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27100,[2097152,1048576,528128,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27106,[2097152,1048576,524339,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27110,[3342528,262144,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27112,[2097152,1048576,262144,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[27113,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27114,[2097152,1048576,524288,323584,131072,65536,2048,1024,128,64,32,16,8,4,2,1]],[27115,[2097152,1048576,524288,262384,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27117,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27118,[2097152,1048576,524288,323584,131072,65536,512,256,128,64,32,16,8,4,2,1]],[27121,[3149568,524288,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27124,[2097152,1048576,524288,258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27127,[2097152,1048576,524288,262384,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27129,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27131,[524288,262159,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[27132,[524288,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27135,[2097152,1048576,524288,262195,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27137,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27138,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27139,[2097152,1048576,524288,265984,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[27144,[2097152,1048576,524288,262195,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27148,[3342528,524288,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27150,[2097152,1048576,524288,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[27151,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27152,[2158592,1048576,524288,262144,131072,65536,2048,1024,128,64,32,16,8,4,2,1]],[27153,[2097392,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27155,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27156,[2158592,1048576,524288,262144,131072,65536,512,256,128,64,32,16,8,4,2,1]],[27159,[1048576,790272,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27162,[1048576,524288,262144,258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27165,[2097392,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27167,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27169,[2097167,1048576,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[27170,[1048576,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27173,[2097203,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27175,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27176,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27177,[2100992,1048576,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[27182,[2097203,1048576,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27183,[1048576,983088,32768,16384,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[27186,[1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27188,[1048576,524288,262144,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[27189,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27190,[2097152,1110016,524288,262144,131072,65536,2048,1024,128,64,32,16,8,4,2,1]],[27191,[2097152,1048816,524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27193,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27194,[2097152,1110016,524288,262144,131072,65536,512,256,128,64,32,16,8,4,2,1]],[27197,[2097152,790272,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4,2,1]],[27200,[2097152,524288,262144,258048,2048,1024,512,256,128,64,32,16,8,4,2,1]],[27203,[2097152,1048816,524288,262144,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[27205,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,8,4,2,1]],[27207,[2097152,1048591,131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[27208,[2097152,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[27211,[2097152,1048627,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27213,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27214,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,8,4]],[27215,[2097152,1052416,524288,262144,131072,65536,32768,16384,8192,4096,128,64,32,16,2,1]],[27220,[2097152,1048627,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,64,8,4]],[27224,[2097152,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2,1]],[27226,[2097152,524288,262144,131072,65536,52992,8192,4096,128,64,32,16,8,4,2,1]],[27672,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,32,16,8,4,1]],[27674,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,1]],[27675,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,62,1]],[27676,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,62,1]],[27677,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,62,1]],[27678,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,62,1]],[27679,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,1]],[27680,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,962,32,16,8,4,1]],[27681,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,962,32,16,8,4,1]],[27682,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,62,1]],[27686,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,1]],[27689,[2097168,1048592,1032204,8208,4112,2064,1040,528,272,144,80,48,1]],[27690,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,1]],[27696,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,32,16,8,4,2]],[27698,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,8,4,2]],[27699,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,61,2]],[27700,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,61,2]],[27701,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,61,2]],[27702,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,61,2]],[27703,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,4,2]],[27704,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,961,32,16,8,4,2]],[27705,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,961,32,16,8,4,2]],[27706,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,61,2]],[27710,[131076,65540,32772,16388,2052,1028,516,260,132,68,36,20,12,2]],[27713,[2097168,1048592,1032204,8208,4112,2064,1040,528,272,144,80,48,2]],[27714,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,252,2]],[27720,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,32,16,4,2,1]],[27722,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,4,2,1]],[27723,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,59,4]],[27726,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,59,4]],[27727,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,32,16,4,2,1]],[27728,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,968,32,16,4,2,1]],[27729,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,968,32,16,4,2,1]],[27734,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,4,3]],[27736,[524308,262164,131092,65556,32788,16404,8212,4116,48]],[27737,[2097168,1048592,1032195,8208,4112,2064,1040,528,272,144,80,48,4]],[27738,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,4]],[27744,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,32,16,8,2,1]],[27746,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,16,8,2,1]],[27747,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,55,8]],[27748,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,55,8]],[27749,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,55,8]],[27750,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,55,8]],[27751,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,32,16,8,2,1]],[27752,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,964,32,16,8,2,1]],[27753,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,964,32,16,8,2,1]],[27754,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,55,8]],[27758,[131073,65537,32769,16385,2049,1025,513,257,129,65,33,17,8,3]],[27760,[524312,262168,131096,65560,32792,16408,8216,4120,48]],[27761,[2097168,1048592,1032195,8208,4112,2064,1040,528,272,144,80,48,8]],[27762,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,243,8]],[27768,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,16,8,4,2,1]],[27770,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,16,8,4,2,1]],[27771,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,47,16]],[27774,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,47,16]],[27775,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,16,8,4,2,1]],[27776,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,992,16,8,4,2,1]],[27777,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,992,16,8,4,2,1]],[27782,[131073,65537,32769,16385,2049,1025,513,257,129,65,16,9,5,3]],[27785,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,132,68,16,12]],[27786,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,16]],[27792,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,64,32,8,4,2,1]],[27794,[2097152,1048576,983232,32768,16384,8192,4096,2048,1024,512,256,32,8,4,2,1]],[27795,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,64,32,31]],[27798,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,64,32,31]],[27799,[3146688,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,32,8,4,2,1]],[27800,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,976,32,8,4,2,1]],[27801,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,976,32,8,4,2,1]],[27806,[131073,65537,32769,16385,2049,1025,513,257,129,65,32,9,5,3]],[27809,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,132,68,32,12]],[27810,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,207,32]],[27816,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,64,32,16,8,4,2,1]],[27818,[2097152,1048576,983088,32768,16384,8192,4096,2048,1024,512,256,64,8,4,2,1]],[27819,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,143,64,32,16]],[27822,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,143,64,32,16]],[27823,[3146544,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,64,8,4,2,1]],[27824,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,944,64,8,4,2,1]],[27825,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,944,64,8,4,2,1]],[27830,[131073,65537,32769,16385,2049,1025,513,257,64,33,17,9,5,3]],[27833,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,64,36,20,12]],[27834,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,64,63]],[27840,[2097152,1048576,524288,262144,131072,65536,32768,16384,16128,128,32,16,8,4,2,1]],[27842,[2097152,1048576,983088,32768,16384,8192,4096,2048,1024,512,256,128,8,4,2,1]],[27843,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,256,128,79,32,16]],[27846,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,128,79,32,16]],[27847,[3146544,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,128,8,4,2,1]],[27848,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,880,128,8,4,2,1]],[27849,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,880,128,8,4,2,1]],[27854,[131073,65537,32769,16385,2049,1025,513,257,128,33,17,9,5,3]],[27857,[2097156,1048580,1032195,8196,4100,2052,1028,516,260,128,36,20,12]],[27858,[2097408,1048832,524544,262400,131328,65792,33024,16640,8448,4352,2304,1280,768,128,63]],[27864,[2097152,1048576,524288,262144,131072,65536,32768,16384,15552,256,32,16,8,4,2,1]],[27866,[2097152,1048576,983088,32768,16384,8192,4096,2048,1024,256,128,64,8,4,2,1]],[27867,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,527,256,128,64,32,16]],[27870,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,527,256,128,64,32,16]],[27871,[3145968,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,256,8,4,2,1]],[27872,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,752,256,8,4,2,1]],[27873,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,752,256,8,4,2,1]],[27878,[131073,65537,32769,16385,2049,1025,256,129,65,33,17,9,5,3]],[27880,[524548,262404,131332,65796,33028,16644,8452,4356,12]],[27881,[2097156,1048580,1032195,8196,4100,2052,1028,256,132,68,36,20,12]],[27882,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,256,192,63]],[27888,[2097152,1048576,524288,262144,131072,65536,32768,16384,15552,512,32,16,8,4,2,1]],[27890,[2097152,1048576,983088,32768,16384,8192,4096,2048,1024,512,128,64,8,4,2,1]],[27891,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,271,128,64,32,16]],[27892,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,271,128,64,32,16]],[27893,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1024,512,271,128,64,32,16]],[27894,[2097152,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,271,128,64,32,16]],[27895,[3145968,524288,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,8,4,2,1]],[27896,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,496,8,4,2,1]],[27897,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,496,8,4,2,1]],[27898,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,271,128,64,32,16]],[27902,[131073,65537,32769,16385,2049,1025,512,129,65,33,17,9,5,3]],[27905,[2097156,1048580,1032195,8196,4100,2052,1028,512,132,68,36,20,12]],[27906,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,512,192,63]],[27912,[2097152,1048576,524288,262144,131072,65536,32768,16384,13248,1024,32,16,8,4,2,1]],[27914,[2097152,1048576,983088,32768,16384,8192,4096,1024,512,256,128,64,8,4,2,1]],[27915,[2097152,1048576,524288,262144,32768,16384,8192,4096,2063,1024,512,256,128,64,32,16]],[27916,[2097152,1048576,524288,262144,32768,16384,8192,4096,2063,1024,512,256,128,64,32,16]],[27917,[2097152,1048576,524288,262144,32768,16384,8192,4096,2063,1024,512,256,128,64,32,16]],[27919,[3145968,524288,262144,131072,65536,32768,16384,8192,4096,1024,512,256,8,4,2,1]],[27920,[2097152,1048576,524288,262144,131072,65536,8192,4096,2288,1024,512,256,8,4,2,1]],[27921,[2097152,1048576,524288,262144,131072,65536,8192,4096,2288,1024,512,256,8,4,2,1]],[27922,[2097152,1048576,524288,262144,131072,65536,8192,4096,2063,1024,512,256,128,64,32,16]],[27926,[131073,65537,32769,16385,1024,513,257,129,65,33,17,9,5,3]],[27928,[525316,263172,132100,66564,33796,17412,9220,5124,12]],[27929,[2097156,1048580,1032195,8196,4100,1024,516,260,132,68,36,20,12]],[27930,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,1024,576,320,192,63]],[27936,[2097152,1048576,524288,262144,131072,65536,32768,16384,13248,2048,32,16,8,4,2,1]],[27938,[2097152,1048576,983088,32768,16384,8192,4096,2048,512,256,128,64,8,4,2,1]],[27939,[2097152,1048576,524288,262144,32768,16384,8192,4096,2048,1039,512,256,128,64,32,16]],[27943,[3145968,524288,262144,131072,65536,32768,16384,8192,4096,2048,512,256,8,4,2,1]],[27944,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1264,512,256,8,4,2,1]],[27945,[2097152,1048576,524288,262144,131072,65536,8192,4096,2048,1264,512,256,8,4,2,1]],[27950,[131073,65537,32769,16385,2048,513,257,129,65,33,17,9,5,3]],[27953,[2097156,1048580,1032195,8196,4100,2048,516,260,132,68,36,20,12]],[27954,[2097216,1048640,524352,262208,131136,65600,32832,16448,8256,4160,2048,576,320,192,63]],[27960,[2097152,1048576,524288,262144,131072,65536,32768,16384,4096,4032,32,16,8,4,2,1]],[27962,[2097152,1048576,983088,32768,16384,4096,2048,1024,512,256,128,64,8,4,2,1]],[27963,[2097152,1048576,524288,262144,32768,16384,8207,4096,2048,1024,512,256,128,64,32,16]],[27967,[3145968,524288,262144,131072,65536,32768,16384,4096,2048,1024,512,256,8,4,2,1]],[27968,[2097152,1048576,524288,262144,131072,65536,8432,4096,2048,1024,512,256,8,4,2,1]],[27969,[2097152,1048576,524288,262144,131072,65536,8432,4096,2048,1024,512,256,8,4,2,1]],[27974,[131073,65537,32769,16385,4096,513,257,129,65,33,17,9,5,3]],[27976,[525312,263168,132096,66560,33792,17408,5124,3072,12]],[27977,[2097156,1048580,1032195,4096,2052,1028,516,260,132,68,36,20,12]],[27978,[2097216,1048640,524352,262208,131136,65600,32832,16448,4096,2112,1088,576,320,192,63]],[27984,[2097152,1048576,524288,262144,131072,65536,32768,16384,8192,4032,32,16,8,4,2,1]],[27986,[2097152,1048576,983088,32768,16384,8192,2048,1024,512,256,128,64,8,4,2,1]],[27987,[2097152,1048576,524288,262144,32768,16384,8192,4111,2048,1024,512,256,128,64,32,16]],[27991,[3145968,524288,262144,131072,65536,32768,16384,8192,2048,1024,512,256,8,4,2,1]],[27992,[2097152,1048576,524288,262144,131072,65536,8192,4336,2048,1024,512,256,8,4,2,1]],[27993,[2097152,1048576,524288,262144,131072,65536,8192,4336,2048,1024,512,256,8,4,2,1]],[27998,[131073,65537,32769,16385,8192,513,257,129,65,33,17,9,5,3]],[28001,[2097156,1048580,1032195,8192,2052,1028,516,260,132,68,36,20,12]],[28002,[2097216,1048640,524352,262208,131136,65600,32832,16448,8192,2112,1088,576,320,192,63]],[28008,[2097152,1048576,524288,262144,131072,65536,16384,8192,4096,4032,32,16,8,4,2,1]],[28010,[2097152,1048576,983088,16384,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28011,[2097152,1048576,524288,262144,32783,16384,8192,4096,2048,1024,512,256,128,64,32,16]],[28015,[3145968,524288,262144,131072,65536,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28016,[2097152,1048576,524288,262144,131072,65536,33008,16384,2048,1024,512,256,8,4,2,1]],[28017,[2097152,1048576,524288,262144,131072,65536,33008,16384,2048,1024,512,256,8,4,2,1]],[28022,[131073,65537,16384,8193,4097,513,257,129,65,33,17,9,5,3]],[28025,[2097156,1048580,995331,16384,2052,1028,516,260,132,68,36,20,12]],[28026,[2097216,1048640,524352,262208,131136,65600,16384,8256,4160,2112,1088,576,320,192,63]],[28032,[2097152,1048576,524288,262144,131072,65536,32768,8192,4096,4032,32,16,8,4,2,1]],[28034,[2097152,1048576,983088,32768,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28039,[3145968,524288,262144,131072,65536,32768,8192,4096,2048,1024,512,256,8,4,2,1]],[28040,[2097152,1048576,524288,262144,131072,65536,32768,16624,2048,1024,512,256,8,4,2,1]],[28041,[2097152,1048576,524288,262144,131072,65536,32768,16624,2048,1024,512,256,8,4,2,1]],[28046,[131073,65537,32768,8193,4097,513,257,129,65,33,17,9,5,3]],[28049,[2097156,1048580,995331,32768,2052,1028,516,260,132,68,36,20,12]],[28050,[2097216,1048640,524352,262208,131136,65600,32768,8256,4160,2112,1088,576,320,192,63]],[28056,[2097152,1048576,524288,262144,65536,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28058,[2097152,1048576,835632,65536,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28059,[2097152,1048576,524288,262144,131087,65536,8192,4096,2048,1024,512,256,128,64,32,16]],[28062,[2097152,1048576,524288,262144,131087,65536,32768,16384,8192,4096,512,256,128,64,32,16]],[28063,[3145968,524288,262144,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28064,[2097152,1048576,524288,262144,131312,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28065,[2097152,1048576,524288,262144,131312,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28070,[65536,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28072,[525312,263168,66564,33792,17408,9216,5120,3072,12]],[28073,[2097156,1048580,847875,65536,2052,1028,516,260,132,68,36,20,12]],[28074,[2097216,1048640,524352,262208,65536,32832,16448,8256,4160,2112,1088,576,320,192,63]],[28080,[2097152,1048576,524288,262144,131072,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28082,[2097152,1048576,835632,131072,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28083,[2097152,1048576,524288,262144,131072,65551,8192,4096,2048,1024,512,256,128,64,32,16]],[28087,[3145968,524288,262144,131072,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28088,[2097152,1048576,524288,262144,131072,65776,32768,16384,2048,1024,512,256,8,4,2,1]],[28089,[2097152,1048576,524288,262144,131072,65776,32768,16384,2048,1024,512,256,8,4,2,1]],[28094,[131072,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28096,[525312,263168,132100,33792,17408,9216,5120,3072,12]],[28097,[2097156,1048580,847875,131072,2052,1028,516,260,132,68,36,20,12]],[28098,[2097216,1048640,524352,262208,131072,32832,16448,8256,4160,2112,1088,576,320,192,63]],[28104,[2097152,1048576,262144,131072,65536,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28106,[2097152,1048576,262144,245808,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28107,[2097152,1048576,524303,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,32,16]],[28111,[3145968,262144,131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28112,[2097152,1048576,524528,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28113,[2097152,1048576,524528,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28118,[262144,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28120,[263172,132096,66560,33792,17408,9216,5120,3072,12]],[28121,[2097156,1048580,262144,258051,2052,1028,516,260,132,68,36,20,12]],[28122,[2097216,1048640,262144,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[28128,[2097152,1048576,524288,131072,65536,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28130,[2097152,1048576,524288,245808,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28131,[2097152,1048576,524288,262159,131072,65536,8192,4096,2048,1024,512,256,128,64,32,16]],[28135,[3145968,524288,131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28142,[524288,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28144,[525316,132096,66560,33792,17408,9216,5120,3072,12]],[28145,[2097156,1048580,524288,258051,2052,1028,516,260,132,68,36,20,12]],[28146,[2097216,1048640,524288,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[28152,[1048576,524288,262144,131072,65536,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28154,[1048576,524288,262144,245808,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28155,[2097167,1048576,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,32,16]],[28159,[1048576,786672,131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28160,[2097392,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28161,[2097392,1048576,524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28166,[1048576,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28169,[1048576,524292,262148,258051,2052,1028,516,260,132,68,36,20,12]],[28170,[1048576,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]],[28176,[2097152,524288,262144,131072,65536,32768,16384,8192,4096,4032,32,16,8,4,2,1]],[28178,[2097152,524288,262144,245808,8192,4096,2048,1024,512,256,128,64,8,4,2,1]],[28179,[2097152,1048591,524288,262144,131072,65536,8192,4096,2048,1024,512,256,128,64,32,16]],[28183,[2097152,786672,131072,65536,32768,16384,8192,4096,2048,1024,512,256,8,4,2,1]],[28184,[2097152,1048816,524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28185,[2097152,1048816,524288,262144,131072,65536,32768,16384,2048,1024,512,256,8,4,2,1]],[28190,[2097152,32769,16385,8193,4097,513,257,129,65,33,17,9,5,3]],[28192,[2098180,132096,66560,33792,17408,9216,5120,3072,12]],[28193,[2097152,524292,262148,258051,2052,1028,516,260,132,68,36,20,12]],[28194,[2097152,524352,262208,131136,65600,32832,16448,8256,4160,2112,1088,576,320,192,63]]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-pairs.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-pairs.json new file mode 100644 index 0000000000..a582ff3bea --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/pr233-layer/witness/physical-pairs.json @@ -0,0 +1 @@ +{"pairs":[[8962,13372,28813],[8616,13373,28846],[1979,13374,null],[2790,13375,28880],[1882,13376,null],[3708,13377,null],[407,13378,null],[2098,13379,null],[2506,13380,null],[1991,13381,null],[2076,13382,null],[2074,13383,null],[2471,13384,null],[402,13385,null],[8753,13386,29006],[1110,13387,29011],[8982,13388,29021],[1978,13389,null],[2434,13390,null],[8446,13391,29043],[2075,13392,null],[8979,13393,29058],[2748,13394,null],[2410,13395,null],[8750,13396,29080],[8443,13397,29081],[8747,13398,29082],[1415,13399,null],[11426,13400,29097],[11424,13401,29098],[11412,13402,29099],[1114,13403,null],[2087,13404,null],[8440,13405,29121],[6113,13406,29122],[10202,13407,29123],[1122,13408,null],[11410,13409,29138],[11384,13410,29139],[11382,13411,29140],[5441,13412,29145],[2423,13413,null],[2459,13414,null],[5634,13415,null],[6114,13416,null],[2123,13417,null],[6066,13418,null],[2482,13419,null],[2458,13420,null],[2411,13421,null],[9990,13422,29187],[9988,13423,29188],[9904,13424,29189],[2375,13425,null],[2363,13426,null],[779,13427,null],[11667,13428,29208],[5681,13429,29209],[10066,13430,29210],[7356,13431,null],[2386,13432,null],[2362,13433,null],[2267,13434,null],[5428,13435,29232],[9902,13436,29233],[257,13437,29234],[2290,13438,null],[1931,13439,null],[8641,13440,29246],[2231,13441,null],[2171,13442,null],[2242,13443,null],[5874,13444,null],[5916,13445,null],[1858,13446,null],[1115,13447,null],[2279,13448,null],[2315,13449,null],[2183,13450,null],[7602,13451,null],[2146,13452,null],[5868,13453,null],[1426,13454,null],[11085,13455,29288],[8638,13456,29294],[8671,13457,29299],[8668,13458,29300],[8665,13459,29301],[2135,13460,null],[2796,13461,null],[5538,13462,null],[802,13463,null],[2802,13464,null],[2170,13465,null],[2338,13466,null],[2122,13467,null],[1835,13468,null],[2027,13469,null],[2327,13470,null],[11083,13471,29336],[10649,13472,29342],[10647,13473,29343],[10343,13474,29344],[2706,13475,null],[1079,13476,null],[2219,13477,null],[59,13478,null],[1974,13479,29355],[394,13480,null],[1116,13481,null],[3702,13482,29371],[2266,13483,null],[2314,13484,null],[2002,13485,null],[839,13486,null],[2844,13487,null],[1402,13488,null],[10855,13489,29386],[10549,13490,29387],[10547,13491,29388],[10341,13492,29394],[9929,13493,29395],[9927,13494,29396],[418,13495,null],[2194,13496,null],[2218,13497,null],[1655,13498,null],[54,13499,29407],[395,13500,null],[1834,13501,null],[3180,13502,null],[7500,13503,null],[2658,13504,null],[1067,13505,null],[1799,13506,null],[1127,13507,null],[1403,13508,null],[10141,13509,29438],[10139,13510,29439],[9593,13511,29440],[1643,13512,null],[826,13513,null],[23,13514,null],[1883,13515,null],[1138,13516,null],[1018,13517,null],[1666,13518,null],[983,13519,null],[1691,13520,null],[791,13521,null],[923,13522,null],[822,13523,29467],[215,13524,null],[5826,13525,null],[5778,13526,null],[5580,13527,null],[1738,13528,null],[66,13529,null],[1906,13530,null],[1271,13531,null],[514,13532,null],[1847,13533,null],[1031,13534,null],[119,13535,null],[1404,13536,null],[322,13537,null],[1570,13538,null],[299,13539,null],[1019,13540,null],[1319,13541,null],[994,13542,null],[1986,13543,null],[935,13544,null],[58,13545,null],[1642,13546,null],[971,13547,null],[1234,13548,null],[1223,13549,null],[5814,13550,29535],[3426,13551,null],[7458,13552,null],[1307,13553,null],[263,13554,null],[1739,13555,null],[1282,13556,null],[1714,13557,null],[1690,13558,null],[298,13559,null],[82,13560,null],[71,13561,null],[898,13562,null],[6834,13563,null],[1090,13564,null],[7740,13565,null],[1066,13566,null],[2050,13567,null],[5772,13568,null],[1511,13569,null],[1703,13570,null],[1259,13571,null],[1930,13572,null],[1498,13573,null],[106,13574,null],[1499,13575,null],[827,13576,null],[4770,13577,null],[7308,13578,null],[4818,13579,null],[2026,13580,null],[1895,13581,null],[1211,13582,null],[1595,13583,null],[1943,13584,null],[1463,13585,null],[1787,13586,null],[2039,13587,null],[491,13588,null],[1068,13589,null],[875,13590,null],[1330,13591,null],[828,13592,null],[850,13593,null],[1954,13594,null],[1810,13595,null],[1450,13596,null],[1559,13597,null],[1451,13598,null],[1794,13599,null],[970,13600,null],[203,13601,null],[1258,13602,null],[466,13603,null],[7068,13604,null],[3756,13605,null],[2700,13606,null],[1786,13607,null],[1751,13608,null],[1762,13609,null],[226,13610,null],[6588,13611,null],[1162,13612,null],[503,13613,null],[1355,13614,null],[922,13615,null],[5388,13616,null],[8934,13617,null],[8958,13618,29678],[8965,13619,null],[8613,13620,29682],[10302,13621,29684],[6485,13622,29686],[6156,13623,null],[8749,13624,29690],[10959,13625,29692],[8901,13626,null],[8954,13627,29696],[8930,13628,null],[8610,13629,29700],[10304,13630,29702],[6305,13631,29704],[7452,13632,null],[8746,13633,29708],[2742,13634,29710],[8961,13635,null],[8384,13636,29714],[8897,13637,null],[7644,13638,null],[7410,13639,null],[6498,13640,null],[3570,13641,null],[7012,13642,29726],[7026,13643,null],[8926,13644,null],[8381,13645,29732],[8957,13646,null],[7686,13647,29736],[7350,13648,29738],[7116,13649,null],[2946,13650,null],[3174,13651,29744],[3090,13652,null],[8893,13653,null],[6972,13654,null],[8922,13655,null],[7875,13656,29754],[6780,13657,null],[6594,13658,null],[6354,13659,null],[4812,13660,null],[4530,13661,null],[8953,13662,null],[6978,13663,null],[8889,13664,null],[7746,13665,null],[7404,13666,null],[3858,13667,null],[7170,13668,null],[7596,13669,null],[4098,13670,null],[8378,13671,29784],[7884,13672,null],[8950,13673,29788],[11380,13674,29790],[5106,13675,null],[7398,13676,29794],[2172,13677,null],[7218,13678,null],[7890,13679,null],[8375,13680,29802],[7110,13681,29804],[8607,13682,29806],[11378,13683,29808],[6102,13684,29810],[2850,13685,null],[7122,13686,null],[3660,13687,null],[6534,13688,29818],[6162,13689,null],[6642,13690,null],[8946,13691,29824],[12466,13692,29826],[5980,13693,29828],[5436,13694,null],[3714,13695,null],[3618,13696,null],[6828,13697,null],[12438,13698,29838],[7836,13699,null],[8604,13700,29842],[11960,13701,29844],[10386,13702,29846],[5196,13703,null],[6054,13704,29850],[2754,13705,null],[3276,13706,null],[7362,13707,null],[7788,13708,null],[10988,13709,29860],[5148,13710,null],[6676,13711,29864],[2838,13712,29866],[6306,13713,null],[3330,13714,null],[6150,13715,29872],[6060,13716,null],[2466,13717,null],[10985,13718,29878],[11290,13719,29880],[11132,13720,29882],[3846,13721,29884],[5724,13722,null],[4140,13723,null],[6108,13724,null],[7874,13725,29892],[4716,13726,null],[10956,13727,29896],[7698,13728,null],[7650,13729,null],[7062,13730,29902],[2604,13731,null],[5442,13732,null],[3804,13733,null],[3852,13734,null],[3558,13735,29912],[8823,13736,29914],[5922,13737,null],[4188,13738,null],[6204,13739,null],[5382,13740,29922],[3516,13741,null],[6450,13742,null],[3522,13743,null],[4710,13744,29930],[10490,13745,29932],[7692,13746,null],[3564,13747,null],[6924,13748,null],[5490,13749,null],[2556,13750,null],[5676,13751,null],[6738,13752,null],[7554,13753,null],[6293,13754,29950],[3372,13755,null],[6636,13756,null],[2598,13757,29956],[5586,13758,null],[6732,13759,null],[4476,13760,null],[7164,13761,null],[5058,13762,null],[6786,13763,null],[7794,13764,null],[2940,13765,null],[5718,13766,29974],[5340,13767,null],[5394,13768,null],[6684,13769,null],[6966,13770,29982],[3270,13771,29984],[7260,13772,null],[5154,13773,null],[6540,13774,null],[5730,13775,null],[6258,13776,null],[7446,13777,29996],[4626,13778,null],[5964,13779,null],[4242,13780,null],[10915,13781,30004],[6018,13782,null],[3900,13783,null],[5682,13784,null],[2220,13785,null],[6492,13786,null],[4620,13787,null],[3036,13788,null],[7212,13789,null],[10889,13790,30022],[11837,13791,30024],[2226,13792,null],[5298,13793,null],[5346,13794,null],[6546,13795,null],[1210,13796,null],[11310,13797,null],[1474,13798,null],[8949,13799,null],[2070,13800,30042],[1542,13801,30044],[1522,13802,null],[1206,13803,30048],[1618,13804,null],[1584,13805,30052],[8885,13806,null],[978,13807,null],[11307,13808,null],[1306,13809,null],[1594,13810,null],[1367,13811,null],[1546,13812,null],[1175,13813,null],[1732,13814,30070],[8945,13815,null],[786,13816,null],[8881,13817,null],[490,13818,null],[1547,13819,null],[498,13820,null],[4236,13821,null],[1186,13822,null],[1650,13823,null],[11280,13824,null],[1644,13825,null],[11357,13826,null],[1378,13827,null],[7266,13828,null],[1692,13829,null],[682,13830,null],[683,13831,null],[5532,13832,null],[1734,13833,30108],[2130,13834,null],[8942,13835,30112],[8601,13836,30114],[1548,13837,null],[946,13838,null],[1980,13839,null],[7314,13840,null],[778,13841,null],[10837,13842,null],[7878,13843,30128],[7457,13844,30130],[10568,13845,30132],[706,13846,null],[634,13847,null],[599,13848,null],[647,13849,null],[2118,13850,30142],[1354,13851,null],[6870,13852,30146],[7445,13853,30148],[10566,13854,30150],[5956,13855,30152],[1842,13856,null],[1042,13857,null],[1314,13858,null],[1350,13859,30160],[1356,13860,null],[2034,13861,null],[4972,13862,30166],[8158,13863,30168],[10300,13864,30170],[1932,13865,null],[1410,13866,null],[2028,13867,null],[551,13868,null],[2082,13869,null],[1638,13870,30182],[10764,13871,30184],[887,13872,null],[4948,13873,30188],[1607,13874,null],[5484,13875,null],[1163,13876,null],[754,13877,null],[834,13878,null],[7830,13879,30200],[10761,13880,30202],[4722,13881,null],[6700,13882,30206],[5244,13883,null],[1633,13884,30210],[1494,13885,30212],[6882,13886,null],[874,13887,null],[587,13888,null],[8820,13889,30220],[1837,13890,30222],[455,13891,null],[443,13892,null],[438,13893,30228],[3954,13894,null],[442,13895,null],[6876,13896,null],[1398,13897,30236],[8817,13898,30238],[538,13899,null],[1074,13900,null],[6930,13901,null],[562,13902,null],[695,13903,null],[4578,13904,null],[7506,13905,null],[539,13906,null],[10416,13907,30256],[732,13908,null],[1212,13909,null],[610,13910,null],[3906,13911,null],[730,13912,null],[1590,13913,30268],[1830,13914,30270],[1836,13915,null],[6316,13916,30274],[7254,13917,30276],[658,13918,null],[6252,13919,null],[4482,13920,null],[635,13921,null],[4194,13922,null],[1218,13923,null],[586,13924,null],[4290,13925,null],[1981,13926,30294],[1884,13927,null],[4614,13928,30298],[780,13929,null],[1452,13930,null],[6348,13931,null],[6690,13932,null],[7548,13933,null],[7542,13934,30310],[882,13935,null],[4962,13936,null],[6342,13937,30316],[12405,13938,30318],[4332,13939,null],[4956,13940,null],[1746,13941,null],[7590,13942,30326],[10887,13943,30328],[1686,13944,30330],[4092,13945,null],[1596,13946,null],[492,13947,null],[7020,13948,null],[4572,13949,null],[6402,13950,null],[6396,13951,null],[10709,13952,30346],[743,13953,null],[924,13954,null],[5820,13955,null],[731,13956,null],[1554,13957,null],[1602,13958,null],[8877,13959,null],[359,13960,null],[11277,13961,null],[3606,13962,30366],[3132,13963,null],[3420,13964,null],[202,13965,null],[274,13966,null],[156,13967,null],[11354,13968,null],[9578,13969,null],[8873,13970,null],[1698,13971,null],[6294,13972,30386],[6300,13973,null],[11413,13974,30390],[1254,13975,30392],[1756,13976,30394],[10871,13977,null],[9544,13978,null],[8372,13979,30400],[6005,13980,30402],[5669,13981,30404],[347,13982,null],[2610,13983,null],[342,13984,30410],[396,13985,null],[10868,13986,null],[10095,13987,null],[8369,13988,30418],[5873,13989,30420],[10064,13990,30422],[7074,13991,null],[5970,13992,null],[370,13993,null],[306,13994,null],[5334,13995,30432],[250,13996,null],[13064,13997,30436],[5861,13998,30438],[245,13999,30440],[346,14000,null],[11499,14001,30444],[1926,14002,30446],[5430,14003,30448],[1362,14004,null],[3750,14005,30452],[9946,14006,30454],[11985,14007,30456],[268,14008,30458],[2124,14009,null],[2646,14010,30462],[251,14011,null],[311,14012,null],[6210,14013,null],[8801,14014,30470],[3628,14015,30472],[11878,14016,30474],[244,14017,30476],[130,14018,null],[1308,14019,null],[3282,14020,null],[1302,14021,30484],[5478,14022,30486],[8797,14023,30488],[9886,14024,30490],[5664,14025,30492],[11573,14026,30494],[2125,14027,30496],[252,14028,null],[258,14029,null],[5628,14030,null],[876,14031,null],[385,14032,30506],[5250,14033,null],[354,14034,null],[5862,14035,30512],[3324,14036,null],[1825,14037,30516],[1164,14038,null],[3378,14039,null],[5292,14040,null],[1782,14041,30524],[3361,14042,30526],[10735,14043,30528],[2550,14044,30530],[167,14045,null],[5622,14046,30534],[1788,14047,null],[3084,14048,null],[5910,14049,30540],[7842,14050,null],[2694,14051,30544],[178,14052,null],[5766,14053,30548],[107,14054,null],[154,14055,null],[2652,14056,null],[155,14057,null],[972,14058,null],[246,14059,30560],[6246,14060,30562],[13146,14061,30564],[108,14062,null],[210,14063,null],[1260,14064,null],[6726,14065,30572],[3810,14066,null],[1878,14067,30576],[11411,14068,30578],[2934,14069,30580],[3474,14070,null],[6630,14071,30584],[5526,14072,30586],[5238,14073,30588],[1506,14074,null],[1158,14075,30592],[6438,14076,30594],[11385,14077,30596],[3414,14078,30598],[10899,14079,30600],[3792,14080,30602],[1740,14081,null],[5574,14082,30606],[3228,14083,null],[348,14084,null],[2022,14085,30612],[3078,14086,30614],[7734,14087,30616],[198,14088,30618],[300,14089,null],[6582,14090,30622],[2892,14091,null],[1026,14092,null],[1890,14093,null],[7206,14094,30630],[1500,14095,null],[2562,14096,null],[204,14097,null],[1266,14098,null],[7014,14099,30640],[3318,14100,30642],[5958,14101,30644],[546,14102,null],[1852,14103,30648],[10157,14104,null],[10505,14105,null],[5052,14106,null],[3612,14107,null],[2114,14108,30658],[5142,14109,30660],[11,14110,null],[4908,14111,null],[1828,14112,30666],[9547,14113,null],[10126,14114,null],[3666,14115,null],[534,14116,30674],[2514,14117,null],[4806,14118,30678],[726,14119,30680],[6918,14120,30682],[4764,14121,null],[3762,14122,null],[9754,14123,30688],[2322,14124,null],[4444,14125,30692],[2988,14126,null],[769,14127,30696],[4428,14128,null],[576,14129,30700],[4998,14130,30702],[390,14131,30704],[9752,14132,30706],[684,14133,null],[4420,14134,30710],[6,14135,30712],[774,14136,30714],[5100,14137,null],[1170,14138,null],[5185,14139,30720],[8789,14140,30722],[4674,14141,null],[10,14142,null],[9798,14143,30728],[6444,14144,null],[3222,14145,30732],[4668,14146,null],[7872,14147,30736],[6390,14148,30738],[8785,14149,30740],[3798,14150,30742],[397,14151,30744],[3100,14152,30746],[1632,14153,30748],[102,14154,30750],[1938,14155,null],[2412,14156,null],[5094,14157,30756],[3126,14158,30758],[4284,14159,null],[4914,14160,null],[4422,14161,30764],[540,14162,null],[3138,14163,null],[2262,14164,30770],[2460,14165,null],[6625,14166,30774],[8769,14167,30776],[2406,14168,30778],[2502,14169,30780],[588,14170,null],[4276,14171,null],[4470,14172,30786],[4524,14173,null],[4230,14174,30790],[6486,14175,30792],[1458,14176,null],[2364,14177,null],[3510,14178,30798],[2214,14179,30800],[2268,14180,null],[114,14181,null],[2370,14182,null],[4326,14183,30808],[5046,14184,30810],[1446,14185,30812],[5190,14186,30814],[4854,14187,30816],[2982,14188,30818],[486,14189,30820],[2898,14190,null],[4566,14191,30824],[6445,14192,30826],[582,14193,30828],[11383,14194,30830],[2509,14195,30832],[18,14196,null],[3697,14197,30836],[2497,14198,30838],[4338,14199,null],[3186,14200,null],[6774,14201,30844],[6678,14202,30846],[11381,14203,30848],[4386,14204,null],[10593,14205,30852],[34,14206,null],[4897,14207,30856],[11945,14208,30858],[2956,14209,null],[6822,14210,30862],[690,14211,null],[2932,14212,null],[2316,14213,null],[12,14214,null],[2418,14215,null],[4866,14216,null],[5004,14217,null],[678,14218,30878],[294,14219,30880],[4380,14220,null],[3468,14221,null],[2454,14222,30886],[4860,14223,null],[2994,14224,null],[3042,14225,null],[2274,14226,null],[1872,14227,30896],[738,14228,null],[8154,14229,30900],[7824,14230,30902],[12875,14231,30904],[7638,14232,30906],[5202,14233,null],[594,14234,null],[1020,14235,null],[4758,14236,30914],[4182,14237,30916],[8150,14238,30918],[13162,14239,30920],[11796,14240,30922],[642,14241,null],[8621,14242,30926],[4044,14243,null],[450,14244,null],[2358,14245,30932],[8507,14246,30934],[5093,14247,30936],[11849,14248,30938],[11288,14249,30940],[3234,14250,null],[8618,14251,30944],[630,14252,30946],[11526,14253,30948],[5010,14254,null],[4134,14255,30952],[10462,14256,30954],[11552,14257,30956],[13241,14258,30958],[3654,14259,30960],[5009,14260,30962],[3848,14261,30964],[11656,14262,30966],[4050,14263,null],[7302,14264,30970],[3942,14265,30972],[10732,14266,30974],[4662,14267,30976],[162,14268,null],[4902,14269,30980],[150,14270,30982],[2166,14271,30984],[8463,14272,30986],[781,14273,30988],[3996,14274,null],[12844,14275,30992],[11932,14276,30994],[10429,14277,30996],[768,14278,30998],[2508,14279,null],[3366,14280,31002],[1014,14281,31004],[444,14282,null],[4146,14283,null],[2784,14284,31010],[5184,14285,31012],[2310,14286,31014],[8495,14287,31016],[870,14288,31018],[636,14289,null],[4518,14290,31022],[1108,14291,31024],[1062,14292,31026],[11590,14293,31028],[12907,14294,31030],[11797,14295,31032],[11600,14296,31034],[2832,14297,31036],[6048,14298,31038],[3948,14299,null],[4950,14300,31042],[5149,14301,31044],[10897,14302,31046],[12501,14303,31048],[10591,14304,31050],[2833,14305,31052],[60,14306,null],[8467,14307,31056],[7158,14308,31058],[2178,14309,null],[4002,14310,null],[11700,14311,31064],[12914,14312,31066],[10185,14313,31068],[930,14314,null],[4177,14315,31072],[8503,14316,31074],[4038,14317,31076],[4086,14318,31078],[966,14319,31080],[11713,14320,31082],[11686,14321,31084],[4804,14322,31086],[918,14323,31088],[3990,14324,31090],[10886,14325,31092],[8483,14326,31094],[5670,14327,31096],[4752,14328,31098],[13161,14329,31100],[11772,14330,31102],[3648,14331,31104],[48,14332,31106],[8471,14333,31108],[6012,14334,null],[8475,14335,31112],[8662,14336,31114],[10388,14337,31116],[11569,14338,31118],[11130,14339,31120],[9796,14340,31122],[8627,14341,31124],[6198,14342,31126],[3030,14343,31128],[6006,14344,31130],[8659,14345,31132],[1265,14346,31134],[11685,14347,31136],[10898,14348,31138],[3076,14349,31140],[5105,14350,31142],[8653,14351,31144],[1117,14352,31146],[3894,14353,31148],[8656,14354,31150],[4374,14355,31152],[11729,14356,31154],[3565,14357,31156],[6637,14358,31158],[3984,14359,31160],[9591,14360,31162],[8487,14361,31164],[9270,14362,31166],[11568,14363,31168],[7684,14364,31170],[11574,14365,31172],[3840,14366,31174],[1405,14367,31176],[7873,14368,31178],[11559,14369,31180],[4189,14370,31182],[8459,14371,31184],[8650,14372,31186],[4278,14373,31188],[10853,14374,31190],[6196,14375,31192],[4434,14376,null],[7693,14377,31196],[5280,14378,31198],[5904,14379,31200],[9273,14380,31202],[11565,14381,31204],[2140,14382,31206],[13058,14383,31208],[5286,14384,31210],[7494,14385,31212],[6200,14386,31214],[96,14387,31216],[12394,14388,31218],[8479,14389,31220],[1393,14390,31222],[4465,14391,31224],[11869,14392,31226],[5485,14393,31228],[3709,14394,31230],[2065,14395,31232],[9825,14396,31234],[240,14397,31236],[8455,14398,31238],[1105,14399,31240],[4909,14400,31242],[11673,14401,31244],[5473,14402,31246],[7782,14403,31248],[11657,14404,31250],[11901,14405,31252],[11511,14406,31254],[10247,14407,31256],[13099,14408,31258],[11855,14409,31260],[11866,14410,31262],[3744,14411,31264],[11566,14412,31266],[0,14413,31268],[10244,14414,31270],[10241,14415,31272],[9822,14416,31274],[13059,14417,31276],[1776,14418,31278],[7728,14419,31280],[11864,14420,31282],[3462,14421,31284],[11724,14422,31286],[10914,14423,31288],[10704,14424,31290],[11678,14425,31292],[11615,14426,31294],[7396,14427,31296],[6816,14428,31298],[7889,14429,31300],[6432,14430,31302],[13145,14431,31304],[9377,14432,31306],[5725,14433,31308],[11829,14434,31310],[13248,14435,31312],[7877,14436,31314],[2116,14437,31316],[12433,14438,31318],[12378,14439,31320],[8941,14440,31322],[9375,14441,31324],[8754,14442,31326],[9984,14443,31328],[11766,14444,31330],[5186,14445,31332],[8917,14446,31334],[3841,14447,31336],[4704,14448,31338],[2836,14449,31340],[12881,14450,31342],[8699,14451,null],[4560,14452,31346],[13131,14453,31348],[6220,14454,31350],[2113,14455,31352],[5212,14456,31354],[11683,14457,31356],[4193,14458,31358],[11487,14459,31360],[3936,14460,31362],[8690,14461,null],[1392,14462,31366],[1969,14463,31368],[6865,14464,31370],[5136,14465,31372],[4717,14466,31374],[432,14467,31376],[1645,14468,31378],[8696,14469,null],[10974,14470,31382],[11911,14471,31384],[11939,14472,31386],[7157,14473,31388],[8684,14474,null],[11884,14475,31392],[7357,14476,31394],[3373,14477,31396],[8914,14478,31398],[10972,14479,31400],[12388,14480,31402],[8905,14481,31404],[8693,14482,null],[11697,14483,31408],[11723,14484,31410],[8745,14485,31412],[10706,14486,31414],[2886,14487,31416],[10970,14488,31418],[12379,14489,31420],[6672,14490,31422],[7169,14491,31424],[8902,14492,31426],[336,14493,31428],[11942,14494,31430],[4128,14495,31432],[10398,14496,31434],[10748,14497,31436],[12427,14498,31438],[7420,14499,31440],[3844,14500,31442],[3868,14501,31444],[1152,14502,31446],[11249,14503,31448],[12484,14504,31450],[5525,14505,null],[10844,14506,31454],[13126,14507,31456],[7708,14508,31458],[12420,14509,31460],[6912,14510,31462],[11768,14511,31464],[11247,14512,31466],[144,14513,31468],[2640,14514,31470],[1440,14515,31472],[12381,14516,31474],[5285,14517,null],[5713,14518,31478],[3133,14519,31480],[4828,14520,31482],[1104,14521,31484],[3121,14522,31486],[10238,14523,31488],[8672,14524,null],[11679,14525,31492],[5812,14526,31494],[5836,14527,31496],[4705,14528,31498],[3460,14529,31500],[8751,14530,31502],[13060,14531,31504],[5297,14532,null],[8687,14533,null],[13053,14534,31510],[1344,14535,31512],[10911,14536,31514],[3504,14537,31516],[10607,14538,31518],[10916,14539,31520],[12919,14540,31522],[11597,14541,31524],[3484,14542,31526],[2016,14543,31528],[7584,14544,31530],[11663,14545,31532],[5232,14546,31534],[10605,14547,31536],[11779,14548,31538],[13264,14549,31540],[10780,14550,31542],[7036,14551,31544],[11852,14552,31546],[12457,14553,31548],[8675,14554,null],[5284,14555,null],[12406,14556,31554],[11653,14557,31556],[8678,14558,null],[2256,14559,31560],[2592,14560,31562],[11524,14561,31564],[11752,14562,31566],[11885,14563,31568],[5537,14564,null],[12431,14565,31572],[11784,14566,31574],[11558,14567,31576],[1204,14568,null],[4512,14569,31580],[9432,14570,31582],[12451,14571,31584],[8911,14572,31586],[8908,14573,31588],[4848,14574,31590],[8499,14575,31592],[11689,14576,31594],[11881,14577,31596],[2160,14578,31598],[9434,14579,31600],[12454,14580,31602],[12900,14581,31604],[11647,14582,31606],[11523,14583,31608],[10842,14584,31610],[10396,14585,31612],[12410,14586,31614],[4032,14587,31616],[11560,14588,31618],[8555,14589,31620],[12883,14590,31622],[8552,14591,31624],[11259,14592,31626],[10560,14593,31628],[10746,14594,31630],[6556,14595,31632],[13282,14596,31634],[8812,14597,31636],[4517,14598,31638],[5520,14599,31640],[8561,14600,31642],[11896,14601,31644],[9609,14602,31646],[10442,14603,31648],[7025,14604,31650],[11497,14605,31652],[11941,14606,31786],[6292,14607,31793],[10707,14608,31804],[8814,14609,31811],[10458,14610,31814],[11234,14611,null],[11351,14612,null],[7468,14613,31847],[4001,14614,31857],[5596,14615,31864],[10705,14616,31875],[8811,14617,31882],[10455,14618,31885],[11203,14619,null],[11231,14620,null],[10522,14621,31918],[2644,14622,31928],[6925,14623,31934],[11860,14624,31936],[3600,14625,31947],[6920,14626,31952],[2812,14627,31955],[1084,14628,31957],[9884,14629,31959],[6205,14630,31972],[916,14631,31979],[11348,14632,null],[11200,14633,null],[11228,14634,null],[11261,14635,null],[11197,14636,null],[8366,14637,31997],[5908,14638,32000],[7261,14639,32008],[9360,14640,32014],[7400,14641,32016],[11940,14642,32027],[9332,14643,32032],[2788,14644,32035],[9466,14645,32037],[3604,14646,32039],[9330,14647,32052],[940,14648,32059],[11877,14649,32067],[13104,14650,32068],[13249,14651,32069],[11225,14652,null],[11258,14653,null],[8363,14654,32077],[10840,14655,null],[7549,14656,32088],[7405,14657,32094],[3842,14658,32096],[11379,14659,32098],[7681,14660,32104],[11958,14661,32109],[8765,14662,32113],[5137,14663,32115],[7880,14664,32118],[7885,14665,32120],[7345,14666,32122],[3264,14667,32125],[12470,14668,32136],[11966,14669,32143],[9608,14670,null],[11194,14671,null],[11070,14672,null],[11103,14673,null],[11039,14674,null],[11067,14675,null],[11100,14676,null],[11036,14677,null],[13121,14678,32162],[11971,14679,32163],[3580,14680,32166],[9611,14681,null],[6769,14682,32177],[7394,14683,32183],[6914,14684,32185],[11291,14685,32187],[8983,14686,32193],[11703,14687,32198],[10963,14688,32202],[5041,14689,32204],[4368,14690,32207],[11514,14691,32209],[7249,14692,32211],[11256,14693,32214],[11808,14694,32225],[12397,14695,32232],[9575,14696,null],[11771,14697,32241],[12886,14698,32242],[12906,14699,32243],[11619,14700,32245],[11892,14701,32246],[11982,14702,32247],[12510,14703,32250],[12455,14704,32251],[11906,14705,32252],[4924,14706,32255],[10565,14707,null],[11586,14708,32261],[11714,14709,32267],[6192,14710,32273],[11929,14711,32275],[13111,14712,32277],[4901,14713,32280],[7104,14714,32284],[11794,14715,32289],[11850,14716,32293],[7156,14717,32295],[12878,14718,32298],[7900,14719,32300],[12910,14720,32302],[11843,14721,32305],[10426,14722,32307],[10563,14723,32310],[8142,14724,32318],[1920,14725,32325],[7633,14726,32327],[10123,14727,null],[3556,14728,32334],[10154,14729,null],[7444,14730,32337],[10520,14731,32338],[12432,14732,32339],[5932,14733,32341],[10811,14734,null],[10808,14735,null],[8360,14736,32346],[8357,14737,32347],[10018,14738,32348],[10092,14739,null],[10502,14740,null],[10531,14741,null],[10562,14742,null],[10534,14743,null],[4900,14744,32358],[3805,14745,32361],[13242,14746,32367],[7828,14747,32373],[7392,14748,32375],[11651,14749,32377],[5192,14750,32380],[11493,14751,32384],[11844,14752,32389],[13147,14753,32393],[10460,14754,32395],[13123,14755,32398],[7876,14756,32400],[12463,14757,32402],[13256,14758,32405],[10017,14759,32407],[10155,14760,32410],[8130,14761,32418],[912,14762,32425],[2077,14763,32427],[11947,14764,32433],[11927,14765,32434],[13270,14766,32435],[11934,14767,32437],[11950,14768,32438],[11838,14769,32439],[11836,14770,32441],[11589,14771,32442],[11956,14772,32443],[11974,14773,32446],[12477,14774,32447],[11951,14775,32448],[13152,14776,32451],[12474,14777,32452],[13137,14778,32453],[11785,14779,32456],[12377,14780,32457],[11816,14781,32458],[11708,14782,32460],[9794,14783,32462],[12497,14784,32464],[2860,14785,32467],[7777,14786,32470],[7852,14787,32476],[2448,14788,32478],[11684,14789,32480],[4481,14790,32483],[11834,14791,32487],[11910,14792,32492],[11567,14793,32496],[965,14794,32498],[9002,14795,32501],[4853,14796,32503],[10896,14797,32505],[5376,14798,32508],[8633,14799,32510],[11682,14800,32513],[4180,14801,32516],[7645,14802,32521],[1697,14803,32523],[1685,14804,32524],[12872,14805,32525],[12422,14806,32532],[11814,14807,32534],[12486,14808,32535],[12418,14809,32536],[7537,14810,32542],[11731,14811,32543],[1824,14812,32544],[10298,14813,32546],[11914,14814,32547],[8828,14815,32548],[1876,14816,32550],[13093,14817,32551],[11880,14818,32552],[9944,14819,32555],[9860,14820,32556],[9858,14821,32557],[9750,14822,32560],[9748,14823,32561],[12392,14824,32562],[11984,14825,32565],[9196,14826,32566],[9194,14827,32567],[4944,14828,32569],[1372,14829,32571],[4997,14830,32573],[1132,14831,32576],[6061,14832,32579],[11973,14833,32585],[11672,14834,32587],[11835,14835,32589],[2120,14836,32592],[11917,14837,32596],[11671,14838,32601],[11496,14839,32605],[641,14840,32607],[4145,14841,32610],[4421,14842,32612],[10592,14843,32614],[13235,14844,32617],[4469,14845,32619],[12364,14846,32622],[4181,14847,32625],[5040,14848,32630],[1056,14849,32632],[12876,14850,32633],[1728,14851,32634],[11749,14852,32641],[12424,14853,32643],[11978,14854,32644],[12469,14855,32645],[11922,14856,32651],[11926,14857,32652],[11712,14858,32653],[13272,14859,32655],[13252,14860,32656],[13150,14861,32657],[11925,14862,32659],[11908,14863,32660],[13158,14864,32661],[11916,14865,32664],[12465,14866,32665],[12851,14867,32666],[11981,14868,32669],[6480,14869,32670],[12372,14870,32671],[13250,14871,32674],[11913,14872,32675],[12389,14873,32676],[8748,14874,32678],[9242,14875,32680],[1348,14876,32681],[9240,14877,32682],[12885,14878,32684],[8624,14879,32685],[11872,14880,32686],[4204,14881,32689],[6145,14882,32692],[11747,14883,32698],[4416,14884,32700],[6049,14885,32702],[3853,14886,32705],[6193,14887,32709],[11715,14888,32714],[11548,14889,32718],[629,14890,32720],[9638,14891,32721],[9636,14892,32722],[4156,14893,32725],[9005,14894,32727],[10590,14895,32729],[10184,14896,32730],[10182,14897,32731],[6096,14898,32734],[4709,14899,32736],[11557,14900,32739],[8938,14901,32742],[4176,14902,32747],[7180,14903,32749],[1505,14904,32750],[1493,14905,32751],[13275,14906,32754],[13052,14907,32757],[11781,14908,32760],[11638,14909,32762],[12380,14910,32763],[11946,14911,32764],[8781,14912,32770],[8777,14913,32771],[8773,14914,32772],[13105,14915,32774],[11921,14916,32775],[6720,14917,32776],[1900,14918,32778],[9498,14919,32779],[9495,14920,32780],[10048,14921,32783],[10045,14922,32784],[11979,14923,32785],[6877,14924,32788],[3793,14925,32789],[12462,14926,32790],[5053,14927,32793],[6781,14928,32794],[12877,14929,32795],[11531,14930,32797],[12434,14931,32799],[11799,14932,32800],[11506,14933,32801],[11607,14934,32803],[11550,14935,32804],[384,14936,32805],[12918,14937,32808],[7776,14938,32811],[11751,14939,32817],[8772,14940,32819],[11617,14941,32821],[6913,14942,32824],[6194,14943,32828],[11976,14944,32833],[1060,14945,32837],[11919,14946,32839],[11570,14947,32840],[11977,14948,32841],[4133,14949,32844],[4433,14950,32846],[4320,14951,32848],[11681,14952,32849],[13138,14953,32850],[12443,14954,32853],[5141,14955,32855],[12855,14956,32858],[11339,14957,32861],[11488,14958,32866],[11585,14959,32868],[11944,14960,32869],[1488,14961,32870],[11516,14962,32873],[12415,14963,32876],[11801,14964,32879],[13151,14965,32881],[12453,14966,32882],[3360,14967,32883],[11980,14968,32889],[11509,14969,32890],[11613,14970,32891],[11741,14971,32893],[12400,14972,32894],[12861,14973,32895],[11554,14974,32897],[11612,14975,32898],[13101,14976,32899],[11666,14977,32902],[12390,14978,32903],[12456,14979,32904],[12887,14980,32907],[11727,14981,32908],[2496,14982,32909],[13120,14983,32912],[11572,14984,32913],[13243,14985,32914],[12916,14986,32916],[11598,14987,32918],[5153,14988,32919],[11770,14989,32920],[11662,14990,32922],[11484,14991,32923],[11660,14992,32924],[11245,14993,32927],[5905,14994,32930],[11972,14995,32936],[12367,14996,32938],[7105,14997,32940],[12440,14998,32943],[10013,14999,32947],[12374,15000,32949],[4080,15001,32953],[11986,15002,32957],[10200,15003,32958],[8437,15004,32959],[12898,15005,32961],[4132,15006,32962],[4865,15007,32963],[8796,15008,32966],[8784,15009,32967],[8788,15010,32968],[8780,15011,32970],[8800,15012,32971],[8792,15013,32972],[11968,15014,32974],[12504,15015,32975],[11827,15016,32976],[11395,15017,32979],[5201,15018,32981],[8630,15019,32982],[5189,15020,32983],[9655,15021,32986],[11337,15022,32989],[11325,15023,32990],[11323,15024,32991],[1008,15025,32996],[5088,15026,32998],[4673,15027,32999],[4661,15028,33000],[3888,15029,33003],[11762,15030,33006],[6240,15031,33009],[10014,15032,33011],[9467,15033,33012],[9464,15034,33013],[12375,15035,33015],[10960,15036,33020],[10957,15037,33021],[10954,15038,33022],[8808,15039,33024],[11006,15040,33025],[11004,15041,33026],[9463,15042,33028],[9512,15043,33029],[9510,15044,33030],[10016,15045,33033],[7680,15046,33034],[10062,15047,33035],[11782,15048,33038],[4224,15049,33039],[7881,15050,33040],[13062,15051,33043],[12419,15052,33044],[7632,15053,33045],[10913,15054,33047],[11646,15055,33049],[12500,15056,33050],[13142,15057,33051],[11874,15058,33053],[12395,15059,33054],[12403,15060,33055],[11243,15061,33058],[6433,15062,33061],[8764,15063,33067],[10734,15064,33069],[3553,15065,33071],[9800,15066,33074],[10128,15067,33078],[11530,15068,33080],[11967,15069,33084],[11621,15070,33088],[11618,15071,33089],[13114,15072,33090],[11562,15073,33092],[11832,15074,33093],[11903,15075,33094],[12869,15076,33097],[12404,15077,33098],[11622,15078,33099],[13232,15079,33101],[12859,15080,33102],[11556,15081,33103],[12873,15082,33105],[11902,15083,33106],[11677,15084,33107],[11147,15085,33110],[672,15086,33112],[3072,15087,33113],[11670,15088,33114],[9653,15089,33117],[11584,15090,33120],[13132,15091,33121],[11692,15092,33122],[11578,15093,33127],[11935,15094,33129],[11594,15095,33130],[11931,15096,33131],[11627,15097,33134],[11648,15098,33137],[7008,15099,33140],[12384,15100,33142],[12505,15101,33143],[13149,15102,33144],[11750,15103,33146],[11952,15104,33151],[11510,15105,33152],[6528,15106,33153],[13113,15107,33155],[12502,15108,33156],[13091,15109,33157],[11862,15110,33159],[11879,15111,33160],[11603,15112,33161],[13273,15113,33164],[11970,15114,33165],[13115,15115,33166],[11812,15116,33169],[12396,15117,33170],[12425,15118,33171],[11815,15119,33174],[13258,15120,33175],[11813,15121,33176],[10888,15122,33178],[7837,15123,33180],[7825,15124,33181],[7682,15125,33182],[11707,15126,33184],[11717,15127,33185],[11507,15128,33186],[11688,15129,33189],[12473,15130,33190],[12848,15131,33191],[4300,15132,null],[12506,15133,33196],[10962,15134,33201],[10953,15135,33202],[8768,15136,33203],[10731,15137,33205],[10428,15138,33206],[10425,15139,33207],[12369,15140,33209],[12428,15141,33212],[4913,15142,33213],[4721,15143,33214],[2880,15144,33217],[10130,15145,33219],[11937,15146,33220],[12450,15147,33221],[10702,15148,33223],[12494,15149,33227],[12491,15150,33231],[10172,15151,33232],[10174,15152,33233],[6940,15153,33235],[6916,15154,33236],[5188,15155,33237],[11644,15156,33240],[3312,15157,33241],[4656,15158,33242],[8776,15159,33244],[6288,15160,33245],[11924,15161,33246],[11702,15162,33248],[13144,15163,33249],[5472,15164,33250],[192,15165,33253],[7393,15166,33255],[5057,15167,33256],[5045,15168,33257],[11486,15169,33260],[5712,15170,33263],[11295,15171,33264],[11293,15172,33265],[11806,15173,33270],[13140,15174,33272],[12439,15175,33273],[11599,15176,33274],[10708,15177,33277],[11611,15178,33280],[11735,15179,33283],[12912,15180,33285],[11793,15181,33286],[11786,15182,33287],[8681,15183,null],[8980,15184,33294],[11427,15185,33295],[11425,15186,33296],[5572,15187,33298],[4588,15188,33299],[4564,15189,33300],[1516,15190,33302],[9358,15191,33303],[1492,15192,33304],[9914,15193,33307],[3244,15194,33308],[3220,15195,33309],[7826,15196,33312],[5197,15197,33313],[7688,15198,33314],[7832,15199,33317],[11601,15200,33318],[11893,15201,33319],[10782,15202,33321],[12393,15203,33323],[11680,15204,33324],[11719,15205,33325],[11962,15206,33327],[11609,15207,33328],[13253,15208,33329],[11577,15209,33332],[11538,15210,33333],[13254,15211,33334],[11759,15212,33337],[11753,15213,33339],[11890,15214,33344],[12879,15215,33345],[11936,15216,33346],[3552,15217,33348],[12857,15218,33349],[13154,15219,33350],[11895,15220,33352],[13141,15221,33355],[13129,15222,33356],[2112,15223,33357],[12508,15224,33360],[11711,15225,33362],[11602,15226,33363],[13128,15227,33364],[9986,15228,33366],[6576,15229,33370],[12429,15230,33374],[1968,15231,33375],[13133,15232,33376],[11824,15233,33378],[11571,15234,33379],[4992,15235,33380],[12868,15236,33383],[12892,15237,33384],[5328,15238,33385],[12480,15239,33387],[11579,15240,33388],[12862,15241,33389],[13160,15242,33391],[11899,15243,33392],[12503,15244,33393],[8951,15245,33396],[12370,15246,33398],[12447,15247,33399],[12890,15248,33400],[11637,15249,33403],[11695,15250,33406],[11581,15251,33407],[11955,15252,33408],[11701,15253,33413],[11588,15254,33415],[12376,15255,33416],[13280,15256,33417],[1248,15257,33420],[11543,15258,33423],[11513,15259,33426],[12513,15260,33428],[13283,15261,33429],[11696,15262,33430],[11833,15263,33432],[11730,15264,33437],[11722,15265,33438],[12863,15266,33439],[12387,15267,33441],[6960,15268,33442],[11963,15269,33443],[13233,15270,33445],[11891,15271,33446],[11555,15272,33447],[11721,15273,33450],[11853,15274,33451],[11907,15275,33452],[11807,15276,33455],[12475,15277,33456],[11798,15278,33457],[13103,15279,33460],[13136,15280,33461],[12489,15281,33462],[10152,15282,33464],[11969,15283,33466],[11645,15284,33467],[11790,15285,33468],[11856,15286,33470],[11553,15287,33471],[11635,15288,33472],[11498,15289,33475],[11726,15290,33476],[11694,15291,33477],[5308,15292,null],[8573,15293,33481],[8570,15294,33482],[1228,15295,null],[12363,15296,33485],[3168,15297,33486],[4477,15298,33491],[7344,15299,33492],[11811,15300,33493],[11826,15301,33495],[11705,15302,33496],[11888,15303,33497],[1680,15304,33499],[8959,15305,33500],[8963,15306,33501],[11515,15307,33504],[528,15308,33505],[12870,15309,33506],[7013,15310,33509],[2845,15311,33511],[7117,15312,33512],[5917,15313,33513],[10440,15314,33515],[8549,15315,33519],[11537,15316,33523],[864,15317,33524],[11605,15318,33525],[11909,15319,33527],[11959,15320,33528],[11592,15321,33529],[11863,15322,33532],[11623,15323,33533],[12408,15324,33534],[12483,15325,33536],[12909,15326,33537],[11582,15327,33538],[11823,15328,33540],[3456,15329,33541],[6144,15330,33542],[12498,15331,33545],[8992,15332,33547],[2208,15333,33548],[8995,15334,33549],[11349,15335,33552],[11606,15336,33555],[11875,15337,33556],[11485,15338,33557],[11575,15339,33562],[11774,15340,33563],[11691,15341,33564],[11549,15342,33566],[12452,15343,33567],[13259,15344,33568],[8809,15345,33571],[11561,15346,33574],[8824,15347,33575],[8821,15348,33576],[4277,15349,33579],[10183,15350,33581],[9639,15351,33582],[9637,15352,33583],[480,15353,33585],[6768,15354,33586],[11805,15355,33587],[11289,15356,33592],[11133,15357,33593],[11131,15358,33594],[11930,15359,33596],[8755,15360,33597],[8752,15361,33598],[7789,15362,33600],[12884,15363,33601],[6157,15364,33602],[11915,15365,33605],[2668,15366,33606],[11710,15367,33607],[11882,15368,33610],[4896,15369,33611],[7440,15370,33612],[11900,15371,33615],[12488,15372,33616],[12441,15373,33617],[9606,15374,33619],[13066,15375,33621],[11769,15376,33622],[11631,15377,33623],[12893,15378,33625],[11654,15379,33626],[11787,15380,33627],[4608,15381,33630],[11953,15382,33631],[2064,15383,33632],[13116,15384,33635],[12459,15385,33636],[12896,15386,33637],[11732,15387,33639],[6624,15388,33640],[13127,15389,33641],[11889,15390,33646],[13109,15391,33647],[13135,15392,33648],[6864,15393,33650],[4800,15394,33651],[12915,15395,33652],[11610,15396,33654],[12492,15397,33655],[11658,15398,33656],[11704,15399,33659],[12511,15400,33660],[12913,15401,33661],[6532,15402,33664],[12499,15403,33666],[11665,15404,33667],[11616,15405,33668],[10030,15406,33670],[4529,15407,33674],[12904,15408,33678],[12442,15409,33679],[13065,15410,33680],[11535,15411,33682],[11822,15412,33683],[13260,15413,33684],[11842,15414,33687],[13119,15415,33688],[11887,15416,33689],[1296,15417,33691],[12895,15418,33692],[11819,15419,33693],[13239,15420,33695],[3120,15421,33696],[13056,15422,33697],[10869,15423,33700],[12908,15424,33702],[12897,15425,33703],[3216,15426,33704],[11346,15427,33707],[13274,15428,33710],[11690,15429,33711],[12437,15430,33712],[12478,15431,33717],[3696,15432,33718],[11495,15433,33719],[12846,15434,33721],[12509,15435,33722],[7152,15436,33723],[8806,15437,33726],[5760,15438,33729],[4464,15439,33730],[11676,15440,33731],[8558,15441,33734],[12436,15442,33736],[13251,15443,33737],[13245,15444,33738],[11886,15445,33740],[11563,15446,33741],[960,15447,33742],[13257,15448,33747],[11698,15449,33748],[11894,15450,33749],[12398,15451,33751],[11883,15452,33752],[12481,15453,33753],[11870,15454,33755],[13247,15455,33756],[11821,15456,33757],[11964,15457,33760],[13063,15458,33761],[12368,15459,33762],[11716,15460,33765],[11756,15461,33766],[13122,15462,33767],[11517,15463,33770],[13097,15464,33771],[12458,15465,33772],[10866,15466,33774],[11687,15467,33775],[11576,15468,33776],[11918,15469,33778],[13125,15470,33779],[11643,15471,33780],[12858,15472,33782],[11858,15473,33783],[13098,15474,33784],[10197,15475,33787],[10199,15476,33788],[11583,15477,33789],[12412,15478,33792],[8567,15479,33793],[8564,15480,33794],[13267,15481,33796],[12407,15482,33797],[11521,15483,33798],[11791,15484,33803],[5616,15485,33804],[11541,15486,33805],[11809,15487,33807],[12871,15488,33808],[11854,15489,33809],[2928,15490,33811],[11718,15491,33812],[8955,15492,33813],[11596,15493,33816],[11393,15494,33817],[11305,15495,33818],[12446,15496,33821],[12512,15497,33822],[8491,15498,33823],[11149,15499,33825],[11303,15500,33826],[12865,15501,33827],[10028,15502,33829],[9480,15503,33830],[9478,15504,33831],[8546,15505,33835],[4012,15506,33836],[12495,15507,33837],[2976,15508,33841],[11435,15509,33842],[8986,15510,33843],[11831,15511,33845],[11520,15512,33846],[11920,15513,33847],[11659,15514,33850],[12399,15515,33851],[11865,15516,33852],[11604,15517,33854],[11545,15518,33855],[12444,15519,33856],[12417,15520,33858],[11789,15521,33859],[12479,15522,33860],[12445,15523,33863],[11098,15524,33864],[8947,15525,33865],[11439,15526,33867],[11441,15527,33868],[11437,15528,33869],[11101,15529,33872],[11352,15530,33873],[11355,15531,33874],[11624,15532,33877],[11539,15533,33878],[11494,15534,33879],[11961,15535,33884],[11641,15536,33885],[12391,15537,33886],[12471,15538,33888],[11868,15539,33889],[11847,15540,33890],[8803,15541,33893],[11042,15542,33894],[11040,15543,33895],[11825,15544,33898],[8818,15545,33899],[8815,15546,33900],[4289,15547,33903],[3989,15548,33904],[3988,15549,33905],[11630,15550,33907],[12460,15551,33908],[12472,15552,33909],[11546,15553,33911],[11664,15554,33912],[11650,15555,33913],[8943,15556,33918],[12402,15557,33919],[8989,15558,33920],[10703,15559,33922],[10399,15560,33923],[10397,15561,33924],[9435,15562,33926],[9433,15563,33927],[12867,15564,33928],[11845,15565,33931],[9987,15566,33932],[9985,15567,33933],[13107,15568,33936],[11636,15569,33937],[11632,15570,33938],[7488,15571,33941],[11614,15572,33942],[11593,15573,33943],[11737,15574,33945],[13110,15575,33946],[11775,15576,33947],[11633,15577,33949],[11757,15578,33950],[11761,15579,33951],[2400,15580,33953],[11804,15581,33954],[11502,15582,33955],[13055,15583,33958],[11780,15584,33959],[13163,15585,33960],[11788,15586,33963],[11736,15587,33964],[13266,15588,33965],[12365,15589,33967],[12416,15590,33968],[11634,15591,33969],[11740,15592,33974],[11748,15593,33975],[13108,15594,33976],[11792,15595,33978],[11661,15596,33979],[6384,15597,33980],[7200,15598,33982],[11544,15599,33983],[12864,15600,33984],[7056,15601,33987],[11642,15602,33988],[11777,15603,33989],[12476,15604,33992],[11527,15605,33993],[11755,15606,33994],[2736,15607,33996],[11873,15608,33997],[11859,15609,33998],[12903,15610,34000],[12485,15611,34001],[11628,15612,34002],[12366,15613,34006],[2304,15614,34007],[11818,15615,34008],[11489,15616,34012],[13277,15617,34013],[816,15618,34014],[11765,15619,34016],[11763,15620,34017],[13102,15621,34018],[13153,15622,34021],[11800,15623,34022],[13234,15624,34023],[11512,15625,34025],[11743,15626,34026],[11525,15627,34027],[11898,15628,34029],[11734,15629,34030],[13157,15630,34031],[11817,15631,34034],[11668,15632,34035],[12401,15633,34036],[12845,15634,34038],[12854,15635,34039],[12917,15636,34040],[11639,15637,34043],[1536,15638,34044],[11754,15639,34045],[11629,15640,34048],[11519,15641,34049],[11975,15642,34050],[12421,15643,34055],[11776,15644,34056],[13124,15645,34057],[12383,15646,34059],[11773,15647,34060],[11745,15648,34061],[11760,15649,34064],[288,15650,34065],[3408,15651,34066],[13089,15652,34069],[11767,15653,34070],[5856,15654,34071],[13281,15655,34074],[11742,15656,34075],[12852,15657,34076],[11948,15658,34078],[11783,15659,34079],[13095,15660,34080],[624,15661,34082],[11501,15662,34083],[11733,15663,34084],[11608,15664,34089],[3024,15665,34090],[12423,15666,34091],[11739,15667,34093],[12386,15668,34094],[11746,15669,34095],[11867,15670,34097],[11547,15671,34098],[11957,15672,34099],[11851,15673,34102],[13117,15674,34103],[11655,15675,34104],[12905,15676,34107],[11706,15677,34108],[11626,15678,34109],[12901,15679,34112],[720,15680,34113],[11802,15681,34114]]} diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/sussman/pr193-blocks.json b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/sussman/pr193-blocks.json new file mode 100644 index 0000000000..aeb5da69b2 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/references/sussman/pr193-blocks.json @@ -0,0 +1,49 @@ +{ + "N": 262944, + "R": 9412, + "blocks": { + "c": { + "20": 22 + }, + "s": { + "1": 23898, + "10": 930, + "11": 354, + "12": 1197, + "13": 127, + "14": 742, + "15": 1879, + "16": 88, + "17": 81, + "18": 13, + "19": 167, + "2": 11078, + "3": 9923, + "4": 4209, + "5": 1950, + "6": 1605, + "7": 706, + "8": 1531, + "9": 429 + }, + "x": { + "1": 1320, + "18": 1320, + "2": 1320 + }, + "y": { + "1": 3960, + "18": 1320 + } + }, + "cst": 440, + "file_sha256": "15251deb0c11e0504d7b297c9786818888a93f08b92b03c6c122784b70488633", + "frames": 18248, + "gates_A": 12158, + "gates_B": 30878, + "h": 22, + "source": "jacobalansussman/wht-power-saving-lean tools/certificate/gcert1-p11-pr193.json.gz at commit f010392c (Jacob Sussman, Apache-2.0): the rebuilt paired-cube circuit of PR #193", + "uncompressed_sha256": "c64d2a95431c3cf24452de7391cce780bd71521da44ce23923ebb235f6c7962c", + "v": 1320, + "whole_block_saving_lean": "7474547/10^10 (Sussman, proved in Lean; gxdry.py: 7474549 holds, 7474550 fails)" +} \ No newline at end of file diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/moment.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/moment.py new file mode 100644 index 0000000000..11c622d33c --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/moment.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +"""Exact upper bound of the batched tensor moment sum_rho n_rho (rho/m)^theta, theta = 1 - a. + +Adapted from scripts/verify_moment.py of eumemic/exact-dft-bounds (eumemic, Claude assistance, Apache-2.0), +commit 6f87d1a0c9ae462cdcb2034a1361c87623221e66, which this package credits for the batched tensor recursion +(Theorem 3.1 there) and these bounds: + (rho/m)^theta = (rho/m) * exp(a * ln(m/rho)), + ln(x) <= 2*sum_{j= 1 + y = (x - 1) / (x + 1) + y2 = y * y + grid = 10**60 + s = 0 + p = y + for j in range(terms): + k = 2 * j + 1 + t = p / k + s += -((-t.numerator * grid) // t.denominator) + p *= y2 + if p < Fraction(1, 10**70): + break + k = 2 * (j + 1) + 1 + tail = 2 * p / (k * (1 - y2)) + return Fraction(2 * s, grid) + tail + + +def exp_upper(x): + assert 0 <= x < 3 + return 1 + x + x * x / (2 * (1 - x / 3)) + + +def moment_margin(m, W, hist, a): + """W minus an exact upper bound of sum_rho n_rho (rho/m)^(1-a); positive means the moment is below W.""" + assert all(1 <= r < m for r in hist), 'every child must be strictly narrower than a role' + total = Fraction(0) + for r, n in sorted(hist.items()): + total += n * Fraction(r, m) * exp_upper(a * ln_upper(Fraction(m, r))) + return W - total, total diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/NOTICE b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/NOTICE new file mode 100644 index 0000000000..520559625d --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/NOTICE @@ -0,0 +1,21 @@ +scripts/source527/moment.py and scripts/source527/base_two_moment.py are vendored byte for byte from +CrocSwap/integer-mult-bounds, research/five-stage-source527-banks/ at commit +b07cafe23202d22d832961a04b07d48d9b245e10 ("Import audited source527 checkpoint from PR210", eumemic). + +sha256 + 9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7 moment.py + aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098 base_two_moment.py + +Licence: Apache-2.0 (that package's LICENSE). Attribution as stated in that package's NOTICE.md: "The source527 +construction builds on eumemic's PR210 source reuse and target transforms, sennemmi's PR230 operation-frame changes, +Dugongue's PR216 and PR207, Rohan Arun's PR211, Chafik Boukhalfa's PR200, Evan McKinney's completed bank work, and +their retained dependencies ... prepared by eumemic with substantial OpenAI Codex assistance. All earlier contributor +notices and assistance disclosures remain in the supplied source material." The five-stage architecture is Henry +Grant / hcg890's PR234. + +Only moment.moment, moment.certify, moment.decimal and base_two_moment.moment are called (verify.py, coarse()): two +independent exact rational enclosures of the normalized five-stage moment, the first with the inherited 10^-16 +bad-class fallback envelope (32 m^2 rank-one calls per paid child) as its `bad` option, the second without it (the +envelope is added as a separate rank-one term, as PR315's math_check.py does). moment.price (p = 12 constants) is +not called. Both files are unchanged; PR315 vendors the same base_two_moment.py and a moment.py whose only change is +in price(). diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/base_two_moment.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/base_two_moment.py new file mode 100644 index 0000000000..14a90fa0e7 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/base_two_moment.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""Maintainer arithmetic cross-check of the pinned PR39 certificate. + +Uses no producer/checker imports. Counts are inputs, not proved by this script. +80-term rational logarithms and 12-term exponentials independently enclose +the two moments. The accompanying written review addresses their realization. +""" +import argparse +from fractions import Fraction as Q +from hashlib import sha256 +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +GRID = 10**30 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + lo = 2*sum((z**(2*j+1)/(2*j+1) for j in range(80)), Q(0)) + return lo, lo+2*z**161/(161*(1-z*z)) + + +def log_bounds(x): + k = 0 + while x > 2: + x /= 2 + k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + # Outward rational rounding keeps later certificates compact. + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + + +def exp_bounds(x): + require(0 <= x < 1, "exponential range") + term = total = Q(1) + for j in range(1, 13): + term *= x/j + total += term + tail = term*x/13/(1-x/14) + return total, total+tail + + +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lower = exp_bounds(saving*l)[0] + upper = exp_bounds(saving*u)[1] + lo += Q(t*count, m*W)*lower + hi += Q(t*count, m*W)*upper + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/moment.py b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/moment.py new file mode 100644 index 0000000000..1e43aaeaca --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/vendor/pr327/scripts/source527/moment.py @@ -0,0 +1,114 @@ +"""Independent prospective ordinary five-stage cost, never supplier admission. + +Consumes a raw one-invocation ledger made from the actual source/internal/target +paths. No packed profile is used as an input. Missing physical/finite/compiler +obligations must remain explicit in the accompanying report. +""" +from collections import Counter +from decimal import Decimal, localcontext, ROUND_FLOOR +from fractions import Fraction as F +from functools import lru_cache +from math import factorial +import hashlib, json, sys +from pathlib import Path + +DYAD = 1 << 224 + +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) + +@lru_cache(None) +def logarithm(x): + """Mercator bounds after binary reduction; ln(2) via two Mercator sums. + + For 1 <= y < 2, log(y) is an alternating series in z=y-1. + We instead reduce to 1 <= y < 3/2, and bound log(3/2) and + log(2) by the same alternating series at z=1/2 and z=1/3, + using log(2)=log(3/2)+log(4/3). All sums are exact rationals. + """ + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + def mercator(y): + z=y-1 + assert 0 <= z <= F(1,2) + # An even partial sum is below log; the next term bounds its tail. + t=z; s=F(0) + for n in range(1, 225): + s += (t if n & 1 else -t)/n + t *= z + return s, s+t/225 + a,b=mercator(x); c,d=mercator(F(3,2)); e,f=mercator(F(4,3)) + return floor(a+(k+j)*c+k*e), ceil(b+(k+j)*d+k*f) + +def exponential(l,u): + assert 0 <= l <= u < F(1,10) + def poly(x): + s=t=F(1) + for j in range(1,25): t=t*x/j; s+=t + return s,t + lo,_=poly(l);hi,last=poly(u) + return floor(lo),ceil(hi+last*u/25/(1-u/26)) + +def moment(H,m,W,a,bad=False): + lo=hi=F(0) + for r,n in H.items(): + assert 0 < r < m and n > 0 + l,u=logarithm(F(m,r)); e,f=exponential(a*l,a*u) + p=F(r*n,m*W);lo+=p*e;hi+=p*f + if bad: + # Existing envelope shape, only conditionally portable to the new cover. + l,u=logarithm(F(m));e,f=exponential(a*l,a*u) + p=F(32*m*sum(H.values()),10**16*W) + lo+=p*e;hi+=p*f + return floor(lo),ceil(hi) + +def decimal(x): + with localcontext() as c: + c.prec=70 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def certify(H,m,W,bad=False): + with localcontext() as c: + c.prec=70 + terms=[(Decimal(r*n)/Decimal(m*W),(Decimal(m)/Decimal(r)).ln()) for r,n in H.items()] + fallback=Decimal(32*m*sum(H.values()))/Decimal(10**16*W) if bad else Decimal(0) + lm=Decimal(m).ln();lo=Decimal(0);hi=Decimal('.003') + for _ in range(210): + a=(lo+hi)/2 + if sum(p*(a*l).exp() for p,l in terms)+fallback*(a*lm).exp()<1:lo=a + else:hi=a + q=int(((lo+hi)/2*10**24).to_integral_value(rounding=ROUND_FLOOR)) + lo=F(q,10**24);hi=lo+F(1,10**24) + lv=moment(H,m,W,lo,bad);hv=moment(H,m,W,hi,bad) + assert lv[1]<1 0: + k += 1 + return Q(k, 10**7) + + +def price(name, five, a): + """the 10^-7 claim: PR #225's exact upper bound below W at a, without (PR #304's convention) and with the 10^-16 + fallback envelope of the five-stage packages (32 m^2 rank-one calls per paid child, weight 10^-16); the next grid + point fails PR #225's upper bound and is rejected by source527's exact LOWER bound even without the fallback.""" + hist = {int(r): n for r, n in five['child_histogram'].items()} + m, W = five['m'], five['W'] + margin, total = moment_margin(m, W, hist, a) + assert margin > 0, '%s: five-stage moment not below W at a = %s' % (name, grid(a)) + calls = sum(hist.values()) + with_fallback = dict(hist) + with_fallback[1] = with_fallback.get(1, 0) + Q(32 * m * m * calls) * FALLBACK_WEIGHT + margin_fb, total_fb = moment_margin(m, W, with_fallback, a) + assert margin_fb > 0, '%s: five-stage moment with the 10^-16 fallback not below W at a = %s' % (name, grid(a)) + nxt = a + GRID7 + margin_next, _ = moment_margin(m, W, hist, nxt) + assert margin_next <= 0, '%s: the next grid point %s also passes; raise the claim' % (name, grid(nxt)) + lower_next, _ = S527.moment(hist, m, W, nxt, False) + assert lower_next > 1, '%s: the next grid point %s is not excluded by an exact lower bound' % (name, grid(nxt)) + scale = 10**30 + up = lambda t: -((-t.numerator * scale) // t.denominator) + return dict(a=grid(a), moment_upper_bound='%d/10^30' % up(total), margin_lower_bound='%d/10^30' % (W * scale - up(total)), + with_fallback=dict(moment_upper_bound='%d/10^30' % up(total_fb), margin_lower_bound='%d/10^30' % (W * scale - up(total_fb)), + fallback_rank_one_calls='32 m^2 x %d x 10^-16' % calls), + next_grid_point=grid(nxt), next_grid_point_rejected=True, + next_grid_point_normalized_moment_lower_bound=str(lower_next)) + + +def coarse(name, five, a): + """the coarse saving b as the five-stage packages certify a complex supplier (PR #315's math_check): the largest + 10^-18 grid point at which the normalized moment WITH the 10^-16 fallback envelope is below 1, by both exact + engines (source527 moment.py and base_two_moment.py), the next 10^-18 point excluded by both; the root without + the fallback (PR #304's convention) is certified the same way and recorded.""" + H = {int(r): n for r, n in five['child_histogram'].items()} + m, W = five['m'], five['W'] + fallback = 32 * m * m * sum(H.values()) + out = {} + for label, bad in (('with_fallback', True), ('without_fallback', False)): + root = S527.certify(H, m, W, bad) + b = Q(int(Q(root['lower']) * 10**18), 10**18) + cm = S527.moment(H, m, W, b, bad) + nextcm = S527.moment(H, m, W, b + GRID18, bad) + assert cm[1] < 1 < nextcm[0], '%s: coarse %s not certified by moment.py' % (name, label) + _, upper = B2M.moment(m, W, list(H.items()), b) + lower, _ = B2M.moment(m, W, list(H.items()), b + GRID18) + if bad: + _, badupper = B2M.moment(m, W, [(1, fallback)], b) + badlower, _ = B2M.moment(m, W, [(1, fallback)], b + GRID18) + upper, lower = upper + FALLBACK_WEIGHT * badupper, lower + FALLBACK_WEIGHT * badlower + assert upper < 1 < lower, '%s: coarse %s not certified by base_two_moment.py' % (name, label) + out[label] = dict(b=grid18(b), b_decimal=S527.decimal(b), moment_interval=[str(cm[0]), str(cm[1])], + next_grid_point=grid18(b + GRID18), next_moment_lower_bound=str(nextcm[0]), + base_two_upper=str(upper), base_two_next_lower=str(lower)) + b = Q(out['with_fallback']['b'].split('/')[0]) / 10**18 + b0 = Q(out['without_fallback']['b'].split('/')[0]) / 10**18 + assert a <= b < b0 < a + GRID7, '%s: the coarse savings do not bracket the 10^-7 claim' % name + out['fallback_cost'] = grid18(b0 - b) + out['scope'] = ('10^-16 and 32 m^2 rank-one fallback calls per paid child are the five-stage packages\' inherited ' + 'envelope, applied here at m = 5h = 100; not a new m = 5h admission') + return out + + +def admit(root, tree, cand): + """PR #233's step 3: admit the word's physical layer with PR #200's complete complex checker.""" + from paired_cube.closure import compile_closure # noqa: E402 (the rebuilt tree's scripts/) + from paired_cube_physical import physical # noqa: E402 + cache = tree / 'cache' + g, w, word, row = (read(cache / n) for n in ('graph.json', 'frames.json', 'selection.json', 'record.json')) + frames = read(tree / 'references/paired-cube/physical/frames.json')['frames'] + pairs = read(tree / 'references/paired-cube/physical/pairs.json')['pairs'] + baseline, _ = compile_closure(g, [[x, c] for x, c in w['matching_arcs']]) + profile = physical(g, w, word, row, frames, pairs) + assert json.loads(json.dumps(profile)) == read(tree / 'certificates/paired-cube-sinks-input.json'), 'physical profile differs from the sinks certificate' + cand.mkdir() + for name, data in [('graph', g), ('baseline', baseline), ('frames', w), ('word', word), ('profile-before', row), + ('physical-frames', frames), ('physical-pairs', pairs), ('profile', profile)]: + write_gz(cand / (name + '.json.gz'), data) + pins = {p.name: sha(p.read_bytes()) for p in cand.glob('*.json.gz')} + (cand / 'result.json').write_text(json.dumps(dict(tag='complex-p10', pins=pins)) + '\n') + out = cand.with_suffix('.audit.json') + run(root, root / 'research/paired-cube-diagonal-bit-168/complex/physical.py', '--candidate', cand, '--source', root, '--out', out) + audit = read(out) + assert audit['status'].startswith('PASS'), audit['status'] + # the checker keys its source hashes by absolute path; record them relative to the rebuilt tree + return dict(status=audit['status'], formal=json.loads(json.dumps(audit.get('formal'))), mutations=audit.get('mutations'), + source_sha256={Path(k).resolve().relative_to(root).as_posix(): x for k, x in audit['source_sha256'].items()}) + + +def flip_one_sign(cert): + """negate the first coefficient of the first phase-A add gate with a coefficient list (PR #315's control)""" + gate = next(g for g in cert['A'] if g[0] in ('out', 'in') and g[3]) + t, a, b = gate[3][0] + gate[3][0] = [t, -a, b] + return cert + + +def mirror(name, cert, hinv): + m = gxcore.mirror(gxcore.normal(copy.deepcopy(cert))) + assert m['hist'] == dict(hinv), '%s: gxcore histogram differs from the blocks' % name + + +def controls(name, cert): + """a flipped scalar sign must be rejected by gx.check1 and by the gxcore mirror on the scalar identity (E5)""" + out = [] + try: + gx.check1(flip_one_sign(copy.deepcopy(cert)), scalar=True) + except AssertionError as error: + assert str(error).startswith('E5'), ('%s: flipped sign rejected for the wrong reason' % name, str(error)) + out.append('gx.check1: REJECTED (%s)' % str(error)[:2]) + else: + raise AssertionError('%s: gx.check1 accepted a flipped scalar sign' % name) + try: + gxcore.mirror(gxcore.normal(flip_one_sign(copy.deepcopy(cert)))) + except gxcore.Reject as error: + assert str(error).startswith('E5'), ('%s: flipped sign rejected for the wrong reason' % name, str(error)) + out.append('gxcore.mirror: REJECTED (%s)' % str(error)[:2]) + else: + raise AssertionError('%s: gxcore mirror accepted a flipped scalar sign' % name) + return dict(flipped_scalar_sign=out) + + +def chain(root, work, name, tree, kernel, title, contract=True, admission=True, p=P): + """flow, exact lift, contract, gcert/1 emission, gx.check1 and gxcore on one aligned tree""" + PKG, SA = root / 'research/source-assisted-v4', root / 'research/source-assisted' + cache = tree / 'cache' + g = read(cache / 'graph.json') + v, h = g['v'], g['h'] + assert (g['p'], h, v) == (p, 2 * p, 8 * comb(p, 3)), '%s: not a p = %d graph' % (name, p) + rec = {} + if admission: + rec['admission'] = admit(root, tree, work / (name + '.candidate')) + log('%s: PR #168\'s physical() profile recomputed; layer admitted by PR #200\'s complex checker: %s' + % (name, rec['admission']['status'][:60])) + flow = work / (name + '.flow.json') + run(root, SA / 'decision/complex_frame_flow.py', '--tree', tree, '--cache', cache, '--out', flow, '--witness', + '--purify-source-donors', '--recycle-kernels', '--kernel-pairs', kernel) + witness = flow.with_suffix('.witness.json') + fd = read(flow) + lift = work / (name + '.lift.json') + run(root, SA / 'decision/exact_complex_flow_lift.py', '--witness', witness, '--profile', flow, '--out', lift) + lift_data = read(lift) + log('%s: flow new_R %d, deficit %d, numerical three-stage root %.7e; lift: %s' % ( + name, fd['new_R'], fd['deficit'], fd['numerical_local_root'], lift_data['status'][:60])) + rec['flow'] = dict(new_R=fd['new_R'], new_W=fd['new_W'], deficit=fd['deficit'], loss=fd['loss'], kernel_reuses=fd['kernel_reuses'], + source_control_erasures=fd['source_control_erasures'], original_physical_roles=fd['original_physical_roles'], + child_histogram=fd['child_histogram']) + rec['lift'] = {k: lift_data[k] for k in ('status', 'nodes', 'physical_R', 'inverse_elementary_gates', 'all_actual_coefficients_dyadic', 'max_denominator')} + if contract: + # PR #233's step 4: the contract reads the frozen pairs and kernel pairs from the v4 package's data/ + (PKG / 'data/physical-pairs.json').write_bytes((tree / 'references/paired-cube/physical/pairs.json').read_bytes()) + shutil.copyfile(kernel, PKG / 'data/kernel-pairs.json') + cprof = work / (name + '.complex-profile.json') + run(root, PKG / 'contract_v4.py', '--tree', tree, '--cache', cache, '--witness', witness, '--flow-profile', flow, + '--lift-profile', lift, '--out', cprof) + cdata = read(cprof) + for k, check in cdata['contract_checks'].items(): + assert check not in (False, 'FAIL'), '%s: contract check %s failed' % (name, k) + assert cdata['physical_R'] == fd['new_R'] and cdata['child_histogram'] == fd['child_histogram'] + rec['contract_checks'] = cdata['contract_checks'] + log('%s: PR #194 contract: %d checks pass' % (name, len(cdata['contract_checks']))) + out = work / ('gcert1-p%d-%s-flow.json' % (p, name)) + run(root, HERE / 'gcert_emit.py', '--cache', cache, '--flow', flow, '--witness', witness, '--lift', lift_data['certificate_path'], + '--out', out, '--name', title) + raw = read(out) + rec.update(certify(name, raw, v, h)) + Hinv = Counter() + for w in raw['blocks'].values(): + for r, n in w.items(): + Hinv[int(r)] += n + mirror(name, raw, Hinv) + log('%s: emitted program: gx.check1 ACCEPTED (labels, blocks, N = %d, exact scalar identity) and gxcore mirror ACCEPTED; %d gates, %d registers' + % (name, rec['N'], rec['gates_A'] + rec['gates_B'], rec['registers'])) + # the gcert ledger is the flow's certified child histogram: 3 (x + y + s + c) + 2v e_2 + child = Counter({r: 3 * n for r, n in Hinv.items()}) + child[2] += 2 * v + assert {int(r): n for r, n in fd['child_histogram'].items()} == dict(child), '%s: ledger differs from the flow profile' % name + # the committed program: the scatter as the star rule (normalize_scatter.py), checked again by gx.check1 and by + # Sussman's gxcore mirror; registers, frames, gates, labels, retained totals, blocks and N are unchanged + cert, norm = normalize_scatter.normalize(raw) + st = {} + gx.check1(cert, scalar=True, stats=st) + assert cert['scat'] == normalize_scatter.STAR and normalize_scatter.same_shape(raw, cert), '%s: normalization changed more than signs' % name + assert (cert['blocks'], cert['N'], cert['frames'], len(cert['A']), len(cert['B'])) == (raw['blocks'], raw['N'], raw['frames'], len(raw['A']), len(raw['B'])) + assert (st['den'], st['maxabs'], st['steps']) == (rec['scalar_denominators'], rec['scalar_max_abs'], rec['distinct_frame_steps']) + mirror(name, cert, Hinv) + rec['controls'] = controls(name, cert) + norm.update(raw_certificate_sha256=sha(canonical(raw)), gx_check1='ACCEPTED (raw and committed program)', + gxcore_mirror='ACCEPTED (raw and committed program; label and scalar checks)') + rec['scatter'] = norm + log('%s: committed program in star form (%s): gx.check1 and gxcore ACCEPTED, blocks and N unchanged; flipped sign rejected by both (E5)' + % (name, 'registers %s re-signed, %d coefficients' % (norm['flipped_registers'], norm['changed_coefficients']) + if norm['flipped_registers'] else 'emitted in star form, normalization not needed')) + rec['blocks'] = cert['blocks'] + rec['certificate_sha256'] = sha(canonical(cert)) + return rec, cert + + +def module_paths(src, root, name): + paths = {} + for kind, rel in src['module_sets'][name].items(): + if kind == 'centre46': + continue + # install the package's module file next to PR #168 v4's in the rebuilt tree + dest = root / 'references/paired-cube/sources' / Path(rel).name + if dest.exists(): + assert dest.read_bytes() == (HERE / rel).read_bytes(), 'module file name collides with a different tree file: ' + rel + else: + shutil.copyfile(HERE / rel, dest) + paths[kind] = dest + return paths + + +def module_record(path, kind, centre): + """the module's contract (the rebuilt tree's loaders; centre46.load_pmod46 for the 37-root pair module), its + additions and outputs""" + from paired_cube.modules import triple_module_from, pair_module_from, all_but_one_from # noqa: E402 + from centre46 import load_pmod46 # noqa: E402 + if kind == 'tmod': + triple_module_from(path, P) + elif kind == 'pmod': + (load_pmod46 if centre else pair_module_from)(path, P - 1) + else: + all_but_one_from(path, P - 2) + d = read(path) + outputs = {'tmod': comb(P, 3), 'pmod': comb(P - 1, 2) + (1 if centre else 0), 'qmod': P - 2}[kind] + assert len(d['roots']) == outputs, (path, len(d['roots'])) + return dict(sha256=sha(Path(path).read_bytes()), additions=module_cut.additions(d), outputs=outputs) + + +def apply_diff(text, diff): + """apply a unified diff (exact context, every hunk once) to text""" + lines = text.split('\n') + hunks, cur = [], None + for ln in diff.split('\n'): + if ln.startswith('@@'): + cur = ([], []) + hunks.append(cur) + elif cur is not None and ln[:1] in (' ', '-', '+'): + if ln[0] in ' -': + cur[0].append(ln[1:]) + if ln[0] in ' +': + cur[1].append(ln[1:]) + for old, new in hunks: + hits = [i for i in range(len(lines)) if lines[i:i + len(old)] == old] + assert len(hits) == 1, 'patch hunk does not apply exactly once' + lines[hits[0]:hits[0] + len(old)] = new + return '\n'.join(lines), len(hunks) + + +def centre_anchor(root, src): + """PR #315's Graph.finish patch applied to the rebuilt graph.py builds centre46.finish_centre46's graph""" + graph_py = root / 'scripts/paired_cube/graph.py' + diff = (HERE / 'references/centre46_graph.diff').read_text() + patched, hunks = apply_diff(graph_py.read_text(), diff) + (root / 'scripts/paired_cube/graph_centre46_patch.py').write_text(patched) + import paired_cube.graph as G0 # noqa: E402 + import paired_cube.graph_centre46_patch as G1 # noqa: E402 + (root / 'scripts/paired_cube/graph_centre46_patch.py').unlink() # leave the rebuilt tree as pinned + from paired_cube.modules import triple_module_from, pair_module_from, all_but_one_from # noqa: E402 + from centre46 import load_pmod46, finish_centre46 # noqa: E402 + local = json.loads((root / 'references/paired-cube/sources/local_L1.json').read_text()) + local['G'] = {k: 's' for k in local['G']} + local['A'] = {k: 'fd' for k in local['A']} + mods = {k: HERE / src['module_sets']['centre'][k] for k in ('tmod', 'pmod', 'qmod')} + t, q = triple_module_from(mods['tmod'], P), all_but_one_from(mods['qmod'], P - 2) + pm46 = load_pmod46(mods['pmod'], P - 1) + a = finish_centre46(G0.Graph(P, local=copy.deepcopy(local)), t, pm46, q) + b = G1.Graph(P, local=copy.deepcopy(local)).finish(t, pm46, q) + differ = sorted(k for k in set(a) | set(b) if a.get(k) != b.get(k)) + assert differ == ['status'], 'centre46.py and the patched Graph.finish differ in %s' % differ + # with a 36-root pair module the patch changes nothing + pm = pair_module_from(HERE / src['module_sets']['anneal']['pmod'], P - 1) + ta = triple_module_from(HERE / src['module_sets']['anneal']['tmod'], P) + c = G0.Graph(P, local=copy.deepcopy(local)).finish(ta, pm, q) + d = G1.Graph(P, local=copy.deepcopy(local)).finish(ta, pm, q) + assert c == d, 'the patch changes the graph of an ordinary pair module' + return dict(patch_sha256=sha(diff.encode()), hunks=hunks, centres_from_pair_module=len(a['centers']), + fields_compared=len(a), differing_fields=differ, center_additions=a['counts']['center_additions'], + ordinary_pair_module_unchanged=True) + + +def main(): + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--write', action='store_true', help='re-pin modules/ and layers/, set the claims, rewrite certificates/ and certificate/expected.json') + ap.add_argument('--temp-root', type=Path, default=None) + a = ap.parse_args() + src = read(HERE / 'SOURCE.json') + if a.write: + own = sorted(p.relative_to(HERE).as_posix() for d in OWN for p in (HERE / d).rglob('*') if p.is_file()) + files = {k: x for k, x in src['files'].items() if not k.startswith(OWN)} + files.update({k: sha((HERE / k).read_bytes()) for k in own}) + changed = sorted(k for k in set(files) | set(src['files']) if files.get(k) != src['files'].get(k)) + src['files'] = dict(sorted(files.items())) + log('--write: re-pinned %d package inputs (%d changed: %s)' % (len(own), len(changed), ', '.join(changed) or 'none')) + for rel, digest in src['files'].items(): + assert sha((HERE / rel).read_bytes()) == digest, 'pinned file differs from SOURCE.json: ' + rel + for name in SETS: + for kind, rel in src['module_sets'][name].items(): + assert kind == 'centre46' or rel in src['files'], 'module file not pinned: ' + rel + for part in ['matching-arcs', 'physical-frames'] + ['%s-%s' % (k, r) for k in ('physical-pairs', 'kernel-pairs') for r in RECIPES]: + assert 'layers/%s/%s.json' % (name, part) in src['files'], 'layer file not pinned: %s/%s' % (name, part) + log('checked %d pins of SOURCE.json' % len(src['files'])) + sussman = read(HERE / 'references/sussman/pr193-blocks.json') + layer = load_module('pr233_layer_verify', HERE / 'references/pr233-layer/verify.py') + emitted, result = {}, {} + with tempfile.TemporaryDirectory(prefix='complex-p10-', dir=a.temp_root) as d: + root = Path(d).resolve() + pins = layer.rebuild(root) + log('rebuilt %d pinned files of PR #202 (commit %s) from the vendored PR #233 package' % (len(pins['files']), pins['commit'][:7])) + sys.path.insert(0, str(root / 'scripts')) + PKG = root / 'research/source-assisted-v4' + work = root / '.work' + work.mkdir() + base, aligned = work / 'base', work / 'aligned' + run(root, root / 'scripts/paired_cube_producer.py', '--work-dir', base, '--output', work / 'producer.json') + run(root, PKG / 'source_aligned_local_v4.py', '--tree', root, '--cache', base, '--out', aligned) + log('regenerated the PR #168 v4 producer word and the source-aligned word at p = 11 (PR #194\'s pipeline)') + # 3. anchors + src_dir = root / 'references/paired-cube/sources' + pr168 = {k: src_dir / f for k, f in PR168.items()} + mods = ['--tmod', pr168['tmod'], '--pmod', pr168['pmod'], '--qmod', pr168['qmod']] + anchor = work / 'anchor' + phys = aligned / 'references/paired-cube/physical' + run(root, HERE / 'aligned_word_p.py', '--tree', root, *mods, '--arcs', aligned / 'cache/frames.json', + '--frames', phys / 'frames.json', '--pairs', phys / 'pairs.json', '--out', anchor) + for f in SEVEN: + assert (anchor / f).read_bytes() == (aligned / f).read_bytes(), 'aligned_word_p.py differs from source_aligned_local_v4.py: ' + f + log('anchor (a): aligned_word_p.py at p = 11 reproduces the 7 output files of source_aligned_local_v4.py byte for byte') + tree = work / 'pr194' + run(root, HERE / 'aligned_word_p.py', '--tree', root, *mods, '--arcs', aligned / 'cache/frames.json', + '--frames', phys / 'frames.json', '--pairs', PKG / 'data/physical-pairs.json', '--out', tree) + rec, _ = chain(root, work, 'pr194', tree, PKG / 'data/kernel-pairs.json', 'pr194 flow word (PR168 frames, PR193 pairs)', + contract=False, admission=False, p=11) + assert rec['blocks'] == sussman['blocks'] and rec['N'] == sussman['N'], 'pr194: not the histogram of Sussman\'s certificate of #193' + assert rec['certificate_sha256'] == src['prerequisites']['pr256']['pr194_certificate_sha256'], 'pr194: differs from PR #256\'s certificate' + assert rec['five_stage']['idle_ranks'] == [42, 21, 46, 4] + result['anchor_pr194'] = dict(N=rec['N'], R=rec['R'], blocks_total=rec['blocks_total'], certificate_sha256=rec['certificate_sha256'], + equals_pr256_certificate=True, equals_sussman_pr193_blocks=True, + generic_idle_ranks_at_h22=rec['five_stage']['idle_ranks']) + log('anchor (b): PR #194\'s word through this chain is PR #256\'s certificate (sha256 %s...) with Sussman\'s #193 histogram' % rec['certificate_sha256'][:12]) + cuts = {} + for kind, n in (('tmod', P + 1), ('pmod', P), ('qmod', P - 1)): + adds, drop, e = module_cut.min_cut(kind, read(pr168[kind]), n) + assert module_cut.encode(e) == (HERE / src['module_sets']['pr168-v4-cut'][kind]).read_bytes(), \ + 'control %s is not the fewest-additions cut of PR #168 v4\'s module' % kind + cuts[kind] = dict(source=PR168[kind], dropped_point=list(drop), additions=adds) + result['anchor_control_modules'] = cuts + log('anchor (c): the control modules are the fewest-additions zero restrictions of PR #168 v4\'s modules (dropped points %s)' + % {k: c['dropped_point'] for k, c in cuts.items()}) + result['anchor_centre_patch'] = centre_anchor(root, src) + log('anchor (d): PR #315\'s Graph.finish patch builds centre46.py\'s graph (all %d fields but the status string); ordinary pair module unchanged' + % (result['anchor_centre_patch']['fields_compared'] - 1)) + # 4. the six words + modules = {} + for name in SETS: + centre = bool(src['module_sets'][name].get('centre46')) + paths = module_paths(src, root, name) + modules[name] = {kind: module_record(paths[kind], kind, centre) for kind in ('pmod', 'qmod', 'tmod')} + L = HERE / 'layers' / name + for recipe in RECIPES: + key = '%s-%s' % (name, recipe) + tree = work / key + built = run(root, HERE / 'aligned_word_p.py', '--p', P, *(['--centre46'] if centre else []), '--tree', root, + '--tmod', paths['tmod'], '--pmod', paths['pmod'], '--qmod', paths['qmod'], + '--arcs', L / 'matching-arcs.json', '--frames', L / 'physical-frames.json', + '--pairs', L / ('physical-pairs-%s.json' % recipe), '--out', tree) + dropped = [json.loads(x) for x in built.splitlines() if x.startswith('{')] + dropped = next(x for x in dropped if x.get('stage') == 'physical')['dropped_gauges'] + # select() gauges that the script drops (rank != h - 4): only on the control's cut modules + assert name == 'pr168-v4-cut' or not dropped, '%s: gauges dropped %s' % (key, dropped) + sinks = read(tree / 'certificates/paired-cube-sinks-input.json') + log('%s: word on the frozen layer (%d arcs, %d moved frames, %d pairs), physical checks pass, physical R %d' + % (key, len(read(L / 'matching-arcs.json')['matching_arcs']), len(read(L / 'physical-frames.json')['frames']), + len(read(L / ('physical-pairs-%s.json' % recipe))['pairs']), sinks['physical_R'])) + # independent re-check of the pairs from the written word, with five mutation controls + pc = json.loads(run(root, HERE / 'paircheck.py', '--root', root, tree)) + assert pc['status'] == 'PASS' and not pc['violations'] and not pc['erasable'], '%s: paircheck %s' % (key, pc) + assert all(x.startswith('REJECTED') for x in pc['controls'].values()), '%s: a paircheck control was not rejected: %s' % (key, pc['controls']) + assert pc['controls']['donor_frame_outside_gauge'] == 'REJECTED (donor frame outside gauge)' and \ + pc['controls']['parity_erasable_donor'] == 'REJECTED (erasable)', '%s: a paircheck control is not isolated: %s' % (key, pc['controls']) + log('%s: paircheck PASS (%d early, %d late pairs, none parity-erasable); %d mutation controls rejected' + % (key, pc['early'], pc['late'], len(pc['controls']))) + rec, cert = chain(root, work, key, tree, L / ('kernel-pairs-%s.json' % recipe), + '%s flow word (p = 10, %s, descended frames, %s)' % (key, NAMES[name], NAMES[recipe])) + assert rec['cst'] == 20 * 18 and rec['five_stage']['deficit'] == 4 * 960 - 5 * 360 == 2040 + rec['paircheck'] = pc + rec['layer'] = dict(R=read(tree / 'cache/record.json')['R'], physical_R=sinks['physical_R'], + arcs=len(read(L / 'matching-arcs.json')['matching_arcs']), + moved_frames=len(read(L / 'physical-frames.json')['frames']), + pairs=len(read(L / ('physical-pairs-%s.json' % recipe))['pairs']), + kernel_pairs=len(read(L / ('kernel-pairs-%s.json' % recipe))['kernel_pairs']), + gauges_dropped_by_the_script=dropped) + five = rec['five_stage'] + claim = best_claim(five) if a.write else parse_grid(src['claims'][key]) + if a.write: + src['claims'][key] = grid(claim) + five.update(price(key, five, claim)) + five['coarse'] = coarse(key, five, claim) + log('%s: five-stage word at h = 20 (m = %d, W = %d, deficit %d) certified at a = %s with and without the 10^-16 fallback, %s rejected; coarse b = %s with the fallback (both engines)' + % (key, five['m'], five['W'], five['deficit'], five['a'], five['next_grid_point'], five['coarse']['with_fallback']['b'])) + result[key] = rec + emitted[key] = cert + log('regenerated the six certificates') + for key, cert in emitted.items(): + path = HERE / 'certificates' / ('gcert1-p10-%s-flow.json.gz' % key) + if a.write: + with open(path, 'wb') as raw, gzip.GzipFile(filename='', fileobj=raw, mode='wb', mtime=0) as f: + f.write(canonical(cert)) + assert sha(gzip.decompress(path.read_bytes())) == result[key]['certificate_sha256'], '%s: committed certificate differs from the regenerated one' % key + log('committed certificates reproduced byte for byte (uncompressed JSON)') + claims = {k: parse_grid(src['claims'][k]) for k in emitted} + comparison = {} + for recipe in RECIPES: + r = claims['pr168-v4-cut-' + recipe] + for name in ('anneal', 'centre'): + c = claims['%s-%s' % (name, recipe)] + comparison['%s-%s' % (name, recipe)] = dict(result=grid(c), control=grid(r), gain_over_control=str(c / r - 1), + gain_over_control_percent='%.3f' % float(100 * (c / r - 1))) + for k, (label, ref) in src['official'].items(): + for key in ('anneal-mw', 'centre-mw'): + c = claims[key] + comparison['%s_vs_%s' % (key, k)] = dict(official=label, gain=str(c / Q(ref) - 1), gain_percent='%.3f' % float(100 * (c / Q(ref) - 1))) + canon = json.loads(json.dumps(dict( + status='PASS: six flow words at p = 10 (h = 20) exported as gcert/1 programs accepted by gx.check1 and gxcore; five-stage ' + 'saving (generic bridged layout at h = 20, with and without the 10^-16 fallback): centre-sharing %s, annealed %s ' + '(PR233 pairs; parity %s and %s), same-recipe control %s and %s' + % (grid(claims['centre-mw']), grid(claims['anneal-mw']), grid(claims['centre-parity']), grid(claims['anneal-parity']), + grid(claims['pr168-v4-cut-mw']), grid(claims['pr168-v4-cut-parity'])), + anchor_pr194=result['anchor_pr194'], anchor_control_modules=result['anchor_control_modules'], + anchor_centre_patch=result['anchor_centre_patch'], comparison=comparison, modules=modules, + **{k: result[k] for k in emitted}, + prerequisites=dict(pr202=pins['commit'], pr233=src['prerequisites']['pr233'], pr256=src['prerequisites']['pr256'], + pr304=src['prerequisites']['pr304'], pr315=src['prerequisites']['pr315'], + source527=src['prerequisites']['source527'], sussman=src['prerequisites']['sussman'])), sort_keys=True)) + if a.write: + (HERE / 'SOURCE.json').write_text(json.dumps(src, indent=1) + '\n') + (HERE / 'certificate/expected.json').write_text(json.dumps(canon, indent=1, sort_keys=True) + '\n') + log('wrote SOURCE.json, certificates/ and certificate/expected.json') + committed = read(HERE / 'certificate/expected.json') + if committed != canon: + for k in sorted(set(committed) | set(canon)): + if committed.get(k) != canon.get(k): + log('DIFFERS: %s' % k) + assert committed == canon, 'result differs from certificate/expected.json' + log('PASS expected.json reproduced: at p = 10 (h = 20, generic five-stage layout) centre-sharing %s and annealed %s (PR233 pairs; ' + 'PR193 pairs %s and %s), control %s and %s' + % (grid(claims['centre-mw']), grid(claims['anneal-mw']), grid(claims['centre-parity']), grid(claims['anneal-parity']), + grid(claims['pr168-v4-cut-mw']), grid(claims['pr168-v4-cut-parity']))) + + +if __name__ == '__main__': + main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/verify.py b/research/p10b-cross49-pr327/vendor/complex-reserve/verify.py new file mode 100644 index 0000000000..cdff24d5fc --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/verify.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +"""Mandatory fresh public PR327 construction replay and full p10 operational transfer. +Prepared with substantial OpenAI Codex assistance; Apache-2.0. No kappa claim. +""" +import sys +if not __debug__:raise SystemExit('Assertions required; refusing -O') +sys.dont_write_bytecode=True +import argparse,gzip,hashlib,json,os,subprocess,time +from pathlib import Path +ROOT=Path(__file__).resolve().parent +sha=lambda p:hashlib.sha256(Path(p).read_bytes()).hexdigest() +read=lambda p:json.loads(Path(p).read_text()) + +def integrity(): + actual={} + for p in ROOT.rglob('*'): + assert not p.is_symlink(),'symlink in package' + if p.is_file() and p!=ROOT/'MANIFEST.json':actual[p.relative_to(ROOT).as_posix()]=sha(p) + assert actual==read(ROOT/'MANIFEST.json')['files'],'Changed, missing or unpinned package source' + pins=read(ROOT/'SOURCE.json');assert sha(ROOT/'vendor/neutral/MANIFEST.json')==pins['neutral_reference_manifest_sha256'] + assert sha(ROOT/'vendor/pr327/SOURCE.json')==pins['public_source_json_sha256'] + assert sha(ROOT/'vendor/pr327/verify.py')==pins['public_verify_sha256'] + assert sha(ROOT/'vendor/pr327/certificate/expected.json')==pins['public_expected_sha256'] + public={p.relative_to(ROOT/'vendor/pr327').as_posix():sha(p) for p in (ROOT/'vendor/pr327').rglob('*') if p.is_file()} + assert public==pins['public_files'],'public PR327 subtree changed' + return sha(ROOT/'MANIFEST.json') + +def main(): + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--output',required=True,type=Path);args=ap.parse_args() + assert sys.version_info>=(3,11);begun=time.monotonic();initial=integrity();pins=read(ROOT/'SOURCE.json') + out=args.output.resolve();assert not out.exists() and not out.is_relative_to(ROOT),'Use a fresh external output' + out.mkdir(parents=True);(out/'logs').mkdir();(out/'upstream-work').mkdir();stages=[] + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1') + def run(stage,argv): + print(stage,flush=True);start=time.monotonic();log=out/'logs'/(stage+'.log') + with log.open('w') as f:subprocess.run([sys.executable,'-B']+list(map(str,argv)),cwd=out,env=env,stdout=f,stderr=subprocess.STDOUT,check=True) + stages.append(dict(stage=stage,seconds=time.monotonic()-start,log_sha256=sha(log))) + try: + run('complete-public-pr327-replay',[ROOT/'vendor/pr327/verify.py','--temp-root',out/'upstream-work']) + transcript=(out/'logs/complete-public-pr327-replay.log').read_text() + assert 'PASS expected.json reproduced: at p = 10' in transcript and 'committed certificates reproduced byte for byte' in transcript + compressed=(ROOT/pins['candidate_path']).read_bytes();assert hashlib.sha256(compressed).hexdigest()==pins['candidate_compressed_sha256'] + raw=gzip.decompress(compressed);assert hashlib.sha256(raw).hexdigest()==pins['candidate_sha256'];(out/'candidate.json').write_bytes(raw) + run('complete-p10-operational-transfer',[ROOT/'verify_supplier.py','--input',out/'candidate.json','--expected-sha256',pins['candidate_sha256'],'--output',out/'SUPPLIER-CHECK.json']) + receipt=read(out/'SUPPLIER-CHECK.json') + assert receipt['status']=='PASS_RESEARCH_P10_COMPLEX_SUPPLIER_FULL_SCALAR_SPLICE_GUARD_TWO_MOMENTS' + assert receipt['candidate_sha256']==pins['candidate_sha256'] and receipt['roots']['with_fallback']['b']==pins['complex_coarse'] and receipt['kappa_claim'] is False + assert receipt['ledger']['calls']==247575 and receipt['ledger']['rank_mass']==1027460 and receipt['ledger']['deficit']==2040 + assert len(receipt['mutation_controls'])==20 and len(receipt['gx_check']['controls'])==2 + assert receipt['finite_guard']['status']=='PASS_FRESH_EXACT_P10_COMPLEX_GUARD' and receipt['finite_guard']['retained_row_coefficient']==20161 + assert integrity()==initial,'Package source changed during replay' + report=dict(status='PASS_PORTABLE_PUBLIC_PR327_P10_COMPLEX_SUPPLIER_TRANSFER',manifest_sha256=initial,public_head=pins['public_head'],public_source_json_sha256=pins['public_source_json_sha256'],candidate_sha256=pins['candidate_sha256'],complex_coarse=pins['complex_coarse'],fresh_stages=stages,inputs_unchanged=True,receipt_hashes={name:sha(out/name) for name in ('candidate.json','SUPPLIER-CHECK.json')},seconds=time.monotonic()-begun,kappa_claim=False,scope=receipt['scope']) + (out/'VERIFICATION.json').write_text(json.dumps(report,sort_keys=True,indent=2)+'\n');print('PASS public PR327 complex supplier transfer; b = '+pins['complex_coarse']+'; no kappa claim',flush=True) + except BaseException as error: + (out/'FAILURE.json').write_text(json.dumps(dict(status='FAIL',error=str(error),completed_stages=stages),indent=2)+'\n');raise +if __name__=='__main__':main() diff --git a/research/p10b-cross49-pr327/vendor/complex-reserve/verify_supplier.py b/research/p10b-cross49-pr327/vendor/complex-reserve/verify_supplier.py new file mode 100644 index 0000000000..4ea4c037c5 --- /dev/null +++ b/research/p10b-cross49-pr327/vendor/complex-reserve/verify_supplier.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +"""Fresh admission of a p10 complex gcert candidate; no bit or kappa claim. +Exact scalar identity, labels, complete reflected splices, all finite invoices +and two rational moment engines are rerun. Prepared with OpenAI Codex; Apache-2.0. +""" +import sys +if not __debug__:raise SystemExit('Assertions required') +sys.dont_write_bytecode=True +sys.set_int_max_str_digits(0) +import argparse,collections,hashlib,importlib.util,json,pathlib,time +from copy import deepcopy +from fractions import Fraction as Q +HERE=pathlib.Path(__file__).resolve().parent +DEFAULT_SOURCE=HERE/'vendor/neutral/vendor/pr315' +sha=lambda p:hashlib.sha256(pathlib.Path(p).read_bytes()).hexdigest() +read=lambda p:json.loads(pathlib.Path(p).read_text()) +def load(path,name): + sp=importlib.util.spec_from_file_location(name,path);m=importlib.util.module_from_spec(sp);sp.loader.exec_module(m);return m + +def serial(x): + if isinstance(x,Q):return str(x) + if isinstance(x,int) and x.bit_length()>4000:return str(x) + if isinstance(x,dict):return {str(k):serial(v) for k,v in x.items()} + if isinstance(x,(tuple,list)):return [serial(v) for v in x] + return x + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--input',type=pathlib.Path,required=True);ap.add_argument('--expected-sha256',required=True);ap.add_argument('--source',type=pathlib.Path,default=DEFAULT_SOURCE);ap.add_argument('--output',type=pathlib.Path,required=True);args=ap.parse_args() + begun=time.monotonic();assert not args.output.exists();raw=args.input.read_bytes();digest=hashlib.sha256(raw).hexdigest();assert digest==args.expected_sha256;c=json.loads(raw) + geometry=read(HERE/'GEOMETRY.json');assert sha(HERE/geometry['path'])==geometry['sha256'] + geometry_text=(HERE/geometry['path']).read_text() + for literal in geometry['required_literals']:assert literal in geometry_text + deriv=read(HERE/'DERIVATION.json');mods={} + for name,d in deriv.items(): + assert sha(HERE/d['source'])==d['source_sha256'] and sha(HERE/'code'/(name+'.py'))==d['derived_sha256'] + derived=(HERE/d['source']).read_text() + for edit in d['parameterizations']: + assert derived.count(edit['old'])==1;derived=derived.replace(edit['old'],edit['new']) + assert derived.encode()==(HERE/'code'/(name+'.py')).read_bytes() + mods[name]=load(HERE/'code'/(name+'.py'),'p10_supplier_'+name) + for name in ('complex_scalars','complex_splice'):mods[name].configure(c) + pins=read(args.source/'inputs/complex/source-pins.json');verified={};upstream={} + for rel,pin in pins['files'].items(): + path=args.source/rel;assert sha(path)==pin['sha256'];verified[rel]=pin['sha256'];upstream[pin['upstream']]=path + H=collections.Counter() + for block in c['blocks'].values():H.update({int(r):n for r,n in block.items()}) + checks=mods['complex_labels'].replay_label_counts(c,dict(frames=len(c['frames']),gates={p:len(c[p]) for p in ('A','B')},histogram=dict(H))) + H5=collections.Counter({r:5*n for r,n in H.items()});h,v,R=c['h'],c['v'],c['R'];m,W=5*h,4*v+R + for r in (2*h-2,h-1,2*h+2,4):H5[r]+=2*v + ledger=dict(histogram={str(r):n for r,n in sorted(H5.items())},calls=sum(H5.values()),rank_mass=sum(r*n for r,n in H5.items()),max_child=max(H5),deficit=m*W-sum(r*n for r,n in H5.items()),copy_calls=5*h,idle_calls=8*v) + assert (m,h,v,c['cst'],ledger['deficit'],ledger['max_child'])==(100,20,960,360,2040,42) + lines=upstream['Work/GCert/Chain/NetDef.lean'].read_text().splitlines();refs={};sourcepin='f010392c923279e3dd59ef3aa5fedad23affc5fd' + for name in ['x01','y01','x12','y12','x23','y23','x34','y34','sfin','term']: + indices=[i for i,line in enumerate(lines) if name+' :' in line];assert indices;i=indices[-1] if name=='sfin' else indices[0] + refs[name]=dict(source='Work/GCert/Chain/NetDef.lean',anchor=name+' :',line=i+1,declaration_line=' '.join(x.strip() for x in lines[i:i+(2 if name=='sfin' else 1)]),url='https://github.com/jacobalansussman/wht-power-saving-lean/blob/'+sourcepin+'/Work/GCert/Chain/NetDef.lean#L'+str(i+1)) + chronology=['stage0','stage1','climbA','bridgeA','stage2','climbB','bridgeB','stage3','stage4','final_climbs','bridgeC','terminal_shifts','signed_exchange'] + manifest=dict(source_pin=sourcepin,parameters=dict(h=h,m=m,v=v,R=R,W_live=W,invocation_live=2*v+R),ledger=ledger,checks=checks,chronology=chronology,source_frame_equalities=refs) + scalar=mods['complex_scalars'];splice=mods['complex_splice'];A=scalar.flat(c['A']);B=scalar.flat(c['B']);bill={};life={};programs={};controls=[] + for ori in ('forward','backward'): + bill[ori]=scalar.bill(scalar.inv_schedule(ori,A,B,c));life[ori]=scalar.lifecycle(scalar.inv_schedule(ori,A,B,c)) + events=list(splice.emit(c,ori));programs[ori]=splice.validate(events,c,ori,manifest,bill);controls.extend(splice.controls(events,c,ori,manifest,bill)) + global_contract=splice.global_contract(manifest);splice.validate_global(global_contract,manifest) + mutations=[('wrong_helper_owner',lambda x:x['stage_recipe'][1].__setitem__('helper_owner','s1^(-1)(d)')),('rank_only_frame',lambda x:x['exact_frame_bindings']['x23'].__setitem__('declaration_line','same rank only')),('scratch_alias',lambda x:x['scratch_namespace'].__setitem__('centers',[W-1,W+h-1])),('wrong_live_normalization',lambda x:x.__setitem__('recursive_volume_denominator',W+R+h+1)),('free_RAM',lambda x:x.__setitem__('primitive_policy','free_RAM')),('missing_tableau',lambda x:x.__setitem__('physical',W+h+1))] + for name,fn in mutations: + bad=deepcopy(global_contract);fn(bad) + try:splice.validate_global(bad,manifest) + except ValueError as error:controls.append(dict(name=name,rejected=True,reason=str(error))) + else:raise ValueError('global mutation accepted '+name) + guard=load(HERE/'finite_guard.py','p10_finite_guard').finite_guard(manifest,bill,mods['complex_basis']) + assert mods['complex_labels'].scalar_word([(1,0,1),(0,1,-1),(0,2,1),(3,1,-1),(1,0,1),(3,1,1),(0,2,-1),(2,3,-1),(3,2,1),(1,3,-1),(2,0,1)])==[[0,-1,0,0],[1,0,0,0],[0,0,0,-1],[0,0,1,0]] + print('PASS both complete reflected scalar splices, recomputed p10 paid ledgers, guard and 20 mutation controls',flush=True) + cost=load(args.source/'moment.py','p10_admission_moment');other=load(args.source/'base_two_moment.py','p10_admission_base2');roots={};grid=Q(1,10**18) + for fallback in (True,False): + root=cost.certify(dict(H5),m,W,fallback);b=Q(int(Q(root['lower'])*10**18),10**18) + interval=cost.moment(dict(H5),m,W,b,fallback);excluded=cost.moment(dict(H5),m,W,b+grid,fallback);assert interval[1]<1 +// SPDX-License-Identifier: MIT + +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file docs/README.md. * +\****************************************************************************/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO +#include // random_access_iterator_tag +#include // unique_ptr +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// This file contains all macro definitions affecting or depending on the ABI + +#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK + #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 + #warning "Already included a different version of the library!" + #endif + #endif +#endif + +#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum) + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + +#ifndef JSON_DIAGNOSTIC_POSITIONS + #define JSON_DIAGNOSTIC_POSITIONS 0 +#endif + +#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 +#endif + +#if JSON_DIAGNOSTICS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS +#endif + +#if JSON_DIAGNOSTIC_POSITIONS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS +#endif + +#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp +#else + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION + #define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 +#endif + +// Construct the namespace ABI tags component +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) + +#define NLOHMANN_JSON_ABI_TAGS \ + NLOHMANN_JSON_ABI_TAGS_CONCAT( \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) + +// Construct the namespace version component +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ + _v ## major ## _ ## minor ## _ ## patch +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) + +#if NLOHMANN_JSON_NAMESPACE_NO_VERSION +#define NLOHMANN_JSON_NAMESPACE_VERSION +#else +#define NLOHMANN_JSON_NAMESPACE_VERSION \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \ + NLOHMANN_JSON_VERSION_MINOR, \ + NLOHMANN_JSON_VERSION_PATCH) +#endif + +// Combine namespace components +#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b +#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \ + NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) + +#ifndef NLOHMANN_JSON_NAMESPACE +#define NLOHMANN_JSON_NAMESPACE \ + nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN +#define NLOHMANN_JSON_NAMESPACE_BEGIN \ + namespace nlohmann \ + { \ + inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) \ + { +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_END +#define NLOHMANN_JSON_NAMESPACE_END \ + } /* namespace (inline namespace) NOLINT(readability/namespace) */ \ + } // namespace nlohmann +#endif + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#ifdef JSON_HAS_CPP_17 + #include // optional +#endif +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // nullptr_t +#include // exception +#if JSON_DIAGNOSTICS + #include // accumulate +#endif +#include // runtime_error +#include // to_string +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // declval, pair +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +// https://en.cppreference.com/w/cpp/experimental/is_detected +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + + +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2016 - 2021 Evan Nemerson +// SPDX-License-Identifier: MIT + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions (except those affecting ABI) +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// #include + + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_23) && !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus > 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG > 202002L) + #define JSON_HAS_CPP_23 + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG > 201703L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201402L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201103L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#ifdef __has_include + #if __has_include() + #include + #endif +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L \ + && defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif +#endif + +#ifndef JSON_HAS_RANGES + // ranges header shipping in GCC 11.1.0 (released 2021-04-27) has syntax error + #if defined(__GLIBCXX__) && __GLIBCXX__ == 20210427 + #define JSON_HAS_RANGES 0 + #elif defined(__cpp_lib_ranges) + #define JSON_HAS_RANGES 1 + #else + #define JSON_HAS_RANGES 0 + #endif +#endif + +#ifndef JSON_HAS_STATIC_RTTI + #if !defined(_HAS_STATIC_RTTI) || _HAS_STATIC_RTTI != 0 + #define JSON_HAS_STATIC_RTTI 1 + #else + #define JSON_HAS_STATIC_RTTI 0 + #endif +#endif + +#ifdef JSON_HAS_CPP_17 + #define JSON_INLINE_VARIABLE inline +#else + #define JSON_INLINE_VARIABLE +#endif + +#if JSON_HEDLEY_HAS_ATTRIBUTE(no_unique_address) + #define JSON_NO_UNIQUE_ADDRESS [[no_unique_address]] +#else + #define JSON_NO_UNIQUE_ADDRESS +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#endif + +// allow disabling exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType, \ + class CustomBaseClass> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_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, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = !nlohmann_json_j.is_null() ? nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1) : nlohmann_json_default_obj.v1; + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +// inspired from https://stackoverflow.com/a/26745591 +// allows calling any std function as if (e.g., with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DISABLE_ENUM_SERIALIZATION + #define JSON_DISABLE_ENUM_SERIALIZATION 0 +#endif + +#ifndef JSON_USE_GLOBAL_UDLS + #define JSON_USE_GLOBAL_UDLS 1 +#endif + +#if JSON_HAS_THREE_WAY_COMPARISON + #include // partial_ordering +#endif + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +#if JSON_HAS_THREE_WAY_COMPARISON + inline std::partial_ordering operator<=>(const value_t lhs, const value_t rhs) noexcept // *NOPAD* +#else + inline bool operator<(const value_t lhs, const value_t rhs) noexcept +#endif +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); +#if JSON_HAS_THREE_WAY_COMPARISON + if (l_index < order.size() && r_index < order.size()) + { + return order[l_index] <=> order[r_index]; // *NOPAD* + } + return std::partial_ordering::unordered; +#else + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +#endif +} + +// GCC selects the built-in operator< over an operator rewritten from +// a user-defined spaceship operator +// Clang, MSVC, and ICC select the rewritten candidate +// (see GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105200) +#if JSON_HAS_THREE_WAY_COMPARISON && defined(__GNUC__) +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + return std::is_lt(lhs <=> rhs); // *NOPAD* +} +#endif + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +template +inline void replace_substring(StringType& s, const StringType& f, + const StringType& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != StringType::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +template +inline StringType escape(StringType s) +{ + replace_substring(s, StringType{"~"}, StringType{"~0"}); + replace_substring(s, StringType{"/"}, StringType{"~1"}); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +template +static void unescape(StringType& s) +{ + replace_substring(s, StringType{"~1"}, StringType{"/"}); + replace_substring(s, StringType{"~0"}, StringType{"~"}); +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // size_t + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2018 The Abseil Authors +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +using uncvref_t = typename std::remove_cv::type>::type; + +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence +{ + using value_type = T; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; + +namespace utility_internal +{ + +template +struct Extend; + +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; + +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template +using index_sequence_for = make_index_sequence; + +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static JSON_INLINE_VARIABLE constexpr T value{}; +}; + +#ifndef JSON_HAS_CPP_17 + template + constexpr T static_const::value; +#endif + +template +constexpr std::array make_array(Args&& ... args) +{ + return std::array {{static_cast(std::forward(args))...}}; +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // numeric_limits +#include // char_traits +#include // tuple +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // random_access_iterator_tag + +// #include + +// #include + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); + +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); + +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ + #define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + #include // int64_t, uint64_t + #include // map + #include // allocator + #include // string + #include // vector + + // #include + + + /*! + @brief namespace for Niels Lohmann + @see https://github.com/nlohmann + @since version 1.0.0 + */ + NLOHMANN_JSON_NAMESPACE_BEGIN + + /*! + @brief default JSONSerializer template argument + + This serializer ignores the template arguments and uses ADL + ([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) + for serialization. + */ + template + struct adl_serializer; + + /// a class to store JSON values + /// @sa https://json.nlohmann.me/api/basic_json/ + template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector, // cppcheck-suppress syntaxError + class CustomBaseClass = void> + class basic_json; + + /// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document + /// @sa https://json.nlohmann.me/api/json_pointer/ + template + class json_pointer; + + /*! + @brief default specialization + @sa https://json.nlohmann.me/api/json/ + */ + using json = basic_json<>; + + /// @brief a minimal map-like container that preserves insertion order + /// @sa https://json.nlohmann.me/api/ordered_map/ + template + struct ordered_map; + + /// @brief specialization that maintains the insertion order of object keys + /// @sa https://json.nlohmann.me/api/ordered_json/ + using ordered_json = basic_json; + + NLOHMANN_JSON_NAMESPACE_END + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +NLOHMANN_JSON_NAMESPACE_BEGIN +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ + +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e. those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g. to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +// used by exceptions create() member functions +// true_type for pointer to possibly cv-qualified basic_json or std::nullptr_t +// false_type otherwise +template +struct is_basic_json_context : + std::integral_constant < bool, + is_basic_json::type>::type>::value + || std::is_same::value > +{}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +template +using detect_key_compare = typename T::key_compare; + +template +struct has_key_compare : std::integral_constant::value> {}; + +// obtains the actual object key comparator +template +struct actual_object_comparator +{ + using object_t = typename BasicJsonType::object_t; + using object_comparator_t = typename BasicJsonType::default_object_comparator_t; + using type = typename std::conditional < has_key_compare::value, + typename object_t::key_compare, object_comparator_t>::type; +}; + +template +using actual_object_comparator_t = typename actual_object_comparator::type; + +///////////////// +// char_traits // +///////////////// + +// Primary template of char_traits calls std char_traits +template +struct char_traits : std::char_traits +{}; + +// Explicitly define char traits for unsigned char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = unsigned char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +// Explicitly define char traits for signed char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = signed char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +/////////////////// +// is_ functions // +/////////////////// + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B { }; +template +struct conjunction +: std::conditional(B::value), conjunction, B>::type {}; + +// https://en.cppreference.com/w/cpp/types/negation +template struct negation : std::integral_constant < bool, !B::value > { }; + +// Reimplementation of is_constructible and is_default_constructible, due to them being broken for +// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). +// This causes compile errors in e.g. clang 3.5 or gcc 4.9. +template +struct is_default_constructible : std::is_default_constructible {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_constructible : std::is_constructible {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +template +struct is_range +{ + private: + using t_ref = typename std::add_lvalue_reference::type; + + using iterator = detected_t; + using sentinel = detected_t; + + // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator + // and https://en.cppreference.com/w/cpp/iterator/sentinel_for + // but reimplementing these would be too much work, as a lot of other concepts are used underneath + static constexpr auto is_iterator_begin = + is_iterator_traits>::value; + + public: + static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; +}; + +template +using iterator_t = enable_if_t::value, result_of_begin())>>; + +template +using range_value_t = value_type_t>>; + +// The following implementation of is_complete_type is taken from +// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +// and is written by Xiang Fan who agreed to using it in this library. + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + is_constructible::value && + is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_constructible_string_type +{ + // launder type through decltype() to fix compilation failure on ICPC +#ifdef __INTEL_COMPILER + using laundered_type = decltype(std::declval()); +#else + using laundered_type = ConstructibleStringType; +#endif + + static constexpr auto value = + conjunction < + is_constructible, + is_detected_exact>::value; +}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < + is_detected::value&& + is_iterator_traits>>::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 + !std::is_same>::value >> +{ + static constexpr bool value = + is_constructible>::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + !is_compatible_string_type::value&& + is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_iterator_traits>>::value&& +is_detected::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 +!std::is_same>::value&& +is_complete_type < +detected_t>::value >> +{ + using value_type = range_value_t; + + static constexpr bool value = + std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, + value_type >::value; +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; + +template +struct is_json_iterator_of : std::false_type {}; + +template +struct is_json_iterator_of : std::true_type {}; + +template +struct is_json_iterator_of : std::true_type +{}; + +// checks if a given type T is a template specialization of Primary +template