upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlog <log@invalid>2026-10-07 22:23:47 +0000
committerlog <log@invalid>2026-10-07 22:23:47 +0000
commit9789a96ca4262d8bf721c2e59e95d7ebd8626e8d (patch)
tree6abe0be9e0a3491f9dfb167818f0e31e0208504c
parent50094cfff87b1b749dbf47e3b64e28c0db334e4b (diff)
size 83967
-rw-r--r--reveal/v5-000010/check.py319
-rw-r--r--reveal/v5-000010/manifest.txt28
-rw-r--r--reveal/v5-000010/manifest.txt.otsbin0 -> 654 bytes
-rw-r--r--reveal/v5-000010/r33476212.ctbin0 -> 21923 bytes
-rw-r--r--reveal/v5-000010/r33476212.nostr.json1
-rw-r--r--reveal/v5-000010/r33476212.tlock11
-rw-r--r--reveal/v5-000010/r33505012.ctbin0 -> 27552 bytes
-rw-r--r--reveal/v5-000010/r33505012.nostr.json1
-rw-r--r--reveal/v5-000010/r33505012.tlock11
-rw-r--r--reveal/v5-000010/r33591412.ctbin0 -> 9714 bytes
-rw-r--r--reveal/v5-000010/r33591412.nostr.json1
-rw-r--r--reveal/v5-000010/r33591412.tlock11
-rw-r--r--reveal/v5-000010/r33620212.ctbin0 -> 3837 bytes
-rw-r--r--reveal/v5-000010/r33620212.nostr.json1
-rw-r--r--reveal/v5-000010/r33620212.tlock11
-rw-r--r--reveal/v5-000010/r33677812.ctbin0 -> 1026 bytes
-rw-r--r--reveal/v5-000010/r33677812.nostr.json1
-rw-r--r--reveal/v5-000010/r33677812.tlock11
-rw-r--r--reveal/v5-000010/r33735412.ctbin0 -> 1686 bytes
-rw-r--r--reveal/v5-000010/r33735412.nostr.json1
-rw-r--r--reveal/v5-000010/r33735412.tlock11
-rw-r--r--reveal/v5-000010/r34628212.ctbin0 -> 21656 bytes
-rw-r--r--reveal/v5-000010/r34628212.nostr.json1
-rw-r--r--reveal/v5-000010/r34628212.tlock11
-rw-r--r--reveal/v5-000010/r34657012.ctbin0 -> 27501 bytes
-rw-r--r--reveal/v5-000010/r34657012.nostr.json1
-rw-r--r--reveal/v5-000010/r34657012.tlock11
-rw-r--r--reveal/v5-000010/r34743412.ctbin0 -> 9737 bytes
-rw-r--r--reveal/v5-000010/r34743412.nostr.json1
-rw-r--r--reveal/v5-000010/r34743412.tlock11
-rw-r--r--reveal/v5-000010/r34772212.ctbin0 -> 3866 bytes
-rw-r--r--reveal/v5-000010/r34772212.nostr.json1
-rw-r--r--reveal/v5-000010/r34772212.tlock11
-rw-r--r--reveal/v5-000010/r34829812.ctbin0 -> 1008 bytes
-rw-r--r--reveal/v5-000010/r34829812.nostr.json1
-rw-r--r--reveal/v5-000010/r34829812.tlock11
-rw-r--r--reveal/v5-000010/r34887412.ctbin0 -> 1685 bytes
-rw-r--r--reveal/v5-000010/r34887412.nostr.json1
-rw-r--r--reveal/v5-000010/r34887412.tlock11
-rw-r--r--reveal/v5-000010/r35117812.ctbin0 -> 1009 bytes
-rw-r--r--reveal/v5-000010/r35117812.nostr.json1
-rw-r--r--reveal/v5-000010/r35117812.tlock11
-rw-r--r--reveal/v5-000010/r35463412.ctbin0 -> 1019 bytes
-rw-r--r--reveal/v5-000010/r35463412.nostr.json1
-rw-r--r--reveal/v5-000010/r35463412.tlock11
-rw-r--r--reveal/v5-000010/r35521012.ctbin0 -> 670 bytes
-rw-r--r--reveal/v5-000010/r35521012.nostr.json1
-rw-r--r--reveal/v5-000010/r35521012.tlock11
-rw-r--r--reveal/v5-000010/r35636212.ctbin0 -> 4175 bytes
-rw-r--r--reveal/v5-000010/r35636212.nostr.json1
-rw-r--r--reveal/v5-000010/r35636212.tlock11
-rw-r--r--reveal/v5-000010/r36269812.ctbin0 -> 1016 bytes
-rw-r--r--reveal/v5-000010/r36269812.nostr.json1
-rw-r--r--reveal/v5-000010/r36269812.tlock11
-rw-r--r--reveal/v5-000010/r36615412.ctbin0 -> 1035 bytes
-rw-r--r--reveal/v5-000010/r36615412.nostr.json1
-rw-r--r--reveal/v5-000010/r36615412.tlock11
-rw-r--r--reveal/v5-000010/r36673012.ctbin0 -> 847 bytes
-rw-r--r--reveal/v5-000010/r36673012.nostr.json1
-rw-r--r--reveal/v5-000010/r36673012.tlock11
-rw-r--r--reveal/v5-000010/r36730612.ctbin0 -> 1553 bytes
-rw-r--r--reveal/v5-000010/r36730612.nostr.json1
-rw-r--r--reveal/v5-000010/r36730612.tlock11
-rw-r--r--reveal/v5-000010/r36788212.ctbin0 -> 4536 bytes
-rw-r--r--reveal/v5-000010/r36788212.nostr.json1
-rw-r--r--reveal/v5-000010/r36788212.tlock11
-rw-r--r--reveal/v5-000010/r37882612.ctbin0 -> 1566 bytes
-rw-r--r--reveal/v5-000010/r37882612.nostr.json1
-rw-r--r--reveal/v5-000010/r37882612.tlock11
-rw-r--r--reveal/v5-000010/seal.json43
70 files changed, 654 insertions, 0 deletions
diff --git a/reveal/v5-000010/check.py b/reveal/v5-000010/check.py
new file mode 100644
index 0000000..7f86b8d
--- /dev/null
+++ b/reveal/v5-000010/check.py
@@ -0,0 +1,319 @@
1#!/usr/bin/env python3
2"""
3Check Echo's self-revealing ledger seals (`sha256-live-v5`) without trusting Echo.
4
5 python3 check.py SEAL_DIR [SEAL_DIR ...] [--tle PATH] [--offline]
6
7Needs Python 3.11+, the `cryptography` package (ChaCha20-Poly1305) and drand's `tle` binary
8(`go install github.com/drand/tlock/cmd/tle@v1.2.0`). It imports nothing of Echo's: a checker that needs the thing it
9checks is not a checker, which is why it is copied, whole, into every seal directory.
10
11Each SEAL_DIR is one seal: `manifest.txt` (the exact text the seal's digest is the sha256 of), `seal.json`, and per
12reveal group `r<ROUND>.tlock` (the group's key, time-locked to that drand round) and `r<ROUND>.ct` (the group,
13encrypted under that key), and, once the group has been revealed, `r<ROUND>.held.json` (how many of its withheld
14lines Echo publishes no salt for, and why) and any number of `r<ROUND>.salts.<N>.json`: each the salts of withheld
15lines Echo decided to open and had not erased, each with its line. `manifest.txt.ots`, when present, is an
16OpenTimestamps proof over the manifest: `ots verify manifest.txt.ots` checks it against Bitcoin.
17
18What it checks, from the files alone and the beacon:
19 1. the manifest hashes to the seal's digest, and each seal names the one before it (when several are given);
20 2. each group's ciphertext and locked key hash to what the manifest commits, and the key is locked to the
21 manifest's round of the manifest's chain;
22 3. for every group whose round the beacon has signed: the round's signature as each relay serves it, the key
23 unlocked with it, the group decrypted, its bytes hashed to the committed digest, its lines and withheld lines
24 counted against the committed counts, its lines in id order, and every line's reveal day recomputed from its
25 own settling instant under the seal's named rule (`utc-day-after-close`: the first 00:00 UTC after
26 `settles_at`, else after the deadline);
27 4. for every opened group with releases: each names this seal, round and group and its own number; each released
28 salt and line hash to the withheld line's committed hash; no line is settled twice; and a hold, where there is
29 one, names the group and counts no more lines than are withheld;
30 5. once every group of every seal from the first is open and every withheld line released: the union of their v4
31 lines, sorted by id, rehashes to the v4 digest the last seal follows, so no sealed forecast was left out of a
32 reveal. Where a withheld line has no released salt (held, erased, or not yet released) that digest cannot be
33 rebuilt, and this says so and why: what is checked then is only that every forecast the v4 seal covers is in a
34 group, counted. A withheld line is never called verified.
35
36A group whose round is not yet signed, or whose withheld lines have no release yet, is reported as pending or held,
37not as a failure. Exit 0 when everything checkable passed, 1 when anything did not match.
38"""
39from __future__ import annotations
40
41import argparse
42import base64
43import hashlib
44import json
45import re
46import subprocess
47import sys
48import urllib.request
49import zlib
50from datetime import datetime, timedelta, timezone
51from pathlib import Path
52
53
54def sha(b: bytes) -> str:
55 return hashlib.sha256(b).hexdigest()
56
57
58def parse_manifest(text: str) -> dict:
59 lines = text.split("\n")
60 if lines[0] != "sha256-live-v5":
61 raise ValueError(f"not a v5 manifest: {lines[0]!r}")
62 m = {"groups": []}
63 for ln in lines[1:]:
64 word, _, rest = ln.partition(" ")
65 if word == "prev":
66 m["prev"] = None if rest == "-" else rest
67 elif word == "follows":
68 seq, digest, n = rest.split(" ")
69 m["follows"] = {"seq": int(seq), "digest": digest, "n": int(n)}
70 elif word == "covers":
71 m["covers"] = rest.split(" ")
72 elif word == "variant":
73 m["variant"] = json.loads(rest)
74 elif word == "counts":
75 m["n"], m["n_withheld"], m["n_groups"] = map(int, rest.split(" "))
76 elif word == "group":
77 r, at, n, w, digest, ct, key, late = rest.split(" ")
78 m["groups"].append({"round": int(r), "reveal_at": at, "n": int(n), "n_withheld": int(w),
79 "digest": digest, "ct": ct, "key": key, "late": late == "1"})
80 else:
81 raise ValueError(f"unknown manifest line {ln!r}")
82 return m
83
84
85def stanza(locked: str) -> tuple[int, str] | None:
86 body = "".join(ln for ln in locked.strip().splitlines() if not ln.startswith("-----"))
87 m = re.search(rb"-> tlock (\d+) ([0-9a-f]{64})", base64.b64decode(body))
88 return (int(m.group(1)), m.group(2).decode()) if m else None
89
90
91def round_at(beacon: dict, at: datetime) -> int:
92 t = at.timestamp()
93 whole = int(t) + (t != int(t))
94 if whole <= beacon["genesis_time"]:
95 return 1
96 return -(-(whole - beacon["genesis_time"]) // beacon["period"]) + 1
97
98
99def reveal_day(closes: datetime) -> datetime:
100 d = closes.astimezone(timezone.utc).date() + timedelta(days=1)
101 return datetime(d.year, d.month, d.day, tzinfo=timezone.utc)
102
103
104def parse_line(ln: str) -> dict:
105 """One line: `id|issued_at|deadline|forecaster|p|settlement|anchor<TAB>open:<v4>` or `...<TAB>withheld:<hex>`."""
106 numeric, tab, text = ln.partition("\t")
107 if not tab:
108 raise ValueError("a line without its text layer")
109 fid, issued, deadline, forecaster, p, rest = numeric.split("|", 5)
110 dec = json.JSONDecoder()
111 settle, end = dec.raw_decode(rest)
112 if rest[end] != "|":
113 raise ValueError("settlement not followed by the anchor")
114 anchor, end2 = dec.raw_decode(rest, end + 1)
115 if end2 != len(rest):
116 raise ValueError("trailing bytes after the anchor")
117 out = {"id": int(fid), "issued_at": issued, "deadline": deadline, "forecaster": forecaster, "p": float(p),
118 "settlement": settle, "anchor": anchor}
119 if text.startswith("open:"):
120 out["v4"] = text[5:]
121 if not out["v4"].startswith(f"{fid}|"):
122 raise ValueError("the text layer is another forecast's line")
123 elif re.fullmatch(r"withheld:[0-9a-f]{64}", text):
124 out["withheld"] = text[9:]
125 else:
126 raise ValueError(f"unknown text layer {text[:20]!r}")
127 return out
128
129
130def beacon_round(beacon: dict, rnd: int) -> dict:
131 """What each relay serves for the round: its signature, or why there is none."""
132 out = {}
133 for relay in beacon["relays"]:
134 url = f"{relay.rstrip('/')}/{beacon['chain_hash']}/public/{rnd}"
135 try:
136 with urllib.request.urlopen(url, timeout=20) as r: # noqa: S310 — the seal's own relays
137 out[relay] = json.loads(r.read()).get("signature")
138 except Exception as exc: # noqa: BLE001 — report, go on
139 out[relay] = f"unavailable ({type(exc).__name__})"
140 return out
141
142
143def unlock(tle: str, beacon: dict, locked: str) -> bytes | None:
144 """The key, or None while the round is unsigned. Each relay is tried in turn."""
145 errors = []
146 for relay in beacon["relays"]:
147 r = subprocess.run([tle, "-d", "-n", relay.rstrip("/") + "/", "-c", beacon["chain_hash"]],
148 input=locked.encode(), capture_output=True, timeout=120, check=False)
149 if r.returncode == 0:
150 return r.stdout
151 if b"too early" in r.stderr:
152 return None
153 errors.append(f"{relay}: {r.stderr.decode(errors='replace').strip()[-160:]}")
154 raise RuntimeError("; ".join(errors))
155
156
157def release(d: Path, seal_digest: str, g: dict, lines: list[dict], say) -> tuple[dict[int, str], int, str | None]:
158 """An opened group's releases and hold, checked against the group: (id -> the v4 line each released salt opens,
159 how many withheld lines were opened and found erased, and the hold's reason where Echo published one)."""
160 r = g["round"]
161 shut = {x["id"]: x["withheld"] for x in lines if "withheld" in x}
162 out, erased, seen, bad = {}, set(), set(), []
163 files = sorted(d.glob(f"r{r}.salts.*.json"), key=lambda p: int(p.name.split(".")[-2]))
164 for k, path in enumerate(files):
165 rel = json.loads(path.read_text())
166 say(rel.get("format") == "echo-reveal-salts/1" and rel.get("seal") == seal_digest
167 and rel.get("round") == r and rel.get("group") == g["digest"] and rel.get("n") == k
168 and path.name == f"r{r}.salts.{k}.json",
169 f"round {r}: release {k} names this seal, round and group, and follows the one before")
170 for x in rel.get("released", []):
171 i, line = x["id"], x["line"]
172 opens = (i in shut and i not in seen and line.startswith(f"{i}|")
173 and sha(bytes.fromhex(x["salt"]) + line.encode()) == shut[i])
174 if opens:
175 out[i] = line
176 else:
177 bad.append(i)
178 seen.add(i)
179 for i in rel.get("erased", []):
180 if i not in shut or i in seen:
181 bad.append(i)
182 erased.add(i)
183 seen.add(i)
184 if files:
185 say(not bad, f"round {r}: {len(out)} released lines open their committed hashes, {len(erased)} opened lines "
186 f"found erased, none settled twice" + (f" ({len(bad)} do not, e.g. {bad[:3]})" if bad else ""))
187 why = None
188 hold = d / f"r{r}.held.json"
189 if hold.exists():
190 h = json.loads(hold.read_text())
191 say(h.get("format") == "echo-reveal-held/1" and h.get("seal") == seal_digest and h.get("round") == r
192 and h.get("group") == g["digest"] and 0 <= h.get("held", -1) <= len(shut),
193 f"round {r}: the hold names this seal, round and group, and counts at most its withheld lines")
194 why = str(h.get("why") or "no reason given")
195 left = len(shut) - len(out) - len(erased)
196 if left:
197 print(f" .... round {r}: {left} withheld lines have no released salt: counted, not rehashed"
198 + (f" (Echo publishes none: {why})" if why else " (no release or hold published yet)"))
199 return out, len(erased), why
200
201
202def check(dirs: list[Path], tle: str = "tle", offline: bool = False) -> int:
203 from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
204
205 failed, pending, withheld, held, erased, union = 0, 0, 0, 0, 0, {}
206 reasons: set[str] = set()
207 first_prev = "unset"
208
209 def say(ok: bool, what: str) -> None:
210 nonlocal failed
211 failed += not ok
212 print(f" {'PASS' if ok else 'FAIL'} {what}")
213
214 prev_digest = None
215 seals = []
216 for d in dirs:
217 text = (d / "manifest.txt").read_bytes()
218 row = json.loads((d / "seal.json").read_text())
219 seals.append((d, text, row, parse_manifest(text.decode())))
220 seals.sort(key=lambda s: s[2]["seq"])
221 last = None
222 for i, (d, text, row, m) in enumerate(seals):
223 print(f"v5 seal {row['seq']}: {m['n']} forecasts in {m['n_groups']} reveal groups, {m['n_withheld']} withheld, "
224 f"follows v4 seal {m['follows']['seq']}")
225 say(sha(text) == row["digest"], f"sha256(manifest.txt) is the seal's digest {row['digest'][:16]}…")
226 say(len(m["groups"]) == m["n_groups"] and sum(g["n"] for g in m["groups"]) == m["n"]
227 and sum(g["n_withheld"] for g in m["groups"]) == m["n_withheld"], "the manifest's counts add up")
228 if i == 0:
229 first_prev = m["prev"]
230 else:
231 say(m["prev"] == prev_digest, "it names the seal before it")
232 prev_digest, last = row["digest"], m
233 b = m["variant"]["beacon"]
234 for g in m["groups"]:
235 r = g["round"]
236 ct, locked = (d / f"r{r}.ct").read_bytes(), (d / f"r{r}.tlock").read_text()
237 say(sha(ct) == g["ct"] and sha(locked.encode()) == g["key"],
238 f"round {r}: the ciphertext and the locked key are the committed ones")
239 say(stanza(locked) == (r, b["chain_hash"]), f"round {r}: the key is locked to that round of that chain")
240 say(round_at(b, datetime.fromisoformat(g["reveal_at"])) == r, f"round {r} is signed at {g['reveal_at']}")
241 if not offline:
242 sigs = beacon_round(b, r)
243 good = {s for s in sigs.values() if s and not s.startswith("unavailable")}
244 print(f" .... round {r} signature from {len(sigs)} relays: "
245 + ("not yet signed" if not good else f"{len(good)} distinct: {min(good)[:24]}…"))
246 if len(good) > 1:
247 say(False, f"round {r}: relays disagree on its signature")
248 key = unlock(tle, b, locked)
249 if key is None:
250 pending += 1
251 print(f" .... round {r} ({g['reveal_at']}) not yet signed: {g['n']} forecasts stay locked")
252 continue
253 try:
254 plain = zlib.decompress(ChaCha20Poly1305(key).decrypt(b"\x00" * 12, ct, None))
255 except Exception as exc: # noqa: BLE001 — a finding, not a crash
256 say(False, f"round {r}: the ciphertext does not open under its key ({type(exc).__name__})")
257 continue
258 say(sha(plain) == g["digest"], f"round {r}: the opened group hashes to its committed digest")
259 lines = [parse_line(ln) for ln in plain.decode().split("\n")]
260 ids = [x["id"] for x in lines]
261 say(len(lines) == g["n"] and sum("withheld" in x for x in lines) == g["n_withheld"],
262 f"round {r}: {len(lines)} lines, {g['n_withheld']} withheld, as committed")
263 say(ids == sorted(set(ids)), f"round {r}: lines in id order, none twice")
264 due = datetime.fromisoformat(g["reveal_at"])
265 if m["variant"].get("reveal") == "utc-day-after-close":
266 wrong = [x["id"] for x in lines if reveal_day(datetime.fromisoformat(
267 (x["settlement"] or {}).get("settles_at") or x["deadline"])) != due]
268 say(not wrong, f"round {r}: every line belongs to this reveal day"
269 + (f" ({len(wrong)} do not, e.g. {wrong[:3]})" if wrong else ""))
270 else:
271 print(f" .... round {r}: reveal rule {m['variant'].get('reveal')!r} is not one this checker "
272 "recomputes; which lines belong to the day is unchecked")
273 opened, gone, why = release(d, row["digest"], g, lines, say)
274 for x in lines:
275 if x["id"] in union:
276 say(False, f"forecast {x['id']} is in two groups")
277 union[x["id"]] = x.get("v4") or opened.get(x["id"])
278 shut = sum(1 for x in lines if "withheld" in x and x["id"] not in opened) - gone
279 erased += gone
280 if why is None:
281 withheld += shut
282 else:
283 held += shut
284 reasons.add(why)
285 if last is not None:
286 if first_prev is not None:
287 print(" .... completeness: the first seal given is not the chain's first; give every seal from it")
288 elif pending:
289 print(f" .... completeness: {pending} groups still locked; it is checkable once all have opened")
290 elif withheld or held or erased:
291 told = [f"{withheld} withheld lines not yet released"] if withheld else []
292 told += ([f"{held} withheld lines held, for which Echo publishes no salt ({'; '.join(sorted(reasons))})"]
293 if held else [])
294 told += [f"{erased} erased stay hashes"] if erased else []
295 print(f" .... completeness: {', '.join(told)}: those lines can be counted but not rehashed, so the v4 "
296 f"lines cannot all be rebuilt and the v4 digest is NOT checked; {len(union)} forecasts against "
297 f"the v4 seal's {last['follows']['n']}")
298 say(len(union) == last["follows"]["n"], "every forecast the v4 seal covers is in a group, counted")
299 else:
300 got = sha("\n".join(union[k] for k in sorted(union)).encode())
301 say(got == last["follows"]["digest"] and len(union) == last["follows"]["n"],
302 f"the union of {len(union)} lines rehashes to v4 seal {last['follows']['seq']}'s digest")
303 print("\nNOT VERIFIED" if failed else f"\nVERIFIED{f' ({pending} groups not yet revealed)' if pending else ''}")
304 return 1 if failed else 0
305
306
307def main(argv: list[str]) -> int:
308 ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
309 ap.add_argument("dirs", nargs="*", default=[str(Path(__file__).resolve().parent)],
310 help="seal directories, any order (default: the one this script sits in)")
311 ap.add_argument("--tle", default="tle", help="the tle binary that unlocks a key once its round is signed")
312 ap.add_argument("--offline", action="store_true",
313 help="do not fetch each round's signature from the relays for display; tle still asks them")
314 args = ap.parse_args(argv)
315 return check([Path(d) for d in args.dirs], tle=args.tle, offline=args.offline)
316
317
318if __name__ == "__main__":
319 raise SystemExit(main(sys.argv[1:]))
diff --git a/reveal/v5-000010/manifest.txt b/reveal/v5-000010/manifest.txt
new file mode 100644
index 0000000..36d97b4
--- /dev/null
+++ b/reveal/v5-000010/manifest.txt
@@ -0,0 +1,28 @@
1sha256-live-v5
2prev f7dd3d54a02d0aa327e76a1ec41d89f8b0fa700247dfad7ebf0c82ab889004c3
3follows 40 a720d648653f2f2e495b56d1070ab7f8fa22fb56082767898293319d8fe370ac 49123
4covers 2026-10-06T22:21:37.282794Z 2026-10-07T22:22:18.177798Z
5variant {"beacon":{"chain_hash":"52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971","genesis_time":1692803367,"period":3,"relays":["https://api.drand.sh","https://api2.drand.sh","https://api3.drand.sh","https://drand.cloudflare.com"],"scheme":"bls-unchained-g1-rfc9380"},"cipher":"chacha20poly1305-zlib6-nonce0","gate":{"default":"withheld: a kept salt can be released later; an opened text can never be withdrawn","opened":"none","why":"no decision by Echo yet"},"line":"numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)","reveal":"utc-day-after-close","salts":"key ring: one content a seal, one part a line","tool":{"name":"tle","sha256":"69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541","version":"tlock v1.2.0 -- github.com/drand/tlock"}}
6counts 2473 2473 22
7group 33476212 2026-10-29T00:00:00.000000Z 381 381 b9c81214019f6b5b5323782c92114f535138a767e489acdf3f08c190b88997bc b6661abf5e3c21c93673f2196b38f7ef39d6faa67dda720c2708a2234e4b4243 13bc42090887e4b999881a8f0c242dc8e7ebf01630916896ae5ff93125ad4c34 0
8group 33505012 2026-10-30T00:00:00.000000Z 477 477 9db8c3d8b41a92f313c7bd6be3694b34da653201814f5990a1b5fbabdc88d348 c1afe21b827ae661690bc91103f062e1df7615b4481298c3cf65634acb9cfc36 f5fb255fcdc2f424524d7f15e224656dd75533f78cfbbe8b6f8b2ac734853165 0
9group 33591412 2026-11-02T00:00:00.000000Z 164 164 9c1fde8a9be3fe4ef39f8d558f7e9025616e15a83d0d9952eb90cbaa30913e96 89b74c8d7e5141e62887b082809998540897651d385b901402d9feb2ebe20e68 b386039e1e61ec7ded9d815276900be7a912fc9e8684fcee60424e5aab8b0de4 0
10group 33620212 2026-11-03T00:00:00.000000Z 60 60 5b5844810c20ef88518c2524077a298b4604fd30a078c01f00c0551b68796bc2 ea56801807ccd81274bf04a815e6bd46e76651197677963d0e2a86af2df3a879 98a7e3d5e28799945435f0131892e935e4648a9690f6f2cc3e3a961c39f0df10 0
11group 33677812 2026-11-05T00:00:00.000000Z 12 12 8251b794d2e265a4b2f13cd18c564f779cd2b0ea490ad840145c68d0ad0d607d 31630584383143f9c488dd8f9a0e5a93866a0e4a90835dabc8490dce0fc28f36 1c50bd8977ef8e380b30017df05dde5fff3bd779384b57f53020adce6b5f4729 0
12group 33735412 2026-11-07T00:00:00.000000Z 24 24 f2f227f9b35d71f75ae8754a6d3eea05007a7d7fdf04ac296215921c53428140 4fe1db56d2f4c6451f7705ef737080c6f018f6c811b4d145584926302b3b892b 8d13b871c19e54f5ff3e46bc92f8de10b337864d692dc8eb07e01e99394c18d7 0
13group 34628212 2026-12-08T00:00:00.000000Z 378 378 e5da6c5a376666eab674176968b6f063f88ddf7ffd9d8f6d86e9601dcd32f87d 890c7b096f69b2ea536c09b1afd7285eaa9717c9f84cde117311593818b7c445 00eb7edd46084facfb8efe6966b8c82859d37c9afe8135bc46408b31682c7781 0
14group 34657012 2026-12-09T00:00:00.000000Z 474 474 53f80d9fad53818f62da230deb1f70973c1e90722b80fbc8a81a1b0ea6fddd41 3d3db9a0e699a852e974e4ccacf2d206cead90c59eb5baaae41c6b5dab1a1f36 69f576daf1f005922bc475f5f8a742b7dfdb0714747b0bc82f97ae10abe8f602 0
15group 34743412 2026-12-12T00:00:00.000000Z 164 164 180dec0d892f7f3d207e29a4908176aa141ff6ddc90e10db4e1baec75ec3ee17 b154fcf70be553f9e8bec619c95908d1c09a1e277501dedbb142dc24b4a5b6f8 5ff22ba1c6841f707f76109b097823a35be99707ad91392b4e92697beb8eb215 0
16group 34772212 2026-12-13T00:00:00.000000Z 60 60 fecf4743591614d4a9d799c14fc58535f0819c1863dd7e1f21842ff2cb777eb7 06c805dcdd4a7dfe43c108cddf297358cf5e4cd60cf92f431610238d8fab03d6 e27e93e1c693839aac2745d8d4e70494887f55b77afaff1c11aa8e400d941ef9 0
17group 34829812 2026-12-15T00:00:00.000000Z 12 12 0bcc68ad6d18b692dc136254978c2223162d208f12eb717bff2bb7aea7236096 a4070794f2880d53f5889fca1c9d8f61b648283a4f7787014515db7d5ca71f28 88db1096d9ed57ae2a2ec50df3f8cf8c8cb764d054b063f1caadf77f10fe7f23 0
18group 34887412 2026-12-17T00:00:00.000000Z 24 24 ad5dfa9889e811fe75423ec2a7dcf1e78d50a3a2d58e454d692b25f7335743de 61a56dee588b6c9701c851ef685383ad6f9a6329cff755f0e92ba5e7ba2869c4 9f542f4b3962aad87b27df63ca0f9908a3bb9cbde2c3b7eebc72e735a712bdde 0
19group 35117812 2026-12-25T00:00:00.000000Z 12 12 5f1a2869174bca5b144a60d97a116989f83fe29ae678000cae9c1b8514bf1762 4281c5655b1bc2cda08d4be8eb7d891bbb0aa6bd026bab6349f5949ad6e85c2a 03ac85e536d0f4245d566a06bf573bb56f95416654d28fa02a9507f0bfd3ff62 0
20group 35463412 2027-01-06T00:00:00.000000Z 12 12 cfd601fd5de51408211e4f7ebcdf26c5b8c1d2bf6c1c2cd43d3105bf1b86509d 24750962eb7b210e3cc00108712036bab3fb3775a03fd2c35f471de196587e1c 748a13faa6684220f5f54856e0912f613e6302f9964cee9f71c666a1a8174b3b 0
21group 35521012 2027-01-08T00:00:00.000000Z 6 6 beb77f7d91fe3fc176521dff5f0957172ce0f78f0357e17dc19dbedded496727 44fa0fcba2a956e635fd5058db21b64e678c257032ed3781b312c29baaad82f7 b896d56d6d315ded5bf81a89d1e0fb2ad4aa65147a6c8f20a414df5189a17d7c 0
22group 35636212 2027-01-12T00:00:00.000000Z 66 66 ceb7bbb130d6a490af318b58574a0a47d3e2bf13d652378c2cf45ef90be4eaf5 4525635f6b2d1ca9265ed61e4794ba79aed06b93df4273956ec1594ba5c6e157 8a2fac61a0970d18c655ae4fed78b89f29e2ee59d653c6ec6d80c0248e2bd68b 0
23group 36269812 2027-02-03T00:00:00.000000Z 12 12 a6212a3713d42a71595d6ba5154463d73d871a0b78206917c7d7b7c6c3ea75e2 9c155e12bc2bf57fff458816cc7eff0b525c2ae94f52bb70ff7cc37573c19757 d0478a151ca3febb5b5dbc54f595ece432dd6065473f7a49a6d1cfa8770eeaa8 0
24group 36615412 2027-02-15T00:00:00.000000Z 12 12 496c094cd2f718802b039440f0298ca2f301986951fc4987e441924f03dd4f04 baa6112b62f629afbb0f19c6d16e9be06434c7fe2d1d4a4a32cbeb14519c4fad 2618f0f14ae434c3caa7ce7ae48c3579b38e438f81f359d1f48ceceed1c33ff3 0
25group 36673012 2027-02-17T00:00:00.000000Z 9 9 747b70c370b30371706c19b2a274e386ac7d97f2af4be6c8b12a6764ca7cac83 0d6064d6704239e0424192c7732bf22eb38329996ce59b9f2ab44b17c4ea05c4 4ce1d50b910efa76100bfc02b027ade2f49db35fd781620d139ba4c2755dd840 0
26group 36730612 2027-02-19T00:00:00.000000Z 21 21 9cc71147a753613c423ea454e502acecbb69d0a9d463b402a3ab3f8353ff8c43 df248dd3ec6b186a6f889f3067eea2edff52695c5ff8ff6bad1ded1ebc535d3d 4c27b52fb8993619c925af58002da45977a1e720c8ee8616b7973fbc53dc8280 0
27group 36788212 2027-02-21T00:00:00.000000Z 72 72 fe5a53feb002abeb4157be9026cf8714ff77a31e5591f848165e6f2e3e59c40d 849d5dbd7348767a4d2c82b26d478d7a89ae476be5d9fa897876b9f0744b7c99 a566466a6266e7e36379861ce7d024f4c9e67372e620637edad93156db0933c6 0
28group 37882612 2027-03-31T00:00:00.000000Z 21 21 262716bef37b6cdda1624869e04ba7189369ce73260f65b80c6c2c96a9109ec1 177199dcaf07308b66b38cdb212f852f3d8f203f5c040b2a700364b2a1b03a33 48ef1c43dab59e93a3f8f80a0bfac7ec2e6ea73d4a7554d04b72a24bdfac58fd 0 \ No newline at end of file
diff --git a/reveal/v5-000010/manifest.txt.ots b/reveal/v5-000010/manifest.txt.ots
new file mode 100644
index 0000000..bfb69af
--- /dev/null
+++ b/reveal/v5-000010/manifest.txt.ots
Binary files differ
diff --git a/reveal/v5-000010/r33476212.ct b/reveal/v5-000010/r33476212.ct
new file mode 100644
index 0000000..11b81f1
--- /dev/null
+++ b/reveal/v5-000010/r33476212.ct
Binary files differ
diff --git a/reveal/v5-000010/r33476212.nostr.json b/reveal/v5-000010/r33476212.nostr.json
new file mode 100644
index 0000000..9c4b1e3
--- /dev/null
+++ b/reveal/v5-000010/r33476212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDc2MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcDBzSnhvU2ZTY1M5UVg3UWFzbklVaDR1blRNNWxPdzdaakRYSEhY\nVENQdWFueDM4bUZta2QyRW04WG5oU0EwSApBU044VE5sVGZ4QzJTWCtxa25yeERh\nRmoyMFIxVHdpVk9Tc3l2dGdXekhUWjR4TVFiaFlkMy93VjNoTmpZUmZkClNEaHFo\nMjJWZ2cyNzJnT2ZJa1RjSXNETUV6d0E3QXloOUVqbFlHKytyYkUKLS0tIEUxcFU3\nTHlySWM0UE1IaVlIMnY1UWdMYkk3YTk0VGtKMVFmbzNScWdkeFUK+jjidDgSVXI5\nvA+0NFQxHaxlCdewpy1x5qbsuajuC4MpeiWGLQm+AmL9ehUGfM9wOs39XA5YBYGU\niA4q/njqOw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33476212"],["reveal_at","2026-10-29T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","b9c81214019f6b5b5323782c92114f535138a767e489acdf3f08c190b88997bc"],["ct","b6661abf5e3c21c93673f2196b38f7ef39d6faa67dda720c2708a2234e4b4243"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33476212.tlock b/reveal/v5-000010/r33476212.tlock
new file mode 100644
index 0000000..1631145
--- /dev/null
+++ b/reveal/v5-000010/r33476212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDc2MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcDBzSnhvU2ZTY1M5UVg3UWFzbklVaDR1blRNNWxPdzdaakRYSEhY
5VENQdWFueDM4bUZta2QyRW04WG5oU0EwSApBU044VE5sVGZ4QzJTWCtxa25yeERh
6RmoyMFIxVHdpVk9Tc3l2dGdXekhUWjR4TVFiaFlkMy93VjNoTmpZUmZkClNEaHFo
7MjJWZ2cyNzJnT2ZJa1RjSXNETUV6d0E3QXloOUVqbFlHKytyYkUKLS0tIEUxcFU3
8THlySWM0UE1IaVlIMnY1UWdMYkk3YTk0VGtKMVFmbzNScWdkeFUK+jjidDgSVXI5
9vA+0NFQxHaxlCdewpy1x5qbsuajuC4MpeiWGLQm+AmL9ehUGfM9wOs39XA5YBYGU
10iA4q/njqOw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r33505012.ct b/reveal/v5-000010/r33505012.ct
new file mode 100644
index 0000000..7648eba
--- /dev/null
+++ b/reveal/v5-000010/r33505012.ct
Binary files differ
diff --git a/reveal/v5-000010/r33505012.nostr.json b/reveal/v5-000010/r33505012.nostr.json
new file mode 100644
index 0000000..915c15f
--- /dev/null
+++ b/reveal/v5-000010/r33505012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc2I3aytYQm9rUGJRaGlWdXpWYVEySWE1UG0yQ3IyZElMNHhPZTd2\nc2xuSzFzK2U0TkIxbUVrNmxHOGk2QWtaeQpFUlhzQ0VjdTZRRXVhc2ZuY21UcVBP\nODNrSUtPU0UxZ1ZvZU9QU1JhdEZ1MnJOV1dNR091eTc3aCs3WjJjSDhqClZWdHdK\nSjFuLzVhOVRKWE9ISEE0Rjc0Ykt0bm16bVVhWk1Od1hvc21PVTgKLS0tIFhmdUV0\nSHhpdSt5M1VFdHIwcStPK1RaUmZ3U2I1RFRhRis4MW1hNG9Xd2cKTxqWgeBDqADR\n47rINyqAgPY6MTuSEK2sLMcfXPAPEYvPqwlkQa0oauEv8zV2ZtfThGw7ufQRHdMp\nv0gr6d2D0Q==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33505012"],["reveal_at","2026-10-30T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","9db8c3d8b41a92f313c7bd6be3694b34da653201814f5990a1b5fbabdc88d348"],["ct","c1afe21b827ae661690bc91103f062e1df7615b4481298c3cf65634acb9cfc36"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33505012.tlock b/reveal/v5-000010/r33505012.tlock
new file mode 100644
index 0000000..b3eb2ed
--- /dev/null
+++ b/reveal/v5-000010/r33505012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc2I3aytYQm9rUGJRaGlWdXpWYVEySWE1UG0yQ3IyZElMNHhPZTd2
5c2xuSzFzK2U0TkIxbUVrNmxHOGk2QWtaeQpFUlhzQ0VjdTZRRXVhc2ZuY21UcVBP
6ODNrSUtPU0UxZ1ZvZU9QU1JhdEZ1MnJOV1dNR091eTc3aCs3WjJjSDhqClZWdHdK
7SjFuLzVhOVRKWE9ISEE0Rjc0Ykt0bm16bVVhWk1Od1hvc21PVTgKLS0tIFhmdUV0
8SHhpdSt5M1VFdHIwcStPK1RaUmZ3U2I1RFRhRis4MW1hNG9Xd2cKTxqWgeBDqADR
947rINyqAgPY6MTuSEK2sLMcfXPAPEYvPqwlkQa0oauEv8zV2ZtfThGw7ufQRHdMp
10v0gr6d2D0Q==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r33591412.ct b/reveal/v5-000010/r33591412.ct
new file mode 100644
index 0000000..fdb99d7
--- /dev/null
+++ b/reveal/v5-000010/r33591412.ct
Binary files differ
diff --git a/reveal/v5-000010/r33591412.nostr.json b/reveal/v5-000010/r33591412.nostr.json
new file mode 100644
index 0000000..9901dcb
--- /dev/null
+++ b/reveal/v5-000010/r33591412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTkxNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKa24xelNmeFdGbHFlSXpBbmZlRjQ0bjkwc2RlSms5blMwMDJFVC9Y\nVUdJM2YyVHhBMWtzdjQxVTdlTDQwRWJudwpDNjVqUmxhMmxZZUpoS29kdDRabXdV\nbmlFSUVsQTRjNzJvZzZDZUZSYjB4YlNVSzFPd2oxSTR5eklmSFk1eldLCmdvMDIx\nSmlLd1MyYkYxM2NNSGpZTDFhYnF2OHB0dTVnaDhMS1NIY2pjOU0KLS0tIDVRQTd4\nY245Z0FEaFVtdVFoRXVLTHl5WklzcnkydlNZSGg5WmFWaG4xQTQK9C5c0/a55HoM\n9mbHHF5kkcVfkjam+6hAm5K703YrpRjuW5ooNwacQ9FQS4grFpuz7HHk8+/4mbVP\nrwDhnMvVww==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33591412"],["reveal_at","2026-11-02T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","9c1fde8a9be3fe4ef39f8d558f7e9025616e15a83d0d9952eb90cbaa30913e96"],["ct","89b74c8d7e5141e62887b082809998540897651d385b901402d9feb2ebe20e68"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33591412.tlock b/reveal/v5-000010/r33591412.tlock
new file mode 100644
index 0000000..6e8c317
--- /dev/null
+++ b/reveal/v5-000010/r33591412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTkxNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKa24xelNmeFdGbHFlSXpBbmZlRjQ0bjkwc2RlSms5blMwMDJFVC9Y
5VUdJM2YyVHhBMWtzdjQxVTdlTDQwRWJudwpDNjVqUmxhMmxZZUpoS29kdDRabXdV
6bmlFSUVsQTRjNzJvZzZDZUZSYjB4YlNVSzFPd2oxSTR5eklmSFk1eldLCmdvMDIx
7SmlLd1MyYkYxM2NNSGpZTDFhYnF2OHB0dTVnaDhMS1NIY2pjOU0KLS0tIDVRQTd4
8Y245Z0FEaFVtdVFoRXVLTHl5WklzcnkydlNZSGg5WmFWaG4xQTQK9C5c0/a55HoM
99mbHHF5kkcVfkjam+6hAm5K703YrpRjuW5ooNwacQ9FQS4grFpuz7HHk8+/4mbVP
10rwDhnMvVww==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r33620212.ct b/reveal/v5-000010/r33620212.ct
new file mode 100644
index 0000000..cb844cc
--- /dev/null
+++ b/reveal/v5-000010/r33620212.ct
Binary files differ
diff --git a/reveal/v5-000010/r33620212.nostr.json b/reveal/v5-000010/r33620212.nostr.json
new file mode 100644
index 0000000..60ad363
--- /dev/null
+++ b/reveal/v5-000010/r33620212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjIwMjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKdDI0UjNrM0RlUFBpalI2SkJKM29rMmJwekVRMWY4VlYrdW5SVFI3\ncGdVZHc4T1JodVRwYkhIdmhmQWdDc0NUZgpGSjl1OHFFZUJrY1ZjcENtRDlYMmIr\ndlRya1hPOW9OdmJVcWpad2JDbXZvOWw3QlU4WTJqQ1R6ZXBTRSt6K2NYCkNkZHA4\nbmgxTkZPOCtKczZBT2MyaVVqcXlJWVlxRWw3RmFoTTNWM1hWSWcKLS0tIEdzWkE1\nZHg4QkZ0bjdaU2k0bzJUSGxoc1hLWnlNWDdMZ2ZobXJ1U3pHeHcK9Kh+mdUYX14F\n+RgX/98VwfzQot6OQ47dB5LoGpD3YzkR5rOcYUhmpTESop5HtCuVHVWqjznxifjV\nUDPa0/HhzA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33620212"],["reveal_at","2026-11-03T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","5b5844810c20ef88518c2524077a298b4604fd30a078c01f00c0551b68796bc2"],["ct","ea56801807ccd81274bf04a815e6bd46e76651197677963d0e2a86af2df3a879"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33620212.tlock b/reveal/v5-000010/r33620212.tlock
new file mode 100644
index 0000000..6b4e4d5
--- /dev/null
+++ b/reveal/v5-000010/r33620212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjIwMjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKdDI0UjNrM0RlUFBpalI2SkJKM29rMmJwekVRMWY4VlYrdW5SVFI3
5cGdVZHc4T1JodVRwYkhIdmhmQWdDc0NUZgpGSjl1OHFFZUJrY1ZjcENtRDlYMmIr
6dlRya1hPOW9OdmJVcWpad2JDbXZvOWw3QlU4WTJqQ1R6ZXBTRSt6K2NYCkNkZHA4
7bmgxTkZPOCtKczZBT2MyaVVqcXlJWVlxRWw3RmFoTTNWM1hWSWcKLS0tIEdzWkE1
8ZHg4QkZ0bjdaU2k0bzJUSGxoc1hLWnlNWDdMZ2ZobXJ1U3pHeHcK9Kh+mdUYX14F
9+RgX/98VwfzQot6OQ47dB5LoGpD3YzkR5rOcYUhmpTESop5HtCuVHVWqjznxifjV
10UDPa0/HhzA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r33677812.ct b/reveal/v5-000010/r33677812.ct
new file mode 100644
index 0000000..32fd17f
--- /dev/null
+++ b/reveal/v5-000010/r33677812.ct
Binary files differ
diff --git a/reveal/v5-000010/r33677812.nostr.json b/reveal/v5-000010/r33677812.nostr.json
new file mode 100644
index 0000000..df606f9
--- /dev/null
+++ b/reveal/v5-000010/r33677812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjc3ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKakVzSytuNzArdHhoQTI2YWxpb2djQVdsRU9Wd1p5TlU5Wjh3NnRG\nZTZkK1RUL3Btc0xRekFxZzcyZjZyenIrOQpGS1VsVTJWeHpoL1dySDJvUU41elJq\nbEFNMC9UdElHS0xXNXc5czRCMHp0bDBDSWRIRFJPNEZvTFIrbE1IcHFPCjRYQ2pt\nV0htRk9rUCsyaE8rQjZBWEFaU0pZYlp4UDhab1lQditraVltUFkKLS0tIGFYWHIr\nWWFhS2xkZldkczN1ZFlrOXl2cU5tMWdneHZyV3N6VFlsK1lNYjQKkmv3qZu+c0jM\nqq+RTHhMhyhzaQJ4sxv7HMJi32vw6maFHP+i6H/srvC29aOTQ3SPOqZFW94NOyZb\nkYbG2G4Z5A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33677812"],["reveal_at","2026-11-05T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","8251b794d2e265a4b2f13cd18c564f779cd2b0ea490ad840145c68d0ad0d607d"],["ct","31630584383143f9c488dd8f9a0e5a93866a0e4a90835dabc8490dce0fc28f36"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33677812.tlock b/reveal/v5-000010/r33677812.tlock
new file mode 100644
index 0000000..5716f42
--- /dev/null
+++ b/reveal/v5-000010/r33677812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjc3ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKakVzSytuNzArdHhoQTI2YWxpb2djQVdsRU9Wd1p5TlU5Wjh3NnRG
5ZTZkK1RUL3Btc0xRekFxZzcyZjZyenIrOQpGS1VsVTJWeHpoL1dySDJvUU41elJq
6bEFNMC9UdElHS0xXNXc5czRCMHp0bDBDSWRIRFJPNEZvTFIrbE1IcHFPCjRYQ2pt
7V0htRk9rUCsyaE8rQjZBWEFaU0pZYlp4UDhab1lQditraVltUFkKLS0tIGFYWHIr
8WWFhS2xkZldkczN1ZFlrOXl2cU5tMWdneHZyV3N6VFlsK1lNYjQKkmv3qZu+c0jM
9qq+RTHhMhyhzaQJ4sxv7HMJi32vw6maFHP+i6H/srvC29aOTQ3SPOqZFW94NOyZb
10kYbG2G4Z5A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r33735412.ct b/reveal/v5-000010/r33735412.ct
new file mode 100644
index 0000000..e87ff93
--- /dev/null
+++ b/reveal/v5-000010/r33735412.ct
Binary files differ
diff --git a/reveal/v5-000010/r33735412.nostr.json b/reveal/v5-000010/r33735412.nostr.json
new file mode 100644
index 0000000..4795196
--- /dev/null
+++ b/reveal/v5-000010/r33735412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNzM1NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbFcrT0dFemo0aUp5dmdOR0Y5WEptdHRENWNzM09WRXgwcXRVZ0xS\nU1IrdjJkODdvWmRISDVtZU1MSW52R1hRVwpHQmZaZnJIc2NaUmtRRmlvc1czRXpi\nZmdXMU5lT3JTSVJyNjY0TGhqd3g2MUFwZ21rbk8wUC9BQi90NTdqZjkzClJTVnBP\nLzhuaUV1N1d0ZldnUURsVWVyMTlDb01PSCtMLzNmLzUzeWY4Vm8KLS0tIGhPVnpZ\neW1haTUvc3EwVHlodVFJZW5xVlhOTU1rT1M3UXRiZEplUWUzeFUKmi1yjEYsd3g3\nOEm0MnBOBQnwAsj4xcuztPQC+eqo2DqmW+TCOYDECmSbVztghCXu/AJOVgEv+0gN\n/UH8Kt9dbg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33735412"],["reveal_at","2026-11-07T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","f2f227f9b35d71f75ae8754a6d3eea05007a7d7fdf04ac296215921c53428140"],["ct","4fe1db56d2f4c6451f7705ef737080c6f018f6c811b4d145584926302b3b892b"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r33735412.tlock b/reveal/v5-000010/r33735412.tlock
new file mode 100644
index 0000000..b243884
--- /dev/null
+++ b/reveal/v5-000010/r33735412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNzM1NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbFcrT0dFemo0aUp5dmdOR0Y5WEptdHRENWNzM09WRXgwcXRVZ0xS
5U1IrdjJkODdvWmRISDVtZU1MSW52R1hRVwpHQmZaZnJIc2NaUmtRRmlvc1czRXpi
6ZmdXMU5lT3JTSVJyNjY0TGhqd3g2MUFwZ21rbk8wUC9BQi90NTdqZjkzClJTVnBP
7LzhuaUV1N1d0ZldnUURsVWVyMTlDb01PSCtMLzNmLzUzeWY4Vm8KLS0tIGhPVnpZ
8eW1haTUvc3EwVHlodVFJZW5xVlhOTU1rT1M3UXRiZEplUWUzeFUKmi1yjEYsd3g3
9OEm0MnBOBQnwAsj4xcuztPQC+eqo2DqmW+TCOYDECmSbVztghCXu/AJOVgEv+0gN
10/UH8Kt9dbg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34628212.ct b/reveal/v5-000010/r34628212.ct
new file mode 100644
index 0000000..a1b13e4
--- /dev/null
+++ b/reveal/v5-000010/r34628212.ct
Binary files differ
diff --git a/reveal/v5-000010/r34628212.nostr.json b/reveal/v5-000010/r34628212.nostr.json
new file mode 100644
index 0000000..37e4658
--- /dev/null
+++ b/reveal/v5-000010/r34628212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjI4MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbVJKTG40dGZ0NnpXTzdQV3RVK1JnQUEwelRubVlVbVFSWGg0YkYr\nK2VXOXU2RWZXMFhZNTJ2N0RuTWhLZXNIcQpDbGJIdStmN2RURDEvK3c0SzgvVEZW\nT0k1SXZOdFBFbG4zVmxpMFBUVFd2R2QyMm1pNHhMZXRTWUlOaE5wd1hYClZRNHZp\neGJhbVhWcEZvd0ZNZTEwdjdNNG53eERIc3R3enpZclllMnY4UGsKLS0tIE1UbzZP\neXhZSzV0ZGY5dWhkS2x6MG9FOWRMRHRxUXM2clVCWXpsaEhKVEUKtVfLDjhPr24K\nPeTf+DaF4r0Q2zi08ZvooJra5HKLFEOzgUaW1Bsir2KJeqWnHe72PAdTRtFnyLql\nmiKY01ETrQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34628212"],["reveal_at","2026-12-08T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","e5da6c5a376666eab674176968b6f063f88ddf7ffd9d8f6d86e9601dcd32f87d"],["ct","890c7b096f69b2ea536c09b1afd7285eaa9717c9f84cde117311593818b7c445"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34628212.tlock b/reveal/v5-000010/r34628212.tlock
new file mode 100644
index 0000000..3516731
--- /dev/null
+++ b/reveal/v5-000010/r34628212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjI4MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbVJKTG40dGZ0NnpXTzdQV3RVK1JnQUEwelRubVlVbVFSWGg0YkYr
5K2VXOXU2RWZXMFhZNTJ2N0RuTWhLZXNIcQpDbGJIdStmN2RURDEvK3c0SzgvVEZW
6T0k1SXZOdFBFbG4zVmxpMFBUVFd2R2QyMm1pNHhMZXRTWUlOaE5wd1hYClZRNHZp
7eGJhbVhWcEZvd0ZNZTEwdjdNNG53eERIc3R3enpZclllMnY4UGsKLS0tIE1UbzZP
8eXhZSzV0ZGY5dWhkS2x6MG9FOWRMRHRxUXM2clVCWXpsaEhKVEUKtVfLDjhPr24K
9PeTf+DaF4r0Q2zi08ZvooJra5HKLFEOzgUaW1Bsir2KJeqWnHe72PAdTRtFnyLql
10miKY01ETrQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34657012.ct b/reveal/v5-000010/r34657012.ct
new file mode 100644
index 0000000..43a6572
--- /dev/null
+++ b/reveal/v5-000010/r34657012.ct
Binary files differ
diff --git a/reveal/v5-000010/r34657012.nostr.json b/reveal/v5-000010/r34657012.nostr.json
new file mode 100644
index 0000000..485396b
--- /dev/null
+++ b/reveal/v5-000010/r34657012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKa0w5RVJtbWxRWVcwR2VJL0wyNFFaV0JPMmVpTWwvTUxGbzhQTHpD\naWVKcE9BeTJJbWpkeElRWUhMS2lyUXJzcwpFUllJbmdLdkl1YU5QRXV5akFScHQr\nVXAzTDlWekNtRUlhSFNPY2o2S3N0SnA2U1MwYUdSRXJKZmQ2RkpWanQrCkhVd0VO\nRGFjQ2hja00rUG9FUUhnWHNSckhUNmhNd0tPalRLK0Fvcm8vRWMKLS0tIDczRUp6\nVitlTmlWRDBKTVZDMG1SL2VTVEpPaG5IMyszZGk5ZndLa3V4d0kKe/EhmiS8YdWP\nPpqzSyXPnkdN80Zws+sJe/Q+V9T5+/PiPaS4m288CDeATwAHzaNvRB8nMU3ZQE99\nuu3tv/c9HA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34657012"],["reveal_at","2026-12-09T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","53f80d9fad53818f62da230deb1f70973c1e90722b80fbc8a81a1b0ea6fddd41"],["ct","3d3db9a0e699a852e974e4ccacf2d206cead90c59eb5baaae41c6b5dab1a1f36"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34657012.tlock b/reveal/v5-000010/r34657012.tlock
new file mode 100644
index 0000000..ef1e844
--- /dev/null
+++ b/reveal/v5-000010/r34657012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKa0w5RVJtbWxRWVcwR2VJL0wyNFFaV0JPMmVpTWwvTUxGbzhQTHpD
5aWVKcE9BeTJJbWpkeElRWUhMS2lyUXJzcwpFUllJbmdLdkl1YU5QRXV5akFScHQr
6VXAzTDlWekNtRUlhSFNPY2o2S3N0SnA2U1MwYUdSRXJKZmQ2RkpWanQrCkhVd0VO
7RGFjQ2hja00rUG9FUUhnWHNSckhUNmhNd0tPalRLK0Fvcm8vRWMKLS0tIDczRUp6
8VitlTmlWRDBKTVZDMG1SL2VTVEpPaG5IMyszZGk5ZndLa3V4d0kKe/EhmiS8YdWP
9PpqzSyXPnkdN80Zws+sJe/Q+V9T5+/PiPaS4m288CDeATwAHzaNvRB8nMU3ZQE99
10uu3tv/c9HA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34743412.ct b/reveal/v5-000010/r34743412.ct
new file mode 100644
index 0000000..dd5ed23
--- /dev/null
+++ b/reveal/v5-000010/r34743412.ct
Binary files differ
diff --git a/reveal/v5-000010/r34743412.nostr.json b/reveal/v5-000010/r34743412.nostr.json
new file mode 100644
index 0000000..4253abd
--- /dev/null
+++ b/reveal/v5-000010/r34743412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzQzNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcHdLY3ZqQmNQMnhNTGU1SWV0Y1M3ZEVxMkE2OXczUmRQUVVzTG5H\nZXBXT1lGUHMrczBIZ3grU3UxOWcvQVZYZwpEK1Vmb3ZlcEgxWTNDTXhCaVZDNGNQ\nVk53UDZaNzBsZlJMNU5IUVZ3ZjVhY0FBdEMwb2tyczJydVo3VDdwSEFHCmZnaHgw\nQnh1MVp6TjdMZjJkek1JSWx6QnVJVEVaTVI0WE93Uk5Qa1NiREEKLS0tIHpDb0Z3\ncmt5eVZ4TGx5V2lWdVNYWC9hWjZxZ0FWVEZLU1VCT3BJT1JxRmcKoaUKZbfCBXwy\ngfp2835CyH3bWMlxGcbT8ciSkYFC/0+c0hVl951019LdqNcEg2LX3M5L/w3ZMUuW\nBDqY2WAaWA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34743412"],["reveal_at","2026-12-12T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","180dec0d892f7f3d207e29a4908176aa141ff6ddc90e10db4e1baec75ec3ee17"],["ct","b154fcf70be553f9e8bec619c95908d1c09a1e277501dedbb142dc24b4a5b6f8"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34743412.tlock b/reveal/v5-000010/r34743412.tlock
new file mode 100644
index 0000000..2372b1d
--- /dev/null
+++ b/reveal/v5-000010/r34743412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzQzNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcHdLY3ZqQmNQMnhNTGU1SWV0Y1M3ZEVxMkE2OXczUmRQUVVzTG5H
5ZXBXT1lGUHMrczBIZ3grU3UxOWcvQVZYZwpEK1Vmb3ZlcEgxWTNDTXhCaVZDNGNQ
6Vk53UDZaNzBsZlJMNU5IUVZ3ZjVhY0FBdEMwb2tyczJydVo3VDdwSEFHCmZnaHgw
7Qnh1MVp6TjdMZjJkek1JSWx6QnVJVEVaTVI0WE93Uk5Qa1NiREEKLS0tIHpDb0Z3
8cmt5eVZ4TGx5V2lWdVNYWC9hWjZxZ0FWVEZLU1VCT3BJT1JxRmcKoaUKZbfCBXwy
9gfp2835CyH3bWMlxGcbT8ciSkYFC/0+c0hVl951019LdqNcEg2LX3M5L/w3ZMUuW
10BDqY2WAaWA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34772212.ct b/reveal/v5-000010/r34772212.ct
new file mode 100644
index 0000000..f9eaf23
--- /dev/null
+++ b/reveal/v5-000010/r34772212.ct
Binary files differ
diff --git a/reveal/v5-000010/r34772212.nostr.json b/reveal/v5-000010/r34772212.nostr.json
new file mode 100644
index 0000000..2630ae2
--- /dev/null
+++ b/reveal/v5-000010/r34772212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzcyMjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc2o4REF1L1JGVnBmNzhCRFlML0hOSDdaQm9ieGJSRmF5R3lYWXl3\nQ3RKTDAxb1dyY2Z2Ty8yOXFuNmZpek0xUwpENE93RkM1U3B5Y1RhMzhXQVZLU2dW\nTkxtRGh1S0pyVWs1aENWNFoxSzBEM0FFdHljOWdrNkpLMUNDZUhvVnVKCmp4Z0Zj\nZkh5MS9rSDEvTDZiVW14V1M1N2VRMVhMeFFDOEdpbGpuclU0V1EKLS0tIEE0Y2xD\nSlh5Um8zTEVIbmxxN3JUVHZyMXdBUWxYSEdCUlFrSCtMNWFhMVEKkZfOAg9uMZ11\nGby1R7jqdKFP1JVZizMOk1xbGyi+g3S9MikJLOnD/M65mXQOUZKmbwjOYC4TzNTx\n7H7nDPLFtg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34772212"],["reveal_at","2026-12-13T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","fecf4743591614d4a9d799c14fc58535f0819c1863dd7e1f21842ff2cb777eb7"],["ct","06c805dcdd4a7dfe43c108cddf297358cf5e4cd60cf92f431610238d8fab03d6"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34772212.tlock b/reveal/v5-000010/r34772212.tlock
new file mode 100644
index 0000000..15289cf
--- /dev/null
+++ b/reveal/v5-000010/r34772212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzcyMjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc2o4REF1L1JGVnBmNzhCRFlML0hOSDdaQm9ieGJSRmF5R3lYWXl3
5Q3RKTDAxb1dyY2Z2Ty8yOXFuNmZpek0xUwpENE93RkM1U3B5Y1RhMzhXQVZLU2dW
6TkxtRGh1S0pyVWs1aENWNFoxSzBEM0FFdHljOWdrNkpLMUNDZUhvVnVKCmp4Z0Zj
7Zkh5MS9rSDEvTDZiVW14V1M1N2VRMVhMeFFDOEdpbGpuclU0V1EKLS0tIEE0Y2xD
8Slh5Um8zTEVIbmxxN3JUVHZyMXdBUWxYSEdCUlFrSCtMNWFhMVEKkZfOAg9uMZ11
9Gby1R7jqdKFP1JVZizMOk1xbGyi+g3S9MikJLOnD/M65mXQOUZKmbwjOYC4TzNTx
107H7nDPLFtg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34829812.ct b/reveal/v5-000010/r34829812.ct
new file mode 100644
index 0000000..1486338
--- /dev/null
+++ b/reveal/v5-000010/r34829812.ct
Binary files differ
diff --git a/reveal/v5-000010/r34829812.nostr.json b/reveal/v5-000010/r34829812.nostr.json
new file mode 100644
index 0000000..c11cea0
--- /dev/null
+++ b/reveal/v5-000010/r34829812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODI5ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcW0rdldtOFI0UmZUWDlLVytzTDFseHU1QzRJdEcwMk1YUVVlaktU\neVpJSzFyckVzc0xMTHlKTEZnb1VVNE8rRgpEZldFa2Z0eEdJaHNpSktObm5OMFc0\nMldmV0RibFRNSzdtRkhWSXgvcEpZcHpLaWU5QUN3MzY2R2lHWjI2SUJpClpXRUNY\neHdSWTcvWlpvMDVBWjBjSkRXWkpYNmVOVVhYamtVSDQwdFp4WDAKLS0tICtINUdQ\nbE92WnZQM2x3U05ZbHFod1V0N1NZVThtRzJHM1hSb3V1T1JGVkEKTZDOIHNVJUY7\nyo7sRp5jaKpeS7j4ABoLaUC6EDcxg0a/rcASsMWU7bcIvjLoJZe9XEXZPtVLr6+R\n/uhU2ChnXA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34829812"],["reveal_at","2026-12-15T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","0bcc68ad6d18b692dc136254978c2223162d208f12eb717bff2bb7aea7236096"],["ct","a4070794f2880d53f5889fca1c9d8f61b648283a4f7787014515db7d5ca71f28"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34829812.tlock b/reveal/v5-000010/r34829812.tlock
new file mode 100644
index 0000000..62284ab
--- /dev/null
+++ b/reveal/v5-000010/r34829812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODI5ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcW0rdldtOFI0UmZUWDlLVytzTDFseHU1QzRJdEcwMk1YUVVlaktU
5eVpJSzFyckVzc0xMTHlKTEZnb1VVNE8rRgpEZldFa2Z0eEdJaHNpSktObm5OMFc0
6MldmV0RibFRNSzdtRkhWSXgvcEpZcHpLaWU5QUN3MzY2R2lHWjI2SUJpClpXRUNY
7eHdSWTcvWlpvMDVBWjBjSkRXWkpYNmVOVVhYamtVSDQwdFp4WDAKLS0tICtINUdQ
8bE92WnZQM2x3U05ZbHFod1V0N1NZVThtRzJHM1hSb3V1T1JGVkEKTZDOIHNVJUY7
9yo7sRp5jaKpeS7j4ABoLaUC6EDcxg0a/rcASsMWU7bcIvjLoJZe9XEXZPtVLr6+R
10/uhU2ChnXA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r34887412.ct b/reveal/v5-000010/r34887412.ct
new file mode 100644
index 0000000..41396f4
--- /dev/null
+++ b/reveal/v5-000010/r34887412.ct
Binary files differ
diff --git a/reveal/v5-000010/r34887412.nostr.json b/reveal/v5-000010/r34887412.nostr.json
new file mode 100644
index 0000000..0a2d972
--- /dev/null
+++ b/reveal/v5-000010/r34887412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODg3NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbGM0Vmg0d0JtcmVOKzlxWk9HY01qVEUycU1jakNzUTdubWZTYzkz\nSklsU2RKaVZrU3VmYTZvT3FhZ1hHSVo1egpCMVVtRTQxMlhpOGdlN2hwaHlPR0hm\nUGhiMzQrQmpvN3U0ZHlBZFY3ZTB1WjlUMCtsU0E1MHQ1R3hkbXNtN3c2CjNMWHBn\nZEtob2wzSVUzL0dtQ05mc05VeUFzUU5oUm83anFhN0Q1ai9JVEkKLS0tIHl5TkNn\nd3I3M3F3aWNhTVZSckhlYjhTNU8reG5YL3N2eGZveTZRbEQydzQKyr0iNWdf5lzh\nT/KThC600/SSyxMPaoVRbMLvhZxTAtrJRjWTZtK5fYXh6SU/p0Qo7FelnYxQuxpD\nsKXZxNclsw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34887412"],["reveal_at","2026-12-17T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","ad5dfa9889e811fe75423ec2a7dcf1e78d50a3a2d58e454d692b25f7335743de"],["ct","61a56dee588b6c9701c851ef685383ad6f9a6329cff755f0e92ba5e7ba2869c4"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r34887412.tlock b/reveal/v5-000010/r34887412.tlock
new file mode 100644
index 0000000..190fb6c
--- /dev/null
+++ b/reveal/v5-000010/r34887412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODg3NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbGM0Vmg0d0JtcmVOKzlxWk9HY01qVEUycU1jakNzUTdubWZTYzkz
5SklsU2RKaVZrU3VmYTZvT3FhZ1hHSVo1egpCMVVtRTQxMlhpOGdlN2hwaHlPR0hm
6UGhiMzQrQmpvN3U0ZHlBZFY3ZTB1WjlUMCtsU0E1MHQ1R3hkbXNtN3c2CjNMWHBn
7ZEtob2wzSVUzL0dtQ05mc05VeUFzUU5oUm83anFhN0Q1ai9JVEkKLS0tIHl5TkNn
8d3I3M3F3aWNhTVZSckhlYjhTNU8reG5YL3N2eGZveTZRbEQydzQKyr0iNWdf5lzh
9T/KThC600/SSyxMPaoVRbMLvhZxTAtrJRjWTZtK5fYXh6SU/p0Qo7FelnYxQuxpD
10sKXZxNclsw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r35117812.ct b/reveal/v5-000010/r35117812.ct
new file mode 100644
index 0000000..0accc52
--- /dev/null
+++ b/reveal/v5-000010/r35117812.ct
Binary files differ
diff --git a/reveal/v5-000010/r35117812.nostr.json b/reveal/v5-000010/r35117812.nostr.json
new file mode 100644
index 0000000..2a14414
--- /dev/null
+++ b/reveal/v5-000010/r35117812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1MTE3ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaEh3SmFuUlFGVExaQ1JHb2psUTFKRVBSa05MY1NvK2hVRmdBTFdm\neXVCOTRZZXNMbDR4WEhhcjNRa1lQWjN4YQpEdDhLcC90MnBWQ1pBOXpITEZlVG12\nS3d1SGxGcnVzSmlubmZoTEdCcUIyTzl1dVE4cHZMODJHRVhOUGVoM2xBCnFDc3Bi\nM29BeEp0c21oNHdWeDAxWCtOYXV3QUY0SkR5NHRsK0IyblRDeVEKLS0tIFB0K0pN\nQ2RJRG9pOUFVeTh1L1VWTS9oa2tKV0d6cmNoenJmL2wxSzJ2clUK70mJuu7mNw/G\nVBdKABc09sUVhGA1W31FzLh4FeEflvGTKE+kgarETNyjS+5b7xh1xy5aq5BaTSxb\nJ2l5dsg7tw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35117812"],["reveal_at","2026-12-25T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","5f1a2869174bca5b144a60d97a116989f83fe29ae678000cae9c1b8514bf1762"],["ct","4281c5655b1bc2cda08d4be8eb7d891bbb0aa6bd026bab6349f5949ad6e85c2a"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r35117812.tlock b/reveal/v5-000010/r35117812.tlock
new file mode 100644
index 0000000..62dd048
--- /dev/null
+++ b/reveal/v5-000010/r35117812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1MTE3ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaEh3SmFuUlFGVExaQ1JHb2psUTFKRVBSa05MY1NvK2hVRmdBTFdm
5eXVCOTRZZXNMbDR4WEhhcjNRa1lQWjN4YQpEdDhLcC90MnBWQ1pBOXpITEZlVG12
6S3d1SGxGcnVzSmlubmZoTEdCcUIyTzl1dVE4cHZMODJHRVhOUGVoM2xBCnFDc3Bi
7M29BeEp0c21oNHdWeDAxWCtOYXV3QUY0SkR5NHRsK0IyblRDeVEKLS0tIFB0K0pN
8Q2RJRG9pOUFVeTh1L1VWTS9oa2tKV0d6cmNoenJmL2wxSzJ2clUK70mJuu7mNw/G
9VBdKABc09sUVhGA1W31FzLh4FeEflvGTKE+kgarETNyjS+5b7xh1xy5aq5BaTSxb
10J2l5dsg7tw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r35463412.ct b/reveal/v5-000010/r35463412.ct
new file mode 100644
index 0000000..ce74cc5
--- /dev/null
+++ b/reveal/v5-000010/r35463412.ct
Binary files differ
diff --git a/reveal/v5-000010/r35463412.nostr.json b/reveal/v5-000010/r35463412.nostr.json
new file mode 100644
index 0000000..84fd057
--- /dev/null
+++ b/reveal/v5-000010/r35463412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NDYzNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKb3lKZSthWGxBOXRLajR6TkRvMEdKVWNERUhKem1YTzVvU0pTakRk\ndzV5OXM1SmhDeG1qNTBpWUlqR3dKWTZEeQpDRklZS3lmZTVaNmd4dlBEMWxabGpl\nSndEc3hZTzFWd3JtS0YybWZlNHFoNTJXbEVJdzllWmNIS0UyVjRVbFlGCitVamtC\nV1ZRZEJlWEdkcjVuejRka3NzaE1CY2hUMzJOMVlhM1JUOUVMTEEKLS0tIFk4REJX\nREpYRlV6OVlOeUM0c1ZHNnhRV2orM20yKzlmK2xxQWlUVnRRM1kKDeRL+LO5enC/\nsmQuz3CA0XOTyEEr7GCyapqdjuv593qYQFVMUC+qao13BSVW0AlfEkY70hOBCdxa\n3DkY98oiKA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35463412"],["reveal_at","2027-01-06T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","cfd601fd5de51408211e4f7ebcdf26c5b8c1d2bf6c1c2cd43d3105bf1b86509d"],["ct","24750962eb7b210e3cc00108712036bab3fb3775a03fd2c35f471de196587e1c"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r35463412.tlock b/reveal/v5-000010/r35463412.tlock
new file mode 100644
index 0000000..af6ad10
--- /dev/null
+++ b/reveal/v5-000010/r35463412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NDYzNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKb3lKZSthWGxBOXRLajR6TkRvMEdKVWNERUhKem1YTzVvU0pTakRk
5dzV5OXM1SmhDeG1qNTBpWUlqR3dKWTZEeQpDRklZS3lmZTVaNmd4dlBEMWxabGpl
6SndEc3hZTzFWd3JtS0YybWZlNHFoNTJXbEVJdzllWmNIS0UyVjRVbFlGCitVamtC
7V1ZRZEJlWEdkcjVuejRka3NzaE1CY2hUMzJOMVlhM1JUOUVMTEEKLS0tIFk4REJX
8REpYRlV6OVlOeUM0c1ZHNnhRV2orM20yKzlmK2xxQWlUVnRRM1kKDeRL+LO5enC/
9smQuz3CA0XOTyEEr7GCyapqdjuv593qYQFVMUC+qao13BSVW0AlfEkY70hOBCdxa
103DkY98oiKA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r35521012.ct b/reveal/v5-000010/r35521012.ct
new file mode 100644
index 0000000..aa34548
--- /dev/null
+++ b/reveal/v5-000010/r35521012.ct
Binary files differ
diff --git a/reveal/v5-000010/r35521012.nostr.json b/reveal/v5-000010/r35521012.nostr.json
new file mode 100644
index 0000000..bc058d8
--- /dev/null
+++ b/reveal/v5-000010/r35521012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTIxMDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKb0ZPd2t5MHZzWUtzSjJjMnNnZXhKaWhObm1ZOTFNakhoWTBMdFV6\nREt4Wk5LNm1jSms5bFJ3ZEhEaWRpSzB0WQpEekhJKzRiaHBSRmFuTWROcmVYMGNF\nVTNNT2h3WkVkeUU2OTZERHFXeXY0RytPTVlnNHFTbEVxSTVqc29TQ1VuClRCb3h4\nYVpuSHFWYmVEWWVkdUJtLzFHbXNNWVRuYlB6K1lqR2tnK1NkaGsKLS0tIGNMUVR2\nclVFSDBMbWtHYXZhMkJUMlhDVEliS09BUlFiYjdWejQ1Q3U0WVUKm3vugDd+qWJ6\nmeOPL9SN5e1UdWuQ+sXn4/RjxCww0XHBjA6xePMjFFiwbROAYPi4o9uBto5VeBu/\nvWK4dEKerg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35521012"],["reveal_at","2027-01-08T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","beb77f7d91fe3fc176521dff5f0957172ce0f78f0357e17dc19dbedded496727"],["ct","44fa0fcba2a956e635fd5058db21b64e678c257032ed3781b312c29baaad82f7"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r35521012.tlock b/reveal/v5-000010/r35521012.tlock
new file mode 100644
index 0000000..eda2691
--- /dev/null
+++ b/reveal/v5-000010/r35521012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTIxMDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKb0ZPd2t5MHZzWUtzSjJjMnNnZXhKaWhObm1ZOTFNakhoWTBMdFV6
5REt4Wk5LNm1jSms5bFJ3ZEhEaWRpSzB0WQpEekhJKzRiaHBSRmFuTWROcmVYMGNF
6VTNNT2h3WkVkeUU2OTZERHFXeXY0RytPTVlnNHFTbEVxSTVqc29TQ1VuClRCb3h4
7YVpuSHFWYmVEWWVkdUJtLzFHbXNNWVRuYlB6K1lqR2tnK1NkaGsKLS0tIGNMUVR2
8clVFSDBMbWtHYXZhMkJUMlhDVEliS09BUlFiYjdWejQ1Q3U0WVUKm3vugDd+qWJ6
9meOPL9SN5e1UdWuQ+sXn4/RjxCww0XHBjA6xePMjFFiwbROAYPi4o9uBto5VeBu/
10vWK4dEKerg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r35636212.ct b/reveal/v5-000010/r35636212.ct
new file mode 100644
index 0000000..2779274
--- /dev/null
+++ b/reveal/v5-000010/r35636212.ct
Binary files differ
diff --git a/reveal/v5-000010/r35636212.nostr.json b/reveal/v5-000010/r35636212.nostr.json
new file mode 100644
index 0000000..71e83e0
--- /dev/null
+++ b/reveal/v5-000010/r35636212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NjM2MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcDZBb1hxRkVtbFJtUmtrZ3VPeTV1WlA1RzVjazIreWszN2YvQ1I4\nVmJUMmJCY2p5ejU3cjUwUk1BZW1SdWRkWQpBb25jMVZyVERDVFBva1BsTEhVSkRv\nZjZoZnUvcFRYZ2tzTytPNk0ySmlMUHphMlI0emV2cjlxNkxIU3NNOW5ZCnpXYk1x\nUkw4QXZkbnB2MGNXME83SUxkazd6NVUrZllEMHZsakRzYjdVTU0KLS0tIGlMT3hO\nQzhqaVcrM2x0bXlPNDduemtibzhFdjFXUlpORXVQMFJVV0pQOFkKmmPBQC02Uh3D\nd9yg6lYd2DwjGO4rsYbyRhnh9MMnitUdpVY0pCbwFn87yu8Fs9Sm3Bt2PBpiQ63Z\n9k6/6qxHrA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35636212"],["reveal_at","2027-01-12T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","ceb7bbb130d6a490af318b58574a0a47d3e2bf13d652378c2cf45ef90be4eaf5"],["ct","4525635f6b2d1ca9265ed61e4794ba79aed06b93df4273956ec1594ba5c6e157"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r35636212.tlock b/reveal/v5-000010/r35636212.tlock
new file mode 100644
index 0000000..4135395
--- /dev/null
+++ b/reveal/v5-000010/r35636212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NjM2MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcDZBb1hxRkVtbFJtUmtrZ3VPeTV1WlA1RzVjazIreWszN2YvQ1I4
5VmJUMmJCY2p5ejU3cjUwUk1BZW1SdWRkWQpBb25jMVZyVERDVFBva1BsTEhVSkRv
6ZjZoZnUvcFRYZ2tzTytPNk0ySmlMUHphMlI0emV2cjlxNkxIU3NNOW5ZCnpXYk1x
7Ukw4QXZkbnB2MGNXME83SUxkazd6NVUrZllEMHZsakRzYjdVTU0KLS0tIGlMT3hO
8QzhqaVcrM2x0bXlPNDduemtibzhFdjFXUlpORXVQMFJVV0pQOFkKmmPBQC02Uh3D
9d9yg6lYd2DwjGO4rsYbyRhnh9MMnitUdpVY0pCbwFn87yu8Fs9Sm3Bt2PBpiQ63Z
109k6/6qxHrA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r36269812.ct b/reveal/v5-000010/r36269812.ct
new file mode 100644
index 0000000..1ee4817
--- /dev/null
+++ b/reveal/v5-000010/r36269812.ct
Binary files differ
diff --git a/reveal/v5-000010/r36269812.nostr.json b/reveal/v5-000010/r36269812.nostr.json
new file mode 100644
index 0000000..88f1b09
--- /dev/null
+++ b/reveal/v5-000010/r36269812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2MjY5ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc3pvTENoRVhLMlJsa3JTbS9mZGxONHg0T3ZZR0xXRTJhbDFUOC9J\nTmR2bEc3ekpFb0tGamRSWHphVXNmYmd4ZQpFU2VrRUdDM2lLSjZmVm9RWERTdmNi\nSzR1bUl3YWFpWmZOcEVLU1kzcVVZRDl6WGVtYmpuVGNSay8xczM2b2NPCko4d29E\nQUg4MEVuR0pHMnFOMTZ3azJSNW10eTYzT3NDZ2xSVEd4bzhLaVkKLS0tIFIzY1h4\nMXZ0cHd3MG5OVnUxbDJoZ1hpbkhyRitWR3E0UXZ1enFrZTBMQjAKN3zl9EBxT6pT\nc56XbolJVZUO5I/6cLBS5Pwrfu1v2+Lz3NCHDG6p8t6XtFqBAIlxabf/00GiD30o\nTeq9W7mX6w==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36269812"],["reveal_at","2027-02-03T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","a6212a3713d42a71595d6ba5154463d73d871a0b78206917c7d7b7c6c3ea75e2"],["ct","9c155e12bc2bf57fff458816cc7eff0b525c2ae94f52bb70ff7cc37573c19757"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r36269812.tlock b/reveal/v5-000010/r36269812.tlock
new file mode 100644
index 0000000..eb93bfe
--- /dev/null
+++ b/reveal/v5-000010/r36269812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2MjY5ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc3pvTENoRVhLMlJsa3JTbS9mZGxONHg0T3ZZR0xXRTJhbDFUOC9J
5TmR2bEc3ekpFb0tGamRSWHphVXNmYmd4ZQpFU2VrRUdDM2lLSjZmVm9RWERTdmNi
6SzR1bUl3YWFpWmZOcEVLU1kzcVVZRDl6WGVtYmpuVGNSay8xczM2b2NPCko4d29E
7QUg4MEVuR0pHMnFOMTZ3azJSNW10eTYzT3NDZ2xSVEd4bzhLaVkKLS0tIFIzY1h4
8MXZ0cHd3MG5OVnUxbDJoZ1hpbkhyRitWR3E0UXZ1enFrZTBMQjAKN3zl9EBxT6pT
9c56XbolJVZUO5I/6cLBS5Pwrfu1v2+Lz3NCHDG6p8t6XtFqBAIlxabf/00GiD30o
10Teq9W7mX6w==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r36615412.ct b/reveal/v5-000010/r36615412.ct
new file mode 100644
index 0000000..f66695f
--- /dev/null
+++ b/reveal/v5-000010/r36615412.ct
Binary files differ
diff --git a/reveal/v5-000010/r36615412.nostr.json b/reveal/v5-000010/r36615412.nostr.json
new file mode 100644
index 0000000..2ab028b
--- /dev/null
+++ b/reveal/v5-000010/r36615412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjE1NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc3ZJZXdHem9tSFcrN0p5OFBzQjQrZWxFa2REZVg2NTNjY2h4RHh2\nY1JJek9XOXhqS2ZYU1FrakxLd3RMZFhIRwpCclNoRVZkV2tBQmd6M3VyeEk5Z2hM\nZUdEazF0MCtWMjEzSkdpUTc1TTNjVEMrT1VBNWpVeGZ1S1dGZVVGU2UwCm9RMk5L\nTC9pQW5zT1Zwd1YzUUxBZm9lM094UTdUZlNQYTZoeHRYUHlMUjQKLS0tIHFxMHB1\nM0pCWElQYXRPMmtCY244dlhnaUtLVkYzZXpUd3ZmYm1DSVFZVFkK/ED7tqQIgz9r\nX9rZ19+Ym1zKlgX1dXr/QyGNXQ9F3TOs2a5GoTU2u2HJhtqrpitouZPbVZmQV08/\nL0YPh/51PA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36615412"],["reveal_at","2027-02-15T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","496c094cd2f718802b039440f0298ca2f301986951fc4987e441924f03dd4f04"],["ct","baa6112b62f629afbb0f19c6d16e9be06434c7fe2d1d4a4a32cbeb14519c4fad"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r36615412.tlock b/reveal/v5-000010/r36615412.tlock
new file mode 100644
index 0000000..ee2365e
--- /dev/null
+++ b/reveal/v5-000010/r36615412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjE1NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc3ZJZXdHem9tSFcrN0p5OFBzQjQrZWxFa2REZVg2NTNjY2h4RHh2
5Y1JJek9XOXhqS2ZYU1FrakxLd3RMZFhIRwpCclNoRVZkV2tBQmd6M3VyeEk5Z2hM
6ZUdEazF0MCtWMjEzSkdpUTc1TTNjVEMrT1VBNWpVeGZ1S1dGZVVGU2UwCm9RMk5L
7TC9pQW5zT1Zwd1YzUUxBZm9lM094UTdUZlNQYTZoeHRYUHlMUjQKLS0tIHFxMHB1
8M0pCWElQYXRPMmtCY244dlhnaUtLVkYzZXpUd3ZmYm1DSVFZVFkK/ED7tqQIgz9r
9X9rZ19+Ym1zKlgX1dXr/QyGNXQ9F3TOs2a5GoTU2u2HJhtqrpitouZPbVZmQV08/
10L0YPh/51PA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r36673012.ct b/reveal/v5-000010/r36673012.ct
new file mode 100644
index 0000000..d2dc287
--- /dev/null
+++ b/reveal/v5-000010/r36673012.ct
Binary files differ
diff --git a/reveal/v5-000010/r36673012.nostr.json b/reveal/v5-000010/r36673012.nostr.json
new file mode 100644
index 0000000..831d9a5
--- /dev/null
+++ b/reveal/v5-000010/r36673012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjczMDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKalZDY3o4RGxQQSs4YVMzTUdDTXpEMS9IVTlBdHc4ZGR1SFUxWkJD\nTXhPdzBMQ0F2OW5FcHBZTnkwTTAzQmpyOApDT0lORUNjak05NStuUmQ5Zk5zVi91\nSEphb0RYdUZsZW1Na2tZWE4vWkdBbVRqOUN0T3VzcmU0UUdkeXEvb1BlCk13WUNR\nanBrNHVyTkJJUGFQTjJTTjJZWXpHUGxDUG1leHV5NW9vY3NzeVkKLS0tIDViSHpv\ncTNSb05jUjRlNHRoNC8xemQrWnVFNzR4YUlXMnNFd0JydVFTejgKvicTIksujq78\n/Dsgtt0aYE8U5gDSAQYW8CWmZ6Q1o9yKAg+67uKdzt2nOCCP8drEsaxxMiiBDuEs\nU+dkKqhgtQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36673012"],["reveal_at","2027-02-17T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","747b70c370b30371706c19b2a274e386ac7d97f2af4be6c8b12a6764ca7cac83"],["ct","0d6064d6704239e0424192c7732bf22eb38329996ce59b9f2ab44b17c4ea05c4"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r36673012.tlock b/reveal/v5-000010/r36673012.tlock
new file mode 100644
index 0000000..15dac34
--- /dev/null
+++ b/reveal/v5-000010/r36673012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjczMDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKalZDY3o4RGxQQSs4YVMzTUdDTXpEMS9IVTlBdHc4ZGR1SFUxWkJD
5TXhPdzBMQ0F2OW5FcHBZTnkwTTAzQmpyOApDT0lORUNjak05NStuUmQ5Zk5zVi91
6SEphb0RYdUZsZW1Na2tZWE4vWkdBbVRqOUN0T3VzcmU0UUdkeXEvb1BlCk13WUNR
7anBrNHVyTkJJUGFQTjJTTjJZWXpHUGxDUG1leHV5NW9vY3NzeVkKLS0tIDViSHpv
8cTNSb05jUjRlNHRoNC8xemQrWnVFNzR4YUlXMnNFd0JydVFTejgKvicTIksujq78
9/Dsgtt0aYE8U5gDSAQYW8CWmZ6Q1o9yKAg+67uKdzt2nOCCP8drEsaxxMiiBDuEs
10U+dkKqhgtQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r36730612.ct b/reveal/v5-000010/r36730612.ct
new file mode 100644
index 0000000..3bb0159
--- /dev/null
+++ b/reveal/v5-000010/r36730612.ct
Binary files differ
diff --git a/reveal/v5-000010/r36730612.nostr.json b/reveal/v5-000010/r36730612.nostr.json
new file mode 100644
index 0000000..62dabeb
--- /dev/null
+++ b/reveal/v5-000010/r36730612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzMwNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbVhCWFpLT0JhTW9QTmtWR1hJTWRDc0pPVHBISUVhQUE5MGNjdDBy\nd1ZVUE01TUZJZnRlWkFweU02b3I4cTE0KwpGQmJoa2NYOWpHZmIyVGVOTEJieXI1\nM2tSSEtaNE5HWEtuWFByNWgwWDVUcGRhOUkrQVZmcE5iV29vbXZaTjRPCkc5YlNo\nWHkrdjlNZklNQ2YybHhRYVBmbFZPNDJZUHB3b3dmc1poR0dnK1UKLS0tIFRMQjZS\nSFVlcU1OWXZxVDJZTTBjTzFXZDNPN1JrNjdRazFTbG5Ybld4WHMKJMLiLuvt2G6J\nSodT9CRlInUxy3nUygf7enojLRIaGJa2TyCA9shSUyM4gdKrw0j0PSe7UFxxfXbG\niCULVLNnYQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36730612"],["reveal_at","2027-02-19T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","9cc71147a753613c423ea454e502acecbb69d0a9d463b402a3ab3f8353ff8c43"],["ct","df248dd3ec6b186a6f889f3067eea2edff52695c5ff8ff6bad1ded1ebc535d3d"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r36730612.tlock b/reveal/v5-000010/r36730612.tlock
new file mode 100644
index 0000000..44466ec
--- /dev/null
+++ b/reveal/v5-000010/r36730612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzMwNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbVhCWFpLT0JhTW9QTmtWR1hJTWRDc0pPVHBISUVhQUE5MGNjdDBy
5d1ZVUE01TUZJZnRlWkFweU02b3I4cTE0KwpGQmJoa2NYOWpHZmIyVGVOTEJieXI1
6M2tSSEtaNE5HWEtuWFByNWgwWDVUcGRhOUkrQVZmcE5iV29vbXZaTjRPCkc5YlNo
7WHkrdjlNZklNQ2YybHhRYVBmbFZPNDJZUHB3b3dmc1poR0dnK1UKLS0tIFRMQjZS
8SFVlcU1OWXZxVDJZTTBjTzFXZDNPN1JrNjdRazFTbG5Ybld4WHMKJMLiLuvt2G6J
9SodT9CRlInUxy3nUygf7enojLRIaGJa2TyCA9shSUyM4gdKrw0j0PSe7UFxxfXbG
10iCULVLNnYQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r36788212.ct b/reveal/v5-000010/r36788212.ct
new file mode 100644
index 0000000..df1c012
--- /dev/null
+++ b/reveal/v5-000010/r36788212.ct
Binary files differ
diff --git a/reveal/v5-000010/r36788212.nostr.json b/reveal/v5-000010/r36788212.nostr.json
new file mode 100644
index 0000000..6351fd7
--- /dev/null
+++ b/reveal/v5-000010/r36788212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2Nzg4MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKdDBRUXJZMVN6RUd0M1RmS2lzU0RKdEgxM2IwSWNFbytFMktiU0wr\nTnZ1d2lmcC9ReXNaVUNIRlg4eDZPSFFkNwpHQVNkNEZ2elB2MExHaklHUjQ1aWsw\nN1loeUwxMzlGclJpYTNQb0FHTVZHV1lVWkl5ejVZMWVnT29MVk9veXJLCkJQVGtm\nczRTcWM5QnRxcXBvOFNiak0xM0lESndkekc5MUkrMEdaejNZSTQKLS0tIFJuQktZ\nSFRPN1AvK2o4dUVLSWRDKzdUNjNtdmNrSVViYkpOWndUOFhZSUkKf7fRuJiBnb0r\nq7YjflyV1PzMnbyviuwaCb2fbd5maCFcaR+xnmXB3B484ZnUDX82ES2wd65aw/ln\n4/6q+oMsZQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36788212"],["reveal_at","2027-02-21T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","fe5a53feb002abeb4157be9026cf8714ff77a31e5591f848165e6f2e3e59c40d"],["ct","849d5dbd7348767a4d2c82b26d478d7a89ae476be5d9fa897876b9f0744b7c99"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r36788212.tlock b/reveal/v5-000010/r36788212.tlock
new file mode 100644
index 0000000..afe69fd
--- /dev/null
+++ b/reveal/v5-000010/r36788212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2Nzg4MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKdDBRUXJZMVN6RUd0M1RmS2lzU0RKdEgxM2IwSWNFbytFMktiU0wr
5TnZ1d2lmcC9ReXNaVUNIRlg4eDZPSFFkNwpHQVNkNEZ2elB2MExHaklHUjQ1aWsw
6N1loeUwxMzlGclJpYTNQb0FHTVZHV1lVWkl5ejVZMWVnT29MVk9veXJLCkJQVGtm
7czRTcWM5QnRxcXBvOFNiak0xM0lESndkekc5MUkrMEdaejNZSTQKLS0tIFJuQktZ
8SFRPN1AvK2o4dUVLSWRDKzdUNjNtdmNrSVViYkpOWndUOFhZSUkKf7fRuJiBnb0r
9q7YjflyV1PzMnbyviuwaCb2fbd5maCFcaR+xnmXB3B484ZnUDX82ES2wd65aw/ln
104/6q+oMsZQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/r37882612.ct b/reveal/v5-000010/r37882612.ct
new file mode 100644
index 0000000..f15fc94
--- /dev/null
+++ b/reveal/v5-000010/r37882612.ct
Binary files differ
diff --git a/reveal/v5-000010/r37882612.nostr.json b/reveal/v5-000010/r37882612.nostr.json
new file mode 100644
index 0000000..52feb16
--- /dev/null
+++ b/reveal/v5-000010/r37882612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3ODgyNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKamFSZWlrNU9BSnlJN1ZTZk4wSU5FR0x5ZzlIVzFaOE9VTDV2SlI4\nQjZ3MUlsckNmWWRXOVJwSVZmMU9qZTlqWgpBNE5WMS9jQkdBVktZcThpaUdhMkVJ\na05TME5YMXdKdzVLMlREalFmQW94SGNnR25OUU1sdjNLbjRTSXVEQWdMCmpNN1A5\nbDl1UUxONlI4UjhWVEt5YXhYQndnWmVlRHZ6SSs5Rk5sZ21XcXcKLS0tIFJnU0hy\nVFVvWnlrWFZiOWpXY2NTVy8wUmN4cWdOLzNkMXJQT0RrTzBDYXMKArEjypCjmGZ5\nAybHoDpbg0MTfQa/Dp3s64bTairlCjlMPxIE3OV4LZgp8ofVoxJg0PXYnHazTXvb\neG7SnLCBvw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","37882612"],["reveal_at","2027-03-31T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","262716bef37b6cdda1624869e04ba7189369ce73260f65b80c6c2c96a9109ec1"],["ct","177199dcaf07308b66b38cdb212f852f3d8f203f5c040b2a700364b2a1b03a33"],["seal","7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37"]]}
diff --git a/reveal/v5-000010/r37882612.tlock b/reveal/v5-000010/r37882612.tlock
new file mode 100644
index 0000000..7faa68b
--- /dev/null
+++ b/reveal/v5-000010/r37882612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3ODgyNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKamFSZWlrNU9BSnlJN1ZTZk4wSU5FR0x5ZzlIVzFaOE9VTDV2SlI4
5QjZ3MUlsckNmWWRXOVJwSVZmMU9qZTlqWgpBNE5WMS9jQkdBVktZcThpaUdhMkVJ
6a05TME5YMXdKdzVLMlREalFmQW94SGNnR25OUU1sdjNLbjRTSXVEQWdMCmpNN1A5
7bDl1UUxONlI4UjhWVEt5YXhYQndnWmVlRHZ6SSs5Rk5sZ21XcXcKLS0tIFJnU0hy
8VFVvWnlrWFZiOWpXY2NTVy8wUmN4cWdOLzNkMXJQT0RrTzBDYXMKArEjypCjmGZ5
9AybHoDpbg0MTfQa/Dp3s64bTairlCjlMPxIE3OV4LZgp8ofVoxJg0PXYnHazTXvb
10eG7SnLCBvw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000010/seal.json b/reveal/v5-000010/seal.json
new file mode 100644
index 0000000..05ab784
--- /dev/null
+++ b/reveal/v5-000010/seal.json
@@ -0,0 +1,43 @@
1{
2 "algorithm": "sha256-live-v5",
3 "anchor_ref": "sha256:7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37",
4 "covers_after": "2026-10-06T22:21:37.282794Z",
5 "covers_through": "2026-10-07T22:22:18.177798Z",
6 "digest": "7d3f459994eeb12c57213312f8d2e186ed6392aa1502d48cb035a66225a93c37",
7 "follows_seq": 40,
8 "n_forecasts": 2473,
9 "n_groups": 22,
10 "n_withheld": 2473,
11 "prev_digest": "f7dd3d54a02d0aa327e76a1ec41d89f8b0fa700247dfad7ebf0c82ab889004c3",
12 "prev_seq": 9,
13 "sealed_at": "2026-10-07T22:22:58.481822Z",
14 "seq": 10,
15 "variant": {
16 "beacon": {
17 "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
18 "genesis_time": 1692803367,
19 "period": 3,
20 "relays": [
21 "https://api.drand.sh",
22 "https://api2.drand.sh",
23 "https://api3.drand.sh",
24 "https://drand.cloudflare.com"
25 ],
26 "scheme": "bls-unchained-g1-rfc9380"
27 },
28 "cipher": "chacha20poly1305-zlib6-nonce0",
29 "gate": {
30 "default": "withheld: a kept salt can be released later; an opened text can never be withdrawn",
31 "opened": "none",
32 "why": "no decision by Echo yet"
33 },
34 "line": "numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)",
35 "reveal": "utc-day-after-close",
36 "salts": "key ring: one content a seal, one part a line",
37 "tool": {
38 "name": "tle",
39 "sha256": "69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541",
40 "version": "tlock v1.2.0 -- github.com/drand/tlock"
41 }
42 }
43}