R52 ANDROID ROM PATCH PACK - VERIFICATION

PASS: exact clean World ZIP SHA-256 checked before generating either patch.
PASS: both canonical target ZIPs pass ZIP integrity checks.
PASS: all 40 extracted members match their current R52 configuration targets
      byte-for-byte, for both TAG and Dramatic Battle.
PASS: independent strict Python BPS decoder reconstructs both exact ZIPs and
      every member fallback output, with source/target/patch CRC and bounds checks.
PASS: actual upstream Rom Patcher JS BPS library, 90 checks including
      both whole ZIP round trips, every member round trip, wrong sources,
      truncated sources/patches, damaged patches, already-patched inputs,
      and invalid target CRCs even after recomputing the patch CRC.
PASS: actual upstream Flips CLI, 8 checks: both whole ZIP round trips,
      recompressed wrong-base rejection, already-patched input rejection,
      and damaged patch rejection. Rejected operations create no output file.
PASS: clean key bytes are absent from every public patch and patch literal
      stream. The user-owned key is preserved by source-copy operations.
PASS: downloadable patch ZIP contains BPS patches and TXT instructions only.

Creator/independent real patcher:
  Floating IPS (Flips), upstream commit
  ff216a75df0987047a67d7923567dc4482ce07ac
  https://github.com/Alcaro/Flips
Independent BPS implementation:
  Rom Patcher JS, upstream commit
  4f17297cd1dc0835a0b0747497fa15f5f63f1623
  https://github.com/marcrobledo/RomPatcher.js

These checks establish patch correctness, not Android gameplay certification.
They do not establish frame rate, input latency, save-state compatibility,
or a completed match on an Android device. Custom-core runtime validation
is a separate part of the release's core documentation.
