diff --git a/corpus/page-lifecycle/removal/README.md b/corpus/page-lifecycle/removal/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..2d227802946bcfc09ffb98f479ff08fe9fd28edf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/README.md
@@ -0,0 +1,52 @@
+# Native page-removal references
+
+Eleven synthetic OneNote 2010 cases exercise individual parent, child, grandchild,
+trailing and leading-page removal; explicit multi-page removal; removal of every
+page; permanent removal; and recycling pages containing tables, list controls,
+tags, images, attachments and ink. The two leading cases also contain a nonempty
+page-version graph. These are sequential COM `DeleteHierarchy` calls with frozen
+original page identities. They do not represent keyboard deletion of a collapsed
+selection or an atomic notebook-wide transaction.
+
+Every case retains synchronized before/after section files, full native page XML
+and binary payloads, scripts, requested page indices, and an independent cold
+capture. `provenance.json` records the captured hashes and all 22 clone teardown
+records. Identical files within the capture have one stored copy and relative
+links. All fixtures originate from the public synthetic corpus.
+
+The raw Rust oracle checks retained page/object identities and bodies, page order,
+series reuse, indentation, source tombstones, retained revisions, labeled history,
+and exact cold graphs. Recycled pages are associated by their notebook-management
+GUID, including when titles are identical. Reachable properties, nested property
+sets, ordered references, context relationships and internal file payloads compare
+across identifier remapping. Only identical author records may merge. Current-page
+metadata normalizes to level one; observed modification-time changes must equal
+the copied page's timestamp. Version-page levels and timestamps remain exact.
+Native discards nine old storage revisions in the ink case and eight in the
+feature case; those counts are explicit regression expectations. Removal of
+storage revisions is distinct from losing semantic page versions.
+
+The copy oracle includes negative controls for an ordinary text edit and a
+changed attachment payload. Python independently compares native XML, character
+formatting and media against before, after and cold stores. Empty native section
+hierarchies can contain only an XML declaration after reopening.
+
+```sh
+cargo build -p onestore-notebook --all-features --example document
+cargo test -p onestore --all-features --test page_removal
+python -m unittest discover -s tools -p test_page_removal.py
+```
+
+A fresh owned-clone capture uses `python tools/native_page_removal.py CASE OUTPUT`,
+where `CASE` is a key from `provenance.json` and `OUTPUT` is a new directory. The
+controller removes its clones after use. These fixtures establish reference
+semantics for the page-removal writer; they do not implement that writer.
+
+`sanitizer.json` records 64 initial mutation inputs and the 32 supplemental store
+paths/hashes for the existing `document` fuzz target. With ASan and seed 1993,
+20,000 executions completed in 40 seconds without an invariant or sanitizer
+failure. Decode the input hex into a new writable corpus and set
+`ONESTORE_DOCUMENT_SEEDS` to the recorded repository-relative paths joined with
+the platform path separator, then use `cargo +nightly fuzz run document CORPUS --
+-seed=1993 -max_total_time=120 -timeout=30 -runs=20000`. The target also retains its
+built-in synthetic sources. This is bounded reader testing of these inputs.
diff --git a/corpus/page-lifecycle/removal/all/cold/machine.json b/corpus/page-lifecycle/removal/all/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..d4e8f0b1c752bf9865a80e754e8427d452ac68d5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-ba22764e", "hostname": "ONE-M6-BA22764E"}
diff --git a/corpus/page-lifecycle/removal/all/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/all/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/all/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/cold/read/environment.json b/corpus/page-lifecycle/removal/all/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..d88492d65e6b75fdcbff85d67ffababe12927ec0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-BA22764E",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/all/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/all/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ea04a770df6235c9edf91c1655df5a8afceb2aed
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-000.xml b/corpus/page-lifecycle/removal/all/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..69cb54460c8c4cb4a2be162de46f0a118d471015
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-001.xml b/corpus/page-lifecycle/removal/all/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..249d5e822e51827cf3f0e6cf4e1080acac83e02b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-002.xml b/corpus/page-lifecycle/removal/all/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9dfd5cce263089443188f772e383cd028e8275d6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-003.xml b/corpus/page-lifecycle/removal/all/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0419e13e0c1978d7fd672f1bdf5e3d4f94ed04f1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-004.xml b/corpus/page-lifecycle/removal/all/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fb28124f53aa5ce6380884a8882363cd74cd9440
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-005.xml b/corpus/page-lifecycle/removal/all/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..03e912f09f76f734f444a1fb9945d915b572c657
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-006.xml b/corpus/page-lifecycle/removal/all/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e2d21e76f5e6d72daa756de1c138f2ffa558d9f1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-007.xml b/corpus/page-lifecycle/removal/all/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d28bf672081ec159fdff185624a3b27066315bc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-007.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/cold/read/page-008.xml b/corpus/page-lifecycle/removal/all/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..75ecb71c26adc731629e8b07f5bb5f7233728d79
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/cold/read/payloads.json b/corpus/page-lifecycle/removal/all/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/cold/run.json b/corpus/page-lifecycle/removal/all/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..9d3e4e5e4976fd1e175695b9b63728c4d4de2e55
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/all/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/all/cold/source.json b/corpus/page-lifecycle/removal/all/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..63f51beaf25f9182dcce81ddc659d8d451327853
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 57488,
+ "sha256": "4fde3d9e45bfd5a94eea680c098e0b4d52b90b683f4475933a2dd292e36cadba",
+ "mtime_ns": 1788944891662075246
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 50672,
+ "sha256": "bdf772ed06f2bfc122116778c7cbba39be50d7461593703d956a6881ac7822e0",
+ "mtime_ns": 1788944891662641784
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "7e67f2a907619793097ce10f86758172ab3d66c748382793b0927599bd498fee",
+ "mtime_ns": 1788944891663056490
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "292ed75eb7cc4b8e86051efc512941761404968157af556d956a6a48c0ef4177",
+ "mtime_ns": 1788944891662418244
+ }
+]
diff --git a/corpus/page-lifecycle/removal/all/cold/teardown.json b/corpus/page-lifecycle/removal/all/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/all/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..acdea7ed63323f952c7d81b588c7116953b919c7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/all/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..96ab361bd509f0f2e0b12daca2040d84bef21aca
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..896c00305ea36331a273c81f086ce6ac1665d10d
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..4117d0f1227e5b1b9b93bb5f6985bdc63406f816
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/all/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/all/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..14aacf763e07681dc2ba3cfe7b86f03bd12357cc
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/all/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/all/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ac99f51a6964e36b726cde17ce751f7422813548
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/after/reopened-hierarchy.xml
@@ -0,0 +1 @@
+
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/environment.json b/corpus/page-lifecycle/removal/all/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..b2042d8ca11d8b46825716dc7c435665875198a5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-D03A36CD",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/all/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e1f532746760330a9f8ed049bca9bcc45f9c50cb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/all/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before-read/payloads.json b/corpus/page-lifecycle/removal/all/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/all/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6e93f8b6600db9c562cf7a3a5495f9355a09a6fb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/all/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..5dbca2bad1e6196ad88e4b1ca7fe89dccc859552
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/all/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/all/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..dd1d819eba785a38d9e40b7e5756d54aabd53423
Binary files /dev/null and b/corpus/page-lifecycle/removal/all/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-000.xml b/corpus/page-lifecycle/removal/all/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4ece992efc05d9542703376adeb24b4d7aec6c62
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-001.xml b/corpus/page-lifecycle/removal/all/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..57e5944e67cbd314acd2f365eb65511e0dbc0f56
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-002.xml b/corpus/page-lifecycle/removal/all/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d7ad1468e4b2cfa94332bc80cc25f1ca5a1c2d46
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-003.xml b/corpus/page-lifecycle/removal/all/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..74e7fd468a0c7d982759f8243a404f0f06550f9f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-004.xml b/corpus/page-lifecycle/removal/all/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..31e5b145de0a43fdc09f4423aaa98864b1292b5e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-005.xml b/corpus/page-lifecycle/removal/all/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6cbb73666030b127266103c9a3ee7cd7dc0ba44c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-006.xml b/corpus/page-lifecycle/removal/all/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..917b76df32ce09c038881539c3e2950f8f061a04
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-007.xml b/corpus/page-lifecycle/removal/all/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67aa089d56cbba358e112436d8c1591fc70fb85e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/page-008.xml b/corpus/page-lifecycle/removal/all/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29dd9ebdc5fc43585154b84a1c6ebd66ecffc326
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/all/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..97f85a36e552f3999170dd8884a99e4ba18cf76f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/interaction.json b/corpus/page-lifecycle/removal/all/native/interaction.json
new file mode 100644
index 0000000000000000000000000000000000000000..1866592c57787747e6549b8d81604170cf6586c4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/interaction.json
@@ -0,0 +1,4 @@
+{
+ "page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422"
+}
diff --git a/corpus/page-lifecycle/removal/all/native/machine.json b/corpus/page-lifecycle/removal/all/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..5c60e8cff9acd8a0fcf6453f6942723205ebf1bc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-d03a36cd", "hostname": "ONE-M6-D03A36CD"}
diff --git a/corpus/page-lifecycle/removal/all/native/read/environment.json b/corpus/page-lifecycle/removal/all/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..bcf492055933713b143adb51fac93c754f3dd26b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-D03A36CD",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/all/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/all/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9d426362f32360395123f9dc18eead97f2f3d646
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-000.xml b/corpus/page-lifecycle/removal/all/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..87cce872c5c956f9e4d9fc6561e4ecd9e1654ff2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-001.xml b/corpus/page-lifecycle/removal/all/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ae94fe17d36f659c1317738f258af63fc3ceaf0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-002.xml b/corpus/page-lifecycle/removal/all/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cd57cdf56d0adb18afcdbf8794e2ceb5afbaad9f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-003.xml b/corpus/page-lifecycle/removal/all/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..123bfc91211d50a8c4d0836d4ace183e67a38f4b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-004.xml b/corpus/page-lifecycle/removal/all/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6b1cdeb4942ab184190e5a469dbf4662fd378326
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-005.xml b/corpus/page-lifecycle/removal/all/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1d1f4ccc9f4bd1e9415f18d5b1db58a43264db90
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-006.xml b/corpus/page-lifecycle/removal/all/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43b1563a2f38be5de1bfaef241ee4060a23170a7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-006.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-007.xml b/corpus/page-lifecycle/removal/all/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8bdc5185c3c7af94c1d2696b86c94cc7add8971d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/all/native/read/page-008.xml b/corpus/page-lifecycle/removal/all/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c375914c1621d14e3849b51c522a1d9201ada8b9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/all/native/read/payloads.json b/corpus/page-lifecycle/removal/all/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/removed-ids.json b/corpus/page-lifecycle/removal/all/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..d7553192a5c6bd57722be15aad74723314cbb0ba
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/removed-ids.json
@@ -0,0 +1,11 @@
+[
+ "{DEB8D59B-0014-0788-3D60-C93E471B33D0}{1}{B0}",
+ "{94D5AC68-90BF-0E1A-2923-C91FAA8BF8FE}{1}{B0}",
+ "{B4DA6D5B-9967-0938-39BE-0FEB5139D09B}{1}{B0}",
+ "{A0162422-9FA2-4C6E-84BD-4757E96DEF43}{1}{B0}",
+ "{FD9A0FB1-19E4-4668-BA50-7F83AD477BB2}{1}{B0}",
+ "{A046CD72-832E-4837-A676-A72F87F52764}{1}{B0}",
+ "{73853F5F-50A2-4B3A-9AD1-0B155082CA28}{1}{B0}",
+ "{1860C5FF-665E-410B-A571-094EC7BB5E32}{1}{B0}",
+ "{6329A11C-3357-4669-8ECB-614FC3727303}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/all/native/run.json b/corpus/page-lifecycle/removal/all/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..1093c86d205d24cb336c467bcb0c47f8aa336ac5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmp5p8ogly8",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/all/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/all/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/all/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/all/native/scripts/page-removal.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..6b2f7f5bf1860ab9252f09f1558e83893a0656f6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/scripts/page-removal.ps1
@@ -0,0 +1,31 @@
+param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly before
+$request = Get-Content (Join-Path $Root 'removal.json') -Raw | ConvertFrom-Json
+$app = New-Object -ComObject OneNote.Application
+try {
+ $notebook = ''
+ $section = ''
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 0)
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$tree = $hierarchy
+ $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
+ if ($pages.Count -ne $request.expected_pages) { throw 'The removal fixture has an unexpected page count.' }
+ $ids = @()
+ foreach ($index in $request.selected) {
+ if ($index -lt 0 -or $index -ge $pages.Count) { throw 'Choose an original page in the fixture.' }
+ $ids += $pages[$index].GetAttribute('ID')
+ }
+ ConvertTo-Json -InputObject $ids | Set-Content (Join-Path $Root 'removed-ids.json') -Encoding UTF8
+ foreach ($id in $ids) {
+ $app.DeleteHierarchy($id, [DateTime]::MinValue, [bool]$request.permanent)
+ }
+} finally {
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+}
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly after
diff --git a/corpus/page-lifecycle/removal/all/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/all/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/native/source.json b/corpus/page-lifecycle/removal/all/native/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..303107244b5de174a239d0577a051a0d50c22511
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/source.json
@@ -0,0 +1,8 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 53544,
+ "sha256": "2f2b859877676ef11d7c3e58995e6614ac598240b51f37109a391bb42ff8652a",
+ "mtime_ns": 1788923715529540921
+ }
+]
diff --git a/corpus/page-lifecycle/removal/all/native/teardown.json b/corpus/page-lifecycle/removal/all/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/all/removal.json b/corpus/page-lifecycle/removal/all/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..03c4c41002b5e6530c043a26cfa8b3d1c46bb66e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/all/removal.json
@@ -0,0 +1,16 @@
+{
+ "case": "all",
+ "selected": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "permanent": false,
+ "expected_pages": 9
+}
diff --git a/corpus/page-lifecycle/removal/child/cold/machine.json b/corpus/page-lifecycle/removal/child/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..909904f96836b07ecaf76303721d8f8c517d4397
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-1fc1f9c2", "hostname": "ONE-M6-1FC1F9C2"}
diff --git a/corpus/page-lifecycle/removal/child/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/child/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/child/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/cold/read/environment.json b/corpus/page-lifecycle/removal/child/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..9c596dd04f4fce06456149fd0e3bb0dcaee701f7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-1FC1F9C2",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/child/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/child/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f163e81ed56d34756d56729da6b7fc4f9a584ea5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-000.xml b/corpus/page-lifecycle/removal/child/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b47b7b3e8880f42c78ef93638c54d0ce85922075
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-001.xml b/corpus/page-lifecycle/removal/child/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e4ac300587ab5e138f895346e1d22746fd4f2e59
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-002.xml b/corpus/page-lifecycle/removal/child/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5a367369d6328940e8392e10fb9d17d4f99a6964
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-003.xml b/corpus/page-lifecycle/removal/child/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e72845beb1bb1c4e424e9a99872982fe6985ee0d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-004.xml b/corpus/page-lifecycle/removal/child/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7efeb75dfac15ce7efa3fc6c393cbd0beecf50ef
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-005.xml b/corpus/page-lifecycle/removal/child/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d7bca281753d469d8fe73a70a58a383dafb4f0b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-006.xml b/corpus/page-lifecycle/removal/child/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aacd7a42587e80df919ea2440db6afe19109e829
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-007.xml b/corpus/page-lifecycle/removal/child/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..03ecc4ed83b19d5ff576f3175ba3793103f91308
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-007.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/cold/read/page-008.xml b/corpus/page-lifecycle/removal/child/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..df86fd0b9f826b1191ab9a2d8a37b4dd3e2e3a7b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/cold/read/payloads.json b/corpus/page-lifecycle/removal/child/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/cold/run.json b/corpus/page-lifecycle/removal/child/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..b1f15ac838a9268b680e32bb3cd5746a5fbf754e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/child/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/child/cold/source.json b/corpus/page-lifecycle/removal/child/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..2d3cc990f2bc2711b594b91f84fca2da2fafb3e7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 54304,
+ "sha256": "6368c735946dd7405097c99b77327be8b8a5ba6005420bd9b614f09815f1c428",
+ "mtime_ns": 1788944409043485108
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 11928,
+ "sha256": "7984938bbce6f047a95c75ff297107bd08252389c582f10ae856be0c003ba620",
+ "mtime_ns": 1788944409043834774
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "7296a70d62e61eece50a26af4cb3be311f466423cf5fd981b42e0a24d6016147",
+ "mtime_ns": 1788944409044065440
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "0e0a51ba74214fe2f4a669b1d5cf9358749a17603e336850cba04101f5eda933",
+ "mtime_ns": 1788944409043660024
+ }
+]
diff --git a/corpus/page-lifecycle/removal/child/cold/teardown.json b/corpus/page-lifecycle/removal/child/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/child/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f627e50eae08bb203972f67045660ad5f8a7170
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/child/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..b28b4be4f1badcd374614f3b2f96391a33fb32cf
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..d3db57c51f9aa3310f47bbd656df5fdea4b94a2c
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..9f90b03084d4efcc5322e82611c5b80206ff189b
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/child/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/child/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..2104301dd3e6aafe95b15ecceb2655dfac19bdcc
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-000.xml b/corpus/page-lifecycle/removal/child/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a50787bb5105891c5faa537bfe7f66d5c4c9ecb2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-001.xml b/corpus/page-lifecycle/removal/child/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dcfc9a8c9941d9d34ba3a571acfab5d06757b2f8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-002.xml b/corpus/page-lifecycle/removal/child/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9d12389b48f243576af272bd40f49a8b99db3769
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-003.xml b/corpus/page-lifecycle/removal/child/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..57f080f6d4d057a430c6c45a2b6fb7bc825e03be
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-004.xml b/corpus/page-lifecycle/removal/child/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..40f2a1fb030f5115a479ada9d9bbf1d616a9dc68
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-005.xml b/corpus/page-lifecycle/removal/child/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fd488f65f52a132a7dbc395fcf65340689138225
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-006.xml b/corpus/page-lifecycle/removal/child/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d6b761eb83074fa8a04b5cfe4a309bbb83cb294b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/after/page-007.xml b/corpus/page-lifecycle/removal/child/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8da80f39d70571c57c4a308f26bb33bc623252d7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/child/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..57a36f2406359a3f556270e8f9c695995e4be19e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/environment.json b/corpus/page-lifecycle/removal/child/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..760022fd474d8dfb35afcea26fbfefaf7163eb02
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-4003AE1D",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/child/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d61e12ca4eadd719b05e4988b7a0e4f3e476ccaa
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/child/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before-read/payloads.json b/corpus/page-lifecycle/removal/child/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/child/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..459613c4ff084db17d1babf57050b2ee46513e1f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/child/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..679366c55dc53774c8b33b8c38fe3dc0dbc154d1
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/child/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/child/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..2216f0ebb8156b8422b580ba1f108199d6892a2a
Binary files /dev/null and b/corpus/page-lifecycle/removal/child/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-000.xml b/corpus/page-lifecycle/removal/child/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aefa991d8c8fd99cbb15f50958515e9c5aa26dae
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-001.xml b/corpus/page-lifecycle/removal/child/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1162fd182f88d658fa366ec0b448846cd8c88b2e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-002.xml b/corpus/page-lifecycle/removal/child/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..49ff46cd29cb2cf02824fae070ee5fd3fa85f5cf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-003.xml b/corpus/page-lifecycle/removal/child/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ff1c74a06227f10794ce32091d9da63e5574b110
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-004.xml b/corpus/page-lifecycle/removal/child/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..30cf14656bcdaddc850269cf1dcc21f7f79c7979
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-005.xml b/corpus/page-lifecycle/removal/child/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..967eb4ea51300d7ba1a345a6b5ce4a4aea50e9cc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-006.xml b/corpus/page-lifecycle/removal/child/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..53275432dfac6d77bbaf7243372349859d85beea
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-007.xml b/corpus/page-lifecycle/removal/child/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8cf827d88cefc43412274e3b3f2495b5b24760e9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/page-008.xml b/corpus/page-lifecycle/removal/child/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c6a29bc26f3e372159cd6f4f96ba80510ab97cc1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/child/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4768f2093dead0e002d6cb270058dd6d4762157b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/interaction.json b/corpus/page-lifecycle/removal/child/native/interaction.json
new file mode 100644
index 0000000000000000000000000000000000000000..d7f9cca5d7dbdb243d4d401afff7a4421a97b3a2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/interaction.json
@@ -0,0 +1,4 @@
+{
+ "page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "page-removal.ps1": "b61fd70c3047910d381f2e2678d87c6ff394f3ac2be88f5a7a6aa89f254913c9"
+}
diff --git a/corpus/page-lifecycle/removal/child/native/machine.json b/corpus/page-lifecycle/removal/child/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..c32a416eeb5d54b65db410f05d0c3e0199b8652c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-4003ae1d", "hostname": "ONE-M6-4003AE1D"}
diff --git a/corpus/page-lifecycle/removal/child/native/read/environment.json b/corpus/page-lifecycle/removal/child/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..f3dc9c3fb43ef103b0e60eeb4bfd8d1e2cfd51a4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-4003AE1D",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/child/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/child/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..171ddd3bed5b8c5f4268acecb24f92075f8128c2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-000.xml b/corpus/page-lifecycle/removal/child/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..793081459e722ca36babd96e7c7631db652dae21
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-001.xml b/corpus/page-lifecycle/removal/child/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b6f33944ee0edcf1c5d952e01e8ae265ab610f56
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-002.xml b/corpus/page-lifecycle/removal/child/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9e9c3b056a9edeb9065067155b1f5aab7c1475f4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-003.xml b/corpus/page-lifecycle/removal/child/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d38eedc226a7a53628020980a7bd47d5326356d2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-004.xml b/corpus/page-lifecycle/removal/child/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b556a802e430dd53923368988f8b65cf7d9f4363
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-005.xml b/corpus/page-lifecycle/removal/child/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0320d7e57254e32813a35424481190cc4f7f4f70
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-006.xml b/corpus/page-lifecycle/removal/child/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..be689894f9bf59e9c04574e2874b411389d94153
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-007.xml b/corpus/page-lifecycle/removal/child/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a9246fcaf4df98a6489d41a37df8623fee3c40c8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/child/native/read/page-008.xml b/corpus/page-lifecycle/removal/child/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f5cf3443b70a6b7464092058aac766f879c908f3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/child/native/read/payloads.json b/corpus/page-lifecycle/removal/child/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/removed-ids.json b/corpus/page-lifecycle/removal/child/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..26366c0789cccecdf3640fedbd23d569f5511046
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{5EF748FC-DC7B-4686-A4A0-542F66676ED7}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/child/native/run.json b/corpus/page-lifecycle/removal/child/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..47f8a8ef25d42b2cf343303e4626f8926748739e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpm1jskckv",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/child/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/child/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/child/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/child/native/scripts/page-removal.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..130c40f01ec4746da986649ae4ce98859810d6b1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/scripts/page-removal.ps1
@@ -0,0 +1,31 @@
+param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly before
+$request = Get-Content (Join-Path $Root 'removal.json') -Raw | ConvertFrom-Json
+$app = New-Object -ComObject OneNote.Application
+try {
+ $notebook = ''
+ $section = ''
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 0)
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$tree = $hierarchy
+ $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
+ if ($pages.Count -ne 9) { throw 'The removal fixture must have nine original pages.' }
+ $ids = @()
+ foreach ($index in $request.selected) {
+ if ($index -lt 0 -or $index -ge $pages.Count) { throw 'Choose an original page in the fixture.' }
+ $ids += $pages[$index].GetAttribute('ID')
+ }
+ ConvertTo-Json -InputObject $ids | Set-Content (Join-Path $Root 'removed-ids.json') -Encoding UTF8
+ foreach ($id in $ids) {
+ $app.DeleteHierarchy($id, [DateTime]::MinValue, [bool]$request.permanent)
+ }
+} finally {
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+}
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly after
diff --git a/corpus/page-lifecycle/removal/child/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/child/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/source.json b/corpus/page-lifecycle/removal/child/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/native/teardown.json b/corpus/page-lifecycle/removal/child/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/child/removal.json b/corpus/page-lifecycle/removal/child/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..361fe64a5e2971361f0b91dcb8f7a95c79d3c664
--- /dev/null
+++ b/corpus/page-lifecycle/removal/child/removal.json
@@ -0,0 +1,7 @@
+{
+ "case": "child",
+ "selected": [
+ 4
+ ],
+ "permanent": false
+}
diff --git a/corpus/page-lifecycle/removal/features/cold/machine.json b/corpus/page-lifecycle/removal/features/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..b9a6d62dbc4bc8b0e1a72c8e07fc44c5b5a1bd7d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-08553da6", "hostname": "ONE-M6-08553DA6"}
diff --git a/corpus/page-lifecycle/removal/features/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/features/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/features/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment b/corpus/page-lifecycle/removal/features/cold/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..022cc634ebdc06f84df6402ddba4a71f1182d179
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
@@ -0,0 +1 @@
+../../native/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment b/corpus/page-lifecycle/removal/features/cold/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..032818129afe55a87bf2454f51bebb1676631e86
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
@@ -0,0 +1 @@
+../../native/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/read/environment.json b/corpus/page-lifecycle/removal/features/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..dd0194d8a26e21d6672fc2aa70ce73c90d9091c5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-08553DA6",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/features/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/features/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f24ea7148c5e128b1bd022c64f4a3093e85c0a6b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-000.xml b/corpus/page-lifecycle/removal/features/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e4bf2f7a0b9ef8c6e13b29add370b8e589aa29f6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-000.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-001.xml b/corpus/page-lifecycle/removal/features/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d451b0dca85810f13612f7b666b2a1c86ffd8615
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-002.xml b/corpus/page-lifecycle/removal/features/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c088af146d04064d290e03c60b00a1937b158b29
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-002.xml
@@ -0,0 +1,21 @@
+
+/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
+HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
+AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
+AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
+ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
+p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
+AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
+BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
+U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
+uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
+plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
+h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
+lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
+WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
+tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
+1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
+YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
+H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-003.xml b/corpus/page-lifecycle/removal/features/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a533f1d01bea5309545d0374b75e36fb14685b6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-003.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-004.xml b/corpus/page-lifecycle/removal/features/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..28c8610a7805d5bcb2638d1a119342f42dd0020c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-004.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-005.xml b/corpus/page-lifecycle/removal/features/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..80e59bdf22edd5da9e59325c4a10fca5f963cc15
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-006.xml b/corpus/page-lifecycle/removal/features/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8f31877602cba328e733ca59e44766c29cc4de87
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-006.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-007.xml b/corpus/page-lifecycle/removal/features/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d494cc847a8c2a6a0c644a598dbc6c36fdaf31f3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-007.xml
@@ -0,0 +1,9 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
+xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
+8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
+3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
+cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
+ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
+amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-008.xml b/corpus/page-lifecycle/removal/features/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..351b992efe91bfc7e7682b55e690332c422d1bf3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Inherited strike and spacing]]>مرحبا بالعالم]]>
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-009.xml b/corpus/page-lifecycle/removal/features/cold/read/page-009.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d6bbcfeda0a913cc2afb812a1a55a97dce3c6a9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-009.xml
@@ -0,0 +1,300 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
+jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
+TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
+AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
+g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
+BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
+HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
+V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
+vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
+KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
+3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
+s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
+zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
+ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
+0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
+ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
+U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
+2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
+oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
+Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
+NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
+NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
+EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
+j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
+zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
+g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
+V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
+dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
+pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
+IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
+pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
+4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
+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
+B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
+2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
+OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
+srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
+8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
+Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
+79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
+PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
+bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
+cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
+Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
+H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
+BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
+qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
++bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
+sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
+/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
+nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
+42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
+c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
+nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
+plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
+YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
+8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
+quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
+qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
+3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
+l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
+RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
+l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
+fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
+1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
+zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
+/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
+2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
++Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
+3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
+100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
+27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
+Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
+a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
+pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
+jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
+7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
+7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
+dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
+Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
+3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
+/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
+vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
+HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
+LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
+1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
+UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
+DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
+lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
+PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
+U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
+tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-010.xml b/corpus/page-lifecycle/removal/features/cold/read/page-010.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7c3d40bcac5e14030b4ef1c82c7f15217e2b203c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-010.xml
@@ -0,0 +1,46 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
+uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
+qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
+a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
+YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
+qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
+h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
+hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
+UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
+R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
+A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
+AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
+VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
+GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
+Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
+REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
+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
+AElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-011.xml b/corpus/page-lifecycle/removal/features/cold/read/page-011.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a0c9028a8ccdd90164fa67a0e4cd9ab1aca2a130
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-011.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/cold/read/page-012.xml b/corpus/page-lifecycle/removal/features/cold/read/page-012.xml
new file mode 100644
index 0000000000000000000000000000000000000000..af9041aff7c99faf83131424b2de21acc890e91c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/page-012.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/cold/read/payloads.json b/corpus/page-lifecycle/removal/features/cold/read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a098a8e811fc64f2cf6bdbb9a5fde58224e7805
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/read/payloads.json
@@ -0,0 +1,18 @@
+[
+ {
+ "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "name": "Fictitious attachment.txt",
+ "object": "{18137E46-899C-0876-0F6B-1A8A4512B3D9}{15}{B0}",
+ "kind": "InsertedFile",
+ "page": "{755C0B36-4407-040D-3C46-9600E51C980A}{1}{B0}",
+ "bytes": 27
+ },
+ {
+ "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "name": "silence.wav",
+ "object": "{18137E46-899C-0876-0F6B-1A8A4512B3D9}{20}{B0}",
+ "kind": "MediaFile",
+ "page": "{755C0B36-4407-040D-3C46-9600E51C980A}{1}{B0}",
+ "bytes": 16044
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/cold/run.json b/corpus/page-lifecycle/removal/features/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..32922346b477d281248d583cbe4337dd95687302
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-features-01/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/features/cold/source.json b/corpus/page-lifecycle/removal/features/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..f71ad9782657c92a7be281153fa7a59ab7773155
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 123608,
+ "sha256": "ac424b7a96c21e11c519e01362e5003a148f6a6c36ce850645f8744ee6246c1f",
+ "mtime_ns": 1788944881762354060
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 87160,
+ "sha256": "559d82d54689fd1342bdc86d035475e55060b44184593b4e5581ecdbcf15037c",
+ "mtime_ns": 1788944881763301679
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "9285d66bd1e91c312d87e828d61f7cc95997e38bd85df1606031709e73757c3c",
+ "mtime_ns": 1788944881763466719
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "ecc57cec087efd762bc8fc1eb40c47681c9ac462ac33940743643a11ffd80ec4",
+ "mtime_ns": 1788944881762704891
+ }
+]
diff --git a/corpus/page-lifecycle/removal/features/cold/teardown.json b/corpus/page-lifecycle/removal/features/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/features/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7c9599805387e632ae7275b4ef3976dcc64106e3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/features/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..abe7b5a5f3d2d6ba529ed9f1cd437030e65736a3
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..3b20a8d3e5e8ca29db34692d29ebea740d27f6ef
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..62a93c1abd667508041b5e97677c0848207e8b1b
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/features/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/features/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..bfae02b4250a9b4c3839eae2a84e541a96293e96
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-000.xml b/corpus/page-lifecycle/removal/features/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cbf282f944a1b6465bbf3cb9743e6efe1f9299a6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-000.xml
@@ -0,0 +1,21 @@
+
+/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
+HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
+AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
+AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
+ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
+p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
+AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
+BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
+U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
+uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
+plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
+h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
+lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
+WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
+tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
+1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
+YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
+H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
+
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-001.xml b/corpus/page-lifecycle/removal/features/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa9968ee09167848c9343e6e52ca14ad22109851
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-001.xml
@@ -0,0 +1,9 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
+xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
+8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
+3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
+cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
+ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
+amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-002.xml b/corpus/page-lifecycle/removal/features/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1d2952a5d8bbe64e1151d4c795e35fe34d1e576a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-002.xml
@@ -0,0 +1,46 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
+uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
+qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
+a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
+YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
+qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
+h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
+hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
+UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
+R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
+A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
+AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
+VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
+GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
+Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
+REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
+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
+AElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-003.xml b/corpus/page-lifecycle/removal/features/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fd722bf57e4ab0049b47dcb1d91da7a296c436d0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-003.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-004.xml b/corpus/page-lifecycle/removal/features/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..70eabfd697c48fa8e1ffb619c9149be3ad8a44db
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-004.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/after/page-005.xml b/corpus/page-lifecycle/removal/features/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..de8e2b0bf6b01848dc597bc3a41c3e76259d797e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/page-005.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/features/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67ed77b730ee6023f597b74e154b305f28338208
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment b/corpus/page-lifecycle/removal/features/native/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
new file mode 100644
index 0000000000000000000000000000000000000000..a959c053358a06abc072d3492e7a86d2e712d804
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment b/corpus/page-lifecycle/removal/features/native/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
new file mode 100644
index 0000000000000000000000000000000000000000..96260477f0ca60b1605e2971d8cdc146b8b4e02b
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/environment.json b/corpus/page-lifecycle/removal/features/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..eab56c02e9d566d06e3f1acda81c702353dea496
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-9F5F07E7",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/features/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7c462368470e178354e77d7ab7ab63d1d4d8ef50
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..588445df8cf1e7760fabd51e001c1b8ebc2580a9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-011.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d82d861bf22d70e8e12355291e39f76033166346
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-010.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..800eb4004d865b5d3c2bdc27bf30e6d5c89ade60
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-009.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-009.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-009.xml
new file mode 120000
index 0000000000000000000000000000000000000000..02aa873343ccdb7c00b683d1ba3cb4ba17b6a798
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-009.xml
@@ -0,0 +1 @@
+../before/page-012.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-010.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-010.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-010.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-011.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-011.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-011.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/page-012.xml b/corpus/page-lifecycle/removal/features/native/before-read/page-012.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/page-012.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before-read/payloads.json b/corpus/page-lifecycle/removal/features/native/before-read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..a4aacdf617077b44285bceb079b9fba171d14648
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before-read/payloads.json
@@ -0,0 +1,18 @@
+[
+ {
+ "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "name": "Fictitious attachment.txt",
+ "object": "{9EBF6A28-9E77-011E-3E46-70207CCE6F54}{40}{B0}",
+ "kind": "InsertedFile",
+ "page": "{84A553AC-4694-0FD3-2D5A-E2910729A923}{1}{B0}",
+ "bytes": 27
+ },
+ {
+ "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "name": "silence.wav",
+ "object": "{9EBF6A28-9E77-011E-3E46-70207CCE6F54}{44}{B0}",
+ "kind": "MediaFile",
+ "page": "{84A553AC-4694-0FD3-2D5A-E2910729A923}{1}{B0}",
+ "bytes": 16044
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/features/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c92832088142a307a9a7c8853f7af0c23675afe4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/features/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..2c3a71c3646deb749834f019e75aaa8f19b38ccb
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/features/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/features/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..18f015f65a9419ea2a74835decb84d7b76760183
Binary files /dev/null and b/corpus/page-lifecycle/removal/features/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-000.xml b/corpus/page-lifecycle/removal/features/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dcf617f4e1e5f6fbfd126547c3dfb58ca05d8120
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-000.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-001.xml b/corpus/page-lifecycle/removal/features/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..15b911e02954030b2512bd90678c29f851073dbd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-001.xml
@@ -0,0 +1,21 @@
+
+/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
+HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
+AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
+AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
+ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
+p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
+AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
+BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
+U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
+uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
+plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
+h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
+lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
+WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
+tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
+1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
+YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
+H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-002.xml b/corpus/page-lifecycle/removal/features/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b88a1a0aea27d40f685378c4b8c083f985b9b2de
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-002.xml
@@ -0,0 +1,9 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
+xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
+8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
+3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
+cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
+ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
+amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-003.xml b/corpus/page-lifecycle/removal/features/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..63bda7f323f340337db93014be84fd7ece1be96c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-003.xml
@@ -0,0 +1,300 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
+jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
+TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
+AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
+g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
+BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
+HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
+V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
+vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
+KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
+3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
+s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
+zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
+ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
+0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
+ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
+U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
+2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
+oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
+Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
+NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
+NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
+EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
+j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
+zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
+g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
+V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
+dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
+pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
+IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
+pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
+4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
+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
+B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
+2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
+OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
+srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
+8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
+Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
+79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
+PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
+bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
+cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
+Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
+H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
+BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
+qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
++bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
+sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
+/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
+nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
+42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
+c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
+nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
+plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
+YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
+8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
+quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
+qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
+3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
+l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
+RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
+l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
+fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
+1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
+zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
+/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
+2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
++Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
+3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
+100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
+27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
+Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
+a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
+pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
+jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
+7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
+7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
+dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
+Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
+3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
+/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
+vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
+HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
+LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
+1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
+UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
+DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
+lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
+PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
+U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
+tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-004.xml b/corpus/page-lifecycle/removal/features/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..39e708565177653051527798a05a4be56ad993b4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-004.xml
@@ -0,0 +1,46 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
+uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
+qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
+a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
+YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
+qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
+h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
+hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
+UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
+R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
+A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
+AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
+VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
+GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
+Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
+REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
+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
+AElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-005.xml b/corpus/page-lifecycle/removal/features/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f9f543d4351449576460dafa18ef6884007fca3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-005.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-006.xml b/corpus/page-lifecycle/removal/features/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dab9b0ecafda331378eed8ceb837dea2f9d71da6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-006.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-007.xml b/corpus/page-lifecycle/removal/features/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..11752f835a0a9b016755661ab3015baebb0a1c12
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-007.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-008.xml b/corpus/page-lifecycle/removal/features/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1bfa7e4b00926a12f7cd06da67c9a9c5bc2b0f56
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-008.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-009.xml b/corpus/page-lifecycle/removal/features/native/before/page-009.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cb428b5e6d2820ff227fe8c683a8159f832c54d1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-009.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-010.xml b/corpus/page-lifecycle/removal/features/native/before/page-010.xml
new file mode 100644
index 0000000000000000000000000000000000000000..368a9ee7b8bc42969962ca9b5d46202d0e3f98df
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-010.xml
@@ -0,0 +1,4 @@
+
+Inherited strike and spacing]]>مرحبا بالعالم]]>
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-011.xml b/corpus/page-lifecycle/removal/features/native/before/page-011.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f4ce5c879f0855b86750de496b47533e50f825d8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-011.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/page-012.xml b/corpus/page-lifecycle/removal/features/native/before/page-012.xml
new file mode 100644
index 0000000000000000000000000000000000000000..de15d7183da62eebcb72a6e2a299c441d79fbeb7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/page-012.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/features/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d9d9bfe882437bd3c69ba9ba6fbda30be0c2a380
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/interaction.json b/corpus/page-lifecycle/removal/features/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..cb671c7c47b31ee6e26647663c4639bff541d3e4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/interaction.json
@@ -0,0 +1 @@
+../../all/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/machine.json b/corpus/page-lifecycle/removal/features/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..80d426484dfc701f9d9c24502388f7bf9ae9df94
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-9f5f07e7", "hostname": "ONE-M6-9F5F07E7"}
diff --git a/corpus/page-lifecycle/removal/features/native/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment b/corpus/page-lifecycle/removal/features/native/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..6740e6a4ce0dec7c68bacc1aa19562548ab3b3ef
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
@@ -0,0 +1 @@
+../before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment b/corpus/page-lifecycle/removal/features/native/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..fad917053edef7e96182abfd5497524cc156a325
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
@@ -0,0 +1 @@
+../before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/read/environment.json b/corpus/page-lifecycle/removal/features/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..71456c081e070b5da901a56cf2d6cf693595b19f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-9F5F07E7",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/features/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/features/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f8b3f8fc515284a44c305d46352e3d1bac176f44
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-000.xml b/corpus/page-lifecycle/removal/features/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d6569ba109f5314235da2c086aa498fdc58107f6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-000.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-001.xml b/corpus/page-lifecycle/removal/features/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fe81d2a2256a10ac89cf052ec667e1e3bbffa0ff
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-001.xml
@@ -0,0 +1,21 @@
+
+/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
+HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
+MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
+AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
+AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
+ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
+p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
+AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
+BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
+U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
+uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
+plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
+h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
+lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
+WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
+tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
+1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
+YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
+H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-002.xml b/corpus/page-lifecycle/removal/features/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..61947869d8c5035fafef9b80896d08c7139d3cba
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-003.xml b/corpus/page-lifecycle/removal/features/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa2aec4e83d35d9ab4e3df0f458923285f26245c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-003.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-004.xml b/corpus/page-lifecycle/removal/features/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e9eaf145a0cf04a0b57b70195bda2f5ee652780a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-005.xml b/corpus/page-lifecycle/removal/features/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..653050780fa3555bd872e2e64bee7b99ab939272
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-005.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-006.xml b/corpus/page-lifecycle/removal/features/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6bb60d8088ccce26a2bfb5b2ed480a6a7c05e5ce
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-006.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-007.xml b/corpus/page-lifecycle/removal/features/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e0641aa01ffdc0cc26647d9659de8406787db729
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-007.xml
@@ -0,0 +1,9 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
+xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
+8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
+3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
+cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
+ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
+amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-008.xml b/corpus/page-lifecycle/removal/features/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..573ca28e19c6593bb3c11bba00ce07b58a344bdd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-009.xml b/corpus/page-lifecycle/removal/features/native/read/page-009.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6e84a62ee6ab432bf1de1111c8126c40fd524dc7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-009.xml
@@ -0,0 +1,46 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
+uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
+qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
+a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
+YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
+qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
+h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
+hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
+UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
+R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
+A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
+AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
+VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
+GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
+Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
+REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
+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
+AElFTkSuQmCC
+
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-010.xml b/corpus/page-lifecycle/removal/features/native/read/page-010.xml
new file mode 100644
index 0000000000000000000000000000000000000000..69dc9c981808bc05f3fbed9c262bc8489f5d4541
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-010.xml
@@ -0,0 +1,6 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
+CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
+E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
+oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
++wHXVRp4qDc0HQAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-011.xml b/corpus/page-lifecycle/removal/features/native/read/page-011.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3490264bbeb1d77e2cc0ae1247bf461b46ec90f3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-011.xml
@@ -0,0 +1,4 @@
+
+Inherited strike and spacing]]>مرحبا بالعالم]]>
diff --git a/corpus/page-lifecycle/removal/features/native/read/page-012.xml b/corpus/page-lifecycle/removal/features/native/read/page-012.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d35aea8b6e6f3fdefed71570d1b3a35a10ddfd80
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/page-012.xml
@@ -0,0 +1,300 @@
+
+iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
+jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
+TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
+AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
+g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
+BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
+HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
+V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
+vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
+KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
+3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
+s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
+zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
+ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
+0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
+ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
+U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
+2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
+oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
+Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
+NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
+NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
+EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
+j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
+zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
+g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
+V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
+dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
+pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
+IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
+pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
+4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
+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
+B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
+2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
+OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
+srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
+8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
+Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
+79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
+PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
+bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
+cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
+Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
+H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
+BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
+qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
++bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
+sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
+/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
+nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
+42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
+c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
+nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
+plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
+YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
+8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
+quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
+qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
+3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
+l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
+RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
+l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
+fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
+1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
+zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
+/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
+2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
++Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
+3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
+100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
+27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
+Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
+a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
+pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
+jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
+7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
+7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
+dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
+Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
+3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
+/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
+vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
+HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
+LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
+1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
+UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
+DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
+lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
+PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
+U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
+tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==
diff --git a/corpus/page-lifecycle/removal/features/native/read/payloads.json b/corpus/page-lifecycle/removal/features/native/read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..07ca6e03674d452f33da9b91a9f1a88953e1036b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/read/payloads.json
@@ -0,0 +1,18 @@
+[
+ {
+ "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "name": "Fictitious attachment.txt",
+ "object": "{3C1D882A-E577-0050-29FB-F291C76626C1}{15}{B0}",
+ "kind": "InsertedFile",
+ "page": "{5152FD5A-28EC-0C2B-1AD6-7E1B67680D12}{1}{B0}",
+ "bytes": 27
+ },
+ {
+ "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "name": "silence.wav",
+ "object": "{3C1D882A-E577-0050-29FB-F291C76626C1}{20}{B0}",
+ "kind": "MediaFile",
+ "page": "{5152FD5A-28EC-0C2B-1AD6-7E1B67680D12}{1}{B0}",
+ "bytes": 16044
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/removed-ids.json b/corpus/page-lifecycle/removal/features/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..01c32f0654dc427720261f2aafec193bdbe0d24a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/removed-ids.json
@@ -0,0 +1,9 @@
+[
+ "{90C73D7F-424B-047B-2456-698129C05FEC}{1}{B0}",
+ "{F443A50F-C699-0F7E-3F9B-B328F2016D35}{1}{B0}",
+ "{2BA38A20-D833-00A8-190C-4E110EACCF2C}{1}{B0}",
+ "{83A4B8CD-5D5F-0347-0153-51957D80F340}{1}{B0}",
+ "{67156624-8D34-0B51-1AAE-622A3AC7C512}{1}{B0}",
+ "{43C25031-0247-0940-36A5-497765584C57}{1}{B0}",
+ "{BBFD80BE-7BE5-00B1-26C0-8CCC0E53CE41}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/features/native/run.json b/corpus/page-lifecycle/removal/features/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..86bbc303a6cdccd2b0527bd868356ace006db253
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmp91jwr21h",
+ "expected_pages": 13,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/features/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/features/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/features/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/features/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..87c65ed9058b5aa646a1c20a39b9ac80f4a630b0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../all/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/features/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/native/source.json b/corpus/page-lifecycle/removal/features/native/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..e22bbe298726839dd81b00b32d27b8768bf21d75
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/source.json
@@ -0,0 +1,8 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 121240,
+ "sha256": "97431f8b3d13096d74d95f72470d681792d5506df0692d2b72921031a6ade8c2",
+ "mtime_ns": 1788674593424337116
+ }
+]
diff --git a/corpus/page-lifecycle/removal/features/native/teardown.json b/corpus/page-lifecycle/removal/features/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/features/removal.json b/corpus/page-lifecycle/removal/features/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..8bdd64eca5908c0922299481ad783536a1f03e20
--- /dev/null
+++ b/corpus/page-lifecycle/removal/features/removal.json
@@ -0,0 +1,14 @@
+{
+ "case": "features",
+ "selected": [
+ 0,
+ 3,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ],
+ "permanent": false,
+ "expected_pages": 13
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/machine.json b/corpus/page-lifecycle/removal/grandchild/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..c0e1f6346c6ab1e871b4832f77408e452370fd99
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-8ad72654", "hostname": "ONE-M6-8AD72654"}
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/grandchild/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/grandchild/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/environment.json b/corpus/page-lifecycle/removal/grandchild/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..e2b3623c3648629af19eeee5e2ad5d5370d62d23
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-8AD72654",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..afa5d4a2359d930d16cb049776b2e90b437b0dad
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-000.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d3e515a646a85bef9ff76ed0ce4febc253cd8a17
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-001.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d650d8beabd15e68903db72ec08995d5cf2911de
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-002.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..11c3974c41c62ce1544e97edd2141127caece0d2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-003.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..01e5e9dac1ff03a3d54e60d3f38bec518cc90332
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-004.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3cedc8e6c6aa77da782d49d3dcfd57e3ec6d363b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-005.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa4749bac65663c277dec6a4b26b0e4906237c9a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-006.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e19b3a3cda7a02362b00bdd504ca3eebb6334bb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-007.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..83f1951eb7711bbdce80af0921b7d28a83136941
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-007.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/page-008.xml b/corpus/page-lifecycle/removal/grandchild/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..502578b516786deb6381d7cbdc366f6e88851e82
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/read/payloads.json b/corpus/page-lifecycle/removal/grandchild/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/run.json b/corpus/page-lifecycle/removal/grandchild/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..26a37b741a1c0d45edc91951f4e0146791c7225e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/grandchild/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/source.json b/corpus/page-lifecycle/removal/grandchild/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..4fe356224a40ed3b5fd1fb8c9f9b0d9356b50d1d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 54312,
+ "sha256": "e30776bf01389d1dfcde1ff15168d452a1efd68b3c5406b975a839f4fcfb343f",
+ "mtime_ns": 1788944410384250284
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 11952,
+ "sha256": "a57f2a7e992778953bc0be9cebe550fb823a830e2fdeab56d442620425622ea8",
+ "mtime_ns": 1788944410384523492
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "5bc7718a2fc635d5fe1cd6d8db054a1d9871e28a5c5abf343202b01bb13e07f1",
+ "mtime_ns": 1788944410384616367
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "8d23f89a78f54204ce2b8878023e2255cb9841935cbe53ec3e57b83efa129371",
+ "mtime_ns": 1788944410384359534
+ }
+]
diff --git a/corpus/page-lifecycle/removal/grandchild/cold/teardown.json b/corpus/page-lifecycle/removal/grandchild/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c7c1c8dcfca4df2d09fd2b4df12fb5b46fba9b58
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..3eff5ae0a205c4fbee74f5ab6aeedf37b503d25f
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..e565804ca95c33c87d6befe5fe948e3f79a8c921
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..22e30b1ad86f9052d5fcdb662336f7a3baec81a8
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..4ecdd9069042711bcd38f7f6bbbb063307a222b0
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-000.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c0e4e3357c505f295904659c41a38c5d8317dc40
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-001.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b53ab596acff24bcaacffd2d87e6fd3a37dbb11
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-002.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1477e73faa3f4e8aac832b12915f5489351ac155
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-003.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5d5fd3d9b0861b6aa9415cc91f455508253af0d1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-004.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2abac8aaf87c7e8a42a1dfcac125295a877fc0bb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-005.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ea2e6a5be2de8362f4109800634228fc45f9d5ce
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-006.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c492024871f3bae8f6ed2e9c4a7c17e1e59b8547
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/page-007.xml b/corpus/page-lifecycle/removal/grandchild/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9aa189154ad46cc18b046532a7717072dab75ae7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b2f3fa34c03af76127028b40aec4307f350f2dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/environment.json b/corpus/page-lifecycle/removal/grandchild/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..fc525141829fd36577801e3aacdc3a561ebbb5af
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-E272CDD6",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20faf904021e425d36bf9aedf4fffd921bf43f1f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before-read/payloads.json b/corpus/page-lifecycle/removal/grandchild/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a43a1a8939a415b99baa3c76faba7e30634df4d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..efc27d177f2af3c85542d971512cde415aefc3d7
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..d5e4c219bdbc0c08e6a111e4d85bdeb754b42301
Binary files /dev/null and b/corpus/page-lifecycle/removal/grandchild/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-000.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d13ea05c49c4a6592c0d0637b0b000a1bccf7c10
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-001.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0da51bd70aecbf3e79129fccc7785cdc43d09501
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-002.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..983c64ddc336ceab145d4bba264bcc5dd302aa2f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-003.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a6af8ba226ef1cf482c7c702d21b5879cc3239b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-004.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ceaa6124c2496e0822c0dbabbca3e8d26d82d7da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-005.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..289b74a7f20aec8f6f97470c81dd23e2a8af9680
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-006.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b11b7e3d482c702acb3e5e16c9909ed5b65e80e0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-007.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ec544e72d608979f480c78b2243f09077587d81
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/page-008.xml b/corpus/page-lifecycle/removal/grandchild/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ffa1bfeb663467d3d4d2bfe2bec3df38842a1f42
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e28a49bd77f949f90ba84f7d2947bfbe1a785da5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/interaction.json b/corpus/page-lifecycle/removal/grandchild/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..6447038288090681f5e0c8cfdce858c67ba832fc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/interaction.json
@@ -0,0 +1 @@
+../../child/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/machine.json b/corpus/page-lifecycle/removal/grandchild/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..b4da3069b2d426459a3f80783834b99306413329
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-e272cdd6", "hostname": "ONE-M6-E272CDD6"}
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/environment.json b/corpus/page-lifecycle/removal/grandchild/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..747820f10f5ae481efa48fca0e3d237de04cea37
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-E272CDD6",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/grandchild/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b646d1056db5c58dacc91372be04fad89f77012d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-000.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..93053b00e04d69035141fea8f715108d3bbec3d1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-001.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..74dd380c4bbe2d41ddd41eda23766bf0df313aba
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-002.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..78204deeae94f6421aa7ed02462f51fe7fd27351
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-003.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e4dbc6182bb5dc5f2ca8949b385ea7d47bbfee6c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-004.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..02c8c68a0020a76d0b194723caefb8ea432833b1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-005.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..250385408d6a7e518cb94f80c5c19aa39e243f0c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-006.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..81f36a6449e593026de9189858382f52e595a70e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-007.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5b503ed9c0a93963df3d62651066d09c9de1bd29
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/page-008.xml b/corpus/page-lifecycle/removal/grandchild/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..36bd55d8666325a6998614e69684469749e360b9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/grandchild/native/read/payloads.json b/corpus/page-lifecycle/removal/grandchild/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/removed-ids.json b/corpus/page-lifecycle/removal/grandchild/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..20d246ea401c493f77e9eb472bd5ad82d8b62002
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{73C50AAB-D9B1-462E-9ADD-78268DEBDEBB}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/grandchild/native/run.json b/corpus/page-lifecycle/removal/grandchild/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..c7037334d82c63c0d3cc4559c53cc6a36d24f39c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpjo2i3u90",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/grandchild/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/grandchild/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/grandchild/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/grandchild/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..34f7aa58587a02f3d3c2bd17cd1c89db50afc79f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../child/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/grandchild/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/source.json b/corpus/page-lifecycle/removal/grandchild/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/native/teardown.json b/corpus/page-lifecycle/removal/grandchild/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/grandchild/removal.json b/corpus/page-lifecycle/removal/grandchild/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..cb12a80a74c0b2dc711c663ebcab1c4b23369788
--- /dev/null
+++ b/corpus/page-lifecycle/removal/grandchild/removal.json
@@ -0,0 +1,7 @@
+{
+ "case": "grandchild",
+ "selected": [
+ 5
+ ],
+ "permanent": false
+}
diff --git a/corpus/page-lifecycle/removal/group/cold/machine.json b/corpus/page-lifecycle/removal/group/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..ede95e25347c725aa02564eb58cf65e75138df07
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-4b3a6767", "hostname": "ONE-M6-4B3A6767"}
diff --git a/corpus/page-lifecycle/removal/group/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/group/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/group/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/cold/read/environment.json b/corpus/page-lifecycle/removal/group/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..1f966d4b49f845fff2cd6c780fab876dde2a2486
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-4B3A6767",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/group/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/group/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e7f7154e1c17d8e1f96f50fd7a9e124ba46320e3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-000.xml b/corpus/page-lifecycle/removal/group/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9faa6d446dc321ad935707a577024fbb351b582c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-001.xml b/corpus/page-lifecycle/removal/group/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ff554cb0dabeb6d9695d0dfa706c48e33e83900
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-002.xml b/corpus/page-lifecycle/removal/group/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b29d1dfda5bbb047431500bf3b0b516206167a3a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-003.xml b/corpus/page-lifecycle/removal/group/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d3b37e3e81486d8cb1c8d667087c68f2139f07e8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-004.xml b/corpus/page-lifecycle/removal/group/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..981597ca29b75bc15d06d97f9ec1611450bcdb68
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-005.xml b/corpus/page-lifecycle/removal/group/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..01db41d36391c789c85cd80923d0f9277ea72eb6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-006.xml b/corpus/page-lifecycle/removal/group/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8a8a13834e986c2238ea0dc300ac3927264b367a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-007.xml b/corpus/page-lifecycle/removal/group/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b49bd21b10ba57a87902c0d9be9d9e890561b47a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/page-008.xml b/corpus/page-lifecycle/removal/group/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a03e7e8dd48656bd5a293f3d8c527335321997e6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/cold/read/payloads.json b/corpus/page-lifecycle/removal/group/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/cold/run.json b/corpus/page-lifecycle/removal/group/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..8112845297451fe7599b2d07b2a53c1c6bb1c389
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/group/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/group/cold/source.json b/corpus/page-lifecycle/removal/group/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..fde13b8b75710c88d3c147939bd2f2c987f72468
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 55176,
+ "sha256": "55fa2a34858d5bd2245063440604eae944f078542f98bb8b62ba17edb908ff72",
+ "mtime_ns": 1788944890833356137
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 22664,
+ "sha256": "c24a74b1d443bd89755161c244d79f1c506e8bf31ecbd925c0b90c21ad357c08",
+ "mtime_ns": 1788944890833694468
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "e88a7dcc0b237e027301fb6e3f162a8ca855b1891d2c4c5ad2e6a272f65ef0d4",
+ "mtime_ns": 1788944890833816884
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "96d65fcfdd627c29394ed12fd6e21d0c013e0b42b3d8fa38e2b84c11d3bcd3d0",
+ "mtime_ns": 1788944890833507136
+ }
+]
diff --git a/corpus/page-lifecycle/removal/group/cold/teardown.json b/corpus/page-lifecycle/removal/group/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/group/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a8144a9600424315f91c9fd29f598f07fef062a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/group/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..a27cb6bbfe2c03d22599850c544a4bfa4e544b6c
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..8759611438adfac889ac328ff018396ef3287149
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..a29f637fe1b53114cf60e46eeebb11e74911f7a8
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/group/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/group/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..8e8ee6e07a8d9695ccd2b1f96f2c130ab3e0e0d5
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-000.xml b/corpus/page-lifecycle/removal/group/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bb755f7634cf76da52b8989f475df86adc6e665d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-001.xml b/corpus/page-lifecycle/removal/group/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..22eeedd6ae60b131dc4592aba611181b5c355fa3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-002.xml b/corpus/page-lifecycle/removal/group/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cb94e1d3bcf95ac5edd886ade6d2478e1e9dc5d1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-003.xml b/corpus/page-lifecycle/removal/group/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0f99b4bbd09dd2068b74a4179197c59052094f46
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-004.xml b/corpus/page-lifecycle/removal/group/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f573ce433f5b55c88c062ec17e2c1117898c04ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/after/page-005.xml b/corpus/page-lifecycle/removal/group/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e8b5f024274e4996155e40033930de2114dabf7b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/group/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a20bfe9058e225273a939f2015a735cbad36904f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/environment.json b/corpus/page-lifecycle/removal/group/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..de386cd27023ae024e0c255019e80cb455179c5e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-0F573552",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/group/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..004ab84d67ac83a2dd3dabda1dd7859466352ecd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/group/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before-read/payloads.json b/corpus/page-lifecycle/removal/group/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/group/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3148773bfa627a5618f3b95e8e675920cf2c904e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/group/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..910af4f25b98398d07af980b82890fc900fe9b98
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/group/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/group/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..c10eb4bf78732638561d2eef836d651cbb40b270
Binary files /dev/null and b/corpus/page-lifecycle/removal/group/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-000.xml b/corpus/page-lifecycle/removal/group/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d85009500ddf000a665e420f2c463777ec003129
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-001.xml b/corpus/page-lifecycle/removal/group/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7cd37f67e2694f561bca5293a2c553b1fece6046
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-002.xml b/corpus/page-lifecycle/removal/group/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20ba5ddc8043dd1eccddcbe63e6dd12cb72d0b1a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-003.xml b/corpus/page-lifecycle/removal/group/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..25cfb3c72562006b85caa4d0d238f3ac1a9fa5c5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-004.xml b/corpus/page-lifecycle/removal/group/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0a8b21946dc01debbefced725ce8b8a637de9715
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-005.xml b/corpus/page-lifecycle/removal/group/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..03356098a6904bd4d95bebf436586b8066942ed6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-006.xml b/corpus/page-lifecycle/removal/group/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dd7b7e91050652242eb1f3a9f0ad6341e1a8e1d0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-007.xml b/corpus/page-lifecycle/removal/group/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..52fb70a6570f023b3c5ec9480eab187434a14e4f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/page-008.xml b/corpus/page-lifecycle/removal/group/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b47300d998d70159ea4973146d05fb01d5a2f4c4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/group/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3e3dd2377b7c82d39f58bfceafb8416c667f130d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/interaction.json b/corpus/page-lifecycle/removal/group/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..cb671c7c47b31ee6e26647663c4639bff541d3e4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/interaction.json
@@ -0,0 +1 @@
+../../all/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/machine.json b/corpus/page-lifecycle/removal/group/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..b32fc719a4ef8f8acc315d81f4d1140de8c54201
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-0f573552", "hostname": "ONE-M6-0F573552"}
diff --git a/corpus/page-lifecycle/removal/group/native/read/environment.json b/corpus/page-lifecycle/removal/group/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..ca2355c11c55a87a4d1ca2efcd46c1418286cd5e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-0F573552",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/group/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/group/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bc8df59d7337bc32b2a4503818196e3d240a48d3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-000.xml b/corpus/page-lifecycle/removal/group/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..71a81f30dbf1392495c883559890bb047bd41d6d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-001.xml b/corpus/page-lifecycle/removal/group/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ddbcc09e0c03e58bd886b6f55e93ddb99c3eda41
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-002.xml b/corpus/page-lifecycle/removal/group/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ade211dec63b8efb619dec1f7c9b22da9e2d6b6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-003.xml b/corpus/page-lifecycle/removal/group/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ddef2f2123e4157855e8ce719ffd310ac834a00
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-004.xml b/corpus/page-lifecycle/removal/group/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2818b86a620a32e6bc7b10632643d43cee3b853b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-005.xml b/corpus/page-lifecycle/removal/group/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3b2d12a5962d87ad72f0e717aba2affee8f93415
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-006.xml b/corpus/page-lifecycle/removal/group/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4df8105855a59e4fce7add8602f7fc1fff3461be
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-007.xml b/corpus/page-lifecycle/removal/group/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a3db05d14abd0e0142aa565d78cb72ec28431d57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-007.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/group/native/read/page-008.xml b/corpus/page-lifecycle/removal/group/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..106e5ce825b2b6b9fc07bbe44e38a73af812ea4c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/group/native/read/payloads.json b/corpus/page-lifecycle/removal/group/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/removed-ids.json b/corpus/page-lifecycle/removal/group/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..79d6c69bd77b6ec700a7120ab936a585acf5fa90
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/removed-ids.json
@@ -0,0 +1,5 @@
+[
+ "{C371E91D-E4DD-4BA5-9A16-AFA891BEC795}{1}{B0}",
+ "{9EFDC28E-629B-41A3-A4FB-977CD5945364}{1}{B0}",
+ "{C321004D-F851-4FFC-B8DD-4FD0FF260FB2}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/group/native/run.json b/corpus/page-lifecycle/removal/group/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d38d854c64db0857e81fd1546cb049ffae14872
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpczc3z4m7",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/group/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/group/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/group/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/group/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..87c65ed9058b5aa646a1c20a39b9ac80f4a630b0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../all/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/group/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/source.json b/corpus/page-lifecycle/removal/group/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/native/teardown.json b/corpus/page-lifecycle/removal/group/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/group/removal.json b/corpus/page-lifecycle/removal/group/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..09dcc16cb39b0699ccdf9673e2cd122b29b493cc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/group/removal.json
@@ -0,0 +1,10 @@
+{
+ "case": "group",
+ "selected": [
+ 3,
+ 4,
+ 5
+ ],
+ "permanent": false,
+ "expected_pages": 9
+}
diff --git a/corpus/page-lifecycle/removal/ink/cold/machine.json b/corpus/page-lifecycle/removal/ink/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..353ddeb34f8a3b3a8d16d6023aba1d82b5394064
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-0d5939fc", "hostname": "ONE-M6-0D5939FC"}
diff --git a/corpus/page-lifecycle/removal/ink/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/ink/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/ink/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment b/corpus/page-lifecycle/removal/ink/cold/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..2ca066e7ab04caea0afc2b053db855956e193747
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
@@ -0,0 +1 @@
+../../native/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/read/environment.json b/corpus/page-lifecycle/removal/ink/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..7d34df78410c9ff257866a2a9dbbfba5e5d5dc0c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-0D5939FC",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/ink/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/ink/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..df0e62c3b0095e8685d9e2a19bfa12589847dc1d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/cold/read/page-000.xml b/corpus/page-lifecycle/removal/ink/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1baf29ad74540c62aec6b199ed60fabbe7a232b8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/read/page-000.xml
@@ -0,0 +1,26 @@
+
+Fictitious: café, 東京, مرحبا]]>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
+URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
+IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
+mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
+QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
+BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
+NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
+BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
+wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
+ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
+GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
+RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
+QQrSFUA=AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
+v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
+CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
+KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
+mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
+qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
+AEAKABEgLMlfQdkfI0A=iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
+AAAASUVORK5CYII=
diff --git a/corpus/page-lifecycle/removal/ink/cold/read/payloads.json b/corpus/page-lifecycle/removal/ink/cold/read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..ed049c1b9996b3436ce6394a83a1670daef2cf64
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/read/payloads.json
@@ -0,0 +1,10 @@
+[
+ {
+ "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "name": "fictitious-attachment.txt",
+ "object": "{DEA09925-1674-0A28-34A2-C1E6D536E3D5}{31}{B0}",
+ "kind": "InsertedFile",
+ "page": "{EA883CC3-650F-0383-0F35-474196B6BC24}{1}{B0}",
+ "bytes": 43
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/cold/run.json b/corpus/page-lifecycle/removal/ink/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..06aa665cfc846f3ee9584c68c1e5716dc69a46a1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-ink-01/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/ink/cold/source.json b/corpus/page-lifecycle/removal/ink/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e79a11aa0fda8dd7924380be9574c849e0e8cd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 31328,
+ "sha256": "a3c8265335e6f83ec9350e446f3f9b8c7330b75798e53566c6b2442c32a833c1",
+ "mtime_ns": 1788944869400370599
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 16128,
+ "sha256": "06c94fbe00dacb4ab35e4bdadbcb9a0516759b737de547f97845c321dea8472c",
+ "mtime_ns": 1788944869400681181
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "099dd9fa2da3ac3340c2c423f6130d462d1dcbdf3b8f2756660f91181036be48",
+ "mtime_ns": 1788944869400775055
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "330ea47d02845e046fbf16beec688cd2bcbddbe9e213fd8bb79c36caa6c663f9",
+ "mtime_ns": 1788944869400505390
+ }
+]
diff --git a/corpus/page-lifecycle/removal/ink/cold/teardown.json b/corpus/page-lifecycle/removal/ink/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4d1bab20f15705bbcdcf7690c8095ccb024667f6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/ink/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..2ddf84686b76fd2e64a9a9a40c307356f3882a12
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..892a6080818cd0483d60e08d82b6c45053f61f7e
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..90bc9ce8d6c3b1a5bc3194bbc503039fb5597dff
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/ink/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/ink/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..39cba1c90299139b0fb752a69e19355bc3af87ac
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/ink/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/after/reopened-hierarchy.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0567fde33692a84af93adfdb25ccc59da5508574
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/after/reopened-hierarchy.xml
@@ -0,0 +1 @@
+../../../all/native/after/reopened-hierarchy.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment b/corpus/page-lifecycle/removal/ink/native/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
new file mode 100644
index 0000000000000000000000000000000000000000..66b6151e91f90df6a61a19ef2f4447da278e07b2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
@@ -0,0 +1 @@
+Fictitious attachment for native corpus.
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/before-read/environment.json b/corpus/page-lifecycle/removal/ink/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..dd2585e6be71f6169ff837af45be09f2fa98feed
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-C59B96DE",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/ink/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c457d4e3cdcd65d86998790e8832cdf9ff495b37
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/ink/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/before-read/payloads.json b/corpus/page-lifecycle/removal/ink/native/before-read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..92b9e69e8fdb8ab397ef4ce550629472a114fc99
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before-read/payloads.json
@@ -0,0 +1,10 @@
+[
+ {
+ "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "name": "fictitious-attachment.txt",
+ "object": "{946840F7-1A9B-4889-B2A5-66790F1AB829}{11}{B0}",
+ "kind": "InsertedFile",
+ "page": "{1D2744B1-C259-4B0A-B43C-A4208C363EBC}{1}{B0}",
+ "bytes": 43
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..406c2a5858912513f95e9202ecab1855dbc820c8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/ink/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..b9d0e0f7fdad1f920c07976cab422681c0bd8415
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/ink/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/ink/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..d0c74ac4f229507886233773fdf066d7167c2042
Binary files /dev/null and b/corpus/page-lifecycle/removal/ink/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/ink/native/before/page-000.xml b/corpus/page-lifecycle/removal/ink/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f6681f8122e95ab69ee44ffc5187ae7a1d8ae27d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before/page-000.xml
@@ -0,0 +1,26 @@
+
+Fictitious: café, 東京, مرحبا]]>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
+URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
+IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
+mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
+QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
+BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
+NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
+BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
+wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
+ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
+GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
+RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
+QQrSFUA=AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
+v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
+CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
+KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
+mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
+qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
+AEAKABEgLMlfQdkfI0A=iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
+AAAASUVORK5CYII=
diff --git a/corpus/page-lifecycle/removal/ink/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4861a91c6822813c60ee2898ad7e5423e8d87eda
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/native/interaction.json b/corpus/page-lifecycle/removal/ink/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..cb671c7c47b31ee6e26647663c4639bff541d3e4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/interaction.json
@@ -0,0 +1 @@
+../../all/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/machine.json b/corpus/page-lifecycle/removal/ink/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..c0f2c59b4db0b9301a8bfafee07d0de2757710e7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-c59b96de", "hostname": "ONE-M6-C59B96DE"}
diff --git a/corpus/page-lifecycle/removal/ink/native/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment b/corpus/page-lifecycle/removal/ink/native/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
new file mode 120000
index 0000000000000000000000000000000000000000..452cf34c59bd6be2d72ee0b069cccc80ae0c6574
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
@@ -0,0 +1 @@
+../before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/read/environment.json b/corpus/page-lifecycle/removal/ink/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ee8ed829a2f2ee41c1680b16c1d040fc5fa01a3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-C59B96DE",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/ink/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/ink/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..19407262d1412e6096b86366363c61ee9ddbf358
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/ink/native/read/page-000.xml b/corpus/page-lifecycle/removal/ink/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9a9980ace60016576468db4580889f509068dee2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/read/page-000.xml
@@ -0,0 +1,26 @@
+
+Fictitious: café, 東京, مرحبا]]>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
+URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
+IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
+mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
+QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
+BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
+NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
+BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
+wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
+ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
+GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
+RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
+QQrSFUA=AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
+v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
+CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
+KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
+mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
+qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
+AEAKABEgLMlfQdkfI0A=iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
+AAAASUVORK5CYII=
diff --git a/corpus/page-lifecycle/removal/ink/native/read/payloads.json b/corpus/page-lifecycle/removal/ink/native/read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..e6ee7033dd817471efca02ba571373ecd2ff6209
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/read/payloads.json
@@ -0,0 +1,10 @@
+[
+ {
+ "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "name": "fictitious-attachment.txt",
+ "object": "{36896A9F-47D5-0106-2F53-20F15DFF8542}{31}{B0}",
+ "kind": "InsertedFile",
+ "page": "{02A1CF79-34AE-08AD-14C4-A6561E7FDAB3}{1}{B0}",
+ "bytes": 43
+ }
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/removed-ids.json b/corpus/page-lifecycle/removal/ink/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..72c60d25cc5e203f62f5a0d6630447f6a9059b1f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{24E89C1E-F87C-4374-A9D2-922E49EE688E}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/ink/native/run.json b/corpus/page-lifecycle/removal/ink/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..f11dfc3bec19bd9d53cfeb1154766aa3c9689a1b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpg08m_f8t",
+ "expected_pages": 1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/ink/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/ink/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/ink/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/ink/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..87c65ed9058b5aa646a1c20a39b9ac80f4a630b0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../all/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/ink/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/native/source.json b/corpus/page-lifecycle/removal/ink/native/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..b05b811e1f44817b2fb3b93e3cafbae0aa6ec92d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/source.json
@@ -0,0 +1,8 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 27808,
+ "sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947",
+ "mtime_ns": 1788585164197723028
+ }
+]
diff --git a/corpus/page-lifecycle/removal/ink/native/teardown.json b/corpus/page-lifecycle/removal/ink/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/ink/removal.json b/corpus/page-lifecycle/removal/ink/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..dac260021ff1421e86aaccaf541ae0cc0a2d8389
--- /dev/null
+++ b/corpus/page-lifecycle/removal/ink/removal.json
@@ -0,0 +1,8 @@
+{
+ "case": "ink",
+ "selected": [
+ 0
+ ],
+ "permanent": false,
+ "expected_pages": 1
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/machine.json b/corpus/page-lifecycle/removal/leading-group/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..105e2a02dcee017f67f3f9885035ebde5367033a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-c3bb7548", "hostname": "ONE-M6-C3BB7548"}
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-group/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-group/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/environment.json b/corpus/page-lifecycle/removal/leading-group/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..e5b9a2210f1d989688548ec8219d11c5a82a6715
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-C3BB7548",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..204210ebd887b0b4f1166db280a6014c0aefa993
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-000.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..001ce6f686f40cd72beed063ea5fe23266e02564
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-001.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a8e4393183ced06dc5792b8f4dccdc182da1fb30
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-002.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eb5499b53f1d65ccf650f56f68c36de6272c6aba
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-003.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f64eb04d8dd730ad719251f8e216a31e9fdf3995
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-004.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a07aee702b6c9caca2997b279e7d41b525a01cd3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-005.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..12cde3be04565c4f51cd95d71dbef3c877c30678
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-006.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d7a47340a9aaad4f434e17c38d4ef4d84c95b4de
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-006.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-007.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c916b6483d2eca4c55c80d2ca79e32a7d50f11b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/page-008.xml b/corpus/page-lifecycle/removal/leading-group/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..50aa4ec5c167f9b0b301533e1bf993c9863d1cdf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/page-008.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/read/payloads.json b/corpus/page-lifecycle/removal/leading-group/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/run.json b/corpus/page-lifecycle/removal/leading-group/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..37c5a7fdba77511491a1e477b978280f43a37bd3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/leading-group/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/source.json b/corpus/page-lifecycle/removal/leading-group/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..abf92510ee74e2f081f3757c45fc34290e105d4e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 75144,
+ "sha256": "e39020116e8071b377636330bbda7bcc09ca50b1859b48b2005eb0a21032532d",
+ "mtime_ns": 1788944900366681608
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 17976,
+ "sha256": "f7be113d2ab0fa848c7226a5dcb5697171a9a620689c9c716ddbb069eb17baec",
+ "mtime_ns": 1788944900367363021
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "ddd77ee59464c16160a359aa06970b7548787d195a5e502812469c707c66266a",
+ "mtime_ns": 1788944900367478228
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "b0b2cdd4d476507211c91a7e9cfacb3a4f399119983a538e835b2754bf13f588",
+ "mtime_ns": 1788944900367136897
+ }
+]
diff --git a/corpus/page-lifecycle/removal/leading-group/cold/teardown.json b/corpus/page-lifecycle/removal/leading-group/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..45f22c6a0a0f48e3fb8ce4c02b01914c7dcd5d3e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..dec97c9427321da774cfc7d4d4539243ccc9961a
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..60a45b8306b1cddf474e669c3b6227f870c99acd
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..501d77f4d966e0f89aa09162a8c68c991ce065e4
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..36ba08db4bb8004b2a9138f403b40342207c3da8
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-000.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..238f424d2195768ff96971354b5c48e1cc9ef3f8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-001.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90af75229b4a0103e48a46ef633daf2437189e24
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-002.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c0f7da6dffe9d9205ca8a1167c602572268c262
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-003.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d10ab8a79c185db6f9607715236ced8dc504fa76
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-004.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa2abad590a09fa0daf20fce822a97d7b7c7ffd4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-005.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..086c9314e1adf9ac74e66f83bd783995e84f1b52
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/page-006.xml b/corpus/page-lifecycle/removal/leading-group/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a1ef33944dfd77232aabd5553cb1169cc6b285d3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..634dcffb6d346d959500a732662691c8c33a63a6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/environment.json b/corpus/page-lifecycle/removal/leading-group/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..f98c3626c38f1a1ba55fcdd1a899415627b03b4d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-0EA535AD",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..359c21ecd03f31aba8e20aa3bacbd947935765e9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before-read/payloads.json b/corpus/page-lifecycle/removal/leading-group/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fcbd7649a8a359b174f99ad0d6b2994d1c02ee1f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..8c2b199dcb5a8edf40de28c2738ecba65ebe8d1d
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..d967889ab5ccfb411aaa051dc568da157dc7d087
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-group/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-000.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..845acfb78a837ceee2d249ebdc124f2553568b79
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-000.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-001.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3306f9424709550fddcdb1ab048f710f1d436acf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-001.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-002.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7713dd4d582dcd393d9553b4b9cec9604719f775
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-003.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f46a18e3a53c7d2659f1770f10860f6dee678edc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-004.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a5189e42a8d751d479156a204ff96fc8de937425
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-005.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e38070607b00fb9be62108f6162e0f6f68bddd5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-006.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c67b7bbf30e76c26981e2eaaa701aeb09f1738e2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-007.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1c0fc63ef93025c28d511ac54ff7b642b95aab54
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/page-008.xml b/corpus/page-lifecycle/removal/leading-group/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9bfce93c1e2900fd6e48ed06b483c17535d070c3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b9c6d91f61f0c1bbbf5a654b2a4ec9ed70bb4402
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/interaction.json b/corpus/page-lifecycle/removal/leading-group/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..cb671c7c47b31ee6e26647663c4639bff541d3e4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/interaction.json
@@ -0,0 +1 @@
+../../all/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/machine.json b/corpus/page-lifecycle/removal/leading-group/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..6477b07f9cb225df9c0e2eec4fa22d91be3f66fa
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-0ea535ad", "hostname": "ONE-M6-0EA535AD"}
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/environment.json b/corpus/page-lifecycle/removal/leading-group/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..191727e864e3db1d2bfb188ed9695c3a75a8599e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-0EA535AD",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-group/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..759d5b5ac4f2d0fbad09dcd174cbebddcd152953
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-000.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c475ebad4868a4441ee5831b985c47994a2c193b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-001.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..42e5fcd5c7dfdfe985369fa1acdd2bc0d3efed28
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-002.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..907db8acf0414738714f111273d0c1863b228fc0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-003.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b3553fe6a27b06aa3b8e07934f82340b9aeade3e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-004.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f06d8f79a3903ce335f7c6b73458354b11a1fcad
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-005.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..071acf47459b318b2dc8d13c171747893a465311
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-006.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e990253cba7dd633cc8e4f2f33cfcfb15217d940
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-007.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f0f9e52f5f99b9d334c9fe639f962b021ae885d6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/page-008.xml b/corpus/page-lifecycle/removal/leading-group/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7973d5c77963bf27db1925460a87ac13e012d889
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-group/native/read/payloads.json b/corpus/page-lifecycle/removal/leading-group/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/removed-ids.json b/corpus/page-lifecycle/removal/leading-group/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..725a847e4d1c861bab689616a73aef4d753dbe56
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/removed-ids.json
@@ -0,0 +1,4 @@
+[
+ "{FFEBAF20-B6EE-4DC4-A954-62900FCB5604}{1}{B0}",
+ "{A2376DE3-2C24-439B-B572-BA3C25790AD2}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/leading-group/native/run.json b/corpus/page-lifecycle/removal/leading-group/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..1a03853b0a74221f573dd14932bde312058df126
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmp2rxleab6",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/leading-group/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/leading-group/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/leading-group/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/leading-group/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..87c65ed9058b5aa646a1c20a39b9ac80f4a630b0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../all/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/leading-group/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/source.json b/corpus/page-lifecycle/removal/leading-group/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..acb29a51a6749a3598d12d95eb5bc50b06cc6748
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/source.json
@@ -0,0 +1 @@
+../../leading-parent/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/native/teardown.json b/corpus/page-lifecycle/removal/leading-group/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-group/removal.json b/corpus/page-lifecycle/removal/leading-group/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..b7413ed35615d41d2df3cf0b6687f9146fa85687
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-group/removal.json
@@ -0,0 +1,9 @@
+{
+ "case": "leading-group",
+ "selected": [
+ 0,
+ 1
+ ],
+ "permanent": false,
+ "expected_pages": 9
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/machine.json b/corpus/page-lifecycle/removal/leading-parent/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..7b2d7c14d74635fc909ce95abf711f49b65bcfb2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-dc56c6b3", "hostname": "ONE-M6-DC56C6B3"}
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/environment.json b/corpus/page-lifecycle/removal/leading-parent/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..f9a26c98fa3fe5ea2e1068384d5ea1acbc404384
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-DC56C6B3",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..800bad6844bb64cdf41994df5e660085ea418188
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-000.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..70ee7e883f8527c4fd8eba28399c9a4eb5594906
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-001.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0a0c397f59f6160f2dffd6c48877307023160d00
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-002.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..92f7b1b76461194f68e1b22f96988c04c1123682
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-003.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..776c7da2d49058ac579bb9ec03bf335f3b58f5ce
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-004.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..73b939b5ab339faa9c318171367daf4fa3ea4805
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-005.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..01f33653eb573a5c3dc67f8fd2b50e92a0298534
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-006.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d0338406aacb04786fc187385c8c89a861f24e02
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-007.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..78e85679532e2455a5df2a9410734eaf0e9b6b4c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/page-008.xml b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3f457171c829f5b76298f4fe69b8c54f09141998
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/read/payloads.json b/corpus/page-lifecycle/removal/leading-parent/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..a3c2d60bd23b7a62ac7c498c0db095bfe3f93396
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/read/payloads.json
@@ -0,0 +1 @@
+../../native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/run.json b/corpus/page-lifecycle/removal/leading-parent/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..b858400a0f695e3249b28dc20e84b44f714c3635
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-leading-01/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/source.json b/corpus/page-lifecycle/removal/leading-parent/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..6c3a15f10cd23a1ac7086f025a9f6b45ebf916e2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 75576,
+ "sha256": "adabd3b9a4ea354b04e1545ad6197c4577792c66e94945ba9905a01930678426",
+ "mtime_ns": 1788944108790107657
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 13112,
+ "sha256": "18989122149a6699b8798aba6ea7636695fc168fa647a94427894c9be732d86b",
+ "mtime_ns": 1788944108790457865
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "f1ca322a06d3a85ccde0b67fc1531d550474c8b10cd7ee937688e5ac4d802366",
+ "mtime_ns": 1788944108790668448
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "d48d4670a1871999f208b56a20a31a407f7a76bc90a3c41a44e29f9e4ef8f604",
+ "mtime_ns": 1788944108790288032
+ }
+]
diff --git a/corpus/page-lifecycle/removal/leading-parent/cold/teardown.json b/corpus/page-lifecycle/removal/leading-parent/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..5bbc0c956ab7c41cde0c6b889c45b3883d8c1a13
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/cold/teardown.json
@@ -0,0 +1 @@
+../native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3e1218d1a161773ae536a9645396c93e15ded25c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..8e0a67e0c0a66db2952af3a94b5ea3d68ed39fb8
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..6e22f8975501bfb17e614f5dd7e539e8489e3701
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..4f0435c1d0c9ae9cda6aff9ef051004e500ce6bf
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..de74b804e675954ff1a7f350896d6d16d605a0ef
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-000.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..70cb6e8e6764f253a4c6c6dfe2f707826aaf4389
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-000.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-001.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e2c8aae1fdedd3b401a82679c57e2690f313fe49
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-002.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b85c66f05d0ff101a15b65cd1fd4e0539598f058
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-003.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d295ffbec547b64c14128cd16a47910d9d89612d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-004.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..69f4a12f72a1fa232728fd6373ea0bfae94ad543
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-005.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a8f4e70c39d1d51822de52932209b945dc84a23
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-006.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5077cdafd9b22822a606b12aa3959f1f7b4682fc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/page-007.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0b04a5a28089ec24ef14787af5ecbaf23b13d5c3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0dbe73c3dc78f50dde8f6f19872abc4f44c89cd2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/environment.json b/corpus/page-lifecycle/removal/leading-parent/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..dec4365ddab661cdbc8d8bda1cc90f7a5d038706
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-7CE8352C",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0a19b555df66d031917cb97b6fec11f6c2076beb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before-read/payloads.json b/corpus/page-lifecycle/removal/leading-parent/native/before-read/payloads.json
new file mode 100644
index 0000000000000000000000000000000000000000..1ce91a413d6fff4d58765187b76756f0e97ae843
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before-read/payloads.json
@@ -0,0 +1,3 @@
+[
+
+]
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..537865d898a699e9114fe6febe30e8fd05509c09
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..9884a562813bd0b49500b948287e86301980d25c
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..1dae1b4365a16cf77afdc426b8d194a6094c4959
Binary files /dev/null and b/corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-000.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..93b2d93cde03301a33412d52151fddbfe52e9542
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-000.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-001.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f71eda2b8a6bb8d43596d82ab1c2563c768d783b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-001.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-002.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..211e9005899fb5e82ebdac366628c825d1e62849
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-003.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5cbcd813a5b1c5765cb0f6ee10eb614acd80d493
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-004.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d3171b16bef59c472f43e36dad85bd76528eab74
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-005.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b95e6b969703d3e6312b283d8c77b159ce4fd065
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-006.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b0dd7887980000d2dd9ccd383188f807cde117bd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-007.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f1b9cfb6416ff96e5575b9da17f8f7888a3c4c3c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/page-008.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b6c2fc660bd9e8efdf4ab1df4286ecb5041abda
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a37489e3c50fa1674fb59957e109093cd913608
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/interaction.json b/corpus/page-lifecycle/removal/leading-parent/native/interaction.json
new file mode 100644
index 0000000000000000000000000000000000000000..369817aefd97cf12e76f6865b1e33d0b29c53d6c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/interaction.json
@@ -0,0 +1,4 @@
+{
+ "page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "page-removal.ps1": "4db5a6ae05d0ea905722c5a0cc56d3dec989988fe2ad76d7e0bb82c5ded8d70c"
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/machine.json b/corpus/page-lifecycle/removal/leading-parent/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..1273f522ccb0c47c779eebd88a90df93a16865df
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-7ce8352c", "hostname": "ONE-M6-7CE8352C"}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/environment.json b/corpus/page-lifecycle/removal/leading-parent/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..251bb7c51a801c01490969dd19213a6bde1d9110
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-7CE8352C",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..10fbc5f91a9deb95c128d621e677e814eee60d81
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-000.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..080456fd17f05b597e55ece9e4c0ec208bfc846b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-001.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6986ba5d11eb10387d1ecf17384c4da91935a34c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-002.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..610a29b39f60fa2fc7b734f2f76624839a08d2dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-003.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5d3aa267d94401ac88f899bded194eaec5e73996
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-004.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0a459af46be32d27bf4797be0656aef839a2c9fa
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-005.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a25163229e630b2c6a0012eabdbb2e79f6d0f0f6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-006.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f4c519cb3e7745d1c5e9a3f180ffbf805ec9ff41
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-007.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..274944b263a694fb35529cd970c8f4c2733652d5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/page-008.xml b/corpus/page-lifecycle/removal/leading-parent/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b73c1fb8d795d012392260d6646c679ed967e750
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/read/payloads.json b/corpus/page-lifecycle/removal/leading-parent/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..08a30cec98a51abe8aa18352ff9a869b3c842eb4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/read/payloads.json
@@ -0,0 +1 @@
+../before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/removed-ids.json b/corpus/page-lifecycle/removal/leading-parent/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..d0c7afd0878708dc80550051bc3e377e162defcd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/removed-ids.json
@@ -0,0 +1 @@
+"{6E0C6576-C93C-4D8F-BE25-59F897845B11}{1}{B0}"
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/run.json b/corpus/page-lifecycle/removal/leading-parent/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..3aef618cc495e1ef2efa14a4cbf9928dbd94325d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpsmi9e1py",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/leading-parent/native/scripts/cold.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..a0b99e7aeb86f4dc10032537800501a52ad65b4f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/scripts/cold.ps1
@@ -0,0 +1,27 @@
+param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
+if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
+ throw 'Choose a run directly below C:\one-tests\runs.'
+}
+if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
+$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
+if ($CloneHost) {
+ if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
+ throw 'The disposable clone hostname does not match this machine.'
+ }
+ New-Item "$key\Options\Paths" -Force | Out-Null
+ New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
+} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
+ -not (Test-Path 'C:\one-tests\profile-original-cache')) {
+ throw 'Park the personal OneNote profile before resetting the test cache.'
+}
+$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
+$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
+if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
+New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
+if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
+if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
+New-Item "$key\OpenNotebooks" | Out-Null
+New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-lifecycle.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..f9421c76eff8c4e163601ff35d5be2aa1b1ca0e3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-lifecycle.ps1
@@ -0,0 +1,138 @@
+param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost,
+ [string]$CaptureOnly = '')
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+if ($CaptureOnly) {
+ if ($CaptureOnly -notmatch '^[a-z0-9-]+$' -or $CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or
+ [Environment]::MachineName -ne $CloneHost -or
+ [IO.Path]::GetDirectoryName([IO.Path]::GetFullPath($Root).TrimEnd('\')) -ne 'C:\one-tests\runs') {
+ throw 'Choose a named capture in the owned clone run.'
+ }
+} else {
+ & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
+}
+$app = New-Object -ComObject OneNote.Application
+$notebook = ''
+$section = ''
+$pages = [ordered]@{}
+$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
+
+function Save-Phase([string]$Name) {
+ $destination = Join-Path $Root $Name
+ [void](New-Item -ItemType Directory -Path $destination)
+ $deadline = [DateTime]::UtcNow.AddSeconds(60)
+ $previous = ''
+ $stableSince = [DateTime]::UtcNow
+ do {
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$tree = $hierarchy
+ $contents = @()
+ foreach ($node in $tree.SelectNodes('//*[local-name()="Page"]')) {
+ $content = ''
+ $app.GetPageContent($node.GetAttribute('ID'), [ref]$content, 1, 1)
+ $contents += $content
+ }
+ $signature = $hierarchy + [String]::Join('|', $contents)
+ if ($signature -ne $previous) {
+ $previous = $signature
+ $stableSince = [DateTime]::UtcNow
+ }
+ if (([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { break }
+ if ([DateTime]::UtcNow -ge $deadline) { throw 'Native page content did not settle.' }
+ Start-Sleep -Milliseconds 250
+ } while ($true)
+ [IO.File]::WriteAllText((Join-Path $destination 'hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
+ for ($index = 0; $index -lt $contents.Count; $index++) {
+ [IO.File]::WriteAllText((Join-Path $destination ('page-{0:d3}.xml' -f $index)), $contents[$index], [Text.Encoding]::UTF8)
+ }
+ $app.SyncHierarchy($notebook)
+ $app.CloseNotebook($notebook, $false)
+ Copy-Item (Join-Path $Root 'notebook') (Join-Path $destination 'notebook') -Recurse
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$script:notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$script:section, 0)
+ $beforePages = @($tree.SelectNodes('//*[local-name()="Page"]'))
+ $deadline = [DateTime]::UtcNow.AddSeconds(30)
+ do {
+ $reopened = ''
+ $app.GetHierarchy($section, 4, [ref]$reopened, 1)
+ [xml]$current = $reopened
+ $afterPages = @($current.SelectNodes('//*[local-name()="Page"]'))
+ if ($beforePages.Count -eq $afterPages.Count) { break }
+ Start-Sleep -Milliseconds 200
+ } while ([DateTime]::UtcNow -lt $deadline)
+ [IO.File]::WriteAllText((Join-Path $destination 'reopened-hierarchy.xml'), $reopened, [Text.Encoding]::UTF8)
+ if ($beforePages.Count -ne $afterPages.Count) { throw 'Native reopen changed the page count.' }
+ for ($index = 0; $index -lt $beforePages.Count; $index++) {
+ foreach ($attribute in @('name', 'pageLevel')) {
+ if ($beforePages[$index].GetAttribute($attribute) -ne $afterPages[$index].GetAttribute($attribute)) {
+ throw 'Native reopen changed ordered page metadata.'
+ }
+ }
+ foreach ($key in @($pages.Keys)) {
+ if ($pages[$key] -eq $beforePages[$index].GetAttribute('ID')) {
+ $pages[$key] = $afterPages[$index].GetAttribute('ID')
+ }
+ }
+ }
+ if ($pages.Count) { $pages | ConvertTo-Json | Set-Content (Join-Path $destination 'pages.json') -Encoding UTF8 }
+ Write-Output $Name
+}
+
+function Set-Title([string]$Page, [string]$Title) {
+ Write-Output ('Set title ' + $Page + ' to ' + $Title)
+ $value = [Security.SecurityElement]::Escape($Title)
+ $xml = '' + $value + ''
+ $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false)
+}
+
+function Set-Order([string[]]$Names, [int[]]$Levels) {
+ $xml = ''
+ for ($index = 0; $index -lt $Names.Count; $index++) {
+ $xml += ''
+ }
+ $xml += ''
+ $app.UpdateHierarchy($xml, 1)
+}
+
+try {
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 3)
+ if ($CaptureOnly) {
+ Save-Phase $CaptureOnly
+ return
+ }
+ foreach ($style in 0..2) {
+ $page = ''
+ $app.CreateNewPage($section, [ref]$page, $style)
+ $pages['blank' + $style] = $page
+ }
+ Save-Phase '01-blank'
+ foreach ($name in @('parent', 'child', 'grandchild', 'duplicate', 'trailing', 'automatic')) {
+ $page = ''
+ $app.CreateNewPage($section, [ref]$page, 2)
+ $pages[$name] = $page
+ if ($name -ne 'automatic') {
+ Set-Title $page $(if ($name -in @('parent', 'duplicate')) { 'Same title' } else { $name })
+ }
+ $body = [Security.SecurityElement]::Escape('Body ' + $name + ' ' + [char]::ConvertFromUtf32(0x1F980) + ' e' + [char]0x0301)
+ $xml = '' + $body + ' preserved]]>'
+ $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false)
+ }
+ $pages | ConvertTo-Json | Set-Content (Join-Path $Root 'pages.json') -Encoding UTF8
+ Save-Phase '02-authored'
+ Set-Title $pages['duplicate'] ('Renamed ' + [char]::ConvertFromUtf32(0x1F98B) + ' e' + [char]0x0301)
+ Set-Title $pages['trailing'] ''
+ Save-Phase '03-renamed'
+ Set-Order @('blank0','blank1','blank2','parent','child','grandchild','duplicate','trailing','automatic') @(1,1,1,1,2,3,1,1,1)
+ Save-Phase '04-nested'
+ Set-Order @('blank0','blank1','blank2','duplicate','parent','child','grandchild','trailing','automatic') @(1,1,1,1,1,2,3,1,1)
+ Save-Phase '05-reordered'
+ $app.DeleteHierarchy($pages['parent'], [DateTime]::MinValue, $false)
+ Save-Phase '06-deleted-parent'
+} finally {
+ if ($notebook -and -not $CaptureOnly) { $app.CloseNotebook($notebook, $false) }
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-removal.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..ccf9274fe221c8ef63da02f0320b7118c3f29c9d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/scripts/page-removal.ps1
@@ -0,0 +1,31 @@
+param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly before
+$request = Get-Content (Join-Path $Root 'removal.json') -Raw | ConvertFrom-Json
+$app = New-Object -ComObject OneNote.Application
+try {
+ $notebook = ''
+ $section = ''
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 0)
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$tree = $hierarchy
+ $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
+ if ($pages.Count -ne 9) { throw 'The removal fixture must have nine original pages.' }
+ $ids = @()
+ foreach ($index in $request.selected) {
+ if ($index -lt 0 -or $index -ge $pages.Count) { throw 'Choose an original page in the fixture.' }
+ $ids += $pages[$index].GetAttribute('ID')
+ }
+ $ids | ConvertTo-Json | Set-Content (Join-Path $Root 'removed-ids.json') -Encoding UTF8
+ foreach ($id in $ids) {
+ $app.DeleteHierarchy($id, [DateTime]::MinValue, [bool]$request.permanent)
+ }
+} finally {
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+}
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly after
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/leading-parent/native/scripts/read.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..476094ab1e0c47077988a6461db2080cf208642b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/scripts/read.ps1
@@ -0,0 +1,142 @@
+param(
+ [Parameter(Mandatory=$true)][string]$Root,
+ [int]$ExpectedPages = -1,
+ [switch]$UseCurrentCache,
+ [switch]$Pdf,
+ [switch]$KeepOpen,
+ [string]$CloneHost = ''
+)
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
+if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
+ throw 'Choose a run directly below C:\one-tests\runs.'
+}
+$notebook = Join-Path $root 'notebook'
+$output = Join-Path $root 'read'
+if (Test-Path $output) { throw 'Choose a new read destination.' }
+if ($UseCurrentCache) {
+ if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
+ throw 'Park the personal OneNote profile before reading test notebooks.'
+ }
+} else {
+ & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
+}
+New-Item -ItemType Directory -Path $output | Out-Null
+$app = New-Object -ComObject OneNote.Application
+$notebookId = ''
+$failure = $null
+try {
+ $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
+ $process = Get-Process ONENOTE
+ @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
+ powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
+ ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
+ $sections = @()
+ foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
+ $id = ''
+ $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
+ $sections += $id
+ }
+ $deadline = [DateTime]::UtcNow.AddSeconds(300)
+ $previous = ''
+ $lastChange = ''
+ $stableSince = [DateTime]::UtcNow
+ $settled = $false
+ do {
+ $pages = @{}
+ foreach ($section in $sections) {
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$xml = $hierarchy
+ foreach ($node in $xml.SelectNodes('//*[@path]')) {
+ if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
+ throw 'OneNote opened a section outside the copied notebook.'
+ }
+ }
+ foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
+ $id = $node.GetAttribute('ID')
+ $content = ''
+ $app.GetPageContent($id, [ref]$content, 1, 1)
+ $pages[$id] = $content
+ }
+ }
+ $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
+ if ($signature -ne $previous) {
+ $lastChange = $previous
+ $previous = $signature
+ $stableSince = [DateTime]::UtcNow
+ }
+ if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
+ ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
+ ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
+ Start-Sleep -Milliseconds 250
+ } while ([DateTime]::UtcNow -lt $deadline)
+ if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
+ [IO.File]::WriteAllText((Join-Path $output 'previous-signature.txt'), $lastChange, [Text.Encoding]::UTF8)
+ $index = 0
+ foreach ($id in @($pages.Keys | Sort-Object)) {
+ [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
+ $index++
+ }
+ $hierarchy = ''
+ $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
+ [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
+ throw "Expected $ExpectedPages stable pages; OneNote returned $($pages.Count), settled=$settled."
+ }
+ $index = 0
+ $payloads = @()
+ foreach ($id in @($pages.Keys | Sort-Object)) {
+ [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
+ if ($Pdf) {
+ $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
+ $app.NavigateTo($id, '', $false)
+ $app.Publish($id, $pdfPath, 3, '')
+ if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
+ }
+ [xml]$page = $pages[$id]
+ foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
+ $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
+ $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
+ [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
+ $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
+ kind = $file.LocalName; name = $file.GetAttribute('preferredName');
+ sha256 = $hash; bytes = $bytes.Length }
+ }
+ $index++
+ }
+ [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
+ $all = ''
+ $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
+ [xml]$finalTree = $all
+ $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
+ if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
+ throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
+ }
+ [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
+ Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
+} catch {
+ $failure = $_
+ [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
+ throw
+} finally {
+ try {
+ try {
+ if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
+ if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
+ $app.CloseNotebook($notebookId, $false)
+ }
+ } catch {
+ if ($null -eq $failure) { throw }
+ [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
+ }
+ } finally {
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ }
+ $app = $null
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+ if (-not $UseCurrentCache -and -not $CloneHost) {
+ Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
+ }
+}
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/source.json b/corpus/page-lifecycle/removal/leading-parent/native/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..aa629cc3dfcc26346dbe35f64e068a40b7752e13
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/source.json
@@ -0,0 +1,8 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 72960,
+ "sha256": "4bbb34b041721e337c775852da6582a6dec1c88835eabfc0aa04d47560d8ce03",
+ "mtime_ns": 1788934419103117293
+ }
+]
diff --git a/corpus/page-lifecycle/removal/leading-parent/native/teardown.json b/corpus/page-lifecycle/removal/leading-parent/native/teardown.json
new file mode 100644
index 0000000000000000000000000000000000000000..05a47793de40f322e745c4c4183727e3590ecf70
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/native/teardown.json
@@ -0,0 +1 @@
+{"absent": true}
diff --git a/corpus/page-lifecycle/removal/leading-parent/removal.json b/corpus/page-lifecycle/removal/leading-parent/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..3f9117ededa7248a183490653a245d284c26d364
--- /dev/null
+++ b/corpus/page-lifecycle/removal/leading-parent/removal.json
@@ -0,0 +1,7 @@
+{
+ "case": "leading-parent",
+ "selected": [
+ 0
+ ],
+ "permanent": false
+}
diff --git a/corpus/page-lifecycle/removal/parent/cold/machine.json b/corpus/page-lifecycle/removal/parent/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d911aea8f498d742f67d5bc40b5686bc8ce8268
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-9c689e65", "hostname": "ONE-M6-9C689E65"}
diff --git a/corpus/page-lifecycle/removal/parent/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/parent/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/parent/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/environment.json b/corpus/page-lifecycle/removal/parent/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..81bf65b8a61f864d385dbd32ba57d392fab4767a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-9C689E65",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/parent/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ac3f9ae1111a489498d2333d8e009e2742368eb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-000.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..efe4fb093df7fd48a4781c41b7ec9f249cde2355
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-001.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0b7641bb26658e9b308be1a1fea04207a6e17563
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-002.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e8acec60b8e35c8119776b5aa05ddcdeacf37d12
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-003.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..adef9639be8a8f670329a630536006a47bc65464
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-004.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b76461ede1987d6eff0a508d6b345868a36dd6c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-004.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-005.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2240396c3ad5766649520367e66067113e5002b5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-006.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ead2e57a737cd676c28beabb4ad199ea9f9da92
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-007.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3119d3421f073a1b8f6e1601caaee6439618c9c2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/page-008.xml b/corpus/page-lifecycle/removal/parent/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..675568d15fb0ee3dbb02f9c1846100ae9c864929
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/cold/read/payloads.json b/corpus/page-lifecycle/removal/parent/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/cold/run.json b/corpus/page-lifecycle/removal/parent/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..e3e46144a4bdf8fee2f5b94d8fa684dc3cfdee40
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/parent/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/parent/cold/source.json b/corpus/page-lifecycle/removal/parent/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..716ae200d30c2b9d3f45d695871bccd817569044
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 57376,
+ "sha256": "371508c4e1cb3719d6250c8d0d88cc512c8e0598814d1cf2bd9ddc4a825716cc",
+ "mtime_ns": 1788944413866807509
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 11944,
+ "sha256": "685225ccb09a03d3c1e376ccfc44aebd20cd1af605082cedaed89d3a370a05b6",
+ "mtime_ns": 1788944413867084648
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "6773508cbbfa23dd47c9155fdbf772d8d58613f75874b55ebba5c10e4f9f4c7b",
+ "mtime_ns": 1788944413867165758
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "40a063df1dc40135dc24c220357f84384e7e400f8578224a36828867b42dfec8",
+ "mtime_ns": 1788944413866918889
+ }
+]
diff --git a/corpus/page-lifecycle/removal/parent/cold/teardown.json b/corpus/page-lifecycle/removal/parent/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ae57a697d4e2d231785fd5d1c8536fe772aad809
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/parent/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..f1e39d51dec628ab50b23344f65094625d53bba9
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..3c60d64c1cf284a6683bf68614e0904b3da487b6
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..4bd507e1d22c95141d0413771f473a09d107d46d
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/parent/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/parent/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..bc86b4992981b31e9f2cc9778e7f2867b39de536
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-000.xml b/corpus/page-lifecycle/removal/parent/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2fc1de810de41cd28373ccf6ab5fc412ab1b325f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-001.xml b/corpus/page-lifecycle/removal/parent/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..91f25f55bd5648c873bd25c75a4a16a4d55cc90f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-002.xml b/corpus/page-lifecycle/removal/parent/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fcce121a740fce3662794325331500794cb77c1f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-003.xml b/corpus/page-lifecycle/removal/parent/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dad1e7d11976600c0dc46069c680eb7494342f93
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-004.xml b/corpus/page-lifecycle/removal/parent/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..13deec1958c518c8b72916f3bb3e23895ae7353c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-005.xml b/corpus/page-lifecycle/removal/parent/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..49a8c7c7d663ddb11505d39e4fa273a0ca4b825c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-006.xml b/corpus/page-lifecycle/removal/parent/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ba7a583d1754b0672b0bb8fec78ee28ae9963b3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/after/page-007.xml b/corpus/page-lifecycle/removal/parent/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8d24eece1fe377b1e81b7627843efa35a17f3bb8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..749e0926f6375cb408e2247fa968d97559012b3a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/environment.json b/corpus/page-lifecycle/removal/parent/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..9d3e19ea209847763e1cbb9074c76cd5913647f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-A61153BC",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..483951664cf0dc03726092752d289360b3f95009
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/parent/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before-read/payloads.json b/corpus/page-lifecycle/removal/parent/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dfe43a4c979726b8f8b4cdb4cab24a8d6cf5f9ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/parent/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..2f34f9ac90823c317f2011ae01786935ef611396
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/parent/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/parent/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..4b21b2a4655ba5798579711f620169ba8703d230
Binary files /dev/null and b/corpus/page-lifecycle/removal/parent/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-000.xml b/corpus/page-lifecycle/removal/parent/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5dd2d5f8b08fac2c684769959ccd5adff4f42479
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-001.xml b/corpus/page-lifecycle/removal/parent/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f143ccd35672beaabd9324bcdf324799bcb3ac1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-002.xml b/corpus/page-lifecycle/removal/parent/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a527c1a6f13df2948e3121b7fe0b8d4e44e3a85
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-003.xml b/corpus/page-lifecycle/removal/parent/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a3d9ef91ca91539bd93980e2ce1d88fd758fa5b5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-004.xml b/corpus/page-lifecycle/removal/parent/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6b5758b47fe4e6a55bdd1a4ea2a66f9d30d01e17
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-005.xml b/corpus/page-lifecycle/removal/parent/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..447f582d820926b5ff50d76034d451ef747c0f2c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-006.xml b/corpus/page-lifecycle/removal/parent/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f3d8963c2597b79dd3878794e201975d704ef61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-007.xml b/corpus/page-lifecycle/removal/parent/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..afca02cbc51212e840330614b9f470b35fe90f10
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/page-008.xml b/corpus/page-lifecycle/removal/parent/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b60541bfe017cf92e10f3b09df6cee4aa7afb631
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94b1e99a1b564fc855966f9653259a4bb324b16a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/interaction.json b/corpus/page-lifecycle/removal/parent/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..6447038288090681f5e0c8cfdce858c67ba832fc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/interaction.json
@@ -0,0 +1 @@
+../../child/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/machine.json b/corpus/page-lifecycle/removal/parent/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..f613e7e180188c82b523f71e3ff9b7a0b543dba0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-a61153bc", "hostname": "ONE-M6-A61153BC"}
diff --git a/corpus/page-lifecycle/removal/parent/native/read/environment.json b/corpus/page-lifecycle/removal/parent/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..b79532d894b334597a6dcfacc4ca2ae357628f27
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-A61153BC",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/parent/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/parent/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa7e5a70f5331ce6a6bc6b0537842fdb1e11e2c6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-000.xml b/corpus/page-lifecycle/removal/parent/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ce132cfcc2cd15b182eed1221820fce5e1ff7ec7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-001.xml b/corpus/page-lifecycle/removal/parent/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..144666e8850f5c7bee924f78e4e9470eecdba9b7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-002.xml b/corpus/page-lifecycle/removal/parent/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..28c59f338ba788670dcb6b9907e9b58da3da58ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-002.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-003.xml b/corpus/page-lifecycle/removal/parent/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cd7d8fb63aaf12f61e7fa02da7752075bd4ac06e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-004.xml b/corpus/page-lifecycle/removal/parent/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..81709b32ebbcbab6db32a8269707630e93654c07
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-005.xml b/corpus/page-lifecycle/removal/parent/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5e30a422b91ed65af22694512ff25efe47e1df47
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-006.xml b/corpus/page-lifecycle/removal/parent/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8d8361ece99fda6205d0b9020ef8c1d7cc1b3d71
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-007.xml b/corpus/page-lifecycle/removal/parent/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f25b2be00d106fb55a0c873f51add2ae6f44855a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-007.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/parent/native/read/page-008.xml b/corpus/page-lifecycle/removal/parent/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9145dec82bf0081354e13803574c86d08128a307
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/parent/native/read/payloads.json b/corpus/page-lifecycle/removal/parent/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/removed-ids.json b/corpus/page-lifecycle/removal/parent/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..61c17d2ea926bb69400aba9e803eb6e001b973b3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{D63E6CA1-B396-4E98-B0C2-C02B40F90B22}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/parent/native/run.json b/corpus/page-lifecycle/removal/parent/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..2c5d24fa78a5d2d8173a1291b5aca4a5416698f1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmp3yxtuo2c",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/parent/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/parent/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/parent/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/parent/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..34f7aa58587a02f3d3c2bd17cd1c89db50afc79f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../child/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/parent/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/source.json b/corpus/page-lifecycle/removal/parent/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/native/teardown.json b/corpus/page-lifecycle/removal/parent/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/parent/removal.json b/corpus/page-lifecycle/removal/parent/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..20df0c76d63299c6b13bd0e329665fcd97b83948
--- /dev/null
+++ b/corpus/page-lifecycle/removal/parent/removal.json
@@ -0,0 +1,7 @@
+{
+ "case": "parent",
+ "selected": [
+ 3
+ ],
+ "permanent": false
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/machine.json b/corpus/page-lifecycle/removal/permanent-parent/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..a906b4af308c9c863266eeb44b8a8980d9a25751
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-efe02aab", "hostname": "ONE-M6-EFE02AAB"}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..19c59240b26c7a8e3aededfcd88171dd376c9ced
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/before/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/environment.json b/corpus/page-lifecycle/removal/permanent-parent/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..c763b6c69d8f2f88a6c3fe70095be5f16dc8fec8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-EFE02AAB",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b61b18e2ddabe8a5bd7a6c0d0dd153e92c90d974
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-000.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c67d4eb8dd07541431ef195582685e5f7e209c2d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-001.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa23b8460a7c91e4be5f191d72a266403ab17d09
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-002.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43123fe05b313a06990911db5c689255e4b18551
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-003.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..927b30bd0fb748ace29efcd5ca89af716eb7353c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-004.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..326e0b0e2625dd9473fe3d7ae54369f67903c7b7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-005.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6e22420ecef22708154b7c71af4960047c743368
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-006.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b5d12286421d619d5c15ac0755ac7fa50d7ca627
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-007.xml b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3dcc90ce68610971d6f4fe4074535b8b3793be3a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/read/payloads.json b/corpus/page-lifecycle/removal/permanent-parent/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/run.json b/corpus/page-lifecycle/removal/permanent-parent/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..776f65b7829a2efd72136e9579b6c5212403f801
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/permanent-parent/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/source.json b/corpus/page-lifecycle/removal/permanent-parent/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..c298e824b4009775bb1f06ec57e16f522948f951
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/source.json
@@ -0,0 +1,14 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 57376,
+ "sha256": "439eda940f48b7e8e1b79c1a4b578951088ae79829c5b36c110207bacf037638",
+ "mtime_ns": 1788944896383705830
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4800,
+ "sha256": "cfdc63ea9e3ce088087a5c030ad214e30ec6c47da2db476ea3f7008fbf32e77d",
+ "mtime_ns": 1788944896384039786
+ }
+]
diff --git a/corpus/page-lifecycle/removal/permanent-parent/cold/teardown.json b/corpus/page-lifecycle/removal/permanent-parent/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..356b0e27685eba5f020158821be97283333e98f4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..c169237366d462635314b44ee79790c93b6c44ee
Binary files /dev/null and b/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..a6c7d197861f52dda5ecaf4da2ab7e471f409518
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../before/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-000.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2eacfe2f44587a9dabad2c36bc79003c9714e332
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-001.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aab51256f99837656f7b4300b11378a543f16c14
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-002.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f7dd9ce24559131e3fe2942f5f62d2c9b03d989b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-003.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bb3ddb7659f5ac112fda2d3cc216ea5b5c7d2f73
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-004.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..60cc297496d2326e14ab4c232fe7d32929a76b91
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-005.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b2d71634bb6920222cbe1423ca75f3f744fc234c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-006.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..98d8704c638847ec1a3109951081e403faa0d7a7
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/page-007.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d7f3b9a6fb416f9e41f5ba8dcf5ba18995f8622e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eb5fb81296b3dea06c64bc98507d8a0f61fc4f01
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/environment.json b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..cba2ee35f14c80286045e1c7723776b9a83749ba
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-1C25669E",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5ac6b750fcae9964336127cd7021fece0a318178
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before-read/payloads.json b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..906e425bce609c2a789857e5d8e2cd7d9654a3ea
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..8116f7faf0b02dd5f50f7fb6f34190f205f7c6df
Binary files /dev/null and b/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..54c7e89b075a203e12e421b9c041c8b240cd9299
Binary files /dev/null and b/corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-000.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8ed1782b41b0df3b19be70ae35fb1bd8c2b41eb8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-001.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c2faa5ab27867e7757ff37917718dd26f76d4d21
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-002.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..897e6af383b52d084f287916c6906b63a1cff077
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-003.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fd0c8308e01b3457742946b34e1b34c4ec9c3904
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-004.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..45c0fe1d8576240b842a20b4ec85e06f9108ee29
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-005.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9302e5588c6fbfd64ac51ffadbe1b8bf45ded0d4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-006.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..19af859d52172c57c1cb654f183c0fcaef028489
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-007.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..799997cd75c8fd3aab9136022bb70e3454993afb
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/page-008.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ed838728041c551eea19e5b3e6225e698abd76c9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aaa6fdb9c3fd963c2315e225fc9a968503f165ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/interaction.json b/corpus/page-lifecycle/removal/permanent-parent/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..cb671c7c47b31ee6e26647663c4639bff541d3e4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/interaction.json
@@ -0,0 +1 @@
+../../all/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/machine.json b/corpus/page-lifecycle/removal/permanent-parent/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..3384baf8a022c7acedffe0fe6f6fd0e03fc116cd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-1c25669e", "hostname": "ONE-M6-1C25669E"}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/environment.json b/corpus/page-lifecycle/removal/permanent-parent/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..925b573c58eac1a879455775f676c5f4599c95bf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-1C25669E",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ba22a48e155af1a9b6e879ff3dbe8710a194a67
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-000.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..30547d4ce907567c159873ed0ad7890817dbde93
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-001.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f1b59c109532c91ed96c7c3c2650a8eca2f5116b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-002.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a52b84e590c0ee01a434fa9587776fc225b751b8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-003.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7e2fbc8a509743fc28b6ca16856d8278281e6cc1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-004.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1c947745dc691c560117106e27ae389994e9ea1d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-005.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9fb431bc0acc34e8f3134c92c6e8e3cccd36b603
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-006.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ec0d90feaf170a525889f82e319c669852ddc951
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/page-007.xml b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67658099dcbc0d73f43382bda498523525a4add4
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/read/payloads.json b/corpus/page-lifecycle/removal/permanent-parent/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/removed-ids.json b/corpus/page-lifecycle/removal/permanent-parent/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..302ae33f21263fd508b215467b1a13ec32a1ae83
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{09A4A5FD-9C0B-4A8F-A064-D5E62140046A}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/run.json b/corpus/page-lifecycle/removal/permanent-parent/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..ca7daaf00754897f5f237eaf1d8f661f6b98e895
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmphvz4mb9e",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..87c65ed9058b5aa646a1c20a39b9ac80f4a630b0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../all/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/source.json b/corpus/page-lifecycle/removal/permanent-parent/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/native/teardown.json b/corpus/page-lifecycle/removal/permanent-parent/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/permanent-parent/removal.json b/corpus/page-lifecycle/removal/permanent-parent/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..61685f9125c5ad4b40698079db525a3fcd7a1994
--- /dev/null
+++ b/corpus/page-lifecycle/removal/permanent-parent/removal.json
@@ -0,0 +1,8 @@
+{
+ "case": "permanent-parent",
+ "selected": [
+ 3
+ ],
+ "permanent": true,
+ "expected_pages": 9
+}
diff --git a/corpus/page-lifecycle/removal/provenance.json b/corpus/page-lifecycle/removal/provenance.json
new file mode 100644
index 0000000000000000000000000000000000000000..a46338a4719c48162e85429d543505bf65038ed5
--- /dev/null
+++ b/corpus/page-lifecycle/removal/provenance.json
@@ -0,0 +1,1025 @@
+{
+ "leading-parent": {
+ "evidence": "evidence/m10/page-removal-leading-01",
+ "request": {
+ "case": "leading-parent",
+ "selected": [
+ 0
+ ],
+ "permanent": false
+ },
+ "sha256": {
+ "removal.json": "4705410d80807a29024718bfbdaa75bc84b7c43e9dbe1165ffd1537c850dd613",
+ "native/machine.json": "b5b2a276119b69e5f3572bc41e9a71cef3ff50a637423c1ab4de066e37f5771f",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "323ec2764e469052de18e10f7a962c22834985ce76be492f831ea903f56671b0",
+ "native/source.json": "fccaec56d40e377f951540f060ac3073c0ec3f1f4fca2c6bc6f915f6230c1e39",
+ "cold/machine.json": "e2861675b65390d1a2ff962c63d4ad997eacf160c395479edc01ed62f5da2caf",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "237120329c3816383e0bb268dd00c128dfdaa0e16f8c5c36674cb58ce54c167b",
+ "cold/source.json": "7e44e2105e066e4206608dd9c104880da20d7a112afe1deff0757ea43a8447fa",
+ "native/before/hierarchy.xml": "871480ed97f5bd914d9f241a0f493232b58d0ff5655d78f5248b8298f839da99",
+ "native/before/notebook/Lifecycle.one": "8eb29315812a1e2167bc76bcf1e490ff50296918dce68a7d2493f6139718fb45",
+ "native/before/notebook/Open Notebook.onetoc2": "99b99375297e299d0dabe97e4c156a1a2249fd0521edebae64ac3221a5955f2c",
+ "native/before/page-000.xml": "e430469a49cb09cb06371f9537d95ca1720bee25969de5c90e80af3b13998251",
+ "native/before/page-001.xml": "71909d20bfc84cd7e8bc20bfa02f46f7027f84cdba4feb66b8c649b7b2b6f576",
+ "native/before/page-002.xml": "f23e579d9cc6926c7c06c6b9fd58d612033014f23c14915a4b33a878c6d5107d",
+ "native/before/page-003.xml": "566fab305b123d05124419baf95d29c1f091324f65e1277f1927e1beb6b1381d",
+ "native/before/page-004.xml": "a57d7cc5f7bc2981eb3106daa4955108de85868111d14cb1e0754bb278ba12ba",
+ "native/before/page-005.xml": "a5d3e2f7de3adec7bc69af7124512788b5e88c79604c56667fffa5b0b0252029",
+ "native/before/page-006.xml": "418aa846ce157b2e3decdc430ce39e8e46a6df4e3bd7055a4207e99117af8731",
+ "native/before/page-007.xml": "24323051cd690ffdd61fda9bc19b835d02e176facea3ffa85b5dec57c755f9d9",
+ "native/before/page-008.xml": "c744a9e6f24cd9d5dd64b8289fb19e176d2afb39b451813bac81042c13258b3c",
+ "native/before/reopened-hierarchy.xml": "5072de4562c6e4c0cb255e75971d960b4e6dfa0e127fd5e0472099f1fdc437e2",
+ "native/after/hierarchy.xml": "7c614f0419d0e6611d3a1ccd28bc0586a7ea97f790fb04ba09570ccb310f4a99",
+ "native/after/notebook/Lifecycle.one": "adabd3b9a4ea354b04e1545ad6197c4577792c66e94945ba9905a01930678426",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "18989122149a6699b8798aba6ea7636695fc168fa647a94427894c9be732d86b",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "f1ca322a06d3a85ccde0b67fc1531d550474c8b10cd7ee937688e5ac4d802366",
+ "native/after/notebook/Open Notebook.onetoc2": "d48d4670a1871999f208b56a20a31a407f7a76bc90a3c41a44e29f9e4ef8f604",
+ "native/after/page-000.xml": "b0d583c7eb53962dc0ddf38a97ac69080138dc7f73efd439a1ceed8778fbbf68",
+ "native/after/page-001.xml": "e6a25acd3d680330757f6abec5569283bb231fe471b2e4a30e63e76bd69de530",
+ "native/after/page-002.xml": "fc4a9da20558b0bc744760a2dd99309f74ee20a2b1efd8efb8247559a8f2f17f",
+ "native/after/page-003.xml": "e5e10ca1e46ada0edb084d31c37728d193954a83410fa9f079c7ddcff84b32fd",
+ "native/after/page-004.xml": "868a0c434b362e3c9171200018b7af06bbf6f09fb5516a9c1044af94e47d172c",
+ "native/after/page-005.xml": "3c044f45aeb4e2cac934c82a622c3f24aa6354546078c30c64442cd7ddcc9390",
+ "native/after/page-006.xml": "77905a009dcd74fb0bedc860255dd27d0e4981fd999a883e08b9820fc8220b15",
+ "native/after/page-007.xml": "96a457f2f7f9d4e7970328d729b713b7653899e8bc4d271752cfde1c4ca609f7",
+ "native/after/reopened-hierarchy.xml": "cad88f58f53203343d2f0f607d6165b573c872ec5b4a847f925c70310f808953",
+ "native/before-read/environment.json": "583cd1b8e13e2ee44c0f4f1e583b3d9d153f4726731cec009006c963a24b0293",
+ "native/before-read/hierarchy.xml": "b4a50ac41b36b3966208045a5f9df690f7f02451f036eb783c2c3e344ab83fbf",
+ "native/before-read/page-000.xml": "418aa846ce157b2e3decdc430ce39e8e46a6df4e3bd7055a4207e99117af8731",
+ "native/before-read/page-001.xml": "a5d3e2f7de3adec7bc69af7124512788b5e88c79604c56667fffa5b0b0252029",
+ "native/before-read/page-002.xml": "24323051cd690ffdd61fda9bc19b835d02e176facea3ffa85b5dec57c755f9d9",
+ "native/before-read/page-003.xml": "a57d7cc5f7bc2981eb3106daa4955108de85868111d14cb1e0754bb278ba12ba",
+ "native/before-read/page-004.xml": "71909d20bfc84cd7e8bc20bfa02f46f7027f84cdba4feb66b8c649b7b2b6f576",
+ "native/before-read/page-005.xml": "c744a9e6f24cd9d5dd64b8289fb19e176d2afb39b451813bac81042c13258b3c",
+ "native/before-read/page-006.xml": "566fab305b123d05124419baf95d29c1f091324f65e1277f1927e1beb6b1381d",
+ "native/before-read/page-007.xml": "e430469a49cb09cb06371f9537d95ca1720bee25969de5c90e80af3b13998251",
+ "native/before-read/page-008.xml": "f23e579d9cc6926c7c06c6b9fd58d612033014f23c14915a4b33a878c6d5107d",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "da953b809ad05be2009b29fa1fbba77689330643f959bfd5eb7e81568e1f5963",
+ "native/read/hierarchy.xml": "3ee63e6736345dfcfcf5bca6360921d1a5b37869d188236f08c5acbad3106b12",
+ "native/read/page-000.xml": "1ee0253668d8fae14e3752824cabeee6153409a2d543113b5336547e6290feb5",
+ "native/read/page-001.xml": "f7f69ed558a56c22f7f9a9c2c39637341ee4ff0497ae1ac272b05c2183275b70",
+ "native/read/page-002.xml": "0ac9f6676124dcd903a35632d307fd8494f694701701d29fc5d1c460fe3c7ee1",
+ "native/read/page-003.xml": "9b78a9f1fe0a80328883e6c05cebcae9d4bf009514d5825f23d2b41587d198db",
+ "native/read/page-004.xml": "a4f3d078af878faed9fa3b029be4caa9fce04d2eae5b43ad9fb04f9b160a6e6d",
+ "native/read/page-005.xml": "7a757b20e3289bae09fc6cfc7282ef4a7d4d8967bdf2ae896bd25578f2265391",
+ "native/read/page-006.xml": "92dc3905711a04358de4ce3351ece14da7a71dae3a396bc4d18cd3156910aca5",
+ "native/read/page-007.xml": "f5ea44ca63a20717c068a53943144526e8552d7b22902fbe99332ed438e01b09",
+ "native/read/page-008.xml": "a16b7d8035e82727c6232cbc261240ef3c5df52da963e544cc8c8d90bb0e9507",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "4db5a6ae05d0ea905722c5a0cc56d3dec989988fe2ad76d7e0bb82c5ded8d70c",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "adabd3b9a4ea354b04e1545ad6197c4577792c66e94945ba9905a01930678426",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "18989122149a6699b8798aba6ea7636695fc168fa647a94427894c9be732d86b",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "f1ca322a06d3a85ccde0b67fc1531d550474c8b10cd7ee937688e5ac4d802366",
+ "cold/notebook/Open Notebook.onetoc2": "d48d4670a1871999f208b56a20a31a407f7a76bc90a3c41a44e29f9e4ef8f604",
+ "cold/read/environment.json": "776171112dba65308a2279c1119b5c9db653a85034baa086b2d41324ec259b39",
+ "cold/read/hierarchy.xml": "c3e6444ec0248851bc5e8bb5c8ad4df87a99280479686c929442da8b9633f00d",
+ "cold/read/page-000.xml": "dacd44e44db54a0ec5da1c83d8dbd9c70f83bcf7f9764f29626a5fdc36683462",
+ "cold/read/page-001.xml": "c020708029171b41d9ab314884b34205e8d2756d67950a38092aa3c88dc88062",
+ "cold/read/page-002.xml": "7bf524a4d22690aa8e2bc18210f6da141fce2768c1b60b746a71f2f0f5424429",
+ "cold/read/page-003.xml": "be27c7d76c40bf82c8558eb328899f99790cb94a9a505cc3e0850e1386c47e76",
+ "cold/read/page-004.xml": "3644621b6ef2545d821c21851a36886b9b665e6b0cd1db86c63ed4c58721c3ee",
+ "cold/read/page-005.xml": "2405f0b151ff295b2bbc2731df29bba14fc9d0e341a620a6fa2b946577ec8bfd",
+ "cold/read/page-006.xml": "0e023b21cca4ed72a829dad496febbca690e832d8238c44cc5ed0e906a94a7bb",
+ "cold/read/page-007.xml": "2bc0070a35b01c87d5d99366893658024918663e1f605c6e79c6b7f6bc325e96",
+ "cold/read/page-008.xml": "8a9439c9772fdbec52829f8ae27f8f9ff56ef0456b43b5210a908c37360c7da0",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "ea928404c9875ba2a10b6b37489ebfbbd587ef81ff20928bff36ad83f35af6a2",
+ "native/removed-ids.json": "f45e3394ec69d27a0267809a7e14cc9b8b496904a954cc7dd675c4ce5641875a"
+ }
+ },
+ "all": {
+ "evidence": "evidence/m10/page-removal-matrix-01/all",
+ "request": {
+ "case": "all",
+ "selected": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "permanent": false,
+ "expected_pages": 9
+ },
+ "sha256": {
+ "removal.json": "a7e75ff61f2bdf4d4b4eab1c11333c8b609f138261135911783925e738ebc8f6",
+ "native/machine.json": "a7af3b2d7ad30aab5e5d46503c03255addb87a66a76545eddff9dd2e1b964f77",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "e20546dbf33b3b3ba912dc1180572c6b2311a76db12d54164418f3248aba3b80",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "5039e2702204d28c0bdd2166081aabf9559ab108aa7e1721df0df39e7656328c",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "6909eced81092a3f14a98a342e1dc8d195bede6834090ac676830b146312256e",
+ "cold/source.json": "30aeff62c5a2c9d1b7fc1e2daf0f2fc4771cfc4dc945ffa5f7d8b9c262f848dd",
+ "native/before/hierarchy.xml": "28e17a57e7f470d596dcdb5a6fe694d53f9798a6efd4977ef2cdbdf787f3de77",
+ "native/before/notebook/Lifecycle.one": "4810c93a89461047dfcc7b9f5afb4d9225dc3a465efa0cf3928efa72ab1e663d",
+ "native/before/notebook/Open Notebook.onetoc2": "0f15237414704e35cc85965841e1388fb91d2150e1eb2f41981256649e72cd40",
+ "native/before/page-000.xml": "6491d35eac370bafd8dca9d8664fed5a8dd8c9c8a6042af14ae870366e46f303",
+ "native/before/page-001.xml": "ae5db7b4270249fa06f374c5931728001a3422b6f3f0b99700fbc6bdd613d120",
+ "native/before/page-002.xml": "a1431c707a6d0921b79c560d99778927142bdc6b63a2fce3ac35dcd4795b9a2d",
+ "native/before/page-003.xml": "69c6e04fbf9340da5c7a16adfdac7360e97b8f2919d7173fc1a2c6ac7042d37e",
+ "native/before/page-004.xml": "5e704e5f48bd84191ebfe0c7a7fc184dc05ecffbda18dcacfaf227d7b6346d12",
+ "native/before/page-005.xml": "9151fe6e8f68aa289911a95181c3a7628ea8e67cf67c0e5816da314eca53ccc8",
+ "native/before/page-006.xml": "d11dd2e990f8d1ed22230ac318b6f81cd833e2be66f60f249523684a0eeb95a2",
+ "native/before/page-007.xml": "11bf73261a5351cae843ec5826e8a1b9e8360c9d1473d2cd8faf727d6b70deb2",
+ "native/before/page-008.xml": "d50b22db8f646d1670dfd5ca88755d1df1700f8f3ecc53b1f2e91c2b597ff5d1",
+ "native/before/reopened-hierarchy.xml": "0509685178711bdce0aa621eaee615756b6c4e62ca5b0c0922ed33229adf7a18",
+ "native/after/hierarchy.xml": "ae979300033279eaf97a66bbb76ad2d5088edb33041864c6dd1e23c5f3ac7537",
+ "native/after/notebook/Lifecycle.one": "4fde3d9e45bfd5a94eea680c098e0b4d52b90b683f4475933a2dd292e36cadba",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "bdf772ed06f2bfc122116778c7cbba39be50d7461593703d956a6881ac7822e0",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "7e67f2a907619793097ce10f86758172ab3d66c748382793b0927599bd498fee",
+ "native/after/notebook/Open Notebook.onetoc2": "292ed75eb7cc4b8e86051efc512941761404968157af556d956a6a48c0ef4177",
+ "native/after/reopened-hierarchy.xml": "42e24f2cf40c19858c75013d5ffc0d28eb295e157fac2a26fe7f45e67b51b763",
+ "native/before-read/environment.json": "11abe936b800753c0c1e3bec70934a824cab45798679ade4525eb7a3a9d75eb5",
+ "native/before-read/hierarchy.xml": "23d04367e3042b0648b954e254ff48957009883054eedc3c6af0dbe4c43b4bda",
+ "native/before-read/page-000.xml": "5e704e5f48bd84191ebfe0c7a7fc184dc05ecffbda18dcacfaf227d7b6346d12",
+ "native/before-read/page-001.xml": "6491d35eac370bafd8dca9d8664fed5a8dd8c9c8a6042af14ae870366e46f303",
+ "native/before-read/page-002.xml": "9151fe6e8f68aa289911a95181c3a7628ea8e67cf67c0e5816da314eca53ccc8",
+ "native/before-read/page-003.xml": "69c6e04fbf9340da5c7a16adfdac7360e97b8f2919d7173fc1a2c6ac7042d37e",
+ "native/before-read/page-004.xml": "a1431c707a6d0921b79c560d99778927142bdc6b63a2fce3ac35dcd4795b9a2d",
+ "native/before-read/page-005.xml": "ae5db7b4270249fa06f374c5931728001a3422b6f3f0b99700fbc6bdd613d120",
+ "native/before-read/page-006.xml": "d50b22db8f646d1670dfd5ca88755d1df1700f8f3ecc53b1f2e91c2b597ff5d1",
+ "native/before-read/page-007.xml": "d11dd2e990f8d1ed22230ac318b6f81cd833e2be66f60f249523684a0eeb95a2",
+ "native/before-read/page-008.xml": "11bf73261a5351cae843ec5826e8a1b9e8360c9d1473d2cd8faf727d6b70deb2",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "845aefa00ae8ef5e365ec0481b11563d6652c35ea7b1f4d802797225a3f5b743",
+ "native/read/hierarchy.xml": "771e1a363536dae0a9a08d9736b49f8b73ba8c80e2a2e79a3b6d5cc76d58c9a8",
+ "native/read/page-000.xml": "da4c86a5483bebe23569c58a1bff4ded9c22d3e7405f4295343d1052d01c533b",
+ "native/read/page-001.xml": "17d22e2a5fa734a2a7564028c9006abcef144961ab4df95207e116b8de26f85b",
+ "native/read/page-002.xml": "6e6e1f15633417e4972b4ecf598a8ccaf0b385675185a4d3a11868f0bd384362",
+ "native/read/page-003.xml": "5fb2f90a6269c7ad8455b73cddc412798dedb7a99b2e86b53fef24b3ae4f2cf4",
+ "native/read/page-004.xml": "9a67acc737446b0c581bddb4fb4761504355d92d01f53cdc4988a29176437d97",
+ "native/read/page-005.xml": "77bc6bae2a817d2118ef09cb97dc56947c62911607e33ddb6939bcd0db7124c1",
+ "native/read/page-006.xml": "8095ac2448777414f6b2b40a2ca1d3c47ca06fb59ff0915fd3b5837f08416d23",
+ "native/read/page-007.xml": "578827b0155dc3c24848ca9aa1959af3443deb8e7a43ad05d8e5428cadc78827",
+ "native/read/page-008.xml": "d665eedbf7befa34e120a05390351f2f085939106cc9e5c5abe1e87a73507574",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "4fde3d9e45bfd5a94eea680c098e0b4d52b90b683f4475933a2dd292e36cadba",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "bdf772ed06f2bfc122116778c7cbba39be50d7461593703d956a6881ac7822e0",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "7e67f2a907619793097ce10f86758172ab3d66c748382793b0927599bd498fee",
+ "cold/notebook/Open Notebook.onetoc2": "292ed75eb7cc4b8e86051efc512941761404968157af556d956a6a48c0ef4177",
+ "cold/read/environment.json": "f77d7767c86171614d37595488fbe39d1e7668b40431d7bb340f6dafe37e11c5",
+ "cold/read/hierarchy.xml": "1b560d6b7b82a51ecec0693ed4b701e0dd7e3f24ec0601c046596c25ec570950",
+ "cold/read/page-000.xml": "527322bdaae0619d2e165361314aa719f4f058509606959a8639d2ccf4dea815",
+ "cold/read/page-001.xml": "99065e4091f256ee60874aca59a54a2cdc80544dccc18f64f62eee29aeb99ac1",
+ "cold/read/page-002.xml": "09c13cde9e5c9a121e01ad1bcc6eded65bcced352bc1d245291397366811b68f",
+ "cold/read/page-003.xml": "3d3f16dbc4a2a416815da83b3a056f42f94fd6debc4113a6f90f58d9c5be9ed2",
+ "cold/read/page-004.xml": "e2430d143d69774e201a245b7e04d10727c61e77e9f1b93fb29aeeb807b87f07",
+ "cold/read/page-005.xml": "4f1cdd4cea526f182653f864d285ee79f60e928fb1661ab9d4b886c5c7ab7c07",
+ "cold/read/page-006.xml": "97666f289c5d1e14913513839805ace2aadc4a757b3754504d38cca59a7ff5ef",
+ "cold/read/page-007.xml": "c18bffff6cfb786e0703f0637ac84bf1ab4b270b759b6a935b895be707b0767e",
+ "cold/read/page-008.xml": "1fb6d86880a50b0908d6a1da5fb3eb62df816fb2a99a5c0122158ea7462f4a27",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "ab3db7d6860985ff0a710fc947270793d8ebd7862ca492c25d38011fb2a17dbf"
+ }
+ },
+ "child": {
+ "evidence": "evidence/m10/page-removal-matrix-01/child",
+ "request": {
+ "case": "child",
+ "selected": [
+ 4
+ ],
+ "permanent": false
+ },
+ "sha256": {
+ "removal.json": "f87f02c4100ade105192ffb4b6797d43a3c19416112d19f794c5f226ce290aa9",
+ "native/machine.json": "2aed96af569f0e9ea7c1d6eb751a3aba11e36c47015eef006168b18c36d56271",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "d54837d2f6036eb5d160597b2d00dfc41bd31b2a4d351a0130cfc3a30cff7d10",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "b1437e7c68608f91044d480ab4416a8d1daeff4fa057df9f1d6675a3ab78c73d",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "3e644b5b98048f0e015a58a22cdb17a526047b71a98bc5036d7f7022f41acce5",
+ "cold/source.json": "5bd0b96135685b3bd4ee14603b14d8b7493d18a2386ce3d0387a74b5ad428225",
+ "native/before/hierarchy.xml": "709760a234789165f9ab1f50c685f95959fd9f9fcba7510c4f241c33cfee716e",
+ "native/before/notebook/Lifecycle.one": "b945e9f12f502c3c6d04e78be6ebdaf47b09d256f1ca79c5572e6293d67f9d5c",
+ "native/before/notebook/Open Notebook.onetoc2": "26e3b12236a766c6155117a07f7f288bed2e84e77bd84b0db3ad4e617e0eea50",
+ "native/before/page-000.xml": "b91ff6cf04c477c0c22a7b3c978cf79c6ddfbab523864ab8dcd048b63399d759",
+ "native/before/page-001.xml": "8552d0062bcfd0d9732afc83343d9095594e52ba412788c82e76c128992c20b7",
+ "native/before/page-002.xml": "c2c4c4dc8ddf2cdb73b76bfa11f6b38fb1ea5fa14241fb81ea73121ada61f27c",
+ "native/before/page-003.xml": "85fa9ab8113c67defbbdadc252b1971f9e3d80d11485742a58350504ede942bc",
+ "native/before/page-004.xml": "10c128ae3d3624c2f8bb9bed289297526e82d41816a923e09d6b17337703fd90",
+ "native/before/page-005.xml": "897a9f39e68b5782b935a3ffac07694f1d80f7138dd913317393f6ac1e121826",
+ "native/before/page-006.xml": "ab2f7dc678be89f8c208ce3af7266603afa68a9c58cb40eb18cb2254147b168f",
+ "native/before/page-007.xml": "3ff77a104feee85b01bff906b703b8c1c64eff5d570143d84263de95746eeed8",
+ "native/before/page-008.xml": "e81685b6898e1a1be4637264013a2f438a0f01bb0c88f59a413129837eb21398",
+ "native/before/reopened-hierarchy.xml": "0442423b1294d0e8593f9dbe787ff42fd7aaa0733d68f3d8e2a57a26e3ffcabc",
+ "native/after/hierarchy.xml": "49ffcde42467e1984134b9e55f928b293e45df435ab38a3a8fcb6f22305068e8",
+ "native/after/notebook/Lifecycle.one": "6368c735946dd7405097c99b77327be8b8a5ba6005420bd9b614f09815f1c428",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "7984938bbce6f047a95c75ff297107bd08252389c582f10ae856be0c003ba620",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "7296a70d62e61eece50a26af4cb3be311f466423cf5fd981b42e0a24d6016147",
+ "native/after/notebook/Open Notebook.onetoc2": "0e0a51ba74214fe2f4a669b1d5cf9358749a17603e336850cba04101f5eda933",
+ "native/after/page-000.xml": "e3f66dc89762e007fdbba1d3d008646b920907659eee97262c767a6dfba1d229",
+ "native/after/page-001.xml": "35d06419d631eb1559cedfb61b1ffc17c0e45f28883bc06f8241feae46139864",
+ "native/after/page-002.xml": "ba5e3d5c3883b549804dd6fd683f3262ea4e5662fc23f8a494a3d1e1c87345fa",
+ "native/after/page-003.xml": "3a4a0be23482867b7c48a71135991d62e27343c60ea1350e495eee9acec72ff1",
+ "native/after/page-004.xml": "cc6152bc7fd3baa2f5b41d4ad1aaa45808781e66c2ed8904b298a571fddcb656",
+ "native/after/page-005.xml": "1246d75b0f02063d415f27654e8dfa40f61c39a3cdc2918478e27802f2b7e2bf",
+ "native/after/page-006.xml": "ab89767e50527a704116badc227e084100d1f4adfb07e8be9f7427512ac1d2dd",
+ "native/after/page-007.xml": "8ac3aaad8bca40e33163acf8ad5447676b7f9e7971614da726794afe577a0aca",
+ "native/after/reopened-hierarchy.xml": "f351685b2157e285058fdfd0c50a94636d4cd9691be9839cca8c9ab3ee1810cd",
+ "native/before-read/environment.json": "34c9e32116426660fb2487fe29665a9e7cba03c55aae70d11a271c4fb94499fb",
+ "native/before-read/hierarchy.xml": "9040304bb2d6c6eebc59209fcc8fab486beea9225d05fece42f608ae599336e6",
+ "native/before-read/page-000.xml": "e81685b6898e1a1be4637264013a2f438a0f01bb0c88f59a413129837eb21398",
+ "native/before-read/page-001.xml": "ab2f7dc678be89f8c208ce3af7266603afa68a9c58cb40eb18cb2254147b168f",
+ "native/before-read/page-002.xml": "3ff77a104feee85b01bff906b703b8c1c64eff5d570143d84263de95746eeed8",
+ "native/before-read/page-003.xml": "10c128ae3d3624c2f8bb9bed289297526e82d41816a923e09d6b17337703fd90",
+ "native/before-read/page-004.xml": "b91ff6cf04c477c0c22a7b3c978cf79c6ddfbab523864ab8dcd048b63399d759",
+ "native/before-read/page-005.xml": "85fa9ab8113c67defbbdadc252b1971f9e3d80d11485742a58350504ede942bc",
+ "native/before-read/page-006.xml": "897a9f39e68b5782b935a3ffac07694f1d80f7138dd913317393f6ac1e121826",
+ "native/before-read/page-007.xml": "c2c4c4dc8ddf2cdb73b76bfa11f6b38fb1ea5fa14241fb81ea73121ada61f27c",
+ "native/before-read/page-008.xml": "8552d0062bcfd0d9732afc83343d9095594e52ba412788c82e76c128992c20b7",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "509d6cee5991a55b210699fb13e230e6365d0d4ddaded1c912fe69ec95f412df",
+ "native/read/hierarchy.xml": "71bdf875c7d330b549f691595b358835a49288c4b085e66e7bf30bd3cccf7ff8",
+ "native/read/page-000.xml": "c36efe8cae10b7750df5a891fd0e29abd8ec30d4393a773e7255b82ff2f3ab25",
+ "native/read/page-001.xml": "632da6ab6c584764c2023e31bb198ee410b549446d6dde11fcbdd53b542baae8",
+ "native/read/page-002.xml": "21c403ee0e13809e80abb36288067b97957c543828b57adc904b96f555558ec1",
+ "native/read/page-003.xml": "1861276f504789070cc60eee9701ffcb00f4ca787ebd2887e05026955868f6c9",
+ "native/read/page-004.xml": "bd1db32e9866c3f42725f73bb3a047982d10e28b8d79f5ddcc432e57cbee365b",
+ "native/read/page-005.xml": "5e89dde7c5fe41cb2cddd47cc98f2ceb177897edc0927c502d8f89ccbee2691f",
+ "native/read/page-006.xml": "7787a7d2ec6e654e21da4d8f416142c904939731a0817c041c130e8669541224",
+ "native/read/page-007.xml": "4235f4551abc96fd3283c53f28f66773344d8bbf60b5ecf1c65998156127a908",
+ "native/read/page-008.xml": "c7392ba314f8be1cd0fe39c82e6d7ef11a0d8e7eb921a7d183dee818b702a436",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "b61fd70c3047910d381f2e2678d87c6ff394f3ac2be88f5a7a6aa89f254913c9",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "6368c735946dd7405097c99b77327be8b8a5ba6005420bd9b614f09815f1c428",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "7984938bbce6f047a95c75ff297107bd08252389c582f10ae856be0c003ba620",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "7296a70d62e61eece50a26af4cb3be311f466423cf5fd981b42e0a24d6016147",
+ "cold/notebook/Open Notebook.onetoc2": "0e0a51ba74214fe2f4a669b1d5cf9358749a17603e336850cba04101f5eda933",
+ "cold/read/environment.json": "e95a0e8c416603de64b498c6c55413c316b8051384569ee27fb0c3a842a68531",
+ "cold/read/hierarchy.xml": "7da9cc54364f60607fbbc559186dc71fc34c585e2249dfab7a55c50a1f63f101",
+ "cold/read/page-000.xml": "b7141f8e9c5303a8398f1436f4445e8b8f150e7b4c112bc4dd340071ce9daf11",
+ "cold/read/page-001.xml": "2c134513fe2905056bfcaf31266322426157ce44bca86565a26fb5dce045e5ac",
+ "cold/read/page-002.xml": "ef4078c95c8d89f3449967d2a25d985ba02f4cd687681b9675caf9302ee775e1",
+ "cold/read/page-003.xml": "b643f31587f017a7070adfe5279891c967db5666164d5b797b7a023eb09273f9",
+ "cold/read/page-004.xml": "6a976a4265d2460b50e2017e1f2207ec791c8e05d7a5d0c504c98fedf94dc879",
+ "cold/read/page-005.xml": "22ca34f76e1c38fa155455432dd653f5fa83c5650bbcd183805e7a2c4b7c2ba3",
+ "cold/read/page-006.xml": "774e2fdc96f366390d467e4b12cae282dfe6ff98f7eb53f95ac310ce1ed2623e",
+ "cold/read/page-007.xml": "b25173cad023cf3b7367e0e451d89c5ca41961c00aaab99d3acea203e3037b26",
+ "cold/read/page-008.xml": "7a33885bbe3c695960b0d84318c4b0bf2fa2b22537a6d364ea60dc2df181fc2c",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "7f1541b4805c9a9c026783998126dd7c9d2ce3a284c43ca405e1c850e4ae1f05",
+ "native/removed-ids.json": "fd9e6900490b8e905ce4352acb735371952c5bdc09b32b39ad1222e751654aab"
+ }
+ },
+ "grandchild": {
+ "evidence": "evidence/m10/page-removal-matrix-01/grandchild",
+ "request": {
+ "case": "grandchild",
+ "selected": [
+ 5
+ ],
+ "permanent": false
+ },
+ "sha256": {
+ "removal.json": "35ce47b87309129acf13cc795fdc16e2d32f688f67c064695cbcdec6a96adb3e",
+ "native/machine.json": "fa456c97741929f521993c4f435622323bfa0e47023af0a472f25f690a845937",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "ad0b302c736552acd21691955502c3b7c79a71637da70d7d0111c27e681e24e1",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "1eb30270b2915258a1b2d766b3d19b3d91dbdd0d0af9122bcaef191ff08ceba9",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "8dddadc87d3ee6e9563dac7e32c151c28cb267f13a875298da695267ccd9778b",
+ "cold/source.json": "3964bf9f2dd647e0d984c807dd86de80be8fe969e000319f03ec61dbb4a2789f",
+ "native/before/hierarchy.xml": "a3d549058ecf560c84ff024f295a178448fd9282fca2f96f52ee9b31127379dd",
+ "native/before/notebook/Lifecycle.one": "a084df0db8818f31b7f474616e5415cc709523aa8584e0952b0d76136350b593",
+ "native/before/notebook/Open Notebook.onetoc2": "88cf9297cde4d782b40e1f52bf7338eba1f0b1daa96a95c58f506dba0ccf4685",
+ "native/before/page-000.xml": "1307a941af385e6520a863696a37f72ed3a5aa49acb11acd174b3a213322634c",
+ "native/before/page-001.xml": "9ffc55cc3bfff4504f9ed5dd98eebf8a674fcd8c9ffcda3bca1570a9b1ebe29e",
+ "native/before/page-002.xml": "d7a2b362aee2ec96f27b9625c1184b448fce058358af5ab2aa3285bac75eab24",
+ "native/before/page-003.xml": "2b8d0ac0732e0a88aa6611b65fe511911e756943492d1a61ab790cd93efcf299",
+ "native/before/page-004.xml": "6a44fe5592810870f76b37d3e86222a2aa894f005b5376e3ebb355555c675533",
+ "native/before/page-005.xml": "7070cd332fde9965d54bab4a881f49e3f4da9e1fdaf33f7d1a68a33dbd452c25",
+ "native/before/page-006.xml": "2f61d83eae639fc2817e45cd08d00868dbbbbea9681470e8974cb4d7d04a7274",
+ "native/before/page-007.xml": "3d219eb8c7f525fb954d90e82951b1773bb81e39ef548560b60f702f9c8fd338",
+ "native/before/page-008.xml": "62c01bc288ce0b3d46839c0c7ea491ae35f90b574a03b459eb1ed894982c02ef",
+ "native/before/reopened-hierarchy.xml": "994b873167f64aa55e06426ec1697a22b029cc9e6c7d71029f2ad2423a06bfbc",
+ "native/after/hierarchy.xml": "2fb4b739c9389d46b42eb0c8a66985393309b51dbfc2acc0e60ece64c0f5fd7f",
+ "native/after/notebook/Lifecycle.one": "e30776bf01389d1dfcde1ff15168d452a1efd68b3c5406b975a839f4fcfb343f",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "a57f2a7e992778953bc0be9cebe550fb823a830e2fdeab56d442620425622ea8",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "5bc7718a2fc635d5fe1cd6d8db054a1d9871e28a5c5abf343202b01bb13e07f1",
+ "native/after/notebook/Open Notebook.onetoc2": "8d23f89a78f54204ce2b8878023e2255cb9841935cbe53ec3e57b83efa129371",
+ "native/after/page-000.xml": "ea2aed4409654fa5ed0393544b4ed848e87d99a048ba12346bdb40b3c00054ac",
+ "native/after/page-001.xml": "46672e40d0c830f291f6a8c04d157f0e5f07d18eddb796b475c91207dbee565e",
+ "native/after/page-002.xml": "90b87888fd6dd0fcbf4c20396e10ef18f09887b856bee8a0ed0709402e889402",
+ "native/after/page-003.xml": "bf163355d8cdb9b6061a9249bfe769defea6e26330a8c66301e25846d33b5155",
+ "native/after/page-004.xml": "681a3a82dce2b639d8ff396b61cbb179652427ce12925ed8d19977b4ead4c081",
+ "native/after/page-005.xml": "48aaf5ac8dd0482941820479735b68e4b835d412b92f3a2d67d27281355b88ec",
+ "native/after/page-006.xml": "f9aadbd44f843d01e5f099d87aa28e69fc7eb25753a592b86723c7e541f300d1",
+ "native/after/page-007.xml": "3db7b5921aa7c57ed9234b7a60bab866e7c102527ac39a7ad6bc3266f160bf27",
+ "native/after/reopened-hierarchy.xml": "0b38ff5aa65856a92a87922b9fcfcad76d00790e7016af28ba5e950a1085df73",
+ "native/before-read/environment.json": "cb6af291ab8847ba67e060fc75e216dbc1c3823846961b0471366a17109c217e",
+ "native/before-read/hierarchy.xml": "6a7c224ee78278e9f5792e40769ca503095f6005876bfd9b35893d4d22b04e26",
+ "native/before-read/page-000.xml": "3d219eb8c7f525fb954d90e82951b1773bb81e39ef548560b60f702f9c8fd338",
+ "native/before-read/page-001.xml": "2f61d83eae639fc2817e45cd08d00868dbbbbea9681470e8974cb4d7d04a7274",
+ "native/before-read/page-002.xml": "62c01bc288ce0b3d46839c0c7ea491ae35f90b574a03b459eb1ed894982c02ef",
+ "native/before-read/page-003.xml": "9ffc55cc3bfff4504f9ed5dd98eebf8a674fcd8c9ffcda3bca1570a9b1ebe29e",
+ "native/before-read/page-004.xml": "d7a2b362aee2ec96f27b9625c1184b448fce058358af5ab2aa3285bac75eab24",
+ "native/before-read/page-005.xml": "7070cd332fde9965d54bab4a881f49e3f4da9e1fdaf33f7d1a68a33dbd452c25",
+ "native/before-read/page-006.xml": "2b8d0ac0732e0a88aa6611b65fe511911e756943492d1a61ab790cd93efcf299",
+ "native/before-read/page-007.xml": "1307a941af385e6520a863696a37f72ed3a5aa49acb11acd174b3a213322634c",
+ "native/before-read/page-008.xml": "6a44fe5592810870f76b37d3e86222a2aa894f005b5376e3ebb355555c675533",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "499bfec4943a6d0916607f616ae37d9312f8a6f00b5651a3b36cf95aecc7910d",
+ "native/read/hierarchy.xml": "891b37c0c622f2ba9f9f17671424023a3136ca97ee355a47683ff347a21514e6",
+ "native/read/page-000.xml": "00f7cb33387275a3a97307b15942f919a80c29a75dc3b8e233c6a986cc8f162c",
+ "native/read/page-001.xml": "c8f7cb01ee278d244e54806443dbce923543283a3cc1bee40b3e7c48e89ed6c7",
+ "native/read/page-002.xml": "059fbc35302c17b8c1590956a07049cedce73f71bb7cc18655a446fb42378b9d",
+ "native/read/page-003.xml": "bf61d0f67ad48ec6ed047160d9ced875d36913841b34d75401c93902562d2cd7",
+ "native/read/page-004.xml": "8e8020080c9f9fbb86bb5f56433bf74be909a7c3dc327c769471e9e404544ce7",
+ "native/read/page-005.xml": "dd91b82444078251f41bdae8b8d124aa62b5b8e1c6076dbea904d3e12cffc2fa",
+ "native/read/page-006.xml": "d911d2972f657f554b71fffd593edc741213836d441b1c8473c26aada8e0a1df",
+ "native/read/page-007.xml": "8d464fa241c46f688c93fa1b3f91073105779a59ac00e4af6aa5234f5b87086b",
+ "native/read/page-008.xml": "b17d010571337656001f215848accec96307e5072a5047da87356e7b48d404f2",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "b61fd70c3047910d381f2e2678d87c6ff394f3ac2be88f5a7a6aa89f254913c9",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "e30776bf01389d1dfcde1ff15168d452a1efd68b3c5406b975a839f4fcfb343f",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "a57f2a7e992778953bc0be9cebe550fb823a830e2fdeab56d442620425622ea8",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "5bc7718a2fc635d5fe1cd6d8db054a1d9871e28a5c5abf343202b01bb13e07f1",
+ "cold/notebook/Open Notebook.onetoc2": "8d23f89a78f54204ce2b8878023e2255cb9841935cbe53ec3e57b83efa129371",
+ "cold/read/environment.json": "e9e4b72648b4a0798cf79252cdf3b9ee30ae14e3ae4e03d9a58d3640222551d9",
+ "cold/read/hierarchy.xml": "999f20874835bdbe2ff6b8b6baacb87e968ade4b26a0a912eb9e762b4da4abe6",
+ "cold/read/page-000.xml": "30294c03d50a0266a58f6e7529d1e3effda65c24938223729af4784094531bc2",
+ "cold/read/page-001.xml": "658d5961913a877a371108215759a6fd9572e06357bf338f0d60c271426b55ad",
+ "cold/read/page-002.xml": "5310f07b19a9336fa488ad59569589edc84e6da0861788495f16a6de570c26be",
+ "cold/read/page-003.xml": "357cd8df7445a37c2564f600c2d20c771346c9489aa785b58201ad08c7bf88ca",
+ "cold/read/page-004.xml": "4d9b46a18b3548bb74f5f4a0ad8e125c266223cbd307e29fbdd84047be7a2177",
+ "cold/read/page-005.xml": "e41de84028d4aac865bb175e137d78e34e77b6f16c2485bad113be355c87105e",
+ "cold/read/page-006.xml": "c13bafd198e4412d15abcd40926b41f943e8bea7e60dd65dbf95fb917275e0f5",
+ "cold/read/page-007.xml": "9be5bda0bc767d08aaadeb75cdd6f8de112beefcf0160edc8e22e2e1b2f051f2",
+ "cold/read/page-008.xml": "a8d83ba6a452eb204a564a05721ae34f02d2aa7c8868dbe86427b8dbd738ef9c",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "7f1541b4805c9a9c026783998126dd7c9d2ce3a284c43ca405e1c850e4ae1f05",
+ "native/removed-ids.json": "a66036fea4a383726829516bb0571e50f377aef1d097fba72664c3d44a55a390"
+ }
+ },
+ "group": {
+ "evidence": "evidence/m10/page-removal-matrix-01/group",
+ "request": {
+ "case": "group",
+ "selected": [
+ 3,
+ 4,
+ 5
+ ],
+ "permanent": false,
+ "expected_pages": 9
+ },
+ "sha256": {
+ "removal.json": "e56df94d7503d34fdc4b11f621ae8a0b6b1e5b1e02f6f1525950e6330912ce9f",
+ "native/machine.json": "bf0791783c9b7c73fc852ba11e23d1db8aabc306498e433c8cbd4dc5ee25f217",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "900dbccb59867a2ca559b846b46f0462180602f7fcff7fa0256a0c82601fdf7d",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "dedfed285774db5ce4a5b61004f58af7a11cc9bb254b6fd9fb794efd23d8aa7a",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "a3cbce55d762f2ba582d612c0f3e926896459679c044bb0b51ac1b5036cc1b31",
+ "cold/source.json": "a69af58fc9b1455c472107c362facab7339b69980dacac567c374bace002791d",
+ "native/before/hierarchy.xml": "5a3809611b7d980e7ceb8f50e5e397dba137fa69796c508fdd7f1403c1b23d3e",
+ "native/before/notebook/Lifecycle.one": "8b3d9d06b32bf199d20721a4f34da3ba71496b7b56af90722f643c29ea4daaae",
+ "native/before/notebook/Open Notebook.onetoc2": "df9b18f81ead622a5d7e7c7e87fc6836319c3377392e0036ec727820039ca970",
+ "native/before/page-000.xml": "497fdef3254b4b9ecc63e06760c5a8cd2f311c429bb56f6b84c7d6ac31ba7cf4",
+ "native/before/page-001.xml": "5f0b4f845c9000fe588b8abc714642b93ed42931694a19c44c82b439ec23ce01",
+ "native/before/page-002.xml": "3c6d0868fc52132a99ac94e005cf5e7e78736c6565d7d5b963ea50cdd4e82ac9",
+ "native/before/page-003.xml": "d39f334567b586c09dfdc0ed3ab9dfec46fcab6126ec2cd40b84a826b1584140",
+ "native/before/page-004.xml": "d8dc448fb937fcc7bbe8ed0be1e4016eb1ca1f12299841782dfe5099034a1088",
+ "native/before/page-005.xml": "e023e8554482dcdad45467b2fef516175e7a24dd4f645796c93fe286063836fb",
+ "native/before/page-006.xml": "3dcd2f01a8f41b84277d98fea669844191977fbd9d729da2e9ebf205019afb81",
+ "native/before/page-007.xml": "448774433b7303766dc802f5195f30921a2a245a0db2a5c9260fcd4e37a429ae",
+ "native/before/page-008.xml": "c9c7344451c8650012d45d3d49d706b5c0ceb648b0c712860a9601e3448f2997",
+ "native/before/reopened-hierarchy.xml": "a876b4c35a09c0dd39e995c7df6f96f58384d5a4c013961802066e18867fd6b3",
+ "native/after/hierarchy.xml": "efefe742d15117ae4b15d487e828d8399428cdf51025f10089187db222581f61",
+ "native/after/notebook/Lifecycle.one": "55fa2a34858d5bd2245063440604eae944f078542f98bb8b62ba17edb908ff72",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "c24a74b1d443bd89755161c244d79f1c506e8bf31ecbd925c0b90c21ad357c08",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "e88a7dcc0b237e027301fb6e3f162a8ca855b1891d2c4c5ad2e6a272f65ef0d4",
+ "native/after/notebook/Open Notebook.onetoc2": "96d65fcfdd627c29394ed12fd6e21d0c013e0b42b3d8fa38e2b84c11d3bcd3d0",
+ "native/after/page-000.xml": "1f6812c479ffd426a7f1ac0739a91daed4b4565c6e097f38bd86d8aaee56462f",
+ "native/after/page-001.xml": "7f59a958e0ca649c74aaa0c5016c1f36fd1476d9b10a5fde22858671e324a36d",
+ "native/after/page-002.xml": "bb40c0e9b1f6cd1ccf4656f4a90b4cad264d196c3acf63c365ca9c98d320cee6",
+ "native/after/page-003.xml": "a2396726b6f9aa05b9cbd63a8298f1de1b0fbfd04caabfbed90c8614007b967f",
+ "native/after/page-004.xml": "4dd02cd66cb039ad8d45c91ced7650b6cb19959943870d09b73ff96789316add",
+ "native/after/page-005.xml": "14205cf1f661b5f157a9f35e2e966982fda21c60da2fc0e2595720e656f288aa",
+ "native/after/reopened-hierarchy.xml": "9e59939737d010f30f7dd560de740fb01b9823718eef88cf953d17526dfbd1da",
+ "native/before-read/environment.json": "70295b1671dd6cb9b4301ac9709ef252a060902afe158b7949b95a9a50a44e30",
+ "native/before-read/hierarchy.xml": "8f9df9d7841522b075a9c07329020c5e797396ade159f709a37b241b23e4d2ff",
+ "native/before-read/page-000.xml": "d39f334567b586c09dfdc0ed3ab9dfec46fcab6126ec2cd40b84a826b1584140",
+ "native/before-read/page-001.xml": "e023e8554482dcdad45467b2fef516175e7a24dd4f645796c93fe286063836fb",
+ "native/before-read/page-002.xml": "3c6d0868fc52132a99ac94e005cf5e7e78736c6565d7d5b963ea50cdd4e82ac9",
+ "native/before-read/page-003.xml": "5f0b4f845c9000fe588b8abc714642b93ed42931694a19c44c82b439ec23ce01",
+ "native/before-read/page-004.xml": "d8dc448fb937fcc7bbe8ed0be1e4016eb1ca1f12299841782dfe5099034a1088",
+ "native/before-read/page-005.xml": "497fdef3254b4b9ecc63e06760c5a8cd2f311c429bb56f6b84c7d6ac31ba7cf4",
+ "native/before-read/page-006.xml": "448774433b7303766dc802f5195f30921a2a245a0db2a5c9260fcd4e37a429ae",
+ "native/before-read/page-007.xml": "c9c7344451c8650012d45d3d49d706b5c0ceb648b0c712860a9601e3448f2997",
+ "native/before-read/page-008.xml": "3dcd2f01a8f41b84277d98fea669844191977fbd9d729da2e9ebf205019afb81",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "45e9bb97779f9ea6b3f9dfc8cab850b9fd990c5790f06e49fd1e264efd0cd4b2",
+ "native/read/hierarchy.xml": "e5643a0c0312affa3c66d5e0d7c0728989341e63764ee39d0ab1a5597edc6722",
+ "native/read/page-000.xml": "9884de130006fc87109a83f6ca6cd9655dbc0b1f406d4f0a9c3f016cfe442945",
+ "native/read/page-001.xml": "69a4f67634372363a7f4ee48d1a371f63b139268eaa6ff1ff73182bd5c2fa0a4",
+ "native/read/page-002.xml": "ef33d91ef0cb89c61f39f2f8249a68937911405678067230c910657b48d02869",
+ "native/read/page-003.xml": "b85d0d8348ce4d49649fdf8ae1103e95b68260d5bc209236f1ff55536f9ba868",
+ "native/read/page-004.xml": "ad3f08a137d8bbd0bd5fd85163cedcc91e0e16aff4f1dae1396fba7a36a961e8",
+ "native/read/page-005.xml": "59d6db0252dfa458b3554ab2917eff386a9053370ed7f81a1a1f1e13afbf3f3e",
+ "native/read/page-006.xml": "90c1f63fa737eda583a55005819614ce514f970d731a430515919bec2d1eb2c9",
+ "native/read/page-007.xml": "712ecb0f21adf98aa5067d138478dbec77e656983a7b1e0f9c9d1ca772d8b15f",
+ "native/read/page-008.xml": "cb1df56a118e987c4045983f56a8eb568e4ca70b93df39b78dbe02a9d2038765",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "55fa2a34858d5bd2245063440604eae944f078542f98bb8b62ba17edb908ff72",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "c24a74b1d443bd89755161c244d79f1c506e8bf31ecbd925c0b90c21ad357c08",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "e88a7dcc0b237e027301fb6e3f162a8ca855b1891d2c4c5ad2e6a272f65ef0d4",
+ "cold/notebook/Open Notebook.onetoc2": "96d65fcfdd627c29394ed12fd6e21d0c013e0b42b3d8fa38e2b84c11d3bcd3d0",
+ "cold/read/environment.json": "f0ca023128254f1d99024c943ff3c1e90e2d2f3d295230b4fad1bf78e971b263",
+ "cold/read/hierarchy.xml": "eff4128b3d21e0c910f6945550b43ca9eddb13ff1f1717d62e15ef2ecb1d1f0d",
+ "cold/read/page-000.xml": "9aa621efed997dbb6174d4f616e16ee7da8846de6596d7005bd13f43ec723af6",
+ "cold/read/page-001.xml": "d20392f7669db62a4cf4c0549cd4d7d98ac973c69adc64bc3b1869a63a5f437a",
+ "cold/read/page-002.xml": "3339553b5f06bb9bbfc9bcc95ff1ace86c3ba840baaf6ed07a31c710a002c895",
+ "cold/read/page-003.xml": "149a35b946186909c57953ec1000197ff0b468ca67c24a50dc8059f3a9063ad6",
+ "cold/read/page-004.xml": "02f854ace9ad4228778f571b783b2976f14b33a91a6a912fb0958a3ca4aab993",
+ "cold/read/page-005.xml": "9e2562a940ae45ea74c27ef87e425e0b260c4c1449d4024af2f2cfaf7b8427f0",
+ "cold/read/page-006.xml": "b1e2af01ca6b9635b4020ca4b52ce747317ab946d103cfb9994954ef6796051e",
+ "cold/read/page-007.xml": "c7f758f4754408feda200de620153207bae11cb06f18de028b22d171df2a13af",
+ "cold/read/page-008.xml": "eced10e05c397a1fadbac4f3dc15d4d9d051cd2bfbe21df22afc19f656f82cb1",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "d6a1c51aa2c8cceaf6e3f536073524d07acdb35da7e599754c9d040d0b92aaf4"
+ }
+ },
+ "leading-group": {
+ "evidence": "evidence/m10/page-removal-matrix-01/leading-group",
+ "request": {
+ "case": "leading-group",
+ "selected": [
+ 0,
+ 1
+ ],
+ "permanent": false,
+ "expected_pages": 9
+ },
+ "sha256": {
+ "removal.json": "eaf239417366b5e3aedf98ab61323a9ce774e8003056d0818267d2bbb6b62c32",
+ "native/machine.json": "f70044d4d2790f1e3bc220767bd636ef6302a6e0886a5982bec27758846b2970",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "0802aa2560ef14f047120c11b90e819fb18fa1912d072e8a2ec0b48f2a49fe7c",
+ "native/source.json": "fccaec56d40e377f951540f060ac3073c0ec3f1f4fca2c6bc6f915f6230c1e39",
+ "cold/machine.json": "34ec77ab8ea851ac673fb096a81c8faa9bd26181ca79d7c453a097dfa81b7fb4",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "161aa55f8945a3bca7a8f4175d6890c0bc654c579c284613198f157047b72cc2",
+ "cold/source.json": "633d4a519af08d613a29e89ec4c5919375f5421292bb9382fbd88d7d1164df63",
+ "native/before/hierarchy.xml": "252a47eadf0e37fe909b782ea68d61a7707629b1b02ef109ecff41d380734aca",
+ "native/before/notebook/Lifecycle.one": "dd98acf37003f49a13a6964624d51d3ab6b9ccce39a6d0ab308f5f2f1d4083b3",
+ "native/before/notebook/Open Notebook.onetoc2": "2f313ef6e2d56ad899050bf0482f902f8bf1a52ddf401854d176eb2681d58180",
+ "native/before/page-000.xml": "c3c1976fd6f2e254e958c1a92e642485b20c8ce9cd9bab80d9d6d2f7cb5ba37f",
+ "native/before/page-001.xml": "e6b4ad636b274b0e02779ae932e758f41bb9863a77cc485cd6a5eb6ca5f189e8",
+ "native/before/page-002.xml": "db83606886f5ee6628b6aabc52c02107026abdf8c922e2e3b0c3b7d8beb06e92",
+ "native/before/page-003.xml": "11c02d1ceb73a95a5251d8e907cf9581dd3d1f68aaeb32b1d572a28d42139fb4",
+ "native/before/page-004.xml": "82bcfd1364d03654d33f816e4b81d6e6a2f99d0e23c23ab2672364ca2b2aa65e",
+ "native/before/page-005.xml": "3e60ff5e0b1d806f7c2c81073326eaaa17648c6f9ce35ce7b144bf16461a2851",
+ "native/before/page-006.xml": "15204e12fe54c5b16e187190ab92da2168be2b9dd8b6c144e68df68241c52fe9",
+ "native/before/page-007.xml": "ebc3ad1e8efa370ad0609846f7cec10a7ad229cfd678475544268832fec52686",
+ "native/before/page-008.xml": "b86b7268dbf3ab99ae17d26de802127037a3601e1b4828f1d99d6e9c73b3a19b",
+ "native/before/reopened-hierarchy.xml": "920b23f018962f7ee5e712c03a16d805a4e8cb716f1d5bbe5b1193e90ebe7df6",
+ "native/after/hierarchy.xml": "b5f1c9c0047d4646b9f22bdc0e94973d55f0442381f6c1e50090f2856a8def2a",
+ "native/after/notebook/Lifecycle.one": "e39020116e8071b377636330bbda7bcc09ca50b1859b48b2005eb0a21032532d",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "f7be113d2ab0fa848c7226a5dcb5697171a9a620689c9c716ddbb069eb17baec",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "ddd77ee59464c16160a359aa06970b7548787d195a5e502812469c707c66266a",
+ "native/after/notebook/Open Notebook.onetoc2": "b0b2cdd4d476507211c91a7e9cfacb3a4f399119983a538e835b2754bf13f588",
+ "native/after/page-000.xml": "3814279d45591bb7c5b06dadfdf49cc9efa87a9f843fea1849a3e2c872ee935e",
+ "native/after/page-001.xml": "a1c494d5b38881a3c5332925473dc1e155fa0b9b448e99f700846708c507b405",
+ "native/after/page-002.xml": "26207f517ba07a8f08e14df8cd131f14f08fe1dbe81cb179a7f6aca9bad201f3",
+ "native/after/page-003.xml": "6a0af40420b5c90d3684312e83767b11fe67c358086c0270a8787ad2fc383ee6",
+ "native/after/page-004.xml": "5709627e1a52cbe4ea42ffe07f9f806c17e6f0075bca972037311f6024136f45",
+ "native/after/page-005.xml": "ae56330125c4e7d7012f90ee699947ee0c7614adedf9f5901bcfca501caba589",
+ "native/after/page-006.xml": "e04db7d0ac8a328155caed1886be6f2ce7e5c7c44314d79b671f8094398cdfe6",
+ "native/after/reopened-hierarchy.xml": "678efb25775c609b29eaea985e7158f7b991ae5201e7007e5dc88b089316c61c",
+ "native/before-read/environment.json": "c6585e713857f9052ae457c0fb91c03704e3c4990333e03fadc100c7642b9288",
+ "native/before-read/hierarchy.xml": "2f1886b412241db0798917f7bac7e4ae00c735ff04a75fd0b7c2bcbadb063b61",
+ "native/before-read/page-000.xml": "ebc3ad1e8efa370ad0609846f7cec10a7ad229cfd678475544268832fec52686",
+ "native/before-read/page-001.xml": "3e60ff5e0b1d806f7c2c81073326eaaa17648c6f9ce35ce7b144bf16461a2851",
+ "native/before-read/page-002.xml": "15204e12fe54c5b16e187190ab92da2168be2b9dd8b6c144e68df68241c52fe9",
+ "native/before-read/page-003.xml": "db83606886f5ee6628b6aabc52c02107026abdf8c922e2e3b0c3b7d8beb06e92",
+ "native/before-read/page-004.xml": "c3c1976fd6f2e254e958c1a92e642485b20c8ce9cd9bab80d9d6d2f7cb5ba37f",
+ "native/before-read/page-005.xml": "11c02d1ceb73a95a5251d8e907cf9581dd3d1f68aaeb32b1d572a28d42139fb4",
+ "native/before-read/page-006.xml": "e6b4ad636b274b0e02779ae932e758f41bb9863a77cc485cd6a5eb6ca5f189e8",
+ "native/before-read/page-007.xml": "b86b7268dbf3ab99ae17d26de802127037a3601e1b4828f1d99d6e9c73b3a19b",
+ "native/before-read/page-008.xml": "82bcfd1364d03654d33f816e4b81d6e6a2f99d0e23c23ab2672364ca2b2aa65e",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "e55633d205c4720cb564528d1384d0686ae46210d624917cdfa09cace70b2ad6",
+ "native/read/hierarchy.xml": "2bb19d124a57c58c057d5b5c05a7f4dce02ac6e629043bfe86f1d46c77904934",
+ "native/read/page-000.xml": "a6d1f53ab7a8350af7d5e2e95e615acf6ae8b94825ca18690f3f61fbed1fe918",
+ "native/read/page-001.xml": "13342380eb9e9d7d4cd658e6dc2e82b9baa5c1492f25167ea1a5ab16d8461004",
+ "native/read/page-002.xml": "e6b7f8fc2d6370b6eb832d88f9569929222654b246c948e0cc966c9fadfa6fbc",
+ "native/read/page-003.xml": "c97615c77e5109adcabc286d39b04594b9c3f70c01a54807dcb454e07b84d113",
+ "native/read/page-004.xml": "b5e359886afcb9bf9711d12e066a45e77fcc8bab2e73cdde80672866409fb742",
+ "native/read/page-005.xml": "8cc7d3c4c0b94b4689d6028a100575630ba736913d4ba34d1501a02c970acac1",
+ "native/read/page-006.xml": "15e6f1463363e1f659179fdfd722ded48ff5daa38f10be53b239902d13de95e6",
+ "native/read/page-007.xml": "c98529f068eccf26ef196f6c48b7921f5cb8bf046ee7aabf5773410695093212",
+ "native/read/page-008.xml": "4afb7425c1952bab218d2b2cf247d47cc39e8d31c91037f3626df3d3e9fa6875",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "e39020116e8071b377636330bbda7bcc09ca50b1859b48b2005eb0a21032532d",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "f7be113d2ab0fa848c7226a5dcb5697171a9a620689c9c716ddbb069eb17baec",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "ddd77ee59464c16160a359aa06970b7548787d195a5e502812469c707c66266a",
+ "cold/notebook/Open Notebook.onetoc2": "b0b2cdd4d476507211c91a7e9cfacb3a4f399119983a538e835b2754bf13f588",
+ "cold/read/environment.json": "ef014d78a39d94704950e6fcb0acc24982f7f9c5481e49538d909cb95e97cfb4",
+ "cold/read/hierarchy.xml": "b69b3e3f94fc0ffcf28531b42543b0415ce684a54fc792793fb44834da255e28",
+ "cold/read/page-000.xml": "20b8249b5f1c1cf8372b96aecacfc4d7f2bc76a8eb077a5d9922a901262e4a5e",
+ "cold/read/page-001.xml": "2883131987952f6439e5d4e8ab532cb49c305362220c2633cb691cf945673ecf",
+ "cold/read/page-002.xml": "c102cc70f8a6ea2d406142191e92fe1ef01c27a48236744e1a9277e8f116f88c",
+ "cold/read/page-003.xml": "c2e4cd1617bbb0f7c4d06ac1d59274d300703c7d8a670ee31396f5067f0be83d",
+ "cold/read/page-004.xml": "91d7bfb6d35c1ba0f5772e0dbe4a96df6955f5d68ab000bb563407f7b9ee6aaa",
+ "cold/read/page-005.xml": "59125dd8b735d7980bc871f731b12e1642de9c2bace057685614a04a497fcb2d",
+ "cold/read/page-006.xml": "bf3b00e41b3b62f6db7bf928a872f0537848153d79536f42138161c1309742b4",
+ "cold/read/page-007.xml": "e5e91b3c725a5b365458901cd890558dd0e75a6b8cad85bbe38ff9680f3bd4f4",
+ "cold/read/page-008.xml": "23604170b884d5cb357b96cdfcb97ed69ac6aab7661dd2d8ea46be66cf4c7e86",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "e389562d14de9066b3a2a8f43164d26d8a196dec4ed206154329c743a75ee7af"
+ }
+ },
+ "parent": {
+ "evidence": "evidence/m10/page-removal-matrix-01/parent",
+ "request": {
+ "case": "parent",
+ "selected": [
+ 3
+ ],
+ "permanent": false
+ },
+ "sha256": {
+ "removal.json": "ff1776857fa8eea402ec9b1627ce19ba1d3972dea6d177a15335597d5bb5b787",
+ "native/machine.json": "a815f72a16783c7a6fd40ce478ef4484f6996e925a4d71c7faaa29e3c201d133",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "9f3878cb0de3206b942ac0d32f005af3d9750ec39cd3dc6f4c618f0f7bdeebf9",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "a326ccfb78bdd122f4bcee610448dad163555089cfcd69f729ff55ab419115c5",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "4e2f391062b078d2b839508674e8095165d92b359f5fbf7aecf55660814c8766",
+ "cold/source.json": "168f2b114d7a8f8c5ec3c459fa34f85a4e4b5dbd2319e679a031851839fe0a2e",
+ "native/before/hierarchy.xml": "1c14c477602936c4be7c8c189389bf3ad1f2e531cc6130ccc0e265134e0b6f98",
+ "native/before/notebook/Lifecycle.one": "30637d6672fe75c6c382dcbe899a15a10510c353852192bb1dd7756b82c96975",
+ "native/before/notebook/Open Notebook.onetoc2": "a0530a11d189eaf6c64273f6997ca3a2e953ab911798993420b872794d1d3cbc",
+ "native/before/page-000.xml": "d5e10432b60b85bf39b07ebcbf7bbd204962131c743c5227473e2d5a60acaa5f",
+ "native/before/page-001.xml": "9913318ac99d4e0a613860851a428ae805100bbee37c878f424c186bd95c0a04",
+ "native/before/page-002.xml": "04f45ec3994bf2faa7a5bdb3189c88bcd86dd787fc884e0b22492abb49c38a2a",
+ "native/before/page-003.xml": "69275e2ba8b001671ede02961d9cde7bbb6627898d7791aefa12b5806e871fd5",
+ "native/before/page-004.xml": "068b88d34da4e83b21460953cd728ab6d3ce0e0eea980fbae9b2670e442caea0",
+ "native/before/page-005.xml": "38ca538187fdd94f2dadd017c0e421975b5dd7dedc6f8725d2d1fac5694a7c42",
+ "native/before/page-006.xml": "74d7b4becacc0374e99138aaca220f326ae01d2d3c3ff1a4b788ebc9744a1d91",
+ "native/before/page-007.xml": "b6e43e02bc7bad669fc4500844e4c2f5ac5fb97e21c56e88cbf6debe229eadc8",
+ "native/before/page-008.xml": "accf51486ff9d28b33679dcdfc8c1b3b777d8421c83258708707078d58ded050",
+ "native/before/reopened-hierarchy.xml": "3ea5b6d7746f25b0eda678070f648dcc96d70483f2e31b54a8eae1ee02729c3b",
+ "native/after/hierarchy.xml": "54bea181eceff58dc43a42e458e5b6747a091f0ad8f61b61f3589fa1e4a7e0b3",
+ "native/after/notebook/Lifecycle.one": "371508c4e1cb3719d6250c8d0d88cc512c8e0598814d1cf2bd9ddc4a825716cc",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "685225ccb09a03d3c1e376ccfc44aebd20cd1af605082cedaed89d3a370a05b6",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "6773508cbbfa23dd47c9155fdbf772d8d58613f75874b55ebba5c10e4f9f4c7b",
+ "native/after/notebook/Open Notebook.onetoc2": "40a063df1dc40135dc24c220357f84384e7e400f8578224a36828867b42dfec8",
+ "native/after/page-000.xml": "a4cebfab9498d49ebadd6bbaf2550b30db0f903cab9e73d6d5718f83ef993a08",
+ "native/after/page-001.xml": "2d599908741872de69ba4df166b0227041678618a97481008f1cdad33f2ebb0d",
+ "native/after/page-002.xml": "875fce306b4aa4f8950425949805440b17719def9fa8155fc9e2961794178b07",
+ "native/after/page-003.xml": "cb05b05fcdd9b4b48028f2785a65c05e20682afa8d73f74c5aa3c23bcaf8d7f8",
+ "native/after/page-004.xml": "00c05372bab05ff45352c866d1c62449abf980c47d3a8c389b9d950b25b0b9fb",
+ "native/after/page-005.xml": "285405ed89efac09860057dbad28caeaf1654808a9b5301daf9b074b7e005cc6",
+ "native/after/page-006.xml": "5dd9166200fa31bcdf5a03b31d7f1aab9e0b1a5b690c9bce7f7d0eb947ae081a",
+ "native/after/page-007.xml": "a98359b837faf8198b1691f7c1fe6aecaa8c3da77f27a1539e7d04597efc5bd4",
+ "native/after/reopened-hierarchy.xml": "066290a83dbf59a0a23a10670eea04d4d8b561ed9b3074c3a8c1cd55cff86912",
+ "native/before-read/environment.json": "3ab2539292b261f2df6a7792aada3570860e86b54d94d2d6794b05ee9b07c906",
+ "native/before-read/hierarchy.xml": "27691d7864f8818fa626303771b69f28fa1f6956220ceb4647bbeb5dbc902692",
+ "native/before-read/page-000.xml": "b6e43e02bc7bad669fc4500844e4c2f5ac5fb97e21c56e88cbf6debe229eadc8",
+ "native/before-read/page-001.xml": "accf51486ff9d28b33679dcdfc8c1b3b777d8421c83258708707078d58ded050",
+ "native/before-read/page-002.xml": "74d7b4becacc0374e99138aaca220f326ae01d2d3c3ff1a4b788ebc9744a1d91",
+ "native/before-read/page-003.xml": "9913318ac99d4e0a613860851a428ae805100bbee37c878f424c186bd95c0a04",
+ "native/before-read/page-004.xml": "69275e2ba8b001671ede02961d9cde7bbb6627898d7791aefa12b5806e871fd5",
+ "native/before-read/page-005.xml": "38ca538187fdd94f2dadd017c0e421975b5dd7dedc6f8725d2d1fac5694a7c42",
+ "native/before-read/page-006.xml": "04f45ec3994bf2faa7a5bdb3189c88bcd86dd787fc884e0b22492abb49c38a2a",
+ "native/before-read/page-007.xml": "d5e10432b60b85bf39b07ebcbf7bbd204962131c743c5227473e2d5a60acaa5f",
+ "native/before-read/page-008.xml": "068b88d34da4e83b21460953cd728ab6d3ce0e0eea980fbae9b2670e442caea0",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "17661c26d1aa6056f1cf97a3942f82032d02a95fb080f17d466c9d441a8c346e",
+ "native/read/hierarchy.xml": "b9098aedfb72b25ed8335c64a4c06e585cc01bdc27de77580a5e69e9e42c212b",
+ "native/read/page-000.xml": "689dff18583193b93dcf710c5b064d2b8c346c89f0c6eb054f38913643cd1d73",
+ "native/read/page-001.xml": "488c31216f2becabdd005d166c0974b6d353fc2acb88b3fba92e2de693659fd9",
+ "native/read/page-002.xml": "beee94fad8d70f5e9b7e7a774afa1ffdd13571628dc115b9cbed8662fff95b71",
+ "native/read/page-003.xml": "65364e6a65b36854aedda1330840e0b4a074114fdb0d4ba66ed871a76e52e373",
+ "native/read/page-004.xml": "0e1199ac7009592fbbb02978d3d7d3c4c6b93f68a992a54984a2060b4e5e0730",
+ "native/read/page-005.xml": "8a0ffdb352c30b24095aa57827f5eda65a10da0e5600ca80a7dd4b3d30259217",
+ "native/read/page-006.xml": "ea707e5e3e9fe4b5906df664b59eec1df5206ebd96211fd2825177aadda7fa18",
+ "native/read/page-007.xml": "427c68899b8fe95d1c96064d7d3c9b2f7b4c7e057527ab202356b034e2421edc",
+ "native/read/page-008.xml": "42fb4705526679dcafc0dfced846319caa5217b4296b41b49d311743afe2bbdb",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "b61fd70c3047910d381f2e2678d87c6ff394f3ac2be88f5a7a6aa89f254913c9",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "371508c4e1cb3719d6250c8d0d88cc512c8e0598814d1cf2bd9ddc4a825716cc",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "685225ccb09a03d3c1e376ccfc44aebd20cd1af605082cedaed89d3a370a05b6",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "6773508cbbfa23dd47c9155fdbf772d8d58613f75874b55ebba5c10e4f9f4c7b",
+ "cold/notebook/Open Notebook.onetoc2": "40a063df1dc40135dc24c220357f84384e7e400f8578224a36828867b42dfec8",
+ "cold/read/environment.json": "a6206dedd49656dfe158adec6a5b80bdc754cabc2b7518c0d7b7f34fbb32b82f",
+ "cold/read/hierarchy.xml": "0aa7fbb61805d6c8a40e53aedb913fa5b6fb857bb666ebba598add7b0843d50f",
+ "cold/read/page-000.xml": "a1b4e5afabdfe0390601625604737d601c4f4859369e9afff494c1dd24326e4d",
+ "cold/read/page-001.xml": "aca3f60bd52343614f436cde5f2758940481cf834c1468f3771fe580667614fc",
+ "cold/read/page-002.xml": "a2b763c032e2bce71861d36915ea932216cce2ec53332bd23dd0ec49497fdf1c",
+ "cold/read/page-003.xml": "15b5e12292ef50b4f01f51b6a8bba12eda11131fb5f23bcfb3ef01232d256bd1",
+ "cold/read/page-004.xml": "285102a167da482dcd079bb24839a5da71487ecc4803780bc67887310cf2a48d",
+ "cold/read/page-005.xml": "9bbafec621411ce6909f73dc351e4aa8098306accd171eef5b11e690edb91b68",
+ "cold/read/page-006.xml": "eb3abd819f0141bfef158f9f11c8ecf62c1097dbeb19a7d0a1ea3f696feb115e",
+ "cold/read/page-007.xml": "b0e3985db4c5d595e7aca20085e2ee7027f0b82d527522d732d7a911cd079a43",
+ "cold/read/page-008.xml": "96161a1b08ce3cfc77dd2d504a04bc631793b21651839d0e6f5d6417c29e3732",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "7f1541b4805c9a9c026783998126dd7c9d2ce3a284c43ca405e1c850e4ae1f05",
+ "native/removed-ids.json": "56d82e361c9641f6d3c41d36bcc2f86ad708ca917471d465b17606fbca4082e6"
+ }
+ },
+ "permanent-parent": {
+ "evidence": "evidence/m10/page-removal-matrix-01/permanent-parent",
+ "request": {
+ "case": "permanent-parent",
+ "selected": [
+ 3
+ ],
+ "permanent": true,
+ "expected_pages": 9
+ },
+ "sha256": {
+ "removal.json": "1988eb3bebc88aae67c07d9d816491a620b9baf2c8d8c60f834fdafecd2d72ab",
+ "native/machine.json": "e7531ae2666d8182369749ec29b08d08fce7b5926c70e04094fbdd63dff08320",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "c12a4108c383cf4ab569d2af7714ce201ee9d4e2f14c26cf28df2446f9299a09",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "3e79eb92a477c13f57d94aa0a9b9ce10a287c56fc17932648e30070da6b66805",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "196da5d36c230d9d38af11d374bbc13eebaaf4c6840903472038f3030310cf1b",
+ "cold/source.json": "579de64745bd8040e328185e96ac3c5ca108834a552d16a2bf27b74369241f1a",
+ "native/before/hierarchy.xml": "32b63ad2fd054a2a0228958fa995b44d22f49b4cc87adb01cfd0159b773f13a5",
+ "native/before/notebook/Lifecycle.one": "850efa6af2dd68186880938b5e9850dbb49e513106fd576190cf2e0776f5842a",
+ "native/before/notebook/Open Notebook.onetoc2": "cfdc63ea9e3ce088087a5c030ad214e30ec6c47da2db476ea3f7008fbf32e77d",
+ "native/before/page-000.xml": "2e78d3abc3244feb1b433ee67accaf6fb5f06302f328b3f506f8b6cc33708b3d",
+ "native/before/page-001.xml": "e20db1a78061266e25eb2075f74c33125f93de06bc6ece7e2107255eaf3fe2a1",
+ "native/before/page-002.xml": "633d5bf12f67235569755c1ed500f86d1cc876ba90cbf3413c9d6c341b1b689c",
+ "native/before/page-003.xml": "623fa863b3d02c8771b8cd10ceee0df4e51b9b38eee49533d48831611aa493dc",
+ "native/before/page-004.xml": "ed8822c13f684c2f9de6cfe68bdd70d6bdf88ce3cf72c20d926f207c71bddb24",
+ "native/before/page-005.xml": "620c410f35b1d21d74e0cf03ff6f2402b12137d98d9065397bf2c3774f40f73c",
+ "native/before/page-006.xml": "b94594bffcb3047ee573dd0cfe37310eac783ee29926ff5ad135ff486b4abb88",
+ "native/before/page-007.xml": "6e6641e23f4cd1484fa6a0d28f074c83c97a116458f16ef7372f23d648700886",
+ "native/before/page-008.xml": "4a0d20d0232ddffe64330072a1b4a49cb29e3d6b225400f837fe83933bb34ab2",
+ "native/before/reopened-hierarchy.xml": "c8dada60f553dcd253a15cd14bb8ec16e4df8ae42e3c85767965a37eb67caf83",
+ "native/after/hierarchy.xml": "0b199bafacc6d191af4201e3c9864d2642f26724a33442581de5764fc6ffa99f",
+ "native/after/notebook/Lifecycle.one": "439eda940f48b7e8e1b79c1a4b578951088ae79829c5b36c110207bacf037638",
+ "native/after/notebook/Open Notebook.onetoc2": "cfdc63ea9e3ce088087a5c030ad214e30ec6c47da2db476ea3f7008fbf32e77d",
+ "native/after/page-000.xml": "02385f826f290335b6c9343b8516c07d1ead1e57cd90920f77956b771cf5ca23",
+ "native/after/page-001.xml": "b03c53d29f3a1948bcf1d6e2eeee58ed8ed78031403153850e5cb92381cf789e",
+ "native/after/page-002.xml": "6ea8f8d5c5185003288c10930abf523c41ae8b478668816e2ee7bf15b81cc569",
+ "native/after/page-003.xml": "12d8f147121c697a30f6a975f404d44a68dbcdb5d4bde6e9de0b2cdfc969f6ce",
+ "native/after/page-004.xml": "5c329652badc037b90debd9a3195e4844db95f5675a08b3788963d5b31795214",
+ "native/after/page-005.xml": "bc53d7342f88c6b255f1be5c1bda8187bff52e2b339ed5ca54454c5c6cd58ff6",
+ "native/after/page-006.xml": "de9f23178540e044446d6a3c7053db96e2fffa99518b6de91d18d2aa5cc5aacf",
+ "native/after/page-007.xml": "1600ee64183a5254f16086e82d8c83d1d65df75809711300ef14b36f6bf39716",
+ "native/after/reopened-hierarchy.xml": "4dcdff692f602dffc922f600638ddc80fc39bdd1d532595d40e891a2ee853612",
+ "native/before-read/environment.json": "aa9117ba49c89174725bfe23b9454ebdd614b94627ed2668adab2efc2d337a80",
+ "native/before-read/hierarchy.xml": "765d31a2cf1c00c1c0ec562394ae013025e4750e077459c038892560958e3bc9",
+ "native/before-read/page-000.xml": "6e6641e23f4cd1484fa6a0d28f074c83c97a116458f16ef7372f23d648700886",
+ "native/before-read/page-001.xml": "b94594bffcb3047ee573dd0cfe37310eac783ee29926ff5ad135ff486b4abb88",
+ "native/before-read/page-002.xml": "4a0d20d0232ddffe64330072a1b4a49cb29e3d6b225400f837fe83933bb34ab2",
+ "native/before-read/page-003.xml": "633d5bf12f67235569755c1ed500f86d1cc876ba90cbf3413c9d6c341b1b689c",
+ "native/before-read/page-004.xml": "620c410f35b1d21d74e0cf03ff6f2402b12137d98d9065397bf2c3774f40f73c",
+ "native/before-read/page-005.xml": "623fa863b3d02c8771b8cd10ceee0df4e51b9b38eee49533d48831611aa493dc",
+ "native/before-read/page-006.xml": "e20db1a78061266e25eb2075f74c33125f93de06bc6ece7e2107255eaf3fe2a1",
+ "native/before-read/page-007.xml": "ed8822c13f684c2f9de6cfe68bdd70d6bdf88ce3cf72c20d926f207c71bddb24",
+ "native/before-read/page-008.xml": "2e78d3abc3244feb1b433ee67accaf6fb5f06302f328b3f506f8b6cc33708b3d",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "f2def84df76fbe02c53f1a1b7ff80a923562301e0d293db11a6addc2da8bb192",
+ "native/read/hierarchy.xml": "dfcb17210f559f7252b61bd2caa096acbc6f14d7e083c35cc945d6884eec7c24",
+ "native/read/page-000.xml": "2f384b5527ad25e2412b72f747f78bbc2963a67bee54b63439c6c38088218121",
+ "native/read/page-001.xml": "98273e4122b81382b2ee6bb3c9493b31e8181125c0c9ebea53e5001e4ad03c87",
+ "native/read/page-002.xml": "d40c44b411266247b354f801eaa61fc4303b11e01f95250732343ee361de291c",
+ "native/read/page-003.xml": "37d9986921cb6cbc4e6d1897cf0d4b7693573a5f4ab8b3dd5873aa42c3c91dfb",
+ "native/read/page-004.xml": "3a42b5b307ea91d8638218ad7258d62a4ab750678cf3fc53bc84791a84df3841",
+ "native/read/page-005.xml": "e8a5b5f1667fd0f3d313adfcc8c6c1a329f19c97938ac6810e03563bbd727cf0",
+ "native/read/page-006.xml": "778a774c9812c32716019d0edc607d59cfe4c26fc16ad40eaa426e2f723a3873",
+ "native/read/page-007.xml": "157c1eea28f6934b9269af40f01d63ebb107ee09c0942b88915f24e56ec31a64",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "439eda940f48b7e8e1b79c1a4b578951088ae79829c5b36c110207bacf037638",
+ "cold/notebook/Open Notebook.onetoc2": "cfdc63ea9e3ce088087a5c030ad214e30ec6c47da2db476ea3f7008fbf32e77d",
+ "cold/read/environment.json": "48235d6356962145d7392ae2c85af57ae1db11b103b28743174b67e57a8b34c9",
+ "cold/read/hierarchy.xml": "501fdabb4b5a3088c1b75abb3a3834116e8bf268656fdefb99dc0bc7782fda99",
+ "cold/read/page-000.xml": "77060e90d3bfdf7f1d15be024946ca8445cb7f5c445d8763184b937f84538450",
+ "cold/read/page-001.xml": "d529c7885fd9914cf34d733ae96c0513ed775749299f36fb764a6e1488e3add9",
+ "cold/read/page-002.xml": "51de28528aa5c60c4d37d5b91934b3108b9378a6cfa9f1ba4f8c9a8ee956dc2a",
+ "cold/read/page-003.xml": "d772f938221e646ad64d7a8b14a60498440a46bd83d13b3635ed142349831501",
+ "cold/read/page-004.xml": "341492c7339f818d944dbad5d57d3790bc9a4874c81c12054db67ebd76c4389a",
+ "cold/read/page-005.xml": "d6465c025e43dc034e036c6e17f41f2e0d395cc5d4cb86ec1a7dd39e597c409e",
+ "cold/read/page-006.xml": "34d16e0bbb556df974ca3effc116ccf2b18f13ea85956b6df16da7233d3f9f60",
+ "cold/read/page-007.xml": "f2a4000401eabc54b6288127989e7a2460bd0f8a6fa93edd9b1cf55e68be2368",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "1a0e5ce74d4fa7b22d9f6ae69c63a5eacdc8a7bcdda9011c6f1c8677580e5eaa"
+ }
+ },
+ "trailing": {
+ "evidence": "evidence/m10/page-removal-matrix-01/trailing",
+ "request": {
+ "case": "trailing",
+ "selected": [
+ 8
+ ],
+ "permanent": false
+ },
+ "sha256": {
+ "removal.json": "158233f52576b5bacfca5e9ae93b820d99064d9180193a5ed3ee136726e472d0",
+ "native/machine.json": "7603436de598a10fdd0349328a774868d4b70c2bec1e989b79a046fc438ad572",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "e4968906c69b9c26d145a4a9de12c686706b2d1c63ef707a0874e137a39ce0ce",
+ "native/source.json": "a34f29aedb75417cca201a9d9cae862a85fd2895d61cb17d5ab9d2369e363d63",
+ "cold/machine.json": "e125c880aa0fdffd41d9b072b38bca89be7a669e7fbe2b31c709291a40b76bde",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "8c7bd4435b269a0e245303f47ffb78a3c222d3783401531246911c6d0ea28e93",
+ "cold/source.json": "75e3996b744caded422f135753f1874c3122853bfaecc86ff24b40220c2ba374",
+ "native/before/hierarchy.xml": "0ba388e8b06986d73624fd24e4852a2df177fdfd4e07996eaa285547d6590799",
+ "native/before/notebook/Lifecycle.one": "66f34975d75340ad4ad604946a54a760f5c679ed36ec472eac67e8366fe9a542",
+ "native/before/notebook/Open Notebook.onetoc2": "4eb03c8227b0ecdce9978308497aae85d7c83de04b61099d7ed81b7ee3ae0fbd",
+ "native/before/page-000.xml": "8622e7f1786db457cd70fb442f1f078aec4a500f6519381d52cd3818f1eab204",
+ "native/before/page-001.xml": "1e44ea4084a200d178a298926f492b2b6ad86feb5ac2afaacd57067a2b0548c8",
+ "native/before/page-002.xml": "7bfea4832c62bc14a6cf913488dc8e1a16a9710c7530dd2bc0e3f598045d7f16",
+ "native/before/page-003.xml": "7ff89b7cce71a14a1f974810a5527544dac74aa9ee162626cbc273290f175c07",
+ "native/before/page-004.xml": "22fcf1a77cbd13690e5b78c8ee8a2b79014149ff73dc23155fa98dde7eb6c797",
+ "native/before/page-005.xml": "d6d8323e909a554b5da5da55825c5f43394c71f40bad71275d833f01d469a6b5",
+ "native/before/page-006.xml": "493eeb92ac8938760ab5f91220a09fedbc4477a4e27c52ef36f100995e59b7a0",
+ "native/before/page-007.xml": "0646d5a2dbbcb85d3e7243e93b0d00c9873cadc4958d34573c62f30a718ba10c",
+ "native/before/page-008.xml": "36928eb44f5d6b004cd5194340a11aa84bec5d32df2374f45abe8a35f205ecd6",
+ "native/before/reopened-hierarchy.xml": "4f704046b5ac50830ba23d23b7a21c73757d83223c7a01346e8a009784f451f1",
+ "native/after/hierarchy.xml": "dea952bb8ccbf0b14ae046d3af0e369da3f2eef236c22d90e93ed3b96cf6dbed",
+ "native/after/notebook/Lifecycle.one": "4cd851305736afa8ba6bd5c0b40b43dba29598447c41bdf5abc2fd423519ebce",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "d2b9a9854506cb0439f73ce857c9147f083b75c1e299da3e9e41e87758cbf5ed",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "ee79ec37474942302a30423aed537027e7c365ddfb4bd5797706237de13aa267",
+ "native/after/notebook/Open Notebook.onetoc2": "b4a13e6f31a719f770635e4a67096db2fcbb4fb7ec754df7ca0923dbad242351",
+ "native/after/page-000.xml": "88502c0b9538fd50c960f75d9d785d375a03d74a7a8d03a291363b34c0e66829",
+ "native/after/page-001.xml": "fbcee0fe3d8ceeaaef662d780faff4abeaad2367227f1e6bf8edfb2af669455e",
+ "native/after/page-002.xml": "21432e1570131ea9cb20c7f0d228b6b70ee78b3c09e3588425e1d952013b65fa",
+ "native/after/page-003.xml": "d500feb23517ec9afeaa92955b15f19828a983e3710b237d9c6a4d514f75d62b",
+ "native/after/page-004.xml": "0ed535c2fd1041f5c109503ae8086ed31df079c3e04533c4133ea51564928ea5",
+ "native/after/page-005.xml": "fd58a1a1a07ee8a319436d3d83e1ae4b23df8a6da7d979a3d399a3a7fc9216e7",
+ "native/after/page-006.xml": "5fcbd8be41b3cecae76658a869227ca9ecfa55c45620a4671f1b501944c64be2",
+ "native/after/page-007.xml": "d98f504e9167b2bbbdb3dd2641eb0f9c5ecaa576863722a1f2c65f02853c3d34",
+ "native/after/reopened-hierarchy.xml": "ae1470513c69ce2357ef03d48439bee7aca3a2d904bae0c483dc7f41dfb38763",
+ "native/before-read/environment.json": "ebbfc0b902868c8accb0d7f19541d62984704b4adb4117444cbfcae389cbb963",
+ "native/before-read/hierarchy.xml": "cc631fab48bd7f99879b71ee5df19747743b73a93d1a64c1a7eb5b10d2ca4f25",
+ "native/before-read/page-000.xml": "8622e7f1786db457cd70fb442f1f078aec4a500f6519381d52cd3818f1eab204",
+ "native/before-read/page-001.xml": "22fcf1a77cbd13690e5b78c8ee8a2b79014149ff73dc23155fa98dde7eb6c797",
+ "native/before-read/page-002.xml": "1e44ea4084a200d178a298926f492b2b6ad86feb5ac2afaacd57067a2b0548c8",
+ "native/before-read/page-003.xml": "d6d8323e909a554b5da5da55825c5f43394c71f40bad71275d833f01d469a6b5",
+ "native/before-read/page-004.xml": "7ff89b7cce71a14a1f974810a5527544dac74aa9ee162626cbc273290f175c07",
+ "native/before-read/page-005.xml": "7bfea4832c62bc14a6cf913488dc8e1a16a9710c7530dd2bc0e3f598045d7f16",
+ "native/before-read/page-006.xml": "36928eb44f5d6b004cd5194340a11aa84bec5d32df2374f45abe8a35f205ecd6",
+ "native/before-read/page-007.xml": "493eeb92ac8938760ab5f91220a09fedbc4477a4e27c52ef36f100995e59b7a0",
+ "native/before-read/page-008.xml": "0646d5a2dbbcb85d3e7243e93b0d00c9873cadc4958d34573c62f30a718ba10c",
+ "native/before-read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/read/environment.json": "fc6ad874ea0bf75fafe60ae0c6be2598f23dbbfdc27f82c4b0889120bc7b99db",
+ "native/read/hierarchy.xml": "f361ec5bca78377701233b2fdd27fb16fd60cb2574d5902d6535e44f72c5893c",
+ "native/read/page-000.xml": "bcc864f9f130a69e28825e162f3b5c81124d976eec931345546e88857f88485c",
+ "native/read/page-001.xml": "5be191527a24372b523f027d86c15feb148036dcb799b585b6a30881c4040f05",
+ "native/read/page-002.xml": "b5f3483710e121fb4357219fc0572643ca965071b498aec274dd0aebace806c0",
+ "native/read/page-003.xml": "5bda3e5632ee01c2250a4fa9946e916c8f1911e738ee8bbebdef5dc3830b8c89",
+ "native/read/page-004.xml": "ccc718a8a6fb06b26fb3c77db3f033a1a982d6c913d0c3d237daba7d46f62139",
+ "native/read/page-005.xml": "cf9432cc124deed9a78a261a73d1fd41226be947a93fa9d410f0c08e1f55ed38",
+ "native/read/page-006.xml": "66ff962d461e0e485de6350beafe4d051127a2f0f04a9f433a1af8b329e74947",
+ "native/read/page-007.xml": "405b8bb807e03c06672fb04f17ce64686ae8fd967522f68a60947c84f1d3553d",
+ "native/read/page-008.xml": "4566758a7f84f5f52e532c597b0af0fd46735de9613f4385b894821e89942168",
+ "native/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "b61fd70c3047910d381f2e2678d87c6ff394f3ac2be88f5a7a6aa89f254913c9",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "4cd851305736afa8ba6bd5c0b40b43dba29598447c41bdf5abc2fd423519ebce",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "d2b9a9854506cb0439f73ce857c9147f083b75c1e299da3e9e41e87758cbf5ed",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "ee79ec37474942302a30423aed537027e7c365ddfb4bd5797706237de13aa267",
+ "cold/notebook/Open Notebook.onetoc2": "b4a13e6f31a719f770635e4a67096db2fcbb4fb7ec754df7ca0923dbad242351",
+ "cold/read/environment.json": "c2191da618dfa56d469df4c7f7d255beb4bd9af67978704f4a7c5304c18a95ce",
+ "cold/read/hierarchy.xml": "f1f6a2a5607388fc74995f164dda34a6ed05c4ecc297fd85c0ab44f534bcb63d",
+ "cold/read/page-000.xml": "6e09a04e8d73984bb491e2dd9e395aeeb395e9c4fe94315b7f9c3abf890ad204",
+ "cold/read/page-001.xml": "32f644f1823cf995e46ccc5896e1d5ca6d23513107a54f40a33ab7de4bb48514",
+ "cold/read/page-002.xml": "263e7b8a5be49df0e43ce13857c123d57f2db7803bbcbfb7c08c8039ddeb6444",
+ "cold/read/page-003.xml": "f0cbfde86adf06ed7e8b1f9da1144b18b197fc22e7db44c10d22e83ad5361dcf",
+ "cold/read/page-004.xml": "00ac41252040a27f2a01b030f4fbd12498e8913432aeff967e8781aa3a59b2d9",
+ "cold/read/page-005.xml": "48ead1cad352ad425a9111c2869cddc24e2f900d2cbb0a4ca1465618efc6c8e2",
+ "cold/read/page-006.xml": "0cf5c4dd2e7eccc67d67573b61c138ac4888fa39b7ba3d4b2413b416958ba32a",
+ "cold/read/page-007.xml": "c5bc528151e60622099f14e68a828f2d5a20980fae1467b68df30259070850cf",
+ "cold/read/page-008.xml": "d82151dc3426b4e10341a343dbb5c322bf2682f5a3beca678c1cde6492f003ff",
+ "cold/read/payloads.json": "f1d4ed4a75237e4878028e6b6010c6bbef26a0046c58de51825558342883b19f",
+ "native/interaction.json": "7f1541b4805c9a9c026783998126dd7c9d2ce3a284c43ca405e1c850e4ae1f05",
+ "native/removed-ids.json": "42f5716a2e8567df3ff5ad105c8bcfe0d4e7156631c8b57118fc20bff1394c84"
+ }
+ },
+ "features": {
+ "evidence": "evidence/m10/page-removal-features-01",
+ "request": {
+ "case": "features",
+ "selected": [
+ 0,
+ 3,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12
+ ],
+ "permanent": false,
+ "expected_pages": 13
+ },
+ "sha256": {
+ "removal.json": "b813776750ed148cd6987abc6f90090cf889db935d6639b5a1e6e79deb57d137",
+ "native/machine.json": "2f19e2191e38fa12926c28401b54338a0e3acd04bd15cfebff1cf1409c4c1017",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "83cdcbaab8765bad9030640a6b7ad0eb1b9bbc0c2b4e0afae745f695e853dcdf",
+ "native/source.json": "e65f0b276f1781ccbbef7115241fb4a4f61655da94c75be95c60e547af614902",
+ "cold/machine.json": "41b3c06f122a040de4bfe95548d0bc0f44ecbd1ac560d8993ff9f84293b0a37a",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "7bea90b73844a5ebc214a9ea15d5855d731d0403e1937c22f9fe6f2c93937858",
+ "cold/source.json": "82df17452c97d172da074ba174424fd579483145f6bd1bbc7651c3f0f7f548ce",
+ "native/before/hierarchy.xml": "470d6edbc94697e5339b2851bff7d784a4e4cb481757295304d7390027e7f5fa",
+ "native/before/notebook/Lifecycle.one": "2a7ba3c2165ebea47090dde7993fbbc803ba6713b0740f798f28e8114dc2bbdc",
+ "native/before/notebook/Open Notebook.onetoc2": "f9e4761726171bdc72e946e6742603dd225f2e154298987f36f628b6d8741e78",
+ "native/before/page-000.xml": "9bc90fbd7cd94857ddbcd7ba648d64119655e2a8e746a2463167174e051ff0f3",
+ "native/before/page-001.xml": "1ebf4669f24681abe7fc467a862b981aacec9742142302b2efd0db311f87cf65",
+ "native/before/page-002.xml": "e3850e4f636427e67d113a6b5555b3679d30f06205a723f84d954fe3af0728c6",
+ "native/before/page-003.xml": "46177161e1b0c113407166a1412665b186c3ceb0cb3c7ecfa7cebe68eca74397",
+ "native/before/page-004.xml": "895c3e8d4f9518e1b40b28a44558e8fa8f3dda36ac699b1f6965b0ba188bae4e",
+ "native/before/page-005.xml": "01fba9f2d603ccb15b9a089938cd7bd6dbee2906888c52358a0fd21bc38ad91e",
+ "native/before/page-006.xml": "9c5ff2aab397204ee8afe099174292b384d266572b011776a9c1ddce57eee933",
+ "native/before/page-007.xml": "2c949fae13e799a337000f2e9f710d7315b4b7b3dcf6d17913653a3809f2cb33",
+ "native/before/page-008.xml": "5c47bd76a8a517c154ef8abdf68ee2a0010580c1dc1ab010bfdf369876373452",
+ "native/before/page-009.xml": "347b40bced1d497c3d2406127402a54f97ef3ebcacc5997d5d0eac5b6fd76d9b",
+ "native/before/page-010.xml": "f7d4a790941ce88a93df1c90e09ddfd2f37b8e955f4244960da44290be39a993",
+ "native/before/page-011.xml": "5775d0e362591b55d9cfbd03ae1dab2017d0c510864ca8212a218a78604f94b3",
+ "native/before/page-012.xml": "c56d2d9946a5933f94dca8ad199681114c09d194ce59382591654a09598ede9d",
+ "native/before/reopened-hierarchy.xml": "24e19ade28fbf4d3e0f1c7d251e1ad312873f74d3b77b8fde9654ae6dafc3d13",
+ "native/after/hierarchy.xml": "502044dde95bc75d3f37bb3b3832088f03bca6e14e12f02872d11d53edf6ea23",
+ "native/after/notebook/Lifecycle.one": "ac424b7a96c21e11c519e01362e5003a148f6a6c36ce850645f8744ee6246c1f",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "559d82d54689fd1342bdc86d035475e55060b44184593b4e5581ecdbcf15037c",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "9285d66bd1e91c312d87e828d61f7cc95997e38bd85df1606031709e73757c3c",
+ "native/after/notebook/Open Notebook.onetoc2": "ecc57cec087efd762bc8fc1eb40c47681c9ac462ac33940743643a11ffd80ec4",
+ "native/after/page-000.xml": "84a5caeacb04344dcd5d3a71a5d156084666538345985717de3945c728f34f04",
+ "native/after/page-001.xml": "e32ebe65892ed2cbe543f2ea6686c25da92f498506adbb150ff1485535881a3e",
+ "native/after/page-002.xml": "4ad211a37cd208aa999f2c3b4b2f026fe7bfe17cf5f41b906ce1119bdda41eb9",
+ "native/after/page-003.xml": "3878dafa7553b446b86d620a8bef68053cb2f85bd321d7a88e4ee6b53bcddc26",
+ "native/after/page-004.xml": "2f84f8a0b310ab18630bfecee5b36796a0093613b526318d0cedddbc1901e54a",
+ "native/after/page-005.xml": "ca457d3c0ede1c0b1dff16b141b24398f6c89febfccd4316b018dc02048c9d5d",
+ "native/after/reopened-hierarchy.xml": "cf006c7b6df996a5eea748fce652346400566386229a21aa5f6c75f0312b9aa0",
+ "native/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "native/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "native/before-read/environment.json": "2aa0eefc2871153a6812163b6af6d2d300efcfcda1676403d625ff69b0407566",
+ "native/before-read/hierarchy.xml": "8011a57649bf60326f33690249088aff82fedd7d21dfa65d654a6246a15ab8f0",
+ "native/before-read/page-000.xml": "5c47bd76a8a517c154ef8abdf68ee2a0010580c1dc1ab010bfdf369876373452",
+ "native/before-read/page-001.xml": "895c3e8d4f9518e1b40b28a44558e8fa8f3dda36ac699b1f6965b0ba188bae4e",
+ "native/before-read/page-002.xml": "01fba9f2d603ccb15b9a089938cd7bd6dbee2906888c52358a0fd21bc38ad91e",
+ "native/before-read/page-003.xml": "5775d0e362591b55d9cfbd03ae1dab2017d0c510864ca8212a218a78604f94b3",
+ "native/before-read/page-004.xml": "e3850e4f636427e67d113a6b5555b3679d30f06205a723f84d954fe3af0728c6",
+ "native/before-read/page-005.xml": "f7d4a790941ce88a93df1c90e09ddfd2f37b8e955f4244960da44290be39a993",
+ "native/before-read/page-006.xml": "2c949fae13e799a337000f2e9f710d7315b4b7b3dcf6d17913653a3809f2cb33",
+ "native/before-read/page-007.xml": "347b40bced1d497c3d2406127402a54f97ef3ebcacc5997d5d0eac5b6fd76d9b",
+ "native/before-read/page-008.xml": "9bc90fbd7cd94857ddbcd7ba648d64119655e2a8e746a2463167174e051ff0f3",
+ "native/before-read/page-009.xml": "c56d2d9946a5933f94dca8ad199681114c09d194ce59382591654a09598ede9d",
+ "native/before-read/page-010.xml": "9c5ff2aab397204ee8afe099174292b384d266572b011776a9c1ddce57eee933",
+ "native/before-read/page-011.xml": "46177161e1b0c113407166a1412665b186c3ceb0cb3c7ecfa7cebe68eca74397",
+ "native/before-read/page-012.xml": "1ebf4669f24681abe7fc467a862b981aacec9742142302b2efd0db311f87cf65",
+ "native/before-read/payloads.json": "7bf0aef442715530ce953aae21d965d9244e53329de601bc589654af3a13f99d",
+ "native/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "native/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "native/read/environment.json": "32c488bc216f7057e80686fcf99b9a73c6f7d1d3cb666b7e1fe51cc45debd013",
+ "native/read/hierarchy.xml": "e8e9f74cce74e7bf2ea4183656fd5e240039c0c7942ee4a2c5882184b69ecc36",
+ "native/read/page-000.xml": "11a81481215f1a0ea08095fb57e366ea395357e2751c4ae34789ea6918b09bcc",
+ "native/read/page-001.xml": "a7877b06432e70b31ad35405b72669d03f33a95ac8ebd08ac41e394bd4c6604d",
+ "native/read/page-002.xml": "fac1196e72df9644a1ff68f14fa17b1f77d5d723530a142c470815abebbe9e1f",
+ "native/read/page-003.xml": "fc063c98e576c08271b92d0200e1a980e26649010771f4d1dc428ff6788ae1c2",
+ "native/read/page-004.xml": "eebbe2684e30f04122a49fc8bc74b4ca5c29bc646b5d855bb71cdde880697da7",
+ "native/read/page-005.xml": "109afec6fc3d8be9156ba6686eff20d075203d412ff03959b77c18c17ba617dc",
+ "native/read/page-006.xml": "f5db8606f9e5fd638d6d8a80a37cea47c9be01419d2d028ab01b7672f960f866",
+ "native/read/page-007.xml": "6777528817530a43caa328ae1a97061e91c5e659515674f3d9d5e6bcc95a9dc2",
+ "native/read/page-008.xml": "d2f3597260da2364bc08e8cad04925393834a590428b98a16ad5d58759485011",
+ "native/read/page-009.xml": "50074095398c190835c96478653c85aa7efd6b31c9f763d398ba09c7537871d8",
+ "native/read/page-010.xml": "f4d6bbe61b6d9db23589f2acd11f7a27c1a6e0d77b0ac3d51c5278a5299aca9c",
+ "native/read/page-011.xml": "cef70eb0e22df3a3565d2cb949a49eababa8cf0263f25b21897677ef03694699",
+ "native/read/page-012.xml": "4ed81f7d713fdcb9c9d7eeb29e25b53ec56287f6b076ff2e9d41518a7912b169",
+ "native/read/payloads.json": "d47e1d1d04dc8bf5c64ef80b622d174f7565c5b42ea91bc2b435d2f140834d69",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "ac424b7a96c21e11c519e01362e5003a148f6a6c36ce850645f8744ee6246c1f",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "559d82d54689fd1342bdc86d035475e55060b44184593b4e5581ecdbcf15037c",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "9285d66bd1e91c312d87e828d61f7cc95997e38bd85df1606031709e73757c3c",
+ "cold/notebook/Open Notebook.onetoc2": "ecc57cec087efd762bc8fc1eb40c47681c9ac462ac33940743643a11ffd80ec4",
+ "cold/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
+ "cold/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
+ "cold/read/environment.json": "8b134e9e2f75f79c994673d1cb69ad2783239bccd589e39d968b4e8b0975a664",
+ "cold/read/hierarchy.xml": "c09dac11ecc44c5d54d1b8efa0124dc5e93b21932f53d239cd14c78a3dbd191e",
+ "cold/read/page-000.xml": "a50677305c50b550b812be42e671bfe1e8269fe6cd1d2a18caae2ac6b0f68124",
+ "cold/read/page-001.xml": "f17da05a9fc48f3398a4d5b708d35cd800d69f38b1dcac51cf1e92d3d94b005b",
+ "cold/read/page-002.xml": "c5fe6d77ae367a6ad73515881b0a93bcf08f7584a3bb2ce8333b23e23417bead",
+ "cold/read/page-003.xml": "53ef5c36c5e788919082ab023aa33ccf3ce1ca89467d1054e268e752d96bd235",
+ "cold/read/page-004.xml": "aa034e55bc36b4492fdd5329e2a683606ed844883d554030b68a80b31bcc8b34",
+ "cold/read/page-005.xml": "c3bf1e2eeb993fc5c262430bfe1e71de8a4b7dacd36c92e9e8ec225f82115314",
+ "cold/read/page-006.xml": "5f4f3cdb4e5d3dd47d45b1e5d1a88c7ebb0660c01c73afa9aeca83499339b8d4",
+ "cold/read/page-007.xml": "4517c348e754b00b2afcf8c80ec6521395335965df286763a3c158bbc40336d4",
+ "cold/read/page-008.xml": "dcb48875c1529abef1285c7268922453d474dbe9815acf47893795f00c41814b",
+ "cold/read/page-009.xml": "37c11c48debbe9adeb82487789fb8a7d7638afa888bc6722aee8e7a16f6ce60b",
+ "cold/read/page-010.xml": "6f0c834674575bdfaffb9da9a24cd62e5ca41981868fa0a652abdfd48143c3c6",
+ "cold/read/page-011.xml": "11410a3a214f5425194fe7cadde767fa9982799eb8ef39afa03919bc3c66905d",
+ "cold/read/page-012.xml": "b4f80187d4ad8bd938b5e7cfd42073b20c4c3397e5e7c3c18e22d29d8e264812",
+ "cold/read/payloads.json": "5f93389fb034d83dc32187efccfcf89b78e6c44d2203362a663d37791d919b89",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "c31ee34ce50fc1244d91364e02e7e00966306baa1124d0ba40b04636c48c3a31"
+ }
+ },
+ "ink": {
+ "evidence": "evidence/m10/page-removal-ink-01",
+ "request": {
+ "case": "ink",
+ "selected": [
+ 0
+ ],
+ "permanent": false,
+ "expected_pages": 1
+ },
+ "sha256": {
+ "removal.json": "f2e1b550d063c97bb972f9a1edfaba2e1c18df797f340d997ab075e991d7975f",
+ "native/machine.json": "e745073fb19907fe4610b04c910fce72f41b61c045f1c22a42c2a897dc763abe",
+ "native/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "native/run.json": "5ef3580c1da5e9a206163de93c0e3eb49a7f64071b70356b9ff7bbc9ce305cb6",
+ "native/source.json": "1c76a65f47507199a764b871f4a3fd2cebf62be1b845097674960ae844017a50",
+ "cold/machine.json": "a1595aba83ecfb4ba7de0f8b06a80670f59759703e08ceef7839a0099f05ce1e",
+ "cold/teardown.json": "59b3d50719ee0281169f08cc86d0eeb9271913d487bf08bc7097fd6899d5eddc",
+ "cold/run.json": "a0bfe845825ea859c25b94c7ea77217c3eaae5e280e62f55f1ce98a8e94e7ee5",
+ "cold/source.json": "30715897b9a5ca887f10c2a38485da311c50033d27a367ebefd2dbda96d70faa",
+ "native/before/hierarchy.xml": "8ce86c6243fc2c12b22e2a73b24f6aa7199ad0f8494e73eff02eb3bdcbfd693a",
+ "native/before/notebook/Lifecycle.one": "a1dfe4211c549c008e351308210218c01b0200f094d0e3797f79a85222f797d4",
+ "native/before/notebook/Open Notebook.onetoc2": "6bff290b76bb2ca4a5a32d8124ef7ccfc6585ceb90d439267286ff745f623ad3",
+ "native/before/page-000.xml": "3d91d17713e91ebfe7d862a2387b8989de3f247de6ebb2347d73468cfb4e5962",
+ "native/before/reopened-hierarchy.xml": "a2940546f3476efb7e6f7272ccdd50e4848534e85d82707872b714a85466cd6d",
+ "native/after/hierarchy.xml": "54be4ec381313f356baf791473114cfdc13e7a24c1d547cea558f642ad7775be",
+ "native/after/notebook/Lifecycle.one": "a3c8265335e6f83ec9350e446f3f9b8c7330b75798e53566c6b2442c32a833c1",
+ "native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "06c94fbe00dacb4ab35e4bdadbcb9a0516759b737de547f97845c321dea8472c",
+ "native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "099dd9fa2da3ac3340c2c423f6130d462d1dcbdf3b8f2756660f91181036be48",
+ "native/after/notebook/Open Notebook.onetoc2": "330ea47d02845e046fbf16beec688cd2bcbddbe9e213fd8bb79c36caa6c663f9",
+ "native/after/reopened-hierarchy.xml": "42e24f2cf40c19858c75013d5ffc0d28eb295e157fac2a26fe7f45e67b51b763",
+ "native/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "native/before-read/environment.json": "f8a15176793751e40e2ee742be80928e746455e5ce61d759f76fd4c6ae6134af",
+ "native/before-read/hierarchy.xml": "8a9faf1ac48cc77bc77e98b8bc631a336326095d87595a248d1b0595968fd090",
+ "native/before-read/page-000.xml": "3d91d17713e91ebfe7d862a2387b8989de3f247de6ebb2347d73468cfb4e5962",
+ "native/before-read/payloads.json": "cca7733e447764666de452af9f6344d2b77db2da54dc7b58997d18f8a7fa2421",
+ "native/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "native/read/environment.json": "3af762c5dcd045e16ab8ccb6d9f052d83e4368f9bca56923434661e9cb195eeb",
+ "native/read/hierarchy.xml": "12b7670651d704a915f985641adb91a7281137b6433d581c416032bfba2ce138",
+ "native/read/page-000.xml": "a78453641bd4beea584343f34dc872d91d4e1f28edc3950f3182648f0eb89527",
+ "native/read/payloads.json": "ae8cea730385e7c13bd4de4663108684f9db3e3072ae44b416c7f46e06f3b208",
+ "native/scripts/cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "native/scripts/page-lifecycle.ps1": "881fcdcc88eabecf965737085faede5cb39dda6f3f832b3875b0c62345ffbde6",
+ "native/scripts/page-removal.ps1": "530ecd4aece11424aeb88c5a3dbd6b0ca46e9b733ea17cd66047c9c175334422",
+ "native/scripts/read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41",
+ "cold/notebook/Lifecycle.one": "a3c8265335e6f83ec9350e446f3f9b8c7330b75798e53566c6b2442c32a833c1",
+ "cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "06c94fbe00dacb4ab35e4bdadbcb9a0516759b737de547f97845c321dea8472c",
+ "cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2": "099dd9fa2da3ac3340c2c423f6130d462d1dcbdf3b8f2756660f91181036be48",
+ "cold/notebook/Open Notebook.onetoc2": "330ea47d02845e046fbf16beec688cd2bcbddbe9e213fd8bb79c36caa6c663f9",
+ "cold/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
+ "cold/read/environment.json": "2663e4f9815e41c6c868ecc40718b8797ecdf156c8591d887eebcab2e2b6c40b",
+ "cold/read/hierarchy.xml": "753bb203f237e0ed9306d084ca1258c6ed96c38f3fa1fe83b718509c68e57ead",
+ "cold/read/page-000.xml": "60b7e0c2b4001c7c9c6916ec8a85aff9bba7f0abc1abfd3d8f4fbc46f84f0ec9",
+ "cold/read/payloads.json": "1d772abba252206aacf81b364183c2ace6d1e1aa88eef5996d409cbdd7f059fb",
+ "native/interaction.json": "256e84212ea295b49ee1ab4c0fbcbdfd601c32637a2076cdbe987655a0e55453",
+ "native/removed-ids.json": "0a872c414404a63af6650ab719110bf385bb08ef00b5db0fbf2f485f4313774d"
+ }
+ }
+}
diff --git a/corpus/page-lifecycle/removal/sanitizer.json b/corpus/page-lifecycle/removal/sanitizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..c999972a11bd1b10c4195a06cc54778f57e64ad3
--- /dev/null
+++ b/corpus/page-lifecycle/removal/sanitizer.json
@@ -0,0 +1,107 @@
+{
+ "target": "document",
+ "seed": 1993,
+ "max_total_time": 120,
+ "timeout": 30,
+ "runs": 20000,
+ "sources": {
+ "corpus/page-lifecycle/removal/all/cold/notebook/Lifecycle.one": "4fde3d9e45bfd5a94eea680c098e0b4d52b90b683f4475933a2dd292e36cadba",
+ "corpus/page-lifecycle/removal/all/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "bdf772ed06f2bfc122116778c7cbba39be50d7461593703d956a6881ac7822e0",
+ "corpus/page-lifecycle/removal/all/native/before/notebook/Lifecycle.one": "4810c93a89461047dfcc7b9f5afb4d9225dc3a465efa0cf3928efa72ab1e663d",
+ "corpus/page-lifecycle/removal/child/cold/notebook/Lifecycle.one": "6368c735946dd7405097c99b77327be8b8a5ba6005420bd9b614f09815f1c428",
+ "corpus/page-lifecycle/removal/child/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "7984938bbce6f047a95c75ff297107bd08252389c582f10ae856be0c003ba620",
+ "corpus/page-lifecycle/removal/child/native/before/notebook/Lifecycle.one": "b945e9f12f502c3c6d04e78be6ebdaf47b09d256f1ca79c5572e6293d67f9d5c",
+ "corpus/page-lifecycle/removal/features/cold/notebook/Lifecycle.one": "ac424b7a96c21e11c519e01362e5003a148f6a6c36ce850645f8744ee6246c1f",
+ "corpus/page-lifecycle/removal/features/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "559d82d54689fd1342bdc86d035475e55060b44184593b4e5581ecdbcf15037c",
+ "corpus/page-lifecycle/removal/features/native/before/notebook/Lifecycle.one": "2a7ba3c2165ebea47090dde7993fbbc803ba6713b0740f798f28e8114dc2bbdc",
+ "corpus/page-lifecycle/removal/grandchild/cold/notebook/Lifecycle.one": "e30776bf01389d1dfcde1ff15168d452a1efd68b3c5406b975a839f4fcfb343f",
+ "corpus/page-lifecycle/removal/grandchild/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "a57f2a7e992778953bc0be9cebe550fb823a830e2fdeab56d442620425622ea8",
+ "corpus/page-lifecycle/removal/grandchild/native/before/notebook/Lifecycle.one": "a084df0db8818f31b7f474616e5415cc709523aa8584e0952b0d76136350b593",
+ "corpus/page-lifecycle/removal/group/cold/notebook/Lifecycle.one": "55fa2a34858d5bd2245063440604eae944f078542f98bb8b62ba17edb908ff72",
+ "corpus/page-lifecycle/removal/group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "c24a74b1d443bd89755161c244d79f1c506e8bf31ecbd925c0b90c21ad357c08",
+ "corpus/page-lifecycle/removal/group/native/before/notebook/Lifecycle.one": "8b3d9d06b32bf199d20721a4f34da3ba71496b7b56af90722f643c29ea4daaae",
+ "corpus/page-lifecycle/removal/ink/cold/notebook/Lifecycle.one": "a3c8265335e6f83ec9350e446f3f9b8c7330b75798e53566c6b2442c32a833c1",
+ "corpus/page-lifecycle/removal/ink/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "06c94fbe00dacb4ab35e4bdadbcb9a0516759b737de547f97845c321dea8472c",
+ "corpus/page-lifecycle/removal/ink/native/before/notebook/Lifecycle.one": "a1dfe4211c549c008e351308210218c01b0200f094d0e3797f79a85222f797d4",
+ "corpus/page-lifecycle/removal/leading-group/cold/notebook/Lifecycle.one": "e39020116e8071b377636330bbda7bcc09ca50b1859b48b2005eb0a21032532d",
+ "corpus/page-lifecycle/removal/leading-group/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "f7be113d2ab0fa848c7226a5dcb5697171a9a620689c9c716ddbb069eb17baec",
+ "corpus/page-lifecycle/removal/leading-group/native/before/notebook/Lifecycle.one": "dd98acf37003f49a13a6964624d51d3ab6b9ccce39a6d0ab308f5f2f1d4083b3",
+ "corpus/page-lifecycle/removal/leading-parent/cold/notebook/Lifecycle.one": "adabd3b9a4ea354b04e1545ad6197c4577792c66e94945ba9905a01930678426",
+ "corpus/page-lifecycle/removal/leading-parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "18989122149a6699b8798aba6ea7636695fc168fa647a94427894c9be732d86b",
+ "corpus/page-lifecycle/removal/leading-parent/native/before/notebook/Lifecycle.one": "8eb29315812a1e2167bc76bcf1e490ff50296918dce68a7d2493f6139718fb45",
+ "corpus/page-lifecycle/removal/parent/cold/notebook/Lifecycle.one": "371508c4e1cb3719d6250c8d0d88cc512c8e0598814d1cf2bd9ddc4a825716cc",
+ "corpus/page-lifecycle/removal/parent/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "685225ccb09a03d3c1e376ccfc44aebd20cd1af605082cedaed89d3a370a05b6",
+ "corpus/page-lifecycle/removal/parent/native/before/notebook/Lifecycle.one": "30637d6672fe75c6c382dcbe899a15a10510c353852192bb1dd7756b82c96975",
+ "corpus/page-lifecycle/removal/permanent-parent/cold/notebook/Lifecycle.one": "439eda940f48b7e8e1b79c1a4b578951088ae79829c5b36c110207bacf037638",
+ "corpus/page-lifecycle/removal/permanent-parent/native/before/notebook/Lifecycle.one": "850efa6af2dd68186880938b5e9850dbb49e513106fd576190cf2e0776f5842a",
+ "corpus/page-lifecycle/removal/trailing/cold/notebook/Lifecycle.one": "4cd851305736afa8ba6bd5c0b40b43dba29598447c41bdf5abc2fd423519ebce",
+ "corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one": "d2b9a9854506cb0439f73ce857c9147f083b75c1e299da3e9e41e87758cbf5ed",
+ "corpus/page-lifecycle/removal/trailing/native/before/notebook/Lifecycle.one": "66f34975d75340ad4ad604946a54a760f5c679ed36ec472eac67e8366fe9a542"
+ },
+ "initial_inputs": {
+ "00": "477b0e7b1abab99e",
+ "01": "76575443ea9e22e9",
+ "02": "fae5ef72aa876709",
+ "03": "13aeea1de1f3e1e3",
+ "04": "3571c02ab59d4155",
+ "05": "93e605e5bc28b159",
+ "06": "be458327d5d16166",
+ "07": "6a5bd4932442995a",
+ "08": "09ec7c67473ed3f9",
+ "09": "eef5f347b40fc2cc",
+ "10": "1c1fc446997a0ecc",
+ "11": "72b7a5ecf3af914f",
+ "12": "30ce66a82a936170",
+ "13": "f2c7ff0129208130",
+ "14": "de52e4c2564b8c82",
+ "15": "2612873b413723de",
+ "16": "11658aa4fc986812",
+ "17": "768699bb8221a425",
+ "18": "3f592aeb3ac8f91b",
+ "19": "6a5d470820f5a052",
+ "20": "d6a69f3144ee35cb",
+ "21": "292b65d61e344672",
+ "22": "5fb52b41d611d88c",
+ "23": "de60598c4e56f01e",
+ "24": "fed25b62a684dd2d",
+ "25": "e05b677b13a581e6",
+ "26": "c80be67ed5048f63",
+ "27": "5caec9034e234dfa",
+ "28": "a88915ba68345bf6",
+ "29": "c91dc0fd56eb07ec",
+ "30": "2cfb265c5207065f",
+ "31": "fd07091e0b9276ce",
+ "32": "f53e310f9260cc6d",
+ "33": "ecc7495bd4c6a33f",
+ "34": "a9eed8c9250658ab",
+ "35": "a9ceb67e5da51e06",
+ "36": "beadcf4b97ff2d8e",
+ "37": "a93a5f8509e7bc56",
+ "38": "0b4dbcad3a00e741",
+ "39": "7514e1c799fb1879",
+ "40": "c689cedfc12c319e",
+ "41": "fe88ea319ccb8816",
+ "42": "b0032b8f3ae80663",
+ "43": "ef62b3f525293904",
+ "44": "fcf4eb989671b274",
+ "45": "095bd689ac0619f8",
+ "46": "2f39ae6c38500402",
+ "47": "c5b707d1aa5a5e5a",
+ "48": "197a46d3ecd0c4a4",
+ "49": "9f9f3371f3086a26",
+ "50": "20550096741b7397",
+ "51": "e606312ab266ded0",
+ "52": "feb4329f8d72a254",
+ "53": "4ae86fdf63d925da",
+ "54": "48e65b29ca8af05e",
+ "55": "64bc29d2ec095565",
+ "56": "04efa27e16e76257",
+ "57": "c7333423e0a2292f",
+ "58": "f892396271998983",
+ "59": "a5851939b8854491",
+ "60": "38f6b74a0956eb5a",
+ "61": "01eedf878ceddb4e",
+ "62": "6d9a1bdada68d308",
+ "63": "079feb55c025e3c6"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/trailing/cold/machine.json b/corpus/page-lifecycle/removal/trailing/cold/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..10faaa872f327030caec19f60e57f27df2b1be13
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/machine.json
@@ -0,0 +1 @@
+{"name": "m6-9e9913da", "hostname": "ONE-M6-9E9913DA"}
diff --git a/corpus/page-lifecycle/removal/trailing/cold/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/trailing/cold/notebook/Lifecycle.one
new file mode 120000
index 0000000000000000000000000000000000000000..bf82c3a1710e019439810440170b1d9a8f7f4a63
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/notebook/Lifecycle.one
@@ -0,0 +1 @@
+../../native/after/notebook/Lifecycle.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 120000
index 0000000000000000000000000000000000000000..42b0693c3938365ccf67e016696a3a84bda91891
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dfcd7aac1e74183410d42127d8596d7e749c04da
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../../native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/cold/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/trailing/cold/notebook/Open Notebook.onetoc2
new file mode 120000
index 0000000000000000000000000000000000000000..dd5fecd4fc2ee12abce77e95b24489b9f322d1f2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/notebook/Open Notebook.onetoc2
@@ -0,0 +1 @@
+../../native/after/notebook/Open Notebook.onetoc2
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/environment.json b/corpus/page-lifecycle/removal/trailing/cold/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..ed6fefd5f51f8dbaf07ca8fc2dd63f9f965b3f84
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-9E9913DA",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/hierarchy.xml b/corpus/page-lifecycle/removal/trailing/cold/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..470b38917f8c48e16e96cc5509116d3137c4f2bf
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-000.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f9a152ad039db8eaa0fcb9ceca582c8aaab40b8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-000.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-001.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f47a1e06cdaeb853eea2ac86679b928fc272abb6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-002.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e9ef88f7aab1a003974aad643c055c925e61978b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-003.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..543eb99a2bb13b3be6a5a4e6968adcbae48c706e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-004.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ee3155ffdee8384e4949a2c3442754d66f484b9e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-005.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f87c63226e8cfc770d313af7a59b678a34bbfa6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-005.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-006.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f1da81ae8908a72232835c2f017eb839c7506304
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-007.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..57f03988ddd34b590d40ea7e93d62ef89d6e4618
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/page-008.xml b/corpus/page-lifecycle/removal/trailing/cold/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0f852b3430914bae9685eda9a326b7db2f932c60
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/cold/read/payloads.json b/corpus/page-lifecycle/removal/trailing/cold/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/cold/run.json b/corpus/page-lifecycle/removal/trailing/cold/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..fdf35f5a53265dd7a7e74811ba8e7ae292f4a81a
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/Users/clo/dev/one/evidence/m10/page-removal-matrix-01/trailing/native/after/notebook",
+ "expected_pages": -1,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/trailing/cold/source.json b/corpus/page-lifecycle/removal/trailing/cold/source.json
new file mode 100644
index 0000000000000000000000000000000000000000..2aaca84ce47680b1cbbbe79233c3b1cc1275e75b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/source.json
@@ -0,0 +1,26 @@
+[
+ {
+ "path": "Lifecycle.one",
+ "bytes": 54352,
+ "sha256": "4cd851305736afa8ba6bd5c0b40b43dba29598447c41bdf5abc2fd423519ebce",
+ "mtime_ns": 1788944406077084842
+ },
+ {
+ "path": "OneNote_RecycleBin/OneNote_DeletedPages.one",
+ "bytes": 10912,
+ "sha256": "d2b9a9854506cb0439f73ce857c9147f083b75c1e299da3e9e41e87758cbf5ed",
+ "mtime_ns": 1788944406078323091
+ },
+ {
+ "path": "OneNote_RecycleBin/Open Notebook.onetoc2",
+ "bytes": 3776,
+ "sha256": "ee79ec37474942302a30423aed537027e7c365ddfb4bd5797706237de13aa267",
+ "mtime_ns": 1788944406078664215
+ },
+ {
+ "path": "Open Notebook.onetoc2",
+ "bytes": 4920,
+ "sha256": "b4a13e6f31a719f770635e4a67096db2fcbb4fb7ec754df7ca0923dbad242351",
+ "mtime_ns": 1788944406077598300
+ }
+]
diff --git a/corpus/page-lifecycle/removal/trailing/cold/teardown.json b/corpus/page-lifecycle/removal/trailing/cold/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/cold/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/after/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a63b49c5bfa26444c87ef2110212d7feb9d692b1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/trailing/native/after/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..4ec15eb683f37ba45b60d234dc02e3706a963f7e
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/after/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one b/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
new file mode 100644
index 0000000000000000000000000000000000000000..f5f2ed5a3b7bf15379744a16034ed1732b8c952c
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..ce2763cd73b075e8ad3997b1d6afd96a1f612e72
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/after/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/trailing/native/after/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..9fc9b17488fa8c9717fff3c56f909b160349c2dc
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/after/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-000.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b0fc5f2a66db0eca716f89a3cc3aa000edf7cbf9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-001.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20b359e5f25e2cdef4e23895ae482f5bb839e4ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-002.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ed781cee88366bbb5f03cb422bb3ae4a302eaebc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-003.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35cb7d3e9971655f8858f21a937e65f65123d0f8
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-004.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cdb83371ae7377022c44bc8abaf0310f0de92e52
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-005.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2bca505298b6247b82f5b8039e4ee23780335b44
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-006.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..67523e57c7e89a81f814360bc39568842cbd52b9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/page-007.xml b/corpus/page-lifecycle/removal/trailing/native/after/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0270d25054d996a621125d139c07f3b437927ec2
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/after/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/after/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f25b3fc662ffba5518ed0ab910b7ec2009dffde
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/after/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/environment.json b/corpus/page-lifecycle/removal/trailing/native/before-read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..5c10f9b080b3e0c8ad9acde017fcb19076d55cef
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-D5E2A794",
+ "cold": true,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b1255c7190a7541fa4b24214c547d899e324eb4f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-000.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-000.xml
new file mode 120000
index 0000000000000000000000000000000000000000..6eaf305b405b3341867d6277255e2c7cf12532ab
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-000.xml
@@ -0,0 +1 @@
+../before/page-000.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-001.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-001.xml
new file mode 120000
index 0000000000000000000000000000000000000000..b3a0b51dfc55e297d9a1d9454ffdc3533d489108
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-001.xml
@@ -0,0 +1 @@
+../before/page-004.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-002.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-002.xml
new file mode 120000
index 0000000000000000000000000000000000000000..bdbd10e045cb1b1764efbfaccfccaa0240f53dfc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-002.xml
@@ -0,0 +1 @@
+../before/page-001.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-003.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-003.xml
new file mode 120000
index 0000000000000000000000000000000000000000..0d4cb36c82c14ed1511eb6e65fcdbfd360305586
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-003.xml
@@ -0,0 +1 @@
+../before/page-005.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-004.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-004.xml
new file mode 120000
index 0000000000000000000000000000000000000000..ef137e56f54bfdf3d89166d2536bbaa3b8af6288
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-004.xml
@@ -0,0 +1 @@
+../before/page-003.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-005.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-005.xml
new file mode 120000
index 0000000000000000000000000000000000000000..9607b12f0631929a10767a152df416a3cdcb9fd6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-005.xml
@@ -0,0 +1 @@
+../before/page-002.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-006.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-006.xml
new file mode 120000
index 0000000000000000000000000000000000000000..44de2d153c3c7e9bcc7e8fc9e376830397d5caee
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-006.xml
@@ -0,0 +1 @@
+../before/page-008.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-007.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-007.xml
new file mode 120000
index 0000000000000000000000000000000000000000..cbaa95b4e71986df41162c3cd42a73b83d1d688e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-007.xml
@@ -0,0 +1 @@
+../before/page-006.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/page-008.xml b/corpus/page-lifecycle/removal/trailing/native/before-read/page-008.xml
new file mode 120000
index 0000000000000000000000000000000000000000..d80fe679ba5a2985470adbb3ef0eb329bcb799ec
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/page-008.xml
@@ -0,0 +1 @@
+../before/page-007.xml
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before-read/payloads.json b/corpus/page-lifecycle/removal/trailing/native/before-read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before-read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/before/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a2bd86844ca7239c05ec533a5effde2071052fc6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/notebook/Lifecycle.one b/corpus/page-lifecycle/removal/trailing/native/before/notebook/Lifecycle.one
new file mode 100644
index 0000000000000000000000000000000000000000..e662e8a1ce6f5a9a898f2820201512446a39f881
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/before/notebook/Lifecycle.one differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/notebook/Open Notebook.onetoc2 b/corpus/page-lifecycle/removal/trailing/native/before/notebook/Open Notebook.onetoc2
new file mode 100644
index 0000000000000000000000000000000000000000..75df46c9b95e3744b3a8137174f714a5d1b0069e
Binary files /dev/null and b/corpus/page-lifecycle/removal/trailing/native/before/notebook/Open Notebook.onetoc2 differ
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-000.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..36b1c68cf0bc2f7a59917e7aa851bef12de2d43d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-001.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8cb9b741488b048a6ebc27b85914e773c4d57b59
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-001.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-002.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6392e6704eff1323d9e03c5defae595f712eeb3d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-003.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..888a51b1562dfeb204bd7fc301e00b4a09b8b0d1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-003.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-004.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cdaa982b1b7b1dd2811509bdcbaae146f505f5f1
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-004.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-005.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..39cb37ab7c2da560f7b02e727505ad13a5654d1e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-006.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29e8638b6f6b6795b90b40d999ea090025971cd9
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-007.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0869ab8cdf504c2e07c8a0c381f2e22c961e8c70
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-007.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/page-008.xml b/corpus/page-lifecycle/removal/trailing/native/before/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..abdf8d30e391a661dd9d1b918098a71306a06560
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/page-008.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/before/reopened-hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/before/reopened-hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f3f406bee4c453aef2f0677a07f50dbeb1557433
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/before/reopened-hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/interaction.json b/corpus/page-lifecycle/removal/trailing/native/interaction.json
new file mode 120000
index 0000000000000000000000000000000000000000..6447038288090681f5e0c8cfdce858c67ba832fc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/interaction.json
@@ -0,0 +1 @@
+../../child/native/interaction.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/machine.json b/corpus/page-lifecycle/removal/trailing/native/machine.json
new file mode 100644
index 0000000000000000000000000000000000000000..ac218336b2c126550c0463409493ef1b4c774383
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/machine.json
@@ -0,0 +1 @@
+{"name": "m6-d5e2a794", "hostname": "ONE-M6-D5E2A794"}
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/environment.json b/corpus/page-lifecycle/removal/trailing/native/read/environment.json
new file mode 100644
index 0000000000000000000000000000000000000000..0d3a0adbd5d9b8bc82983f4a49fcea93d4e9f5bc
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/environment.json
@@ -0,0 +1,7 @@
+{
+ "powershell": "5.1.14409.1005",
+ "schema": "xs2010",
+ "hostname": "ONE-M6-D5E2A794",
+ "cold": false,
+ "onenote": "14.0.4763.1000"
+}
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/hierarchy.xml b/corpus/page-lifecycle/removal/trailing/native/read/hierarchy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..23fd5a885508405aabe8a90bc5163e7d01a9af6d
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/hierarchy.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-000.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-000.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6b7ad525f9e88da8f9b736b5e6f140119a3a5498
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-000.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-001.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-001.xml
new file mode 100644
index 0000000000000000000000000000000000000000..04a722d1b3113f9db2a6d619aa6eb237582f98f0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-001.xml
@@ -0,0 +1,4 @@
+
+Body child 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-002.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-002.xml
new file mode 100644
index 0000000000000000000000000000000000000000..df835b6d1dbf2ae67a08cac56d9f43ca69167078
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-002.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-003.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-003.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a24607e7deb7152ea47f99ccc5e02024f939b902
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-003.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-004.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-004.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b3ad15f96e2154a2f87f98bdb157b9d412fa603
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-004.xml
@@ -0,0 +1,4 @@
+
+Body parent 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-005.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-005.xml
new file mode 100644
index 0000000000000000000000000000000000000000..96bcf707205b8e189d542258684dbf8ff0312528
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-005.xml
@@ -0,0 +1,4 @@
+
+Body grandchild 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-006.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-006.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9a5b9928e9ddc36f126ae0be8c079958bfcc38d0
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-006.xml
@@ -0,0 +1,4 @@
+
+Body duplicate 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-007.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-007.xml
new file mode 100644
index 0000000000000000000000000000000000000000..da7b7e90911378eb4bc0b521a5bdbf0baf09b010
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-007.xml
@@ -0,0 +1,4 @@
+
+Body automatic 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/page-008.xml b/corpus/page-lifecycle/removal/trailing/native/read/page-008.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6257ea7ed22e81c6bf7b27c088359b8f23e03548
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/page-008.xml
@@ -0,0 +1,4 @@
+
+Body trailing 🦀 é preserved]]>
diff --git a/corpus/page-lifecycle/removal/trailing/native/read/payloads.json b/corpus/page-lifecycle/removal/trailing/native/read/payloads.json
new file mode 120000
index 0000000000000000000000000000000000000000..0a99a8a808deb06a0d1b8e1594c1ee030d69fc57
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/read/payloads.json
@@ -0,0 +1 @@
+../../../leading-parent/native/before-read/payloads.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/removed-ids.json b/corpus/page-lifecycle/removal/trailing/native/removed-ids.json
new file mode 100644
index 0000000000000000000000000000000000000000..ee23cb0d45cf9524dbdd85f3ebdb06c97cc9a03c
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/removed-ids.json
@@ -0,0 +1,3 @@
+[
+ "{60D8030F-8995-4DA0-A9D3-AC08CE3E6C75}{1}{B0}"
+]
diff --git a/corpus/page-lifecycle/removal/trailing/native/run.json b/corpus/page-lifecycle/removal/trailing/native/run.json
new file mode 100644
index 0000000000000000000000000000000000000000..1becacfa375663275af0229e43d0514ddeeefe22
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/run.json
@@ -0,0 +1,18 @@
+{
+ "notebook": "/private/var/folders/90/4f4rngds01j55ggdj_vglk_c0000gn/T/tmpy5jr0mke",
+ "expected_pages": 9,
+ "author": null,
+ "author_timeout_seconds": 600,
+ "inspect": false,
+ "collect_notebook": true,
+ "base": {
+ "file": "win7-office-base.qcow2",
+ "format": "qcow2",
+ "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
+ "virtual_size": 68719476736
+ },
+ "scripts": {
+ "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
+ "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
+ }
+}
diff --git a/corpus/page-lifecycle/removal/trailing/native/scripts/cold.ps1 b/corpus/page-lifecycle/removal/trailing/native/scripts/cold.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..92beda848808d52b49436649f4293cf5c6fcab8e
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/scripts/cold.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/cold.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/scripts/page-lifecycle.ps1 b/corpus/page-lifecycle/removal/trailing/native/scripts/page-lifecycle.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..8038043935d85552ca2f732d15d341bf5901aad6
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/scripts/page-lifecycle.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/page-lifecycle.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/scripts/page-removal.ps1 b/corpus/page-lifecycle/removal/trailing/native/scripts/page-removal.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..34f7aa58587a02f3d3c2bd17cd1c89db50afc79f
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/scripts/page-removal.ps1
@@ -0,0 +1 @@
+../../../child/native/scripts/page-removal.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/scripts/read.ps1 b/corpus/page-lifecycle/removal/trailing/native/scripts/read.ps1
new file mode 120000
index 0000000000000000000000000000000000000000..057fd7c336d6c1078acf4c8e8b296d5608a91a61
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/scripts/read.ps1
@@ -0,0 +1 @@
+../../../leading-parent/native/scripts/read.ps1
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/source.json b/corpus/page-lifecycle/removal/trailing/native/source.json
new file mode 120000
index 0000000000000000000000000000000000000000..b622fe65d6d25d8ebd8e0fbdf2c4c2703c74ff3b
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/source.json
@@ -0,0 +1 @@
+../../all/native/source.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/native/teardown.json b/corpus/page-lifecycle/removal/trailing/native/teardown.json
new file mode 120000
index 0000000000000000000000000000000000000000..0c4d10c41c23889f6811042f1293c0daaca9c7dd
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/native/teardown.json
@@ -0,0 +1 @@
+../../leading-parent/native/teardown.json
\ No newline at end of file
diff --git a/corpus/page-lifecycle/removal/trailing/removal.json b/corpus/page-lifecycle/removal/trailing/removal.json
new file mode 100644
index 0000000000000000000000000000000000000000..4ccc61ba094d2a350aacb093dcab424c50de9448
--- /dev/null
+++ b/corpus/page-lifecycle/removal/trailing/removal.json
@@ -0,0 +1,7 @@
+{
+ "case": "trailing",
+ "selected": [
+ 8
+ ],
+ "permanent": false
+}
diff --git a/crates/onestore/tests/page_removal.rs b/crates/onestore/tests/page_removal.rs
new file mode 100644
index 0000000000000000000000000000000000000000..08a1e7ad2894c15dae67183c9a9009bf37b0ec69
--- /dev/null
+++ b/crates/onestore/tests/page_removal.rs
@@ -0,0 +1,574 @@
+use onestore::{
+ ExGuid, FileDataReference, IdStream, ObjectData, PropertySets, RevisionIndex, Store, Value,
+ document::Document,
+};
+use std::collections::{BTreeMap, BTreeSet};
+
+fn compare_copy(left: &Store<'_>, right: &Store<'_>, source: ExGuid, copied: ExGuid) {
+ let indexes = [left, right].map(|store| RevisionIndex::parse(store).unwrap());
+ let mut contexts = vec![(source, ExGuid::default(), copied, ExGuid::default())];
+ let mut mapped_contexts = BTreeMap::new();
+ let mut inverse_contexts = BTreeMap::new();
+ while let Some((ls, lc, rs, rc)) = contexts.pop() {
+ if let Some(previous) = mapped_contexts.insert((ls, lc), (rs, rc)) {
+ assert_eq!(previous, (rs, rc));
+ continue;
+ }
+ assert_eq!(inverse_contexts.insert((rs, rc), (ls, lc)), None);
+ let revisions =
+ [(ls, lc, &indexes[0]), (rs, rc, &indexes[1])].map(|(sid, context, index)| {
+ index
+ .resolve(sid, index.spaces[&sid].labels[&(context, 1)])
+ .unwrap()
+ });
+ assert_eq!(
+ revisions[0].roots.keys().collect::>(),
+ revisions[1].roots.keys().collect::>()
+ );
+ let manifest = &revisions[1].objects[&revisions[1].roots[&1]];
+ let copied_time = if manifest.jcid == 0x60037 {
+ let pages = manifest.references().unwrap().objects;
+ assert_eq!(pages.len(), 1);
+ let ObjectData::Properties(bytes) = revisions[1].objects[&pages[0]].data else {
+ panic!()
+ };
+ let properties = PropertySets::parse(bytes).unwrap();
+ let Value::Bytes(time) = properties.sets[0]
+ .iter()
+ .find(|p| p.id == 0x14001d7a)
+ .unwrap()
+ .value
+ else {
+ panic!()
+ };
+ Some(time)
+ } else {
+ None
+ };
+ let mut pending: Vec<_> = revisions[0]
+ .roots
+ .iter()
+ .map(|(role, id)| (*id, revisions[1].roots[role]))
+ .collect();
+ let mut mapped = BTreeMap::new();
+ let mut inverse = BTreeMap::new();
+ while let Some((a, b)) = pending.pop() {
+ if let Some(previous) = mapped.insert(a, b) {
+ assert_eq!(previous, b);
+ continue;
+ }
+ if let Some(previous) = inverse.insert(b, a) {
+ let originals = [&revisions[0].objects[&previous], &revisions[0].objects[&a]];
+ assert!(originals.iter().all(|object| object.jcid == 0x120001));
+ assert_eq!(originals[0].data, originals[1].data);
+ for object in originals {
+ let references = object.references().unwrap();
+ assert!(references.objects.is_empty());
+ assert!(references.object_spaces.is_empty());
+ assert!(references.contexts.is_empty());
+ }
+ }
+ let objects = [&revisions[0].objects[&a], &revisions[1].objects[&b]];
+ assert_eq!(objects[0].jcid, objects[1].jcid);
+ match (objects[0].data, objects[1].data) {
+ (ObjectData::Properties(a), ObjectData::Properties(b)) => {
+ let sets = [a, b].map(|bytes| PropertySets::parse(bytes).unwrap());
+ let mut nested = vec![(0, 0)];
+ while let Some((a, b)) = nested.pop() {
+ let fields = [(0, a), (1, b)].map(|(side, set)| {
+ let properties = &sets[side].sets[set];
+ let fields = properties
+ .iter()
+ .map(|p| (p.id, &p.value))
+ .collect::>();
+ assert_eq!(fields.len(), properties.len());
+ fields
+ });
+ assert_eq!(
+ fields[0].keys().collect::>(),
+ fields[1].keys().collect::>()
+ );
+ for (id, value) in &fields[0] {
+ let other = fields[1][id];
+ match (value, other) {
+ (
+ Value::References {
+ stream,
+ compact_ids,
+ },
+ Value::References {
+ stream: other_stream,
+ compact_ids: other_ids,
+ },
+ ) => {
+ assert_eq!(stream, other_stream);
+ assert_eq!(compact_ids.len(), other_ids.len());
+ for (a, b) in
+ compact_ids.chunks_exact(4).zip(other_ids.chunks_exact(4))
+ {
+ let ids = [a, b].map(|bytes| {
+ u32::from_le_bytes(bytes.try_into().unwrap())
+ });
+ let [a, b] = [0, 1].map(|side| ExGuid {
+ guid: objects[side].global_ids[&(ids[side] >> 8)],
+ n: ids[side] & 255,
+ });
+ match stream {
+ IdStream::Objects => pending.push((a, b)),
+ IdStream::Contexts => contexts.push((ls, a, rs, b)),
+ IdStream::ObjectSpaces => contexts.push((
+ a,
+ ExGuid::default(),
+ b,
+ ExGuid::default(),
+ )),
+ }
+ }
+ }
+ (Value::Sets(a), Value::Sets(b)) => {
+ assert_eq!(a.len(), b.len());
+ nested.extend(a.clone().zip(b.clone()));
+ }
+ (Value::Bytes(_), Value::Bytes(level))
+ if objects[0].jcid == 0x20030
+ && *id == 0x14001dff
+ && lc == ExGuid::default() =>
+ {
+ assert_eq!(*level, 1_u32.to_le_bytes());
+ }
+ (Value::Bytes(_), Value::Bytes(time))
+ if matches!(
+ objects[0].jcid,
+ 0x6000b
+ | 0x6000c
+ | 0x6002c
+ | 0x60022
+ | 0x60012
+ | 0x60023
+ | 0x60024
+ ) && *id == 0x14001d7a
+ && lc == ExGuid::default() =>
+ {
+ if value != &other {
+ assert_eq!(Some(*time), copied_time);
+ }
+ }
+ _ => assert_eq!(
+ value, &other,
+ "property {id:#x}, jcid {:#x}, context {lc}, source set {a}, copied set {b}",
+ objects[0].jcid
+ ),
+ }
+ }
+ }
+ }
+ (ObjectData::File { extension: a, .. }, ObjectData::File { extension: b, .. }) => {
+ assert_eq!(a, b);
+ let references =
+ objects.map(|object| object.file_reference().unwrap().unwrap());
+ let [
+ FileDataReference::Internal(a),
+ FileDataReference::Internal(b),
+ ] = references
+ else {
+ panic!("The copy fixture requires its external payloads");
+ };
+ assert_eq!(left.file_data(a).unwrap(), right.file_data(b).unwrap());
+ }
+ _ => panic!("Copied object representations differ"),
+ }
+ }
+ }
+}
+
+#[test]
+fn native_parent_removal_retains_history_and_copies_the_complete_page() {
+ let bytes = [
+ include_bytes!("../../../corpus/page-lifecycle/05-reordered/notebook/Lifecycle.one").as_slice(),
+ include_bytes!("../../../corpus/page-lifecycle/06-deleted-parent/notebook/Lifecycle.one").as_slice(),
+ include_bytes!("../../../corpus/page-lifecycle/06-deleted-parent/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one").as_slice(),
+ ];
+ let stores = bytes.map(|b| Store::parse(b).unwrap());
+ let indexes = stores.each_ref().map(|s| RevisionIndex::parse(s).unwrap());
+ let documents = indexes.each_ref().map(|i| Document::parse(i).unwrap());
+ let sid = documents[0].pages().unwrap()[4].0;
+ assert!(!documents[1].spaces.contains_key(&sid));
+ assert_eq!(
+ indexes[0].spaces.keys().collect::>(),
+ indexes[1].spaces.keys().collect::>()
+ );
+ for (space, revisions) in &indexes[0].spaces {
+ for rid in revisions.revisions.keys() {
+ assert_eq!(
+ format!("{:?}", indexes[0].resolve(*space, *rid).unwrap()),
+ format!("{:?}", indexes[1].resolve(*space, *rid).unwrap())
+ );
+ }
+ }
+ let current = indexes[1]
+ .resolve(sid, indexes[1].spaces[&sid].labels[&(ExGuid::default(), 1)])
+ .unwrap();
+ let ObjectData::Properties(manifest) = current.objects[¤t.roots[&1]].data else {
+ panic!()
+ };
+ assert!(PropertySets::parse(manifest).unwrap().sets[0].is_empty());
+ let ObjectData::Properties(metadata) = current.objects[¤t.roots[&2]].data else {
+ panic!()
+ };
+ assert!(
+ PropertySets::parse(metadata).unwrap().sets[0]
+ .iter()
+ .any(|p| p.id == 0x88001de9)
+ );
+ let copied = documents[2].pages().unwrap();
+ assert_eq!(copied.len(), 1);
+ compare_copy(&stores[0], &stores[2], sid, copied[0].0);
+}
+
+fn compare_labels(before: &RevisionIndex<'_>, after: &RevisionIndex<'_>) {
+ assert_eq!(
+ before.spaces.keys().collect::>(),
+ after.spaces.keys().collect::>()
+ );
+ for (sid, space) in &before.spaces {
+ assert_eq!(
+ space.labels.keys().collect::>(),
+ after.spaces[sid].labels.keys().collect::>()
+ );
+ for (label, rid) in &space.labels {
+ assert_eq!(
+ format!("{:?}", before.resolve(*sid, *rid).unwrap()),
+ format!(
+ "{:?}",
+ after
+ .resolve(*sid, after.spaces[sid].labels[label])
+ .unwrap()
+ ),
+ "cold context {sid}/{label:?}"
+ );
+ }
+ }
+}
+
+fn native_case(name: &str) {
+ let root = std::path::Path::new(env!("CARGO_MANIFEST_DIR"))
+ .join("../../corpus/page-lifecycle/removal")
+ .join(name);
+ let request: serde_json::Value =
+ serde_json::from_slice(&std::fs::read(root.join("removal.json")).unwrap()).unwrap();
+ let selected: BTreeSet = serde_json::from_value(request["selected"].clone()).unwrap();
+ let bytes = ["native/before", "native/after", "cold"]
+ .map(|phase| std::fs::read(root.join(phase).join("notebook/Lifecycle.one")).unwrap());
+ let stores = bytes.each_ref().map(|bytes| Store::parse(bytes).unwrap());
+ let indexes = stores.each_ref().map(|store| {
+ assert!(store.checksum_mismatches.is_empty());
+ let index = RevisionIndex::parse(store).unwrap();
+ index.validate_current().unwrap();
+ index
+ });
+ let documents = indexes
+ .each_ref()
+ .map(|index| Document::parse(index).unwrap());
+ let before = documents[0].pages().unwrap();
+ let retained: Vec<_> = before
+ .iter()
+ .enumerate()
+ .filter(|(index, _)| !selected.contains(index))
+ .map(|(_, page)| *page)
+ .collect();
+ assert_eq!(documents[1].pages().unwrap(), retained);
+ assert_eq!(documents[2].pages().unwrap(), retained);
+ let groups = documents.each_ref().map(|document| {
+ let space = &document.spaces[&document.root];
+ let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
+ revision.nodes[&revision.roots[&1]]
+ .children
+ .iter()
+ .map(|id| (*id, revision.nodes[id].spaces.clone()))
+ .collect::>()
+ });
+ let mut expected: Vec<(ExGuid, Vec)> = Vec::new();
+ for (sid, _) in &retained {
+ let space = &documents[0].spaces[sid];
+ let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
+ let onestore::document::Kind::Metadata { level, .. } =
+ revision.nodes[&revision.roots[&2]].kind
+ else {
+ panic!()
+ };
+ if expected.is_empty() || level == Some(1) {
+ let (series, _) = groups[0]
+ .iter()
+ .find(|(_, pages)| pages.contains(sid))
+ .unwrap();
+ expected.push((*series, Vec::new()));
+ }
+ expected.last_mut().unwrap().1.push(*sid);
+ }
+ assert_eq!(groups[1], expected);
+ assert_eq!(groups[2], expected);
+ for (phase, index) in indexes[1..].iter().enumerate() {
+ assert_eq!(
+ indexes[0].spaces.keys().collect::>(),
+ index.spaces.keys().collect::>()
+ );
+ let mut discarded = 0;
+ for (sid, space) in &indexes[0].spaces {
+ for rid in space.revisions.keys() {
+ if !index.spaces[sid].revisions.contains_key(rid) {
+ discarded += 1;
+ continue;
+ }
+ assert_eq!(
+ format!("{:?}", indexes[0].resolve(*sid, *rid).unwrap()),
+ format!("{:?}", index.resolve(*sid, *rid).unwrap()),
+ "historical revision {sid}/{rid}"
+ );
+ }
+ for ((context, role), rid) in &space.labels {
+ if *context == ExGuid::default()
+ || selected.iter().any(|ordinal| before[*ordinal].0 == *sid)
+ {
+ continue;
+ }
+ let retained = index.spaces[sid].labels[&(*context, *role)];
+ assert_eq!(
+ format!("{:?}", indexes[0].resolve(*sid, *rid).unwrap()),
+ format!("{:?}", index.resolve(*sid, retained).unwrap()),
+ "labeled history {sid}/{context}/{role}"
+ );
+ }
+ }
+ assert_eq!(
+ discarded,
+ match name {
+ "ink" => 9,
+ "features" => 8,
+ _ => 0,
+ },
+ "native compaction phase {phase}"
+ );
+ }
+ compare_labels(&indexes[1], &indexes[2]);
+ let active = |side: usize, sid| {
+ indexes[side]
+ .resolve(
+ sid,
+ indexes[side].spaces[&sid].labels[&(ExGuid::default(), 1)],
+ )
+ .unwrap()
+ };
+ for (ordinal, (sid, _)) in before.iter().enumerate() {
+ let old = active(0, *sid);
+ let after = active(1, *sid);
+ assert_eq!(old.roots, after.roots);
+ if selected.contains(&ordinal) {
+ let ObjectData::Properties(manifest) = after.objects[&after.roots[&1]].data else {
+ panic!()
+ };
+ assert!(PropertySets::parse(manifest).unwrap().sets[0].is_empty());
+ let ObjectData::Properties(metadata) = after.objects[&after.roots[&2]].data else {
+ panic!()
+ };
+ assert!(
+ PropertySets::parse(metadata).unwrap().sets[0]
+ .iter()
+ .any(|p| p.id == 0x88001de9)
+ );
+ } else {
+ assert_eq!(
+ old.objects.keys().collect::>(),
+ after.objects.keys().collect::>()
+ );
+ for (id, object) in &old.objects {
+ if *id != old.roots[&2] {
+ assert_eq!(
+ format!("{object:?}"),
+ format!("{:?}", after.objects[id]),
+ "survivor {sid}/{id}"
+ );
+ } else {
+ let fields = [object, &after.objects[id]].map(|object| {
+ let ObjectData::Properties(bytes) = object.data else {
+ panic!()
+ };
+ PropertySets::parse(bytes).unwrap().sets[0]
+ .iter()
+ .filter(|p| p.id != 0x14001dff)
+ .map(|p| (p.id, format!("{:?}", p.value)))
+ .collect::>()
+ });
+ assert_eq!(fields[0], fields[1]);
+ use onestore::document::Kind;
+ let levels = [0, 1].map(|side| {
+ let space = &documents[side].spaces[sid];
+ let view = &space.revisions[&space.contexts[&ExGuid::default()]];
+ let Kind::Metadata { level, .. } = view.nodes[id].kind else {
+ panic!()
+ };
+ level
+ });
+ assert_eq!(
+ levels[1],
+ if retained.first().map(|p| p.0) == Some(*sid) {
+ Some(1)
+ } else {
+ levels[0]
+ }
+ );
+ }
+ }
+ }
+ }
+ if request["permanent"].as_bool().unwrap() {
+ assert!(
+ !root
+ .join("native/after/notebook/OneNote_RecycleBin")
+ .exists()
+ );
+ return;
+ }
+ let recycle_bytes = std::fs::read(
+ root.join("native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one"),
+ )
+ .unwrap();
+ let recycle = Store::parse(&recycle_bytes).unwrap();
+ let recycled_index = RevisionIndex::parse(&recycle).unwrap();
+ recycled_index.validate_current().unwrap();
+ let recycled_document = Document::parse(&recycled_index).unwrap();
+ let cold_recycle_bytes =
+ std::fs::read(root.join("cold/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one"))
+ .unwrap();
+ let cold_recycle = Store::parse(&cold_recycle_bytes).unwrap();
+ let cold_index = RevisionIndex::parse(&cold_recycle).unwrap();
+ cold_index.validate_current().unwrap();
+ compare_labels(&recycled_index, &cold_index);
+ let pages = recycled_document.pages().unwrap();
+ assert_eq!(pages.len(), selected.len());
+ let identity = |index: &RevisionIndex<'_>, sid| {
+ let revision = index
+ .resolve(sid, index.spaces[&sid].labels[&(ExGuid::default(), 1)])
+ .unwrap();
+ let ObjectData::Properties(bytes) = revision.objects[&revision.roots[&2]].data else {
+ panic!()
+ };
+ let sets = PropertySets::parse(bytes).unwrap();
+ let Value::Bytes(guid) = sets.sets[0]
+ .iter()
+ .find(|p| p.id == 0x1c001c30)
+ .unwrap()
+ .value
+ else {
+ panic!()
+ };
+ guid.to_vec()
+ };
+ let mut copies = BTreeMap::new();
+ for (sid, _) in pages {
+ assert!(copies.insert(identity(&recycled_index, sid), sid).is_none());
+ }
+ for ordinal in selected {
+ let sid = before[ordinal].0;
+ let copied = copies.remove(&identity(&indexes[0], sid)).unwrap();
+ compare_copy(&stores[0], &recycle, sid, copied);
+ compare_copy(&stores[0], &cold_recycle, sid, copied);
+ }
+ assert!(copies.is_empty());
+}
+
+macro_rules! native_cases {
+ ($($name:ident => $case:literal),* $(,)?) => {$(
+ #[test]
+ fn $name() { native_case($case); }
+ )*};
+}
+
+native_cases! {
+ trailing => "trailing", parent => "parent", child => "child", grandchild => "grandchild",
+ group => "group", all => "all", permanent_parent => "permanent-parent",
+ leading_parent => "leading-parent", leading_group => "leading-group",
+ features => "features", ink => "ink",
+}
+
+#[test]
+fn copy_comparison_rejects_text_and_payload_changes() {
+ let original = include_bytes!(
+ "../../../corpus/page-lifecycle/removal/ink/native/before/notebook/Lifecycle.one"
+ );
+ let copied = include_bytes!(
+ "../../../corpus/page-lifecycle/removal/ink/native/after/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one"
+ );
+ let stores = [original.as_slice(), copied.as_slice()].map(|bytes| Store::parse(bytes).unwrap());
+ let indexes = stores
+ .each_ref()
+ .map(|store| RevisionIndex::parse(store).unwrap());
+ let documents = indexes
+ .each_ref()
+ .map(|index| Document::parse(index).unwrap());
+ let [source_sid, copy_sid] = documents
+ .each_ref()
+ .map(|document| document.pages().unwrap()[0].0);
+ compare_copy(&stores[0], &stores[1], source_sid, copy_sid);
+ let space = &documents[1].spaces[©_sid];
+ let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
+ let text = revision
+ .nodes
+ .iter()
+ .find_map(|(oid, node)| {
+ matches!(
+ node.kind,
+ onestore::document::Kind::RichText {
+ boilerplate: false,
+ ..
+ }
+ )
+ .then_some(*oid)
+ })
+ .unwrap();
+ let changed = onestore::replace_text(copied, copy_sid, text, 0..0, "Changed ").unwrap();
+ let changed_store = Store::parse(&changed).unwrap();
+ RevisionIndex::parse(&changed_store)
+ .unwrap()
+ .validate_current()
+ .unwrap();
+ assert!(
+ std::panic::catch_unwind(|| compare_copy(&stores[0], &changed_store, source_sid, copy_sid))
+ .is_err()
+ );
+
+ let raw = indexes[1]
+ .resolve(
+ copy_sid,
+ indexes[1].spaces[©_sid].labels[&(ExGuid::default(), 1)],
+ )
+ .unwrap();
+ let attachment = revision
+ .nodes
+ .values()
+ .find_map(|node| match node.kind {
+ onestore::document::Kind::Attachment { container, .. } => container,
+ _ => None,
+ })
+ .unwrap();
+ let Some(FileDataReference::Internal(guid)) =
+ raw.objects[&attachment].file_reference().unwrap()
+ else {
+ panic!()
+ };
+ let payload = stores[1].file_data(guid).unwrap();
+ assert!(!payload.is_empty());
+ let offset = payload.as_ptr().addr() - copied.as_ptr().addr();
+ let mut changed = copied.to_vec();
+ changed[offset] ^= 1;
+ let changed_store = Store::parse(&changed).unwrap();
+ assert!(changed_store.checksum_mismatches.is_empty());
+ RevisionIndex::parse(&changed_store)
+ .unwrap()
+ .validate_current()
+ .unwrap();
+ assert_ne!(changed_store.file_data(guid).unwrap(), payload);
+ assert!(
+ std::panic::catch_unwind(|| compare_copy(&stores[0], &changed_store, source_sid, copy_sid))
+ .is_err()
+ );
+}
diff --git a/tools/native/page-removal.ps1 b/tools/native/page-removal.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..6b2f7f5bf1860ab9252f09f1558e83893a0656f6
--- /dev/null
+++ b/tools/native/page-removal.ps1
@@ -0,0 +1,31 @@
+param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly before
+$request = Get-Content (Join-Path $Root 'removal.json') -Raw | ConvertFrom-Json
+$app = New-Object -ComObject OneNote.Application
+try {
+ $notebook = ''
+ $section = ''
+ $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
+ $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 0)
+ $hierarchy = ''
+ $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
+ [xml]$tree = $hierarchy
+ $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
+ if ($pages.Count -ne $request.expected_pages) { throw 'The removal fixture has an unexpected page count.' }
+ $ids = @()
+ foreach ($index in $request.selected) {
+ if ($index -lt 0 -or $index -ge $pages.Count) { throw 'Choose an original page in the fixture.' }
+ $ids += $pages[$index].GetAttribute('ID')
+ }
+ ConvertTo-Json -InputObject $ids | Set-Content (Join-Path $Root 'removed-ids.json') -Encoding UTF8
+ foreach ($id in $ids) {
+ $app.DeleteHierarchy($id, [DateTime]::MinValue, [bool]$request.permanent)
+ }
+} finally {
+ [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
+ [GC]::Collect()
+ [GC]::WaitForPendingFinalizers()
+}
+& "$PSScriptRoot\page-lifecycle.ps1" -Root $Root -CloneHost $CloneHost -CaptureOnly after
diff --git a/tools/native_page_removal.py b/tools/native_page_removal.py
new file mode 100644
index 0000000000000000000000000000000000000000..5647104cc27fc30a39c6d1def8f081a17b8f1ac4
--- /dev/null
+++ b/tools/native_page_removal.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python3
+"""Capture explicit page removals and independently reopen the resulting notebook."""
+import argparse
+import hashlib
+import json
+from pathlib import Path
+import runpy
+import signal
+from tempfile import TemporaryDirectory
+
+import native_runner as runner
+
+BASE = 'page-lifecycle/04-nested/notebook/Lifecycle.one'
+LEADING = 'page-lifecycle/movement/08-collapsed-group-move/notebook/Lifecycle.one'
+CASES = {
+ 'trailing': (BASE, 9, [8], False),
+ 'parent': (BASE, 9, [3], False),
+ 'child': (BASE, 9, [4], False),
+ 'grandchild': (BASE, 9, [5], False),
+ 'group': (BASE, 9, [3, 4, 5], False),
+ 'all': (BASE, 9, list(range(9)), False),
+ 'permanent-parent': (BASE, 9, [3], True),
+ 'leading-parent': (LEADING, 9, [0], False),
+ 'leading-group': (LEADING, 9, [0, 1], False),
+ 'features': ('m6/native-expanded-control-ui-01/notebook/Features.one', 13,
+ [0, 3, 8, 9, 10, 11, 12], False),
+ 'ink': ('native-ink/20260905-ui/notebook/synthetic.one', 1, [0], False),
+}
+
+
+def capture(case, output):
+ source, count, selected, permanent = CASES[case]
+ output.mkdir(parents=True, exist_ok=False)
+ request = {'case': case, 'selected': selected, 'permanent': permanent,
+ 'expected_pages': count}
+ (output / 'removal.json').write_text(json.dumps(request, indent=2) + '\n')
+ scripts = {name: (runner.ROOT / 'tools/native' / name).read_bytes()
+ for name in ['page-lifecycle.ps1', 'page-removal.ps1']}
+
+ def interact(target, destination):
+ for name, data in scripts.items():
+ local = destination / 'scripts' / name
+ local.write_bytes(data)
+ result = runner.windows.do_put(local, 'C:\\one-tests\\' + name, target)
+ if result.get('error'):
+ raise RuntimeError(result['error'])
+ result = runner.windows.do_put(output / 'removal.json', r'C:\one-tests\runs\capture\removal.json', target)
+ if result.get('error'):
+ raise RuntimeError(result['error'])
+ (destination / 'interaction.json').write_text(json.dumps({
+ name: hashlib.sha256(data).hexdigest()
+ for name, data in scripts.items()}, indent=2) + '\n')
+ runner.command(target, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\page-removal.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-' + target.upper(), destination, 180000)
+
+ with TemporaryDirectory() as temporary:
+ stage = Path(temporary)
+ (stage / 'Lifecycle.one').symlink_to(runner.ROOT / 'corpus' / source)
+ runner.capture(stage, output / 'native', expected_pages=count,
+ collect_notebook=True, interaction=interact)
+ runner.capture(output / 'native/after/notebook', output / 'cold', collect_notebook=True)
+ compare = runpy.run_path(str(runner.ROOT / 'tools/verify-document.py'))['compare']
+ compare(output / 'native/after/notebook', output / 'cold/read')
+ compare(output / 'cold/notebook', output / 'cold/read')
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument('case', choices=CASES)
+ parser.add_argument('output', type=Path)
+ args = parser.parse_args()
+
+ def interrupted(_signum, _frame):
+ raise KeyboardInterrupt
+
+ signal.signal(signal.SIGTERM, interrupted)
+ capture(args.case, args.output)
diff --git a/tools/test_page_removal.py b/tools/test_page_removal.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3ae6bbb25f427b19682063c8a26178d2eada497
--- /dev/null
+++ b/tools/test_page_removal.py
@@ -0,0 +1,61 @@
+import hashlib
+import json
+from pathlib import Path
+import runpy
+import shutil
+from tempfile import TemporaryDirectory
+import unittest
+import xml.etree.ElementTree as ET
+
+from native_page_removal import CASES
+from native_xml import ns
+
+ROOT = Path(__file__).resolve().parent.parent
+FIXTURE = ROOT / 'corpus/page-lifecycle/removal'
+compare = runpy.run_path(str(ROOT / 'tools/verify-document.py'))['compare']
+
+
+class PageRemovalTest(unittest.TestCase):
+ def test_captures_match_requests_and_native_navigation(self):
+ provenance = json.loads((FIXTURE / 'provenance.json').read_text())
+ self.assertEqual(provenance.keys(), CASES.keys())
+ machines = set()
+ for case, (_, count, selected, permanent) in CASES.items():
+ with self.subTest(case=case):
+ root = FIXTURE / case
+ request = json.loads((root / 'removal.json').read_text())
+ self.assertEqual(request['selected'], selected)
+ self.assertEqual(request['permanent'], permanent)
+ for relative, digest in provenance[case]['sha256'].items():
+ self.assertEqual(hashlib.sha256((root / relative).read_bytes()).hexdigest(), digest)
+ for phase in ['native', 'cold']:
+ machine = json.loads((root / phase / 'machine.json').read_text())['name']
+ self.assertNotIn(machine, machines)
+ machines.add(machine)
+ self.assertTrue(json.loads((root / phase / 'teardown.json').read_text())['absent'])
+ before = ET.parse(root / 'native/before/hierarchy.xml').findall('.//one:Page', ns)
+ self.assertEqual(len(before), count)
+ expected = [(page.get('name'), page.get('pageLevel', '1'))
+ for index, page in enumerate(before) if index not in selected]
+ if expected:
+ expected[0] = (expected[0][0], '1')
+ for hierarchy in ['hierarchy.xml', 'reopened-hierarchy.xml']:
+ xml = (root / 'native/after' / hierarchy).read_text(encoding='utf-8-sig').strip()
+ pages = ET.fromstring(xml).findall('.//one:Page', ns) if xml not in ('', '') else []
+ self.assertEqual([(page.get('name'), page.get('pageLevel', '1')) for page in pages], expected)
+ self.assertEqual(len(machines), 22)
+
+ def test_native_xml_and_payloads_match_source_and_cold_stores(self):
+ for case in CASES:
+ for notebook, read in [('native/before/notebook', 'native/before-read'),
+ ('native/after/notebook', 'native/read'),
+ ('native/after/notebook', 'cold/read'),
+ ('cold/notebook', 'cold/read')]:
+ with self.subTest(case=case, notebook=notebook, read=read), TemporaryDirectory() as temporary:
+ destination = Path(temporary) / 'read'
+ shutil.copytree(FIXTURE / case / read, destination)
+ compare(FIXTURE / case / notebook, destination)
+
+
+if __name__ == '__main__':
+ unittest.main()