Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions research/t74-joint-twelve-retired7/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Preserve the exact bytes of every pinned and vendored file (the vendored PR2679 auditor keeps its CRLF lines).
* -text
49 changes: 49 additions & 0 deletions research/t74-joint-twelve-retired7/CLAIM.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"status": "PASS_CONDITIONAL_FINITE_CONSTRUCTION_COMPLETE_RELEASE",
"complex_lower": "0.001717794984118634663827",
"complex_upper": "0.001717794984118634663828",
"kappa": "17177949841186346638269999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000",
"profile": {
"1": 1603728,
"2": 431568,
"3": 185082,
"4": 85248,
"5": 27194,
"8": 5328,
"32": 1,
"48": 26558
},
"comparison_pr": "2751",
"comparison_head": "4cfbb0cc",
"scope": "Conditional finite construction and complete strict supplier/modern outer release; inherited theorem assumptions remain.",
"latest_comparison": {
"pr": 2751,
"head": "4cfbb0cc",
"exact_kappa": "17171415863484263381089999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000"
},
"comparisons": {
"2751": {
"kappa_source": "evidence/PR2751-CLAIM.json",
"exact_margin": "326698885104162859/500000000000000000000000",
"margin_float": 6.533977702083258e-07
},
"2766": {
"kappa_source": "evidence/PR2766-CLAIM.json",
"exact_margin": "538010651632355557/1000000000000000000000000",
"margin_float": 5.380106516323556e-07
},
"2767": {
"kappa_source": "evidence/PR2767-OUTER-CLAIM.json",
"exact_margin": "K - kappa(evidence/PR2767-OUTER-CLAIM.json)",
"margin_float": 5.380106516323556e-07
}
},
"new_contribution": "two hostee moves (the hostees of B-warps 30/31 move from lenders 401/403 onto the free retired lenders 564/565) that free 401/403 for two more retired-lender aliases 667<-401 and 669<-403, on top of the five retired-lender aliases 606<-550, 635<-551, 637<-552, 638<-553, 639<-562",
"credited_refit": "the certified frame refit of PR2751's words (B1151 rank 6->5 plus A0-A11, B771-788, restore60; per call H1 -2, H2 +1) is PR2766's (DavidAriasC); PR2767 (jeremykothe2) reaches the same kappa by another route",
"local_predecessor": {
"package": "research/t74-joint-twelve-retired5 (local, unpublished; branch t74-joint-twelve-retired5 b295183e)",
"exact_kappa": "17174093163354916434479999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000",
"exact_margin": "385667783143020379/1000000000000000000000000",
"margin_float": 3.856677831430204e-07
}
}
137 changes: 137 additions & 0 deletions research/t74-joint-twelve-retired7/DERIVATIVE-CODE.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
--- a/audit_mixed.py
+++ b/audit_mixed.py
@@ -9,7 +9,7 @@
for _nm,_mut in (('changed lifted target frame',lambda b_:b_['target_levels'].__setitem__('23',0)),):
_bad=copy.deepcopy(w);_mut(_bad)
try:A.local_inventory(_bad,r,None)
- except ValueError as _e:A.require(str(_e)=='target line30','target mutation rejection')
+ except ValueError as _e:A.require(str(_e)=='candidate exact source-partner target frames','target mutation rejection')
else:raise ValueError('accepted changed lifted target')
_pg=A.read(d/'LOCAL-PROGRAMS.json.gz');_bp=copy.deepcopy(_pg);_bp['forward'].remove(next(e for e in _bp['forward'] if e[0]=='center'))
try:A.local_inventory(w,r,_bp)
--- a/independent_core.py
+++ b/independent_core.py
@@ -69,8 +69,7 @@
External ports/frames are independently checked by audit_mixed.py.
"""
levels = {int(t): f for t, f in word['target_levels'].items()}
- require(set(levels) == {11,23,29,32,34,35,45,48,50,59,63,71,73,76,81,84,87,90,92,108}, 'twenty source-partner target offsets')
- require(all(frames[f] in ((30,), (45,)) for f in levels.values()), 'target line30')
+ require({str(t): list(frames[f]) for t, f in levels.items()} == {'104': [45], '106': [45], '110': [45], '14': [45], '21': [45], '37': [45], '41': [45], '43': [45], '47': [45], '52': [45], '78': [45], '99': [45]}, 'candidate exact source-partner target frames')
require(all(current[V+t] == frames[levels.get(t, 0)] for t in range(V)), 'target centre level')
forward, backward = [], []
for index, (register, frame_id) in enumerate(zip(word['centers'], word['center_frames'])):
@@ -90,7 +89,7 @@
origin = destination
forward.extend(segments)
backward.extend(e[:2]+[e[3], e[2], e[4]] for e in reversed(segments))
- require(Counter(e[4] for e in forward) == {1:8, 7:8}, 'sixteen centre children')
+ require(Counter(e[4] for e in forward) == {8:8}, 'candidate eight unsplit centre children')
return {'forward': forward, 'backward': backward}


--- a/new/borrow/lowfour_controls.py
+++ b/new/borrow/lowfour_controls.py
@@ -20,12 +20,13 @@
ia=next(i for i,e in enumerate(pre) if e[0]=='add')
m=mut();m['A'][ia][3]=-m['A'][ia][3];expect('prelude correction sign flipped',m)
m=mut();m['A'][ia][3]*=2;expect('prelude correction coefficient doubled',m)
- m=mut();m['A'][ia][1],m['A'][ia+1][1]=m['A'][ia+1][1],m['A'][ia][1];expect('prelude correction targets swapped',m)
+ jb=next(j for j,e in enumerate(pre) if e[0]=='add' and e[1]!=pre[ia][1] and e[2:]!=pre[ia][2:] and e[-1]==pre[ia][-1])
+ m=mut();m['A'][ia][1],m['A'][jb][1]=m['A'][jb][1],m['A'][ia][1];expect('prelude correction targets swapped',m)
iw=[i for i,e in enumerate(pre) if e[0]=='warp'];m=mut();del m['A'][iw[1]];m['prelude_events']-=1;expect('prelude return warp dropped',m)
m=mut();del m['A'][iw[0]];m['prelude_events']-=1;expect('prelude forward warp dropped',m)
- ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==135];m=mut()
+ target=pre[ia][1];ids=[i for i,e in enumerate(pre) if e[0]=='add' and e[1]==target];assert ids;m=mut()
for i in reversed(ids):del m['A'][i]
- m['prelude_events']-=len(ids);expect('all prelude corrections of target 135 dropped',m)
+ m['prelude_events']-=len(ids);expect('all prelude corrections of actual first target dropped',m)
m=mut();m['A'][0][-1]=[31];expect('prelude target scale at a different line',m)
m=mut();m['A'][iw[0]][2]=m['A'][iw[0]][2]+1 if abs(m['A'][iw[0]][2])<len(m['warps']) else m['A'][iw[0]][2]-1;expect('prelude warp uses another operator id',m)
m=mut();m['A'][iw[0]][4]=[31];expect('prelude warp lands on a different line',m)
@@ -36,13 +37,13 @@
m=mut();r=m['warps'][W33];r[3]=[x^2 for x in r[3]];expect('new warp from-frame wrong',m)
m=mut();m['warps'][W33][2][0]^=m['warps'][W33][2][1];expect('new warp G wrong',m)
# restoration gate before a new warp removed (derived cleanup re-derived)
- pos=[w0['warps'][W33][0]];i=pos[0]-1
+ i=next(i for i,g in enumerate(w0['B']) if g[:5]==['add',33,49,1,2])
m=mut();assert m['B'][i][0]=='add' and m['B'][i][1] in {r_[1] for r_ in w0['warps']},m['B'][i];del m['B'][i]
for r in m['warps']:
if r[0]>i:r[0]-=1
expect('source restoration gate dropped (cleanup re-derived)',rederive(m))
# rewritten helper gate on the borrowed source removed
- j=next(i for i,g in enumerate(w0['B']) if g[0]=='add' and g[1]==33 and g[2]==250)
+ j=next(i for i,g in enumerate(w0['B']) if i>=w0['warps'][W33][0] and g[0]=='add' and g[1]==33)
m=mut();del m['B'][j]
for r in m['warps']:
if r[0]>j:r[0]-=1
--- a/new/code/borrow/bw_audit_local.py
+++ b/new/code/borrow/bw_audit_local.py
@@ -179,6 +179,17 @@
def phase_at(es,name):return es.index(['phase',name])
def first_warp(es,sign=1,start=0):return ev_index(es,lambda e:e[0]=='warp' and (e[2]>0)==(sign>0),start)
def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup'))
+def incomplete_centre_descent(es):
+ # Split paths lose an intermediate step. An unsplit path is truncated at
+ # an actual nested rank-one frame, with its child rank repriced correctly.
+ # Thus the control cannot fail merely because a split no longer exists.
+ indices=[i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0]
+ if indices:
+ es.pop(indices[0]);return
+ e=next(e for e in es if e[0]=='center')
+ stop=next(f for f in range(len(frames)) if len(frames[f])==1 and contains(frames[f],frames[e[2]]))
+ e[3]=stop;e[4]=len(frames[e[2]])-1
+
mutations=[
('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)),
('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))),
@@ -194,7 +205,7 @@
('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])),
] if entering else [])+([
('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))),
- ('centre_descent_step_skipped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0))),
+ ('centre_descent_incomplete',incomplete_centre_descent),
] if levels else [])+([
('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()),
('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()),
--- a/new/rebuild_borrow.py
+++ b/new/rebuild_borrow.py
@@ -74,10 +74,10 @@
lf=D/'inputs'/f'lowfour_43{wt}.json';lpatch=None
if lf.exists(): # four low aliases through lifted-target compensation (PR2436 mechanism) on top of the entrance state
lpatch=json.loads(lf.read_text());prev_l=chain[-1];chain.append(word_patch.apply_lowfour(prev_l,lpatch));steps.append('lowfour')
- nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[640,641,642,644]==lpatch['derived_removed_diff']
+ nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[696,697,698,700]==lpatch['derived_removed_diff']
kok&=[x[1:] for x in nw['warps'][:len(prev_l['warps'])]]==[x[1:] for x in prev_l['warps']] and [x[1] for x in nw['warps'][-4:]]==[33,55,74,85] and len(nw['warps'])==len(prev_l['warps'])+4
kok&=[g[:-1] for g in nw['A'][nw['prelude_events']:]]==[g[:-1] for g in prev_l['A']] and nw['restore']==prev_l['restore'] and nw['helper_final']==prev_l['helper_final']
- kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('640','641','642','644')}==nw['start_extra']
+ kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('696','697','698','700')}==nw['start_extra']
af=D/'inputs'/f'alias637_43{wt}.json';apatch=None
if af.exists(): # alias 637 borrowing retired source 31 (PR2436 pair) stacked on the four lifted-target aliases
apatch=json.loads(af.read_text());prev_a=chain[-1];chain.append(word_patch.apply_lowfour(prev_a,apatch));steps.append('alias637');na=chain[-1]
@@ -102,10 +102,10 @@
kok&=word_patch.kernel_gate_edit(prev_p['B'],npl['B'])==ppatch['declared_gate_edit']
kok&=all(npl[k_]==prev_p[k_] for k_ in ('A','precondition','cut','start_extra','target_levels','centers','center_frames','ports','prelude_events'))
rf2=D/'inputs'/f'refit563_43{wt}.json';rpatch2=None
- if rf2.exists(): # one-gate exact frame lowering (B 894, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package)
+ if rf2.exists(): # one-gate exact frame lowering (B 904, add 515 += 563: dim 6 -> 5) so that 563 retires at the dimension of 653's entrance frame (this package)
rpatch2=json.loads(rf2.read_text());prev_r=chain[-1];chain.append(refit_apply(prev_r,rpatch2));steps.append('refit563');nr=chain[-1]
- kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',894] and prev_r['B'][894][:5]==['add',515,563,1,1]
- kok&=len(nr['B'][894][-1])==len(prev_r['B'][894][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=894)
+ kok&=len(rpatch2['frames'])==1 and rpatch2['frames'][0][:2]==['B',904] and prev_r['B'][904][:5]==['add',515,563,1,1]
+ kok&=len(nr['B'][904][-1])==len(prev_r['B'][904][-1])-1 and all(x_==y_ for i_,(x_,y_) in enumerate(zip(nr['B'],prev_r['B'])) if i_!=904)
kok&=not({515,563}&({x_['L'] for x_ in ppatch['pairs']}|{x_['h'] for x_ in ppatch['pairs']}) if ppatch else set())
xf=D/'inputs'/f'alias1_43{wt}.json';xpatch=None
if xf.exists(): # retired-lender alias 653<-563 on the refit state (this package)
@@ -141,9 +141,9 @@
pw_=Path(tempfile.mkdtemp())/'orig.json.gz';pw_.write_bytes(gzip.compress(json.dumps(prev_p,separators=(',',':')).encode(),mtime=0))
pc=subprocess.run([sys.executable,'-B',str(D/'prelife_controls.py'),str(shipped),str(pw_),str(RCP/f'CONTROLS-PRELIFE-43{wt}.json')],capture_output=True,text=True)
pc_ok=pc.returncode==0 and json.loads((RCP/f'CONTROLS-PRELIFE-43{wt}.json').read_text())['all_rejected_for_expected_reason'];ok&=pc_ok;res['prelife_controls_ok']=pc_ok
- if rpatch2: # control: the shipped word with the B 894 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame)
+ if rpatch2: # control: the shipped word with the B 904 frame restored to its un-refitted (dim 6) frame must be rejected (the 653<-563 warp then starts from the wrong frame)
import copy as cp6
- m=cp6.deepcopy(final);m['B'][894][-1]=prev_r['B'][894][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0))
+ m=cp6.deepcopy(final);m['B'][904][-1]=prev_r['B'][904][-1];bp=Path(tempfile.mkdtemp())/'refit563_undone.json.gz';bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode(),mtime=0))
br=run_audit(bp,None,bp.parent/'refit563_undone.out.json');ru=br.returncode!=0 and 'warp frame mismatch' in (br.stdout+br.stderr);res['refit563_undone_rejected_by_warp_frame_mismatch']=ru;ok&=ru
if xpatch:
xc=subprocess.run([sys.executable,'-B',str(D/'alias1_controls.py'),str(shipped),str(xf),str(RCP/f'CONTROLS-ALIAS1-43{wt}.json')],capture_output=True,text=True)
Binary file not shown.
12 changes: 12 additions & 0 deletions research/t74-joint-twelve-retired7/GENERATOR-PINS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"pr2679_manifest": "db498ed7998397ef00501e037f10678e89ee113d57af4667c5c6978fc42e83ba",
"vendor": {
"vendor/generate_words.py": "340532e035fa3c4d7d2f92aeb80f0efbb44a53c4e3deeb0c6bf7d6ae2fccd0c7",
"vendor/gf_chart.py": "871936fa81af695d5bdc029803af81228300c405f5ff8d153e130530dddca4f6",
"vendor/target_transport.py": "9f92e1699167f46d0f0e59b540a9940ee1addcb5357ca65cf1dbf7acdbe7ad86",
"vendor/UPSTREAM-NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b",
"vendor/GENERATOR-NOTICE.txt": "d4cbc432b79ee2d54a83bcadf260bb89e910262b8c19e763e08b7eb3a5e8215c",
"vendor/UPSTREAM-VENDOR-SOURCES.json": "592a98f6a3bd7fbd0063d90c989e30c5cd534220797b5b0beb0388e1f8d498ec",
"vendor/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
}
}
41 changes: 41 additions & 0 deletions research/t74-joint-twelve-retired7/INPUT-PINS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"inputs/DISPATCH.json.gz": "14fe756dcac93a0f3b2b7f38ba7b998dec89d56d5171b691af4fae45e5d83d11",
"inputs/FILL.json.gz": "2f2a25a8d82b424b1e643a8a5167361fcc5ab33cfbc6f186f4cb7ddcaf9df7d9",
"inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e",
"inputs/ORDER.json": "129e791d5b45c279443ff9e1edef5ac33d5abc51717ecbae8265abea5c247ae7",
"inputs/PLAN.json.gz": "afb3c5c8134fc2cfce0b50a21758490c225574994b2c3c5161e53e2355acc6fa",
"inputs/POSITIVE2462-base.json.gz": "3506c84203f126900326ff4d22aaceda819734e5f96fa4622d43fbb78b946ece",
"inputs/POSITIVE2462-extra.json.gz": "ec7103c196b32de7af79a6f43952cbe998c085a00f1a8e740f5556c774589099",
"inputs/PROVIDERS.json": "391075b1411a3976850c633f92f58c35ed3f046f09d55bd435d7545124543fd4",
"inputs/SOURCE-FILL.json.gz": "dc96598624ee49d368e1130ec2148734be0bbc68402cc181e1f02ae9ca8e3d06",
"inputs/SOURCE-ORDER.json": "aa7c53c188c90fd74421a804f4c6fb13aa1187c06dbac51fa147830a40e00667",
"inputs/SOURCE-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7",
"inputs/WORD-base.json.gz": "dca8becca633ffc5e998985631bcbcab1123b27ca7f10ac6a96b1ec21ce69a66",
"inputs/WORD-extra.json.gz": "6bcb3c2c73eaf7558ddc6ef6b484334f8d96b9d2b227e265483b657de00f4bb7",
"evidence/PR2733-CLAIM.json": "8e08f71a18e6a30259c1e2ea19b4069b9d3e3b656b38c57065ec2b9db367282b",
"evidence/PR2745-CLAIM.json": "62b395b95322e0a6786e0193e312d67de6b664c8c79fcfaab5bc7effe775a7c3",
"inputs/WORD2751-base.json.gz": "ae8b6b4d62a9da29331062fae1bd68b0341edf83152f5a5ef50c5109ba578f9a",
"inputs/WORD2751-extra.json.gz": "1bb44a73d5841afb954b49ae94dba2e0c536b1eea9436ae5d89de87d8a04e127",
"inputs/PROVIDERS2751.json": "ec4802a33c0e1d41369da77b19b9b783dc812b2d3246e096fee13d29f226dd66",
"inputs/FILL2751.json.gz": "9ce94578640b4927cb9c73244692b1f79ac2999179d309f6bf0c015c06f7a2f1",
"inputs/refit5_43base.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642",
"inputs/refit5_43extra.json": "ff434b1820339f0f7c2c8ba7982edc4c236e522ea30aaa56890206c0fa96f642",
"inputs/alias5_43base.json": "a9ef916e6afcba33345bce3fd0e33606f09f340e0378cf017e2994a9206b969d",
"inputs/alias5_43extra.json": "aeff3d1ffa74e4bffa892293f88a968e2c2b0330ad61128696a6bce7bc383b46",
"inputs/refit5c_43base.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1",
"inputs/refit5c_43extra.json": "cd8e6b7f8b8dacf21875f465e3df05bf827f12dd063fe1be7557c7281bff16f1",
"evidence/PR2751-CLAIM.json": "78e99222196fca8b74a895b9e2db40a0e4afd1d69cd4fb52f38bfb157bac2438",
"vendor/word_patch_pr2679.py": "9b3287f189c4f29c1a8bdb1ba01fdcfe14a57d87b50fa4f2f646fb2346ab01ce",
"evidence/PR2766-CLAIM.json": "399e20ffb8bac62363f7d48c59021d5afef5f62bb6c51986ca847b02ec1e73a8",
"evidence/PR2767-OUTER-CLAIM.json": "252b7bbdbef293f643633ff95ba7d1eabbe83e1eebcd1cb06f51834256bde1f3",
"vendor/audit_local_pr2679.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90",
"inputs/refit7_43base.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7",
"inputs/refit7_43extra.json": "c1ca4637c3b88828d2628c87a20f93088769dbceb9f487cb75ce90ec1a0ff5f7",
"inputs/hostmove2_43base.json": "ee0f0de1ebe2f84e37e439f783a76f5d210fa1c34b3497a8d3c490296ee88e3b",
"inputs/hostmove2_43extra.json": "d06b7a56b457c16ea138e8265fc6f2d1b32711f0515a76137e86325a6f77a024",
"inputs/alias7_43base.json": "100558d0f0ffbb2df38668b3d2bc4e4e11d5f328f629f5b4d931b0f619d49700",
"inputs/alias7_43extra.json": "783ed700791b1dcd4bb35422f5fb8114a0c5d82773394b87a613e5f32da51250",
"inputs/refit7c_43base.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df",
"inputs/refit7c_43extra.json": "086dc27f17448ab9bddb2e890752cf13d5965a63cd79fcf25aa7f1c9402503df",
"retired7_controls.py": "21ebe527aa62be198b231190d404b84cc89961575caa27756cbd24dfe1db0904"
}
Loading