* docs: research and plan for EA and Ubisoft stores
* feat(ea): EA store with sign-in, library, native downloads, updates and launch without the EA app
* perf(ea): fetch large archive records as parallel ranges
* fix(ea): register game display names
* fix(ea): license legacy EA Core games and harden the LSX endpoint
* fix(ea): run legacy Origin SDK games with a stand-in Origin process
* fix(ea): trust only the prepared game on LSX and stop stale library syncs
* fix(ea): close LSX sessions on stop and drop clients that never hand-shake
* fix(ea): require every hashed field before licensing or caching a probe
* fix(ea): trust one LSX session per launch
* fix(ea): serialize the library cache write with sign-out and rerun a skipped sync
* fix(ea): hand off library sync requests under one lock
* fix(ea): clear the sign-in before invalidating the library
* fix(ea): serialize sign-out with token refresh and with the library cache
* fix(ea): LSX trusts only verified peers, new launch closes old sessions, exit stops its own game
* fix(ea): LSX hides profile and presence from unverified peers
* fix(ea): LSX handshake has a fixed deadline and untrusted sessions yield their slot
* fix(ea): LSX never registers a client after its listener was stopped
* fix(ea): LSX evicts each untrusted session at most once
* fix(ea): LSX admission and eviction share one lock and keep the cap
* fix(ea): LSX trust promotion excludes eviction
* fix(ea): LSX launch generation guards restarts and drops results after shutdown
* fix(ea): LSX publishes launch state under the admission lock and tags accepts by generation
* fix(ea): LSX restarts rebind its listener and promotion checks the launch generation
* fix(ea): record why EA refuses a game licence in the store log
* chore(ea): log owned offers and the full licence refusal
* chore(ea): log the account's entitlements when no game licence is granted
* chore(ea): log legacy entitlements when no game licence is granted
* chore(ea): log only the refused game's own entitlements
* fix(ea): skip trial launchers flagged 1 and license games whose LSX peer Android cannot name