diff --git a/hadrian/bootstrap/plan-9_4_1.json b/hadrian/bootstrap/plan-9_4_1.json
index f1fa8ca4c4b2631f17c78b7cd11508e66fe4ea51..f6f14ee1c15f7747bd6976a8ea79b219e590afec 100644
--- a/hadrian/bootstrap/plan-9_4_1.json
+++ b/hadrian/bootstrap/plan-9_4_1.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-44aec2227e27eddf9f77d5018302a530349bc6f239b48a12da6950ed5bbf27c6","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-1f4d5cfa7c972d59268ad23a58928ca71cb3b0b4d99ecfb3365582489f8d5c7a","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-e675cadb63ad5e90c1cabbe27850d99000d5db86a5062c884ce4164f4a7378d1","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-803ebe82e336a8fd4af224a090f5332c52868d6c62c4e5b0fb177db5fa3b6e39","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-e675cadb63ad5e90c1cabbe27850d99000d5db86a5062c884ce4164f4a7378d1","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.1","pkg-name":"ghc-boot-th","pkg-version":"9.4.1","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-44aec2227e27eddf9f77d5018302a530349bc6f239b48a12da6950ed5bbf27c6","base-4.17.0.0","base16-bytestring-1.0.2.0-1f4d5cfa7c972d59268ad23a58928ca71cb3b0b4d99ecfb3365582489f8d5c7a","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-803ebe82e336a8fd4af224a090f5332c52868d6c62c4e5b0fb177db5fa3b6e39","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.7-d2fc1dfc6d25adb31e2ca3c13239acbcbadee6c43f4b302967b77dda678899a4","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-fd0580db377f6ca69761393a9da6a0c1b74bc039be975b6937b87adeb0d66d84"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-1363e3fa0889cf99817775f4b90b379663b405a4c6d8cb3f2d1b34b2ba9038fd","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.8.0.0-a07f2cbfdf3613880c3e9948bf6f846af5c8ceff5ece4c0866ecec26372c90ef","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-d2fc1dfc6d25adb31e2ca3c13239acbcbadee6c43f4b302967b77dda678899a4","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","hashable-1.4.2.0-1363e3fa0889cf99817775f4b90b379663b405a4c6d8cb3f2d1b34b2ba9038fd","heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","primitive-0.8.0.0-a07f2cbfdf3613880c3e9948bf6f846af5c8ceff5ece4c0866ecec26372c90ef","process-1.6.15.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-fd0580db377f6ca69761393a9da6a0c1b74bc039be975b6937b87adeb0d66d84","utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-62b640d9e5423cbe62368e849a8bc6542054769417e601f88f487fca539d0d6a","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","hashable-1.4.2.0-1363e3fa0889cf99817775f4b90b379663b405a4c6d8cb3f2d1b34b2ba9038fd","heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","primitive-0.8.0.0-a07f2cbfdf3613880c3e9948bf6f846af5c8ceff5ece4c0866ecec26372c90ef","process-1.6.15.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-fd0580db377f6ca69761393a9da6a0c1b74bc039be975b6937b87adeb0d66d84","utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.1/shake-0.19.7-e-shake-62b640d9e5423cbe62368e849a8bc6542054769417e601f88f487fca539d0d6a/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.1","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-fd0580db377f6ca69761393a9da6a0c1b74bc039be975b6937b87adeb0d66d84","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.2.0-1363e3fa0889cf99817775f4b90b379663b405a4c6d8cb3f2d1b34b2ba9038fd","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.3-75bb4809075307f7de36e5b958d7f7bede093d2aaed1dbd845bd9869a2264c87","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.2-75f85a312ed4f929e386351aa8242d1f1b0d5420cc2c856fd848c8e1c190483f","splitmix-0.1.0.5-9265b4fab05b1e720924ef6b5b6d04e1752b13f7f6ca6bbf285638a7c132d11d","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-4ec7f057855908fd42b1002f358a84b6b9cb4586ff54dd8b8c24e56b87536312","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.4-bd1be92bb991bca7950a37881a175285d890ab5170c4fb78d8c323bc063e6e32","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-c8c0519fbcfe5f5ef49caddb28c6e2fa860572b2030b208f1ba62fcc48ef5cbd","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"pre-existing","id":"exceptions-0.10.5","pkg-name":"exceptions","pkg-version":"0.10.5","depends":["base-4.17.0.0","mtl-2.2.2","stm-2.5.1.0","template-haskell-2.19.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"extra-1.7.14-3d57e1bf383d5aabfc03012c9bb09c1c028701d6ca54a55d50bccee299447e4f","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.17.0.0","clock-0.8.4-bd1be92bb991bca7950a37881a175285d890ab5170c4fb78d8c323bc063e6e32","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-a1fbd2dc41acb75851fb7fca9a260c11641da549165ce42733e0288e38629697","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.14-3d57e1bf383d5aabfc03012c9bb09c1c028701d6ca54a55d50bccee299447e4f","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.1","pkg-name":"ghc-boot-th","pkg-version":"9.4.1","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.3-75bb4809075307f7de36e5b958d7f7bede093d2aaed1dbd845bd9869a2264c87","base-4.17.0.0","base16-bytestring-1.0.2.0-4ec7f057855908fd42b1002f358a84b6b9cb4586ff54dd8b8c24e56b87536312","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-c8c0519fbcfe5f5ef49caddb28c6e2fa860572b2030b208f1ba62fcc48ef5cbd","directory-1.3.7.1","extra-1.7.14-3d57e1bf383d5aabfc03012c9bb09c1c028701d6ca54a55d50bccee299447e4f","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.8-7ca8e69e648421c44e96fee1948c46b4f160b3cb7006267ef3afa198c00c87a7","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.20-e5791bc5550fa618d09136b28ab9956a7378a2d14e7f43eb0c558a96dc90c65b"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-87bcdaeeda84fdf999bad17443d777df15e9f6a2718ed1d5cfdfb1348cad3138","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","os-string-2.0.2.1-c1a6f7973a0921b2339ef95d0fe0557d349f8858234ae7d99382f2559b3527a3","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-bf2773a4a4ad71050fcc94159971721eb8a49579e145f115a6a0e6083653784d","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-15942e3d7f7b3332f2095128b1e1f0871d05a430bd163f43a7f4a15b054b9a9c","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-cc97d02d1dbc35bb0966dcd7214f70b68592f35564d9776637d122bb2a2a1969","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-fe407576383c50b273c0a2bef04103e1c9c5bbdd4151b8af362f120a60e312b2","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"os-string-2.0.2.1-c1a6f7973a0921b2339ef95d0fe0557d349f8858234ae7d99382f2559b3527a3","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","exceptions-0.10.5","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.9.0.0-cc9b7ed4c42bfa0b859a97f9db1c8947def0e50a52eea48ff0b88aabd4a8e270","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.2-75f85a312ed4f929e386351aa8242d1f1b0d5420cc2c856fd848c8e1c190483f","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.5-9265b4fab05b1e720924ef6b5b6d04e1752b13f7f6ca6bbf285638a7c132d11d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-7ca8e69e648421c44e96fee1948c46b4f160b3cb7006267ef3afa198c00c87a7","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-3d57e1bf383d5aabfc03012c9bb09c1c028701d6ca54a55d50bccee299447e4f","filepath-1.4.2.2","filepattern-0.1.3-a1fbd2dc41acb75851fb7fca9a260c11641da549165ce42733e0288e38629697","hashable-1.4.4.0-87bcdaeeda84fdf999bad17443d777df15e9f6a2718ed1d5cfdfb1348cad3138","heaps-0.4-bf2773a4a4ad71050fcc94159971721eb8a49579e145f115a6a0e6083653784d","js-dgtable-0.5.2-15942e3d7f7b3332f2095128b1e1f0871d05a430bd163f43a7f4a15b054b9a9c","js-flot-0.8.3-cc97d02d1dbc35bb0966dcd7214f70b68592f35564d9776637d122bb2a2a1969","js-jquery-3.3.1-fe407576383c50b273c0a2bef04103e1c9c5bbdd4151b8af362f120a60e312b2","primitive-0.9.0.0-cc9b7ed4c42bfa0b859a97f9db1c8947def0e50a52eea48ff0b88aabd4a8e270","process-1.6.15.0","random-1.2.1.2-75f85a312ed4f929e386351aa8242d1f1b0d5420cc2c856fd848c8e1c190483f","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-e5791bc5550fa618d09136b28ab9956a7378a2d14e7f43eb0c558a96dc90c65b","utf8-string-1.0.2-31e92c71429de1e79b27237ffce943d201e07f1b60ff787f5d3f08032f902167"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-ab06035444261413d3bcd06065d85bfefaf3feb6e927626967306f43e5ff2650","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-3d57e1bf383d5aabfc03012c9bb09c1c028701d6ca54a55d50bccee299447e4f","filepath-1.4.2.2","filepattern-0.1.3-a1fbd2dc41acb75851fb7fca9a260c11641da549165ce42733e0288e38629697","hashable-1.4.4.0-87bcdaeeda84fdf999bad17443d777df15e9f6a2718ed1d5cfdfb1348cad3138","heaps-0.4-bf2773a4a4ad71050fcc94159971721eb8a49579e145f115a6a0e6083653784d","js-dgtable-0.5.2-15942e3d7f7b3332f2095128b1e1f0871d05a430bd163f43a7f4a15b054b9a9c","js-flot-0.8.3-cc97d02d1dbc35bb0966dcd7214f70b68592f35564d9776637d122bb2a2a1969","js-jquery-3.3.1-fe407576383c50b273c0a2bef04103e1c9c5bbdd4151b8af362f120a60e312b2","primitive-0.9.0.0-cc9b7ed4c42bfa0b859a97f9db1c8947def0e50a52eea48ff0b88aabd4a8e270","process-1.6.15.0","random-1.2.1.2-75f85a312ed4f929e386351aa8242d1f1b0d5420cc2c856fd848c8e1c190483f","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-e5791bc5550fa618d09136b28ab9956a7378a2d14e7f43eb0c558a96dc90c65b","utf8-string-1.0.2-31e92c71429de1e79b27237ffce943d201e07f1b60ff787f5d3f08032f902167"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.1/shake-0.19.8-e-shake-ab06035444261413d3bcd06065d85bfefaf3feb6e927626967306f43e5ff2650/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-9265b4fab05b1e720924ef6b5b6d04e1752b13f7f6ca6bbf285638a7c132d11d","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.4.0","base-4.17.0.0"]},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.1","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-e5791bc5550fa618d09136b28ab9956a7378a2d14e7f43eb0c558a96dc90c65b","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.4.0-87bcdaeeda84fdf999bad17443d777df15e9f6a2718ed1d5cfdfb1348cad3138","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-31e92c71429de1e79b27237ffce943d201e07f1b60ff787f5d3f08032f902167","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_2.json b/hadrian/bootstrap/plan-9_4_2.json
index df304793c73a19d8007ed1f4de94d80702d61d63..f6e3ac57cdc4c53339cd7c8e2492b0534b6b8014 100644
--- a/hadrian/bootstrap/plan-9_4_2.json
+++ b/hadrian/bootstrap/plan-9_4_2.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-3dda78ffb9c0183413979d4bca4a88aa2dfb8fb922ef115a947bd1bf3458add0","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-8845b9b845268782664a9731259247bb8eb1e18dc03a39dadfe77b42101a894d","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-0129568eebbfa961d0c38a3dcb8b8cd195f8a921fe59eb9ceddfc368d87f7b74","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-e0ecce2a2a105f81f515ad74e9fd132a406a856efa250f47178547d401b9ef87","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-0129568eebbfa961d0c38a3dcb8b8cd195f8a921fe59eb9ceddfc368d87f7b74","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.2","pkg-name":"ghc-boot-th","pkg-version":"9.4.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-3dda78ffb9c0183413979d4bca4a88aa2dfb8fb922ef115a947bd1bf3458add0","base-4.17.0.0","base16-bytestring-1.0.2.0-8845b9b845268782664a9731259247bb8eb1e18dc03a39dadfe77b42101a894d","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-e0ecce2a2a105f81f515ad74e9fd132a406a856efa250f47178547d401b9ef87","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.7-e941cd8c6a2384d93b27d15bed9271abdfc1bd3584c51ce36cdfa5ebef75e2d1","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-5d479bd67546400df56a0d5936ce154eaf2a515f628e7f7c6a4bdf072f3a7357"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-8e31e6b21e417f686c72cda778509198a6d21d5a913ab5887f00511181a1b962","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.8.0.0-c149e96dd6c8e609c75b5c29aa28e8cd219c971a12e6e067d5b176788da134c7","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-e-shake-93a6abbc9595b6d85ad9802cf629596ab2d5d3c72261d6dce269f07068d1b8aa","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","hashable-1.4.2.0-8e31e6b21e417f686c72cda778509198a6d21d5a913ab5887f00511181a1b962","heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","primitive-0.8.0.0-c149e96dd6c8e609c75b5c29aa28e8cd219c971a12e6e067d5b176788da134c7","process-1.6.15.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-5d479bd67546400df56a0d5936ce154eaf2a515f628e7f7c6a4bdf072f3a7357","utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.2/shake-0.19.7-e-shake-93a6abbc9595b6d85ad9802cf629596ab2d5d3c72261d6dce269f07068d1b8aa/bin/shake"},{"type":"configured","id":"shake-0.19.7-e941cd8c6a2384d93b27d15bed9271abdfc1bd3584c51ce36cdfa5ebef75e2d1","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","hashable-1.4.2.0-8e31e6b21e417f686c72cda778509198a6d21d5a913ab5887f00511181a1b962","heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","primitive-0.8.0.0-c149e96dd6c8e609c75b5c29aa28e8cd219c971a12e6e067d5b176788da134c7","process-1.6.15.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-5d479bd67546400df56a0d5936ce154eaf2a515f628e7f7c6a4bdf072f3a7357","utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.2","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-5d479bd67546400df56a0d5936ce154eaf2a515f628e7f7c6a4bdf072f3a7357","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.2.0-8e31e6b21e417f686c72cda778509198a6d21d5a913ab5887f00511181a1b962","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.3-e81d585982c449fcca0ecffc2cf5fab9428840336ddf7901cfb8f7217ab8bb63","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.2-7cf2793c0320e9b4041abf75ccb83526afd1019e4235d38f7751d8a8101e201d","splitmix-0.1.0.5-44b229f6d088b39f8447fcec524ce066edd8bf658f7aa2a5cb710ca2f32f1491","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-31fd8a3f136ccf3f19bd1ddd1b1c87132f5ee504093284480afe36bcee720871","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.4-171f768ad2bf81372e49b0b63b9494cf633efa4585eb905a969d9904af5c8013","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-07925548bad9209b09ec54b5bbbda0399f6982efa3bc1ff9f40b7f7feadafaa3","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"pre-existing","id":"exceptions-0.10.5","pkg-name":"exceptions","pkg-version":"0.10.5","depends":["base-4.17.0.0","mtl-2.2.2","stm-2.5.1.0","template-haskell-2.19.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"extra-1.7.14-83b2480363da2df8166b199bfb0038423b52a1875fb7f134281f8409d635a32e","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.17.0.0","clock-0.8.4-171f768ad2bf81372e49b0b63b9494cf633efa4585eb905a969d9904af5c8013","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-f4df1c6c064ee654c1ffd7571e6f81d032b1829f82b244897cbfe4f54d853bcb","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.14-83b2480363da2df8166b199bfb0038423b52a1875fb7f134281f8409d635a32e","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.2","pkg-name":"ghc-boot-th","pkg-version":"9.4.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.3-e81d585982c449fcca0ecffc2cf5fab9428840336ddf7901cfb8f7217ab8bb63","base-4.17.0.0","base16-bytestring-1.0.2.0-31fd8a3f136ccf3f19bd1ddd1b1c87132f5ee504093284480afe36bcee720871","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-07925548bad9209b09ec54b5bbbda0399f6982efa3bc1ff9f40b7f7feadafaa3","directory-1.3.7.1","extra-1.7.14-83b2480363da2df8166b199bfb0038423b52a1875fb7f134281f8409d635a32e","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.8-4724b9f6802ee51dcbf7d88b8a3c9da8c1e6abbc9052034904bee4c1f164123c","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.20-69a76637b0c96315bdbe59cfdc04890313621b0c77dfbe98697cb6409132a160"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-53288fbd566a79993fae6e0bdf5d2ee123e6be7ee65c4e6bce4d22d228d53ea8","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","os-string-2.0.2.1-2ac6aace9479c1de719f7d1f5a2d39a77d0096dddf2a7005b80bd6ac062ee3bd","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-05961c718120735a11b3b8ba6af74eb122524d24d6834f9487232a1a81c150b1","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-7001182a68e61afbc930bdc576e85c9cf53f280510d2a04e4da18af0cc1fbf13","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-00dfe63e2cc54487a0efd7d3a834cf0c1fa0a6c9a18404e45da8444231ca31eb","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-44af0f0650c72f455debdcd39da81d0ff4aa3211155ee1658c79f4e65367c964","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"os-string-2.0.2.1-2ac6aace9479c1de719f7d1f5a2d39a77d0096dddf2a7005b80bd6ac062ee3bd","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","exceptions-0.10.5","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.9.0.0-351156e7ba27738a425a6e88849525e3c05f992f72e69a3af5a803536accb1df","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.2-7cf2793c0320e9b4041abf75ccb83526afd1019e4235d38f7751d8a8101e201d","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.5-44b229f6d088b39f8447fcec524ce066edd8bf658f7aa2a5cb710ca2f32f1491"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-4724b9f6802ee51dcbf7d88b8a3c9da8c1e6abbc9052034904bee4c1f164123c","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-83b2480363da2df8166b199bfb0038423b52a1875fb7f134281f8409d635a32e","filepath-1.4.2.2","filepattern-0.1.3-f4df1c6c064ee654c1ffd7571e6f81d032b1829f82b244897cbfe4f54d853bcb","hashable-1.4.4.0-53288fbd566a79993fae6e0bdf5d2ee123e6be7ee65c4e6bce4d22d228d53ea8","heaps-0.4-05961c718120735a11b3b8ba6af74eb122524d24d6834f9487232a1a81c150b1","js-dgtable-0.5.2-7001182a68e61afbc930bdc576e85c9cf53f280510d2a04e4da18af0cc1fbf13","js-flot-0.8.3-00dfe63e2cc54487a0efd7d3a834cf0c1fa0a6c9a18404e45da8444231ca31eb","js-jquery-3.3.1-44af0f0650c72f455debdcd39da81d0ff4aa3211155ee1658c79f4e65367c964","primitive-0.9.0.0-351156e7ba27738a425a6e88849525e3c05f992f72e69a3af5a803536accb1df","process-1.6.15.0","random-1.2.1.2-7cf2793c0320e9b4041abf75ccb83526afd1019e4235d38f7751d8a8101e201d","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-69a76637b0c96315bdbe59cfdc04890313621b0c77dfbe98697cb6409132a160","utf8-string-1.0.2-f40ac11deafcc362fe3fc4c3902f89c202e6a1db8f8bfe6aa0bbca574f1162b2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-09073f9800d0d3b0a7ac3a938fee48f17316e2f29a330ffc7ef23808e749c78f","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-83b2480363da2df8166b199bfb0038423b52a1875fb7f134281f8409d635a32e","filepath-1.4.2.2","filepattern-0.1.3-f4df1c6c064ee654c1ffd7571e6f81d032b1829f82b244897cbfe4f54d853bcb","hashable-1.4.4.0-53288fbd566a79993fae6e0bdf5d2ee123e6be7ee65c4e6bce4d22d228d53ea8","heaps-0.4-05961c718120735a11b3b8ba6af74eb122524d24d6834f9487232a1a81c150b1","js-dgtable-0.5.2-7001182a68e61afbc930bdc576e85c9cf53f280510d2a04e4da18af0cc1fbf13","js-flot-0.8.3-00dfe63e2cc54487a0efd7d3a834cf0c1fa0a6c9a18404e45da8444231ca31eb","js-jquery-3.3.1-44af0f0650c72f455debdcd39da81d0ff4aa3211155ee1658c79f4e65367c964","primitive-0.9.0.0-351156e7ba27738a425a6e88849525e3c05f992f72e69a3af5a803536accb1df","process-1.6.15.0","random-1.2.1.2-7cf2793c0320e9b4041abf75ccb83526afd1019e4235d38f7751d8a8101e201d","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-69a76637b0c96315bdbe59cfdc04890313621b0c77dfbe98697cb6409132a160","utf8-string-1.0.2-f40ac11deafcc362fe3fc4c3902f89c202e6a1db8f8bfe6aa0bbca574f1162b2"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.2/shake-0.19.8-e-shake-09073f9800d0d3b0a7ac3a938fee48f17316e2f29a330ffc7ef23808e749c78f/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-44b229f6d088b39f8447fcec524ce066edd8bf658f7aa2a5cb710ca2f32f1491","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.4.0","base-4.17.0.0"]},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.2","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-69a76637b0c96315bdbe59cfdc04890313621b0c77dfbe98697cb6409132a160","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.4.0-53288fbd566a79993fae6e0bdf5d2ee123e6be7ee65c4e6bce4d22d228d53ea8","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-f40ac11deafcc362fe3fc4c3902f89c202e6a1db8f8bfe6aa0bbca574f1162b2","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_3.json b/hadrian/bootstrap/plan-9_4_3.json
index ff854d772485a7c91b2eae6b6e95cef45ea7f273..8cf89587806e2d3dd0a33b90b2acc7a2379a6ea2 100644
--- a/hadrian/bootstrap/plan-9_4_3.json
+++ b/hadrian/bootstrap/plan-9_4_3.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-bd36ed45f2f36a278bda4324fa38bb3bd6d2e4bde8819b78a239a5417138b368","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-022be67a0e4d2e8bed3248f110a529e722a677692e78084e184611e934a069d4","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-27cb5e33ec1e869f298606d596f82ca84fe82486f8033c732d01ac07350ac528","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-e68c05e71af300ee0140f7ecda5ed0439a27ba54936b05cd7b35b19a275e2b94","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-27cb5e33ec1e869f298606d596f82ca84fe82486f8033c732d01ac07350ac528","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.16.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.3","pkg-name":"ghc-boot-th","pkg-version":"9.4.3","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-bd36ed45f2f36a278bda4324fa38bb3bd6d2e4bde8819b78a239a5417138b368","base-4.17.0.0","base16-bytestring-1.0.2.0-022be67a0e4d2e8bed3248f110a529e722a677692e78084e184611e934a069d4","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-e68c05e71af300ee0140f7ecda5ed0439a27ba54936b05cd7b35b19a275e2b94","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.7-210fc1cbce69aed26102707e3a1f9a8d35afdb700b5ceb2aa5cba89db1cc9fcb","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-4baf378c8835b0cfb97fec3caca371cf946bd377598acf69fe0ab8ec8ac9b457"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-3cc3eba008bad2dfed3e74ddd12307b1c49fc43da236521d46b3d1b9df8cfd73","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.8.0.0-becede3b475b090bfee201276f175b6bdf41386aaea8c881d4d96b97d3787531","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-210fc1cbce69aed26102707e3a1f9a8d35afdb700b5ceb2aa5cba89db1cc9fcb","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","hashable-1.4.2.0-3cc3eba008bad2dfed3e74ddd12307b1c49fc43da236521d46b3d1b9df8cfd73","heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","primitive-0.8.0.0-becede3b475b090bfee201276f175b6bdf41386aaea8c881d4d96b97d3787531","process-1.6.16.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-4baf378c8835b0cfb97fec3caca371cf946bd377598acf69fe0ab8ec8ac9b457","utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-67e15cde7c1cb49bcea296a54aa439315e66dfa316723d77c5efedbe480561be","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","hashable-1.4.2.0-3cc3eba008bad2dfed3e74ddd12307b1c49fc43da236521d46b3d1b9df8cfd73","heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","primitive-0.8.0.0-becede3b475b090bfee201276f175b6bdf41386aaea8c881d4d96b97d3787531","process-1.6.16.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-4baf378c8835b0cfb97fec3caca371cf946bd377598acf69fe0ab8ec8ac9b457","utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.3/shake-0.19.7-e-shake-67e15cde7c1cb49bcea296a54aa439315e66dfa316723d77c5efedbe480561be/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.3","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-4baf378c8835b0cfb97fec3caca371cf946bd377598acf69fe0ab8ec8ac9b457","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.2.0-3cc3eba008bad2dfed3e74ddd12307b1c49fc43da236521d46b3d1b9df8cfd73","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.3-246419a59203ed83308750f075e7277899fad9a19df0e14df47e90991cda79d5","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.2-21d61704a8dc0a2ec9a5f417895ff8b61b002779cb3cf4ca4c7458da0e8f859d","splitmix-0.1.0.5-52300eec487ea956506a4e40205f3c143fde2e4ad003c3c1abeeb660af4c03d8","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-529235e000f51877253ea1232b726077b2ff4ebe48cda632c52b2aae38c4c1c3","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.4-c933e8f92bbd2653c85a7b03de5db29331a750747ab34cb108c267ee1ba46776","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-0a4d8e137e84d496a78749fcb5e0363a74fd7b72d8b153460877da8ec85d8ee3","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"pre-existing","id":"exceptions-0.10.5","pkg-name":"exceptions","pkg-version":"0.10.5","depends":["base-4.17.0.0","mtl-2.2.2","stm-2.5.1.0","template-haskell-2.19.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"extra-1.7.14-6035c6433ab5198e5ac47e490d25529f93cec6fda82088aea8d5359721635341","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.17.0.0","clock-0.8.4-c933e8f92bbd2653c85a7b03de5db29331a750747ab34cb108c267ee1ba46776","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.16.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-29c9136074c095c32fbf1e70e7d263cf58da1328d99727ac65ca398c2fa075ac","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.14-6035c6433ab5198e5ac47e490d25529f93cec6fda82088aea8d5359721635341","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.3","pkg-name":"ghc-boot-th","pkg-version":"9.4.3","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.3-246419a59203ed83308750f075e7277899fad9a19df0e14df47e90991cda79d5","base-4.17.0.0","base16-bytestring-1.0.2.0-529235e000f51877253ea1232b726077b2ff4ebe48cda632c52b2aae38c4c1c3","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-0a4d8e137e84d496a78749fcb5e0363a74fd7b72d8b153460877da8ec85d8ee3","directory-1.3.7.1","extra-1.7.14-6035c6433ab5198e5ac47e490d25529f93cec6fda82088aea8d5359721635341","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.8-7b94d7479bac277d4aa33e3e5dedd50ee0851f50a2d9f7ebb415a4c1242eddf6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.20-f5c578354c71337edd34b9211b5abe81fb35587c131513a08a41c3cd1006af88"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-f587f180a3a52893ace020f552f84ef4b94c542b0abcf7e1cd6271b1a5fdd7ab","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","os-string-2.0.2.1-c54d6124231ea67213fe90ab843918dacbc83e69ec2f2ca6a1bad38bc6cf524f","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-ba80f958df394020f0afc1e341fc7d99ec9505f404127ff3b6dc2e84e93c9b48","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-a49d71f0e72817e77a585ef74b2f1c0b605acfeb43066611bb995dac76da9a65","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-1308e6063bb611edac761049ee39b2c9063eb79c4eb564ef196c35b49df370c8","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-0c9807b38b1c55dad1e45773a52af359769ecc8ebf7d0e1af5584d204c12a244","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"os-string-2.0.2.1-c54d6124231ea67213fe90ab843918dacbc83e69ec2f2ca6a1bad38bc6cf524f","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","exceptions-0.10.5","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.9.0.0-96b22929100696877fb90f8b33e3ea0671e8d4c11a2d1fb845d21ead0df2f3f2","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.2-21d61704a8dc0a2ec9a5f417895ff8b61b002779cb3cf4ca4c7458da0e8f859d","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.5-52300eec487ea956506a4e40205f3c143fde2e4ad003c3c1abeeb660af4c03d8"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-7b94d7479bac277d4aa33e3e5dedd50ee0851f50a2d9f7ebb415a4c1242eddf6","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-6035c6433ab5198e5ac47e490d25529f93cec6fda82088aea8d5359721635341","filepath-1.4.2.2","filepattern-0.1.3-29c9136074c095c32fbf1e70e7d263cf58da1328d99727ac65ca398c2fa075ac","hashable-1.4.4.0-f587f180a3a52893ace020f552f84ef4b94c542b0abcf7e1cd6271b1a5fdd7ab","heaps-0.4-ba80f958df394020f0afc1e341fc7d99ec9505f404127ff3b6dc2e84e93c9b48","js-dgtable-0.5.2-a49d71f0e72817e77a585ef74b2f1c0b605acfeb43066611bb995dac76da9a65","js-flot-0.8.3-1308e6063bb611edac761049ee39b2c9063eb79c4eb564ef196c35b49df370c8","js-jquery-3.3.1-0c9807b38b1c55dad1e45773a52af359769ecc8ebf7d0e1af5584d204c12a244","primitive-0.9.0.0-96b22929100696877fb90f8b33e3ea0671e8d4c11a2d1fb845d21ead0df2f3f2","process-1.6.16.0","random-1.2.1.2-21d61704a8dc0a2ec9a5f417895ff8b61b002779cb3cf4ca4c7458da0e8f859d","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-f5c578354c71337edd34b9211b5abe81fb35587c131513a08a41c3cd1006af88","utf8-string-1.0.2-fc072cc46d29a7da111e37b7d58bcf748007c109a16eb1e2de74989819aad8c0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-681f7e3237f1863be3b275ae2548ec4108a7fb5167dad886b4499815265f7b74","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-6035c6433ab5198e5ac47e490d25529f93cec6fda82088aea8d5359721635341","filepath-1.4.2.2","filepattern-0.1.3-29c9136074c095c32fbf1e70e7d263cf58da1328d99727ac65ca398c2fa075ac","hashable-1.4.4.0-f587f180a3a52893ace020f552f84ef4b94c542b0abcf7e1cd6271b1a5fdd7ab","heaps-0.4-ba80f958df394020f0afc1e341fc7d99ec9505f404127ff3b6dc2e84e93c9b48","js-dgtable-0.5.2-a49d71f0e72817e77a585ef74b2f1c0b605acfeb43066611bb995dac76da9a65","js-flot-0.8.3-1308e6063bb611edac761049ee39b2c9063eb79c4eb564ef196c35b49df370c8","js-jquery-3.3.1-0c9807b38b1c55dad1e45773a52af359769ecc8ebf7d0e1af5584d204c12a244","primitive-0.9.0.0-96b22929100696877fb90f8b33e3ea0671e8d4c11a2d1fb845d21ead0df2f3f2","process-1.6.16.0","random-1.2.1.2-21d61704a8dc0a2ec9a5f417895ff8b61b002779cb3cf4ca4c7458da0e8f859d","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-f5c578354c71337edd34b9211b5abe81fb35587c131513a08a41c3cd1006af88","utf8-string-1.0.2-fc072cc46d29a7da111e37b7d58bcf748007c109a16eb1e2de74989819aad8c0"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.3/shake-0.19.8-e-shake-681f7e3237f1863be3b275ae2548ec4108a7fb5167dad886b4499815265f7b74/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-52300eec487ea956506a4e40205f3c143fde2e4ad003c3c1abeeb660af4c03d8","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.4.0","base-4.17.0.0"]},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.3","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-f5c578354c71337edd34b9211b5abe81fb35587c131513a08a41c3cd1006af88","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.4.0-f587f180a3a52893ace020f552f84ef4b94c542b0abcf7e1cd6271b1a5fdd7ab","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-fc072cc46d29a7da111e37b7d58bcf748007c109a16eb1e2de74989819aad8c0","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_4.json b/hadrian/bootstrap/plan-9_4_4.json
index 368e073936151b87563e4b130572eff44f84954f..dfc943c7f9885ef5dda4bc4b2316356c75836171 100644
--- a/hadrian/bootstrap/plan-9_4_4.json
+++ b/hadrian/bootstrap/plan-9_4_4.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-a60da574de04097effdc98c78262091fa56c19e05a88c4024e6578341d30e90e","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-dbffd18a055fbf1c5ccdc18dddc6a7070869702691c237f3c9fec60b9a349e21","splitmix-0.1.0.4-d4d340dc5b93e4aadb6f0ee62f239d1f28fbadeae3c81529c67f4df279c3cae7","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-2c05b63cefa5d7007acd478c1dbfe18a190bfba61d8945d4d5b87798ed9ca8c2","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-e1cb5c09c08b802543e1c283427ef69d76d97cf2dec49fcef18840c2a8f690bf","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-ae70c6c39b427440638d8d0177551367c44baa0fcf044bb565f9e69c4daafe02","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-ed96143baca6959ac781d058b4532253a1a26d733ef4adb0a1321df73f5180d9","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-e1cb5c09c08b802543e1c283427ef69d76d97cf2dec49fcef18840c2a8f690bf","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.16.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-3209dee43b8f78099b7623a80834f0944d05b5c63e74e5607c738100e0aeefb7","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-ed96143baca6959ac781d058b4532253a1a26d733ef4adb0a1321df73f5180d9","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.4","pkg-name":"ghc-boot-th","pkg-version":"9.4.4","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-a60da574de04097effdc98c78262091fa56c19e05a88c4024e6578341d30e90e","base-4.17.0.0","base16-bytestring-1.0.2.0-2c05b63cefa5d7007acd478c1dbfe18a190bfba61d8945d4d5b87798ed9ca8c2","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-ae70c6c39b427440638d8d0177551367c44baa0fcf044bb565f9e69c4daafe02","directory-1.3.7.1","extra-1.7.12-ed96143baca6959ac781d058b4532253a1a26d733ef4adb0a1321df73f5180d9","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.7-9447f50d9da0cc8668e587f8e555d4d8c2a3b4aef6766374d908e2942c04845d","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-2dec9e8b7cc43fc729dcfa4b3cfe5ce42488c299bc0108cd6fc3f6accbd109ce"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-8b24e015b5994215b529553ebf9f53466f24b616595cb02efad3ae8f6f6c1898","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-7a6066160342ac2a9ea4aec008f23eb9d92ad7a8c8d2e78cbeed667d8096912c","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-b37805c8ad3dc85830c773ec5da0d4cdfd56a534a3f6acb334c4517b737e5cb1","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-65df5b8c3953095207aa8a04d9d37d07aed474c73133bf9239df4e5cdbe4a9bd","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-8c84fdfa715ddd833b67b8a90ef47411829e61b194d5967e0699193776231e76","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.8.0.0-621aca8de1dc201eec4f41917b8b5a6a9b9074831d6e26b48d3157f27593d2cb","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-dbffd18a055fbf1c5ccdc18dddc6a7070869702691c237f3c9fec60b9a349e21","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-d4d340dc5b93e4aadb6f0ee62f239d1f28fbadeae3c81529c67f4df279c3cae7"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-9447f50d9da0cc8668e587f8e555d4d8c2a3b4aef6766374d908e2942c04845d","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ed96143baca6959ac781d058b4532253a1a26d733ef4adb0a1321df73f5180d9","filepath-1.4.2.2","filepattern-0.1.3-3209dee43b8f78099b7623a80834f0944d05b5c63e74e5607c738100e0aeefb7","hashable-1.4.2.0-8b24e015b5994215b529553ebf9f53466f24b616595cb02efad3ae8f6f6c1898","heaps-0.4-7a6066160342ac2a9ea4aec008f23eb9d92ad7a8c8d2e78cbeed667d8096912c","js-dgtable-0.5.2-b37805c8ad3dc85830c773ec5da0d4cdfd56a534a3f6acb334c4517b737e5cb1","js-flot-0.8.3-65df5b8c3953095207aa8a04d9d37d07aed474c73133bf9239df4e5cdbe4a9bd","js-jquery-3.3.1-8c84fdfa715ddd833b67b8a90ef47411829e61b194d5967e0699193776231e76","primitive-0.8.0.0-621aca8de1dc201eec4f41917b8b5a6a9b9074831d6e26b48d3157f27593d2cb","process-1.6.16.0","random-1.2.1.1-dbffd18a055fbf1c5ccdc18dddc6a7070869702691c237f3c9fec60b9a349e21","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-2dec9e8b7cc43fc729dcfa4b3cfe5ce42488c299bc0108cd6fc3f6accbd109ce","utf8-string-1.0.2-ecbcc42d461fefe46d60189b7229cddccce61f9cc8c90c79b2546be729015263"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-58a8239f06abe2b027b3d505240dffcac7bbaa4718579418aa458c0ac50d8beb","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ed96143baca6959ac781d058b4532253a1a26d733ef4adb0a1321df73f5180d9","filepath-1.4.2.2","filepattern-0.1.3-3209dee43b8f78099b7623a80834f0944d05b5c63e74e5607c738100e0aeefb7","hashable-1.4.2.0-8b24e015b5994215b529553ebf9f53466f24b616595cb02efad3ae8f6f6c1898","heaps-0.4-7a6066160342ac2a9ea4aec008f23eb9d92ad7a8c8d2e78cbeed667d8096912c","js-dgtable-0.5.2-b37805c8ad3dc85830c773ec5da0d4cdfd56a534a3f6acb334c4517b737e5cb1","js-flot-0.8.3-65df5b8c3953095207aa8a04d9d37d07aed474c73133bf9239df4e5cdbe4a9bd","js-jquery-3.3.1-8c84fdfa715ddd833b67b8a90ef47411829e61b194d5967e0699193776231e76","primitive-0.8.0.0-621aca8de1dc201eec4f41917b8b5a6a9b9074831d6e26b48d3157f27593d2cb","process-1.6.16.0","random-1.2.1.1-dbffd18a055fbf1c5ccdc18dddc6a7070869702691c237f3c9fec60b9a349e21","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-2dec9e8b7cc43fc729dcfa4b3cfe5ce42488c299bc0108cd6fc3f6accbd109ce","utf8-string-1.0.2-ecbcc42d461fefe46d60189b7229cddccce61f9cc8c90c79b2546be729015263"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.4/shake-0.19.7-e-shake-58a8239f06abe2b027b3d505240dffcac7bbaa4718579418aa458c0ac50d8beb/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-d4d340dc5b93e4aadb6f0ee62f239d1f28fbadeae3c81529c67f4df279c3cae7","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.4","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-2dec9e8b7cc43fc729dcfa4b3cfe5ce42488c299bc0108cd6fc3f6accbd109ce","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.2.0-8b24e015b5994215b529553ebf9f53466f24b616595cb02efad3ae8f6f6c1898","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-ecbcc42d461fefe46d60189b7229cddccce61f9cc8c90c79b2546be729015263","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.4.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.3-4b02d2d7d723a6d5da30a0644a8d90c039640f75b4bb18b20f83f94aac7e2365","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.2-1c54ae5713a96af212ef49e70dee505f4e4d6ca31bf5d48c0e294c4878536011","splitmix-0.1.0.5-8494e352bceba1bc841176ef80e2df8ab05d0b52feed0f5c20127e90319a349d","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-ac11c0ea279c3abe23e69af045164d7c625bc2643f8151f646858f6ffaf4cd5f","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.4-8f713b76524d6f0ddf171393ee36ced011fd49b4010225616eed54d678d8b2ab","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-1e9baa5d1c9ba6a619cfa6bdab25b4cf039b95ab89f38253cf5f8fc66f68d417","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"pre-existing","id":"exceptions-0.10.5","pkg-name":"exceptions","pkg-version":"0.10.5","depends":["base-4.17.0.0","mtl-2.2.2","stm-2.5.1.0","template-haskell-2.19.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"extra-1.7.14-261b7fbec37bdd5da933fa8e5ebed415b7f348f0d7f2623b8c65e814168cd2d5","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.17.0.0","clock-0.8.4-8f713b76524d6f0ddf171393ee36ced011fd49b4010225616eed54d678d8b2ab","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.16.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-c4af495d28ee0ac1ea34616ea7b015f82d98479e9b5a8260d75fb2f9562a51b6","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.14-261b7fbec37bdd5da933fa8e5ebed415b7f348f0d7f2623b8c65e814168cd2d5","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.4","pkg-name":"ghc-boot-th","pkg-version":"9.4.4","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0","QuickCheck-2.14.3-4b02d2d7d723a6d5da30a0644a8d90c039640f75b4bb18b20f83f94aac7e2365","base-4.17.0.0","base16-bytestring-1.0.2.0-ac11c0ea279c3abe23e69af045164d7c625bc2643f8151f646858f6ffaf4cd5f","bytestring-0.11.3.1","containers-0.6.6","cryptohash-sha256-0.11.102.1-1e9baa5d1c9ba6a619cfa6bdab25b4cf039b95ab89f38253cf5f8fc66f68d417","directory-1.3.7.1","extra-1.7.14-261b7fbec37bdd5da933fa8e5ebed415b7f348f0d7f2623b8c65e814168cd2d5","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.8-6368c826b5b899bb5304594e4b27aed37cd4dada5a15c6916d0ea357a24c952f","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.20-7fa3654d219ad85f510330a965e0265ea6a81b45fc4184b5f558ff4f8ebf9f16"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-da674a9fb7ecdfce66e979a1c0950cadc22ef285fca29218fa8033f13ced3638","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","filepath-1.4.2.2","ghc-bignum-1.3","ghc-prim-0.9.0","os-string-2.0.2.1-80b53f7111810e4bc974dd3d6ce1da7068345568129620f84a77423aeeedaa35","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-c894a1cd293c6b3fb62c7e6db24c7b6226e916a43e41baab01efa9ba0f42cb89","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-09d05a44d2a5a408c5f73c882d93d288093edbe474f3072834610e9eb1731773","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-294136bf79475ce0a39896c6225ca4fc228b383ebe2792c135a86c90dd164b9f","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-bff1f1acb9287a3c511c216653274e1a3d14b52ab30101e90896b874677628e8","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"configured","id":"os-string-2.0.2.1-80b53f7111810e4bc974dd3d6ce1da7068345568129620f84a77423aeeedaa35","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","exceptions-0.10.5","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.9.0.0-242ee325049dcb03d3cb33c136f470d70f3af2ce48852b86b500dbbaeb6a0153","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.2-1c54ae5713a96af212ef49e70dee505f4e4d6ca31bf5d48c0e294c4878536011","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.5-8494e352bceba1bc841176ef80e2df8ab05d0b52feed0f5c20127e90319a349d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-6368c826b5b899bb5304594e4b27aed37cd4dada5a15c6916d0ea357a24c952f","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-261b7fbec37bdd5da933fa8e5ebed415b7f348f0d7f2623b8c65e814168cd2d5","filepath-1.4.2.2","filepattern-0.1.3-c4af495d28ee0ac1ea34616ea7b015f82d98479e9b5a8260d75fb2f9562a51b6","hashable-1.4.4.0-da674a9fb7ecdfce66e979a1c0950cadc22ef285fca29218fa8033f13ced3638","heaps-0.4-c894a1cd293c6b3fb62c7e6db24c7b6226e916a43e41baab01efa9ba0f42cb89","js-dgtable-0.5.2-09d05a44d2a5a408c5f73c882d93d288093edbe474f3072834610e9eb1731773","js-flot-0.8.3-294136bf79475ce0a39896c6225ca4fc228b383ebe2792c135a86c90dd164b9f","js-jquery-3.3.1-bff1f1acb9287a3c511c216653274e1a3d14b52ab30101e90896b874677628e8","primitive-0.9.0.0-242ee325049dcb03d3cb33c136f470d70f3af2ce48852b86b500dbbaeb6a0153","process-1.6.16.0","random-1.2.1.2-1c54ae5713a96af212ef49e70dee505f4e4d6ca31bf5d48c0e294c4878536011","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-7fa3654d219ad85f510330a965e0265ea6a81b45fc4184b5f558ff4f8ebf9f16","utf8-string-1.0.2-4434771b5d9828bfb106ac4262d97f4d8a80356d5033724fa4c17681ffce480d"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-e43ccebeacd5595b5d4b50b86b258ad7fafa5559a63f77fa2451f6bbcc55bc4b","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.14-261b7fbec37bdd5da933fa8e5ebed415b7f348f0d7f2623b8c65e814168cd2d5","filepath-1.4.2.2","filepattern-0.1.3-c4af495d28ee0ac1ea34616ea7b015f82d98479e9b5a8260d75fb2f9562a51b6","hashable-1.4.4.0-da674a9fb7ecdfce66e979a1c0950cadc22ef285fca29218fa8033f13ced3638","heaps-0.4-c894a1cd293c6b3fb62c7e6db24c7b6226e916a43e41baab01efa9ba0f42cb89","js-dgtable-0.5.2-09d05a44d2a5a408c5f73c882d93d288093edbe474f3072834610e9eb1731773","js-flot-0.8.3-294136bf79475ce0a39896c6225ca4fc228b383ebe2792c135a86c90dd164b9f","js-jquery-3.3.1-bff1f1acb9287a3c511c216653274e1a3d14b52ab30101e90896b874677628e8","primitive-0.9.0.0-242ee325049dcb03d3cb33c136f470d70f3af2ce48852b86b500dbbaeb6a0153","process-1.6.16.0","random-1.2.1.2-1c54ae5713a96af212ef49e70dee505f4e4d6ca31bf5d48c0e294c4878536011","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.20-7fa3654d219ad85f510330a965e0265ea6a81b45fc4184b5f558ff4f8ebf9f16","utf8-string-1.0.2-4434771b5d9828bfb106ac4262d97f4d8a80356d5033724fa4c17681ffce480d"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.4.4/shake-0.19.8-e-shake-e43ccebeacd5595b5d4b50b86b258ad7fafa5559a63f77fa2451f6bbcc55bc4b/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-8494e352bceba1bc841176ef80e2df8ab05d0b52feed0f5c20127e90319a349d","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.4.0","base-4.17.0.0"]},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.4","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-7fa3654d219ad85f510330a965e0265ea6a81b45fc4184b5f558ff4f8ebf9f16","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.4.0-da674a9fb7ecdfce66e979a1c0950cadc22ef285fca29218fa8033f13ced3638","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-4434771b5d9828bfb106ac4262d97f4d8a80356d5033724fa4c17681ffce480d","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_6_1.json b/hadrian/bootstrap/plan-9_6_1.json
index e66802658abe8f5c20975809a7277167fc52038b..7f0fd6e6bfa2bdba1939346051f74eab2f5de862 100644
--- a/hadrian/bootstrap/plan-9_6_1.json
+++ b/hadrian/bootstrap/plan-9_6_1.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.1","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6","pkg-name":"Cabal","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d","pkg-src-sha256":"7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608","depends":["Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a","array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593","pkg-src-sha256":"07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"QuickCheck-2.14.2-48f73357a0d5467607535cbb21ac8449b28303ff215af7e947416e6a4ef4195f","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.18.0.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.1-2344f66ad3296b3c8c64d0fbe5a1dc8799adc0c02f28ef27b3d8bcb93f71e8f6","splitmix-0.1.0.4-d2df76b90c23066708f4e66aade172a985bb07c1ccf613221011d8827c32f89b","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"base-4.18.0.0","pkg-name":"base","pkg-version":"4.18.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-b5940c21a059d328169082a7bf03f08fec9ea9cb300f6de1499ec2087f455bc8","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.4.0","pkg-name":"bytestring","pkg-version":"0.11.4.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.3-309549353d285d82eaa6ef36502628671b62ca2d2fb6284260bd7679d5e7b9a3","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-9d310921383dbec51b2f6fa686c9d99cfd3bb977a8eff016b53bb33c86c941e0","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.0.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.0.0","filepath-1.4.100.1","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.0.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.12-3ff76dca5298f0150cab13d98558cc454778c8488bbe7ff495cf22dd8ce1fbac","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.18.0.0","clock-0.8.3-309549353d285d82eaa6ef36502628671b62ca2d2fb6284260bd7679d5e7b9a3","directory-1.3.8.1","filepath-1.4.100.1","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.1","pkg-name":"filepath","pkg-version":"1.4.100.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-27d278e9a17a55f9f951233d92fa6c79dfb3359757c1c3d71c29c72a1563a990","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.0.0","directory-1.3.8.1","extra-1.7.12-3ff76dca5298f0150cab13d98558cc454778c8488bbe7ff495cf22dd8ce1fbac","filepath-1.4.100.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.1","pkg-name":"ghc-boot-th","pkg-version":"9.6.1","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6","QuickCheck-2.14.2-48f73357a0d5467607535cbb21ac8449b28303ff215af7e947416e6a4ef4195f","base-4.18.0.0","base16-bytestring-1.0.2.0-b5940c21a059d328169082a7bf03f08fec9ea9cb300f6de1499ec2087f455bc8","bytestring-0.11.4.0","containers-0.6.7","cryptohash-sha256-0.11.102.1-9d310921383dbec51b2f6fa686c9d99cfd3bb977a8eff016b53bb33c86c941e0","directory-1.3.8.1","extra-1.7.12-3ff76dca5298f0150cab13d98558cc454778c8488bbe7ff495cf22dd8ce1fbac","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.7-5a9ab582f15d6b877ed307ed78deca9e9f66793b09ed98bacc612e42b1e9bb49","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.19.1-dd696ab9b62a991ef164b9913b3122a7c8f7f5556a841af32aff1e29cd73ef99"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-0889edbce65a4fa263d1b820b2b8d69eaa1dc95475dff3c60f82e860064fa7d4","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.1","ghc-bignum-1.3","ghc-prim-0.10.0","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-84f785fa326505d8cac138316c7ca1fae826bac79403765826b5e0e8b4ca6459","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-929f5bb1639fd2d41e313c57e9a1322999779829eab0b2562697ea02d35cb572","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-6ef19e2feb165ecbdc5faf2cc57c67ac671129ac8bfa15f49d808e2c55182e5a","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-7aa226a6aaf4a0a4ab8c2edaf9ce49229001fbdf5d86e863b4c2ece60a4532ed","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.0.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.8.0.0-ad645076af9195e65e5c77d3a3850c7fb7f4153156656431f6be749f834f8371","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.1-2344f66ad3296b3c8c64d0fbe5a1dc8799adc0c02f28ef27b3d8bcb93f71e8f6","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.4-d2df76b90c23066708f4e66aade172a985bb07c1ccf613221011d8827c32f89b"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-5a9ab582f15d6b877ed307ed78deca9e9f66793b09ed98bacc612e42b1e9bb49","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.12-3ff76dca5298f0150cab13d98558cc454778c8488bbe7ff495cf22dd8ce1fbac","filepath-1.4.100.1","filepattern-0.1.3-27d278e9a17a55f9f951233d92fa6c79dfb3359757c1c3d71c29c72a1563a990","hashable-1.4.2.0-0889edbce65a4fa263d1b820b2b8d69eaa1dc95475dff3c60f82e860064fa7d4","heaps-0.4-84f785fa326505d8cac138316c7ca1fae826bac79403765826b5e0e8b4ca6459","js-dgtable-0.5.2-929f5bb1639fd2d41e313c57e9a1322999779829eab0b2562697ea02d35cb572","js-flot-0.8.3-6ef19e2feb165ecbdc5faf2cc57c67ac671129ac8bfa15f49d808e2c55182e5a","js-jquery-3.3.1-7aa226a6aaf4a0a4ab8c2edaf9ce49229001fbdf5d86e863b4c2ece60a4532ed","primitive-0.8.0.0-ad645076af9195e65e5c77d3a3850c7fb7f4153156656431f6be749f834f8371","process-1.6.17.0","random-1.2.1.1-2344f66ad3296b3c8c64d0fbe5a1dc8799adc0c02f28ef27b3d8bcb93f71e8f6","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-dd696ab9b62a991ef164b9913b3122a7c8f7f5556a841af32aff1e29cd73ef99","utf8-string-1.0.2-721e9e04faa6601f986dacde9b25ed4ab91af08c4232b52f8ff34c6b34918053"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-a59c980e9cb95b2a1d37687f9ab3efd3a8e8314a00e4ca7fb819044d23198462","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.12-3ff76dca5298f0150cab13d98558cc454778c8488bbe7ff495cf22dd8ce1fbac","filepath-1.4.100.1","filepattern-0.1.3-27d278e9a17a55f9f951233d92fa6c79dfb3359757c1c3d71c29c72a1563a990","hashable-1.4.2.0-0889edbce65a4fa263d1b820b2b8d69eaa1dc95475dff3c60f82e860064fa7d4","heaps-0.4-84f785fa326505d8cac138316c7ca1fae826bac79403765826b5e0e8b4ca6459","js-dgtable-0.5.2-929f5bb1639fd2d41e313c57e9a1322999779829eab0b2562697ea02d35cb572","js-flot-0.8.3-6ef19e2feb165ecbdc5faf2cc57c67ac671129ac8bfa15f49d808e2c55182e5a","js-jquery-3.3.1-7aa226a6aaf4a0a4ab8c2edaf9ce49229001fbdf5d86e863b4c2ece60a4532ed","primitive-0.8.0.0-ad645076af9195e65e5c77d3a3850c7fb7f4153156656431f6be749f834f8371","process-1.6.17.0","random-1.2.1.1-2344f66ad3296b3c8c64d0fbe5a1dc8799adc0c02f28ef27b3d8bcb93f71e8f6","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-dd696ab9b62a991ef164b9913b3122a7c8f7f5556a841af32aff1e29cd73ef99","utf8-string-1.0.2-721e9e04faa6601f986dacde9b25ed4ab91af08c4232b52f8ff34c6b34918053"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.1/shake-0.19.7-e-shake-a59c980e9cb95b2a1d37687f9ab3efd3a8e8314a00e4ca7fb819044d23198462/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-d2df76b90c23066708f4e66aade172a985bb07c1ccf613221011d8827c32f89b","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.18.0.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.0.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.0.0","ghc-boot-th-9.6.1","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.0.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.0.0","bytestring-0.11.4.0","filepath-1.4.100.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-dd696ab9b62a991ef164b9913b3122a7c8f7f5556a841af32aff1e29cd73ef99","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.18.0.0","deepseq-1.4.8.1","hashable-1.4.2.0-0889edbce65a4fa263d1b820b2b8d69eaa1dc95475dff3c60f82e860064fa7d4","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-721e9e04faa6601f986dacde9b25ed4ab91af08c4232b52f8ff34c6b34918053","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.1.0","pkg-name":"Cabal","pkg-version":"3.10.1.0","depends":["Cabal-syntax-3.10.1.0","array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.10.1.0","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"configured","id":"QuickCheck-2.14.3-04a9701e1ad9254daad50151b16afb33ab20b0a8cb30ebb11b2993e6466e5ec8","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.18.0.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.2-e176021bf55b58172efd7b4aa4c6039c485f4179c287f2e998d95c0c142d84f5","splitmix-0.1.0.5-d993b0650f00eab1e9908d3448fe2c042dd04369b30efedfaffe902474c44a7f","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"base-4.18.0.0","pkg-name":"base","pkg-version":"4.18.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-971d5ff54884beb5835a2358897cb589a22441f7be65455f6395c93e6bb17edc","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.4.0","pkg-name":"bytestring","pkg-version":"0.11.4.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.4-2bec9957d58d4c282241eb219bcbd793ffe27f98733f5b9defae3df7e3149bf3","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-84c1e11971fdef393a85b333f3986b6bf1f69ebe9a25a4d2205dde487faae287","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.0.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.0.0","filepath-1.4.100.1","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.0.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.14-aa3aa50a816782b26dd6f05e2db3d1b36d84b01e18f46ac2675f96fc251dc817","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.18.0.0","clock-0.8.4-2bec9957d58d4c282241eb219bcbd793ffe27f98733f5b9defae3df7e3149bf3","directory-1.3.8.1","filepath-1.4.100.1","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.1","pkg-name":"filepath","pkg-version":"1.4.100.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-b24ad83c10eb23e4da02039dea5e3687148f02a224acee3b12075344bc46fdd9","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.0.0","directory-1.3.8.1","extra-1.7.14-aa3aa50a816782b26dd6f05e2db3d1b36d84b01e18f46ac2675f96fc251dc817","filepath-1.4.100.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.1","pkg-name":"ghc-boot-th","pkg-version":"9.6.1","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.1.0","QuickCheck-2.14.3-04a9701e1ad9254daad50151b16afb33ab20b0a8cb30ebb11b2993e6466e5ec8","base-4.18.0.0","base16-bytestring-1.0.2.0-971d5ff54884beb5835a2358897cb589a22441f7be65455f6395c93e6bb17edc","bytestring-0.11.4.0","containers-0.6.7","cryptohash-sha256-0.11.102.1-84c1e11971fdef393a85b333f3986b6bf1f69ebe9a25a4d2205dde487faae287","directory-1.3.8.1","extra-1.7.14-aa3aa50a816782b26dd6f05e2db3d1b36d84b01e18f46ac2675f96fc251dc817","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.8-3e558531d014d0d05836f5c8bae6f7b30de65923aa40f946d594481f99f49d15","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.20-9e533f1b007b1ad7cbc03ef22a97b80885916e594466783b5987b4d28ac296d0"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-30c6856bbea0add848ee6fe1a07f8e5dd952361690080352ba6097745759cc92","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.1","ghc-bignum-1.3","ghc-prim-0.10.0","os-string-2.0.2.1-f8018acf20e5c8bde39c6b617b8647672de70ebe65858b93c67f79d54e196f54","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-10f2624500611555afade74ad717785794548522ca3c4d48770cd531fe5f8eba","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-7ce8fb7fece641f2cd721a04eb5ea28ab8a26f5f3ff409b435ba34cb07184112","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-e215d82ccc0417298463d200a374835a6107ea079f7b2060611380a66c62da30","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-e5eade452191e19509b9ef439520265727094a83232af42036fdcb97351784b9","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"os-string-2.0.2.1-f8018acf20e5c8bde39c6b617b8647672de70ebe65858b93c67f79d54e196f54","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.9.0.0-3f5087fa1b8870976de034cada87b18c3282d742b7a56ecabd3382e424c2be09","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.2-e176021bf55b58172efd7b4aa4c6039c485f4179c287f2e998d95c0c142d84f5","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.5-d993b0650f00eab1e9908d3448fe2c042dd04369b30efedfaffe902474c44a7f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-3e558531d014d0d05836f5c8bae6f7b30de65923aa40f946d594481f99f49d15","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-aa3aa50a816782b26dd6f05e2db3d1b36d84b01e18f46ac2675f96fc251dc817","filepath-1.4.100.1","filepattern-0.1.3-b24ad83c10eb23e4da02039dea5e3687148f02a224acee3b12075344bc46fdd9","hashable-1.4.4.0-30c6856bbea0add848ee6fe1a07f8e5dd952361690080352ba6097745759cc92","heaps-0.4-10f2624500611555afade74ad717785794548522ca3c4d48770cd531fe5f8eba","js-dgtable-0.5.2-7ce8fb7fece641f2cd721a04eb5ea28ab8a26f5f3ff409b435ba34cb07184112","js-flot-0.8.3-e215d82ccc0417298463d200a374835a6107ea079f7b2060611380a66c62da30","js-jquery-3.3.1-e5eade452191e19509b9ef439520265727094a83232af42036fdcb97351784b9","primitive-0.9.0.0-3f5087fa1b8870976de034cada87b18c3282d742b7a56ecabd3382e424c2be09","process-1.6.17.0","random-1.2.1.2-e176021bf55b58172efd7b4aa4c6039c485f4179c287f2e998d95c0c142d84f5","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-9e533f1b007b1ad7cbc03ef22a97b80885916e594466783b5987b4d28ac296d0","utf8-string-1.0.2-6092eddfb0b2a51d52facf183c51bde98f4dc3f93ec659df090c8efb8f8a32c4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-6d6ed91e8b6b0fe19340ead8e0a01b34f285bc5af0979e0626c14f4df0814662","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-aa3aa50a816782b26dd6f05e2db3d1b36d84b01e18f46ac2675f96fc251dc817","filepath-1.4.100.1","filepattern-0.1.3-b24ad83c10eb23e4da02039dea5e3687148f02a224acee3b12075344bc46fdd9","hashable-1.4.4.0-30c6856bbea0add848ee6fe1a07f8e5dd952361690080352ba6097745759cc92","heaps-0.4-10f2624500611555afade74ad717785794548522ca3c4d48770cd531fe5f8eba","js-dgtable-0.5.2-7ce8fb7fece641f2cd721a04eb5ea28ab8a26f5f3ff409b435ba34cb07184112","js-flot-0.8.3-e215d82ccc0417298463d200a374835a6107ea079f7b2060611380a66c62da30","js-jquery-3.3.1-e5eade452191e19509b9ef439520265727094a83232af42036fdcb97351784b9","primitive-0.9.0.0-3f5087fa1b8870976de034cada87b18c3282d742b7a56ecabd3382e424c2be09","process-1.6.17.0","random-1.2.1.2-e176021bf55b58172efd7b4aa4c6039c485f4179c287f2e998d95c0c142d84f5","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-9e533f1b007b1ad7cbc03ef22a97b80885916e594466783b5987b4d28ac296d0","utf8-string-1.0.2-6092eddfb0b2a51d52facf183c51bde98f4dc3f93ec659df090c8efb8f8a32c4"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.1/shake-0.19.8-e-shake-6d6ed91e8b6b0fe19340ead8e0a01b34f285bc5af0979e0626c14f4df0814662/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-d993b0650f00eab1e9908d3448fe2c042dd04369b30efedfaffe902474c44a7f","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.18.0.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.0.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.0.0","ghc-boot-th-9.6.1","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.0.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.0.0","bytestring-0.11.4.0","filepath-1.4.100.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-9e533f1b007b1ad7cbc03ef22a97b80885916e594466783b5987b4d28ac296d0","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.18.0.0","deepseq-1.4.8.1","hashable-1.4.4.0-30c6856bbea0add848ee6fe1a07f8e5dd952361690080352ba6097745759cc92","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-6092eddfb0b2a51d52facf183c51bde98f4dc3f93ec659df090c8efb8f8a32c4","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_6_2.json b/hadrian/bootstrap/plan-9_6_2.json
index aab88550fac3729b288c819f0ca06cf4d8458523..1354b3ccc7a1a2a768668aa666449e1ce287fd9a 100644
--- a/hadrian/bootstrap/plan-9_6_2.json
+++ b/hadrian/bootstrap/plan-9_6_2.json
@@ -1 +1 @@
-{"cabal-version":"3.10.1.0","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.2","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0","pkg-name":"Cabal","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d","pkg-src-sha256":"7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608","depends":["Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f","array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593","pkg-src-sha256":"07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"QuickCheck-2.14.2-1ca7e117538b7dd93a02dbb4e2ffe2b3c9afcd077e38c5385880a06e1224375a","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.18.0.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.1-f4e6f37178be563efc8a42cd5dc73b25970c63f5787d6b71b822326cb1c61394","splitmix-0.1.0.4-bdb435860672a71aa2e76fcd96f3124f558293a082700121addb19dd682caeae","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"base-4.18.0.0","pkg-name":"base","pkg-version":"4.18.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-53ed4e283858e02cbf91231d1ff6b983d0bc92a6868605ebee0c8b080a87d802","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.4.0","pkg-name":"bytestring","pkg-version":"0.11.4.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.3-fa29d07640716502864195caccc6d4d733d2e9a6f3aef03f812f6773c2031d61","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-416cb65d2ba2e911cfd127aac9042e29b4fde24e1038bc41573c028664a2129d","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.0.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.0.0","filepath-1.4.100.1","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.0.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.12-66d5ea28661bc294ae48ee5c5c1f9c3dcd9c15223f2c29bbc866738acd6493c9","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.18.0.0","clock-0.8.3-fa29d07640716502864195caccc6d4d733d2e9a6f3aef03f812f6773c2031d61","directory-1.3.8.1","filepath-1.4.100.1","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.1","pkg-name":"filepath","pkg-version":"1.4.100.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-7d2f06a174fdc538912500214867109a6f62268fee720f1f717867534c115be9","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.0.0","directory-1.3.8.1","extra-1.7.12-66d5ea28661bc294ae48ee5c5c1f9c3dcd9c15223f2c29bbc866738acd6493c9","filepath-1.4.100.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.2","pkg-name":"ghc-boot-th","pkg-version":"9.6.2","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/ben/ghc/ghc-9.8/hadrian/."},"dist-dir":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian","build-info":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0","QuickCheck-2.14.2-1ca7e117538b7dd93a02dbb4e2ffe2b3c9afcd077e38c5385880a06e1224375a","base-4.18.0.0","base16-bytestring-1.0.2.0-53ed4e283858e02cbf91231d1ff6b983d0bc92a6868605ebee0c8b080a87d802","bytestring-0.11.4.0","containers-0.6.7","cryptohash-sha256-0.11.102.1-416cb65d2ba2e911cfd127aac9042e29b4fde24e1038bc41573c028664a2129d","directory-1.3.8.1","extra-1.7.12-66d5ea28661bc294ae48ee5c5c1f9c3dcd9c15223f2c29bbc866738acd6493c9","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.7-1bc6bfe7a2256cae471b2c5f47c26dff8e74dc398756c6509cf0e167dd8a93f4","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.19.1-275e0d519a94616dfc2e6c521bb36eb6126f2e65f16f8ea692a1a58b37e507fe"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/ben/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-bd54a516580c7069cc2f4fc70f9822afde7c7143c81e1e601b62784493c2ff53","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.1","ghc-bignum-1.3","ghc-prim-0.10.0","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-e780877104588c1b10a67a5aae3c0cd6a6a8f27aefe3d4a839b825c4892f8d5e","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-ac981654e6f161f9ae1994f00a961b6578ab18a1d0f487c3ea6cd89f93c0a3c8","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-bdd1fcc0842f60a8b532d63ef76ed02d43736c0b008305eed81753cba7d5a758","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-ec81a4a89ca6fb90a7b5b94ed963d6d4ecae68f1fdb3f5a82090dcfd79583dbf","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.0.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.8.0.0-71df968629ed55f39ba9d58a7727f3762a6aaadfe4267e8b12b6a73392407f07","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.1-f4e6f37178be563efc8a42cd5dc73b25970c63f5787d6b71b822326cb1c61394","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.4-bdb435860672a71aa2e76fcd96f3124f558293a082700121addb19dd682caeae"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-1bc6bfe7a2256cae471b2c5f47c26dff8e74dc398756c6509cf0e167dd8a93f4","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.12-66d5ea28661bc294ae48ee5c5c1f9c3dcd9c15223f2c29bbc866738acd6493c9","filepath-1.4.100.1","filepattern-0.1.3-7d2f06a174fdc538912500214867109a6f62268fee720f1f717867534c115be9","hashable-1.4.2.0-bd54a516580c7069cc2f4fc70f9822afde7c7143c81e1e601b62784493c2ff53","heaps-0.4-e780877104588c1b10a67a5aae3c0cd6a6a8f27aefe3d4a839b825c4892f8d5e","js-dgtable-0.5.2-ac981654e6f161f9ae1994f00a961b6578ab18a1d0f487c3ea6cd89f93c0a3c8","js-flot-0.8.3-bdd1fcc0842f60a8b532d63ef76ed02d43736c0b008305eed81753cba7d5a758","js-jquery-3.3.1-ec81a4a89ca6fb90a7b5b94ed963d6d4ecae68f1fdb3f5a82090dcfd79583dbf","primitive-0.8.0.0-71df968629ed55f39ba9d58a7727f3762a6aaadfe4267e8b12b6a73392407f07","process-1.6.17.0","random-1.2.1.1-f4e6f37178be563efc8a42cd5dc73b25970c63f5787d6b71b822326cb1c61394","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-275e0d519a94616dfc2e6c521bb36eb6126f2e65f16f8ea692a1a58b37e507fe","utf8-string-1.0.2-f9200a046ce7ec1ea78ce8e2bdd5606fb1959cbc89a851c8371244c443d178e8"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-fe6d16e046af8213ac87fb184283af5a4060b03aa7617bf7bcf87fc48621573d","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.12-66d5ea28661bc294ae48ee5c5c1f9c3dcd9c15223f2c29bbc866738acd6493c9","filepath-1.4.100.1","filepattern-0.1.3-7d2f06a174fdc538912500214867109a6f62268fee720f1f717867534c115be9","hashable-1.4.2.0-bd54a516580c7069cc2f4fc70f9822afde7c7143c81e1e601b62784493c2ff53","heaps-0.4-e780877104588c1b10a67a5aae3c0cd6a6a8f27aefe3d4a839b825c4892f8d5e","js-dgtable-0.5.2-ac981654e6f161f9ae1994f00a961b6578ab18a1d0f487c3ea6cd89f93c0a3c8","js-flot-0.8.3-bdd1fcc0842f60a8b532d63ef76ed02d43736c0b008305eed81753cba7d5a758","js-jquery-3.3.1-ec81a4a89ca6fb90a7b5b94ed963d6d4ecae68f1fdb3f5a82090dcfd79583dbf","primitive-0.8.0.0-71df968629ed55f39ba9d58a7727f3762a6aaadfe4267e8b12b6a73392407f07","process-1.6.17.0","random-1.2.1.1-f4e6f37178be563efc8a42cd5dc73b25970c63f5787d6b71b822326cb1c61394","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-275e0d519a94616dfc2e6c521bb36eb6126f2e65f16f8ea692a1a58b37e507fe","utf8-string-1.0.2-f9200a046ce7ec1ea78ce8e2bdd5606fb1959cbc89a851c8371244c443d178e8"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.2/shake-0.19.7-e-shake-fe6d16e046af8213ac87fb184283af5a4060b03aa7617bf7bcf87fc48621573d/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-bdb435860672a71aa2e76fcd96f3124f558293a082700121addb19dd682caeae","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.18.0.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.0.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.0.0","ghc-boot-th-9.6.2","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.0.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.0.0","bytestring-0.11.4.0","filepath-1.4.100.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-275e0d519a94616dfc2e6c521bb36eb6126f2e65f16f8ea692a1a58b37e507fe","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.18.0.0","deepseq-1.4.8.1","hashable-1.4.2.0-bd54a516580c7069cc2f4fc70f9822afde7c7143c81e1e601b62784493c2ff53","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-f9200a046ce7ec1ea78ce8e2bdd5606fb1959cbc89a851c8371244c443d178e8","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.1.0","pkg-name":"Cabal","pkg-version":"3.10.1.0","depends":["Cabal-syntax-3.10.1.0","array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.10.1.0","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"configured","id":"QuickCheck-2.14.3-e69daa8eb2444f6089b4016b0cd5e42579bec18c665d5bf3a838115ca5e63139","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.18.0.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.2-4e8d6f842ce23a697f1d3b25c20e8561ffc5ddf7823235026f703d84261b4fbc","splitmix-0.1.0.5-3307f57315e4bd816df89f2f34b54a4f48e0361adc7c66ab1cd559576b25ed30","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"base-4.18.0.0","pkg-name":"base","pkg-version":"4.18.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-569208a2a7ecfb8045fc7fe7a279b09e9e2138a544778fbde65aa2d73bc34715","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.4.0","pkg-name":"bytestring","pkg-version":"0.11.4.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.4-f11a9cde8b1906313259232faef6141f8392173f2efd92dd8157c9f880df4efd","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-78afa9227c65296150d46ce62a0875ab82c774f0d4cb9a5e622bdbf91e28a84f","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.0.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.0.0","filepath-1.4.100.1","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.0.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.14-c9d546aec6e83c9c4735171cd9e090d28b47d3c70b1e2984449e23655c89037d","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.18.0.0","clock-0.8.4-f11a9cde8b1906313259232faef6141f8392173f2efd92dd8157c9f880df4efd","directory-1.3.8.1","filepath-1.4.100.1","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.1","pkg-name":"filepath","pkg-version":"1.4.100.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-94347962be8851ffd8ee22f2eddca844936c3708fd50ce9fd1db0b8dfbee2500","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.0.0","directory-1.3.8.1","extra-1.7.14-c9d546aec6e83c9c4735171cd9e090d28b47d3c70b1e2984449e23655c89037d","filepath-1.4.100.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.2","pkg-name":"ghc-boot-th","pkg-version":"9.6.2","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.1.0","QuickCheck-2.14.3-e69daa8eb2444f6089b4016b0cd5e42579bec18c665d5bf3a838115ca5e63139","base-4.18.0.0","base16-bytestring-1.0.2.0-569208a2a7ecfb8045fc7fe7a279b09e9e2138a544778fbde65aa2d73bc34715","bytestring-0.11.4.0","containers-0.6.7","cryptohash-sha256-0.11.102.1-78afa9227c65296150d46ce62a0875ab82c774f0d4cb9a5e622bdbf91e28a84f","directory-1.3.8.1","extra-1.7.14-c9d546aec6e83c9c4735171cd9e090d28b47d3c70b1e2984449e23655c89037d","filepath-1.4.100.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.8-11fe4f5734f06f0b7027a47adec5e15fb538900a9595d28f02825275bbb1e9b1","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.20-04779ed8df45b6410907b5bf75299ed9066e7fc2c849d875a2ea606a640b6be7"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-54a14a45e176b1e5018a14d3d482539c26f2c223702dadcba7d894d575ccde80","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.18.0.0","bytestring-0.11.4.0","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.1","ghc-bignum-1.3","ghc-prim-0.10.0","os-string-2.0.2.1-6ecd6c44073b32201d945017a80fafd48611c39e57c8ae9fb8247e9166094a15","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-27096567797e3a574c44460042cb2f50e139dd1a546ded5f74c952428ad3f35c","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-1ac2b22f85041d7018715bf4897e7a4fea0d639fb8ec1212a2c117736237d48d","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-7b7c9f9460227f957116aa58624dffbad2d5e4b80aaa6afc53c6455a85910c59","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-2e9b26a4f15f4cf0968cb5882f434b5e526d0bf9bc876bca28cca1290522ecdd","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"os-string-2.0.2.1-6ecd6c44073b32201d945017a80fafd48611c39e57c8ae9fb8247e9166094a15","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.0.0","bytestring-0.11.4.0","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.0.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.9.0.0-6cb4f9751d6d10b31e96c774909a065f4ec4dd9d812b8090a58347a66ca58e50","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.18.0.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.0.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.1","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.2-4e8d6f842ce23a697f1d3b25c20e8561ffc5ddf7823235026f703d84261b4fbc","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.18.0.0","bytestring-0.11.4.0","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.5-3307f57315e4bd816df89f2f34b54a4f48e0361adc7c66ab1cd559576b25ed30"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-11fe4f5734f06f0b7027a47adec5e15fb538900a9595d28f02825275bbb1e9b1","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-c9d546aec6e83c9c4735171cd9e090d28b47d3c70b1e2984449e23655c89037d","filepath-1.4.100.1","filepattern-0.1.3-94347962be8851ffd8ee22f2eddca844936c3708fd50ce9fd1db0b8dfbee2500","hashable-1.4.4.0-54a14a45e176b1e5018a14d3d482539c26f2c223702dadcba7d894d575ccde80","heaps-0.4-27096567797e3a574c44460042cb2f50e139dd1a546ded5f74c952428ad3f35c","js-dgtable-0.5.2-1ac2b22f85041d7018715bf4897e7a4fea0d639fb8ec1212a2c117736237d48d","js-flot-0.8.3-7b7c9f9460227f957116aa58624dffbad2d5e4b80aaa6afc53c6455a85910c59","js-jquery-3.3.1-2e9b26a4f15f4cf0968cb5882f434b5e526d0bf9bc876bca28cca1290522ecdd","primitive-0.9.0.0-6cb4f9751d6d10b31e96c774909a065f4ec4dd9d812b8090a58347a66ca58e50","process-1.6.17.0","random-1.2.1.2-4e8d6f842ce23a697f1d3b25c20e8561ffc5ddf7823235026f703d84261b4fbc","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-04779ed8df45b6410907b5bf75299ed9066e7fc2c849d875a2ea606a640b6be7","utf8-string-1.0.2-ea45f454b717d3ce40da789187f7556e0108f666e268b9cb7fa268cf58000976"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-5848e69f19ae49f5ff484af8f5688d3a1bd0e9c098ea2f8b7d440048ee46b745","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-c9d546aec6e83c9c4735171cd9e090d28b47d3c70b1e2984449e23655c89037d","filepath-1.4.100.1","filepattern-0.1.3-94347962be8851ffd8ee22f2eddca844936c3708fd50ce9fd1db0b8dfbee2500","hashable-1.4.4.0-54a14a45e176b1e5018a14d3d482539c26f2c223702dadcba7d894d575ccde80","heaps-0.4-27096567797e3a574c44460042cb2f50e139dd1a546ded5f74c952428ad3f35c","js-dgtable-0.5.2-1ac2b22f85041d7018715bf4897e7a4fea0d639fb8ec1212a2c117736237d48d","js-flot-0.8.3-7b7c9f9460227f957116aa58624dffbad2d5e4b80aaa6afc53c6455a85910c59","js-jquery-3.3.1-2e9b26a4f15f4cf0968cb5882f434b5e526d0bf9bc876bca28cca1290522ecdd","primitive-0.9.0.0-6cb4f9751d6d10b31e96c774909a065f4ec4dd9d812b8090a58347a66ca58e50","process-1.6.17.0","random-1.2.1.2-4e8d6f842ce23a697f1d3b25c20e8561ffc5ddf7823235026f703d84261b4fbc","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-04779ed8df45b6410907b5bf75299ed9066e7fc2c849d875a2ea606a640b6be7","utf8-string-1.0.2-ea45f454b717d3ce40da789187f7556e0108f666e268b9cb7fa268cf58000976"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.2/shake-0.19.8-e-shake-5848e69f19ae49f5ff484af8f5688d3a1bd0e9c098ea2f8b7d440048ee46b745/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-3307f57315e4bd816df89f2f34b54a4f48e0361adc7c66ab1cd559576b25ed30","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.18.0.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.0.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.0.0","ghc-boot-th-9.6.2","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.0.0","binary-0.8.9.1","bytestring-0.11.4.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.0.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.0.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.0.0","bytestring-0.11.4.0","filepath-1.4.100.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-04779ed8df45b6410907b5bf75299ed9066e7fc2c849d875a2ea606a640b6be7","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.18.0.0","deepseq-1.4.8.1","hashable-1.4.4.0-54a14a45e176b1e5018a14d3d482539c26f2c223702dadcba7d894d575ccde80","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-ea45f454b717d3ce40da789187f7556e0108f666e268b9cb7fa268cf58000976","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.0.0","bytestring-0.11.4.0"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_6_3.json b/hadrian/bootstrap/plan-9_6_3.json
new file mode 100644
index 0000000000000000000000000000000000000000..2fd5e2e9fc0723761773a7b41ccb7f0c120e11e4
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_6_3.json
@@ -0,0 +1 @@
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.1.0","pkg-name":"Cabal","pkg-version":"3.10.1.0","depends":["Cabal-syntax-3.10.1.0","array-0.5.5.0","base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.10.1.0","depends":["array-0.5.5.0","base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"]},{"type":"configured","id":"QuickCheck-2.14.3-be20e06b6b92027e9c5645d91bcdecdd3a1f7904fe93d9979bd6cd8aa8310ea3","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.18.1.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.2-d21f8dc89e5e375f7ede7a3d6cf66aed822c1ff4db53e7ff85480216ef553814","splitmix-0.1.0.5-123b3f2acdfb5a81ee1a575c9b58f6a55b4d6eee1964abdbfbbc245336e33873","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"base-4.18.1.0","pkg-name":"base","pkg-version":"4.18.1.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-c6feac38708b67c973b5b79156b4c4012a012998a1702a07a50e96453c61466e","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.1.0","bytestring-0.11.5.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.5.2","pkg-name":"bytestring","pkg-version":"0.11.5.2","depends":["base-4.18.1.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.4-efb72c65d724b193982a03a7b4b7df236b38612b806623fcec9a65ebdefbb839","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.1.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-09a738abb9fdefd8e75449dceffb485e7430924b1bb94d09d5c8505e7aee7298","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.1.0","bytestring-0.11.5.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.1.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.1.0","filepath-1.4.100.4","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.1.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.14-0ef204ff114854b7797a12c5c5cd034b290d356a552cb3e9f973748fe0fe2d3d","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.18.1.0","clock-0.8.4-efb72c65d724b193982a03a7b4b7df236b38612b806623fcec9a65ebdefbb839","directory-1.3.8.1","filepath-1.4.100.4","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.4","pkg-name":"filepath","pkg-version":"1.4.100.4","depends":["base-4.18.1.0","bytestring-0.11.5.2","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-f47a5c672d730bf1cebf1e7459569a3386885c2e173dc8565382292ae37a7aa3","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.1.0","directory-1.3.8.1","extra-1.7.14-0ef204ff114854b7797a12c5c5cd034b290d356a552cb3e9f973748fe0fe2d3d","filepath-1.4.100.4"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.3","pkg-name":"ghc-boot-th","pkg-version":"9.6.3","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.1.0","QuickCheck-2.14.3-be20e06b6b92027e9c5645d91bcdecdd3a1f7904fe93d9979bd6cd8aa8310ea3","base-4.18.1.0","base16-bytestring-1.0.2.0-c6feac38708b67c973b5b79156b4c4012a012998a1702a07a50e96453c61466e","bytestring-0.11.5.2","containers-0.6.7","cryptohash-sha256-0.11.102.1-09a738abb9fdefd8e75449dceffb485e7430924b1bb94d09d5c8505e7aee7298","directory-1.3.8.1","extra-1.7.14-0ef204ff114854b7797a12c5c5cd034b290d356a552cb3e9f973748fe0fe2d3d","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.8-20e8d933ff03adc2d3bab305a612589954564d6243f9cad9b0e7a949500ef441","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.20-272f125bdc380aa907a9b169be684196a503de2eea93533671ff4ac5b19d4a97"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-764ff39d5d2f24a62d84ea1237c2145033936fede495914cacb0c81b8fc96b5e","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.4","ghc-bignum-1.3","ghc-prim-0.10.0","os-string-2.0.2.1-0d9f5d2fe53bea925a5755197e471c948c109c66af8c7e112ed8009ffb26bc3e","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-306bf0b334e752fcfa1cee4fcb5e96873d2bbe70d4adf25a27e63e51e7a7c78d","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-f1410094bf8ebc6046d688e5a9c209b12f01f77f7199dcdb239054e38e647b2a","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-82b3fdcda1c968a819d98986fccd25796c9bb652009a1c8d4485fddc21d8b67c","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-6ccf83e1fcf35c10538d7b078b50f0a24e35d3c2f59f4b3dc986e97623cd3fa7","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.1.0","transformers-0.6.1.0"]},{"type":"configured","id":"os-string-2.0.2.1-0d9f5d2fe53bea925a5755197e471c948c109c66af8c7e112ed8009ffb26bc3e","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.18.1.0","bytestring-0.11.5.2","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.1.0","bytestring-0.11.5.2","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.1.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.9.0.0-bc0c2448b8440c60b61e99817f56f8a29c732474dcb3b3eb6e60b5205ec26866","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.18.1.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.1.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.2-d21f8dc89e5e375f7ede7a3d6cf66aed822c1ff4db53e7ff85480216ef553814","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.18.1.0","bytestring-0.11.5.2","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.5-123b3f2acdfb5a81ee1a575c9b58f6a55b4d6eee1964abdbfbbc245336e33873"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-20e8d933ff03adc2d3bab305a612589954564d6243f9cad9b0e7a949500ef441","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-0ef204ff114854b7797a12c5c5cd034b290d356a552cb3e9f973748fe0fe2d3d","filepath-1.4.100.4","filepattern-0.1.3-f47a5c672d730bf1cebf1e7459569a3386885c2e173dc8565382292ae37a7aa3","hashable-1.4.4.0-764ff39d5d2f24a62d84ea1237c2145033936fede495914cacb0c81b8fc96b5e","heaps-0.4-306bf0b334e752fcfa1cee4fcb5e96873d2bbe70d4adf25a27e63e51e7a7c78d","js-dgtable-0.5.2-f1410094bf8ebc6046d688e5a9c209b12f01f77f7199dcdb239054e38e647b2a","js-flot-0.8.3-82b3fdcda1c968a819d98986fccd25796c9bb652009a1c8d4485fddc21d8b67c","js-jquery-3.3.1-6ccf83e1fcf35c10538d7b078b50f0a24e35d3c2f59f4b3dc986e97623cd3fa7","primitive-0.9.0.0-bc0c2448b8440c60b61e99817f56f8a29c732474dcb3b3eb6e60b5205ec26866","process-1.6.17.0","random-1.2.1.2-d21f8dc89e5e375f7ede7a3d6cf66aed822c1ff4db53e7ff85480216ef553814","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-272f125bdc380aa907a9b169be684196a503de2eea93533671ff4ac5b19d4a97","utf8-string-1.0.2-bcba86e78380da694af9dd450a5a586805efe406278cb1aed67b0030404278cb"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-88a1e4ab39b2fc0d16dbfa7d252dafebb54e865c7813688e1583824ab2bcb5af","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-0ef204ff114854b7797a12c5c5cd034b290d356a552cb3e9f973748fe0fe2d3d","filepath-1.4.100.4","filepattern-0.1.3-f47a5c672d730bf1cebf1e7459569a3386885c2e173dc8565382292ae37a7aa3","hashable-1.4.4.0-764ff39d5d2f24a62d84ea1237c2145033936fede495914cacb0c81b8fc96b5e","heaps-0.4-306bf0b334e752fcfa1cee4fcb5e96873d2bbe70d4adf25a27e63e51e7a7c78d","js-dgtable-0.5.2-f1410094bf8ebc6046d688e5a9c209b12f01f77f7199dcdb239054e38e647b2a","js-flot-0.8.3-82b3fdcda1c968a819d98986fccd25796c9bb652009a1c8d4485fddc21d8b67c","js-jquery-3.3.1-6ccf83e1fcf35c10538d7b078b50f0a24e35d3c2f59f4b3dc986e97623cd3fa7","primitive-0.9.0.0-bc0c2448b8440c60b61e99817f56f8a29c732474dcb3b3eb6e60b5205ec26866","process-1.6.17.0","random-1.2.1.2-d21f8dc89e5e375f7ede7a3d6cf66aed822c1ff4db53e7ff85480216ef553814","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.20-272f125bdc380aa907a9b169be684196a503de2eea93533671ff4ac5b19d4a97","utf8-string-1.0.2-bcba86e78380da694af9dd450a5a586805efe406278cb1aed67b0030404278cb"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.3/shake-0.19.8-e-shake-88a1e4ab39b2fc0d16dbfa7d252dafebb54e865c7813688e1583824ab2bcb5af/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-123b3f2acdfb5a81ee1a575c9b58f6a55b4d6eee1964abdbfbbc245336e33873","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.18.1.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.1.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.1.0","ghc-boot-th-9.6.3","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.1.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.1.0","bytestring-0.11.5.2","filepath-1.4.100.4","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-272f125bdc380aa907a9b169be684196a503de2eea93533671ff4ac5b19d4a97","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.18.1.0","deepseq-1.4.8.1","hashable-1.4.4.0-764ff39d5d2f24a62d84ea1237c2145033936fede495914cacb0c81b8fc96b5e","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-bcba86e78380da694af9dd450a5a586805efe406278cb1aed67b0030404278cb","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.1.0","bytestring-0.11.5.2"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_6_4.json b/hadrian/bootstrap/plan-9_6_4.json
new file mode 100644
index 0000000000000000000000000000000000000000..883b5cbd916f31316006f130be374b92c8c210a7
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_6_4.json
@@ -0,0 +1 @@
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.1.0","pkg-name":"Cabal","pkg-version":"3.10.1.0","depends":["Cabal-syntax-3.10.1.0","array-0.5.6.0","base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.10.1.0","depends":["array-0.5.6.0","base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"]},{"type":"configured","id":"QuickCheck-2.14.3-1aa70f2102f7fd38fc2d17cfbf69b420300a3e9ca5ebe4f0430ac414bee15167","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.18.2.0","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.2-ee9492352073a5224e8bfe0b28253fbf1a69f47aff735a8ab35235e8036b235d","splitmix-0.1.0.5-ab923304ab4ea4373ddac2146ebfdad8636e04900761a9faef4feec0cedba51c","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-5367755b82b523ac8ab3e8915384aadcbef426df8aa2ea3a00fbc6b5ab6788e4","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.2.0","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.6.0","base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.5.3","pkg-name":"bytestring","pkg-version":"0.11.5.3","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.4-693007efe58b8fdca1c34a201008085eac9897f1b2f31c2d78f6f2ebac7bcf46","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-197eb2443f8413452e75794fb467a74c91c9db474722ebb69c87dbf7f5ba80b3","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.2.0","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.2.0","filepath-1.4.200.1","time-1.12.2","unix-2.8.4.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.2.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.14-8bd3593d812c09dfcd85044fffb94d1917a59e706b7764f5de632957a3fdf9d4","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.18.2.0","clock-0.8.4-693007efe58b8fdca1c34a201008085eac9897f1b2f31c2d78f6f2ebac7bcf46","directory-1.3.8.1","filepath-1.4.200.1","process-1.6.17.0","time-1.12.2","unix-2.8.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.200.1","pkg-name":"filepath","pkg-version":"1.4.200.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-6a04e11ba2ffc79adeea13d47b4bd0b6e3c08cb52ab60d342588568e607470f7","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.2.0","directory-1.3.8.1","extra-1.7.14-8bd3593d812c09dfcd85044fffb94d1917a59e706b7764f5de632957a3fdf9d4","filepath-1.4.200.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.1.0","QuickCheck-2.14.3-1aa70f2102f7fd38fc2d17cfbf69b420300a3e9ca5ebe4f0430ac414bee15167","base-4.18.2.0","base16-bytestring-1.0.2.0-5367755b82b523ac8ab3e8915384aadcbef426df8aa2ea3a00fbc6b5ab6788e4","bytestring-0.11.5.3","containers-0.6.7","cryptohash-sha256-0.11.102.1-197eb2443f8413452e75794fb467a74c91c9db474722ebb69c87dbf7f5ba80b3","directory-1.3.8.1","extra-1.7.14-8bd3593d812c09dfcd85044fffb94d1917a59e706b7764f5de632957a3fdf9d4","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.8-fda9e8ad546a3a257e32d390ff03f7265186b169c7bdf33528e2b4c79a99ecd8","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.20-5d2c6ad08b793179f378b41b7c3332c86db23c73cb9f1d5e353d709e3b54d19c"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-1dff40411edb66beb7338a0e84cda4cdf1c26765631699d7c202d2fe3c2a872d","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.200.1","ghc-bignum-1.3","ghc-prim-0.10.0","os-string-2.0.2.1-d4db732dbf44c003fcbc8fb60e34a3a7c810a90026398d2486347b1a499e8b12","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-3ccf6d116e676c6468b164a0a83229e07ee6b8e3197e0e499a497bbd7e2167a2","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-c314f59accf48d14d7f75e60f56d27300629932b28397596ea54daeaff59457d","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-46e3955c54252f0b7222adaf4bb89727f417cb7e6d93d78f2e3d16811f7099c6","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-cfa62fc90ac66fd36dccf1bb52564af00a0c5678a0f5b053da7bade5194ebfb2","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.2.0","transformers-0.6.1.0"]},{"type":"configured","id":"os-string-2.0.2.1-d4db732dbf44c003fcbc8fb60e34a3a7c810a90026398d2486347b1a499e8b12","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.9.0.0-a0b4f68343d5cb2d57fc510d5e4ccf64e0b949920861fab52dffcc2c5568fcaa","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.2.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","unix-2.8.4.0"]},{"type":"configured","id":"random-1.2.1.2-ee9492352073a5224e8bfe0b28253fbf1a69f47aff735a8ab35235e8036b235d","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.5-ab923304ab4ea4373ddac2146ebfdad8636e04900761a9faef4feec0cedba51c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-e-shake-f811a2ce49db8cc7b37d96fe46aebaa212093e570feb657effe7b1fa03c69f71","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-8bd3593d812c09dfcd85044fffb94d1917a59e706b7764f5de632957a3fdf9d4","filepath-1.4.200.1","filepattern-0.1.3-6a04e11ba2ffc79adeea13d47b4bd0b6e3c08cb52ab60d342588568e607470f7","hashable-1.4.4.0-1dff40411edb66beb7338a0e84cda4cdf1c26765631699d7c202d2fe3c2a872d","heaps-0.4-3ccf6d116e676c6468b164a0a83229e07ee6b8e3197e0e499a497bbd7e2167a2","js-dgtable-0.5.2-c314f59accf48d14d7f75e60f56d27300629932b28397596ea54daeaff59457d","js-flot-0.8.3-46e3955c54252f0b7222adaf4bb89727f417cb7e6d93d78f2e3d16811f7099c6","js-jquery-3.3.1-cfa62fc90ac66fd36dccf1bb52564af00a0c5678a0f5b053da7bade5194ebfb2","primitive-0.9.0.0-a0b4f68343d5cb2d57fc510d5e4ccf64e0b949920861fab52dffcc2c5568fcaa","process-1.6.17.0","random-1.2.1.2-ee9492352073a5224e8bfe0b28253fbf1a69f47aff735a8ab35235e8036b235d","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.20-5d2c6ad08b793179f378b41b7c3332c86db23c73cb9f1d5e353d709e3b54d19c","utf8-string-1.0.2-632f5f15f6967b028c1e12cfc28bda20e1d3aa616b9ddbfc64531aa0eb3bec1d"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.4/shake-0.19.8-e-shake-f811a2ce49db8cc7b37d96fe46aebaa212093e570feb657effe7b1fa03c69f71/bin/shake"},{"type":"configured","id":"shake-0.19.8-fda9e8ad546a3a257e32d390ff03f7265186b169c7bdf33528e2b4c79a99ecd8","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.14-8bd3593d812c09dfcd85044fffb94d1917a59e706b7764f5de632957a3fdf9d4","filepath-1.4.200.1","filepattern-0.1.3-6a04e11ba2ffc79adeea13d47b4bd0b6e3c08cb52ab60d342588568e607470f7","hashable-1.4.4.0-1dff40411edb66beb7338a0e84cda4cdf1c26765631699d7c202d2fe3c2a872d","heaps-0.4-3ccf6d116e676c6468b164a0a83229e07ee6b8e3197e0e499a497bbd7e2167a2","js-dgtable-0.5.2-c314f59accf48d14d7f75e60f56d27300629932b28397596ea54daeaff59457d","js-flot-0.8.3-46e3955c54252f0b7222adaf4bb89727f417cb7e6d93d78f2e3d16811f7099c6","js-jquery-3.3.1-cfa62fc90ac66fd36dccf1bb52564af00a0c5678a0f5b053da7bade5194ebfb2","primitive-0.9.0.0-a0b4f68343d5cb2d57fc510d5e4ccf64e0b949920861fab52dffcc2c5568fcaa","process-1.6.17.0","random-1.2.1.2-ee9492352073a5224e8bfe0b28253fbf1a69f47aff735a8ab35235e8036b235d","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.20-5d2c6ad08b793179f378b41b7c3332c86db23c73cb9f1d5e353d709e3b54d19c","utf8-string-1.0.2-632f5f15f6967b028c1e12cfc28bda20e1d3aa616b9ddbfc64531aa0eb3bec1d"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.5-ab923304ab4ea4373ddac2146ebfdad8636e04900761a9faef4feec0cedba51c","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.18.2.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.6.0","base-4.18.2.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.6.0","base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.2.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"unix-2.8.4.0","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.18.2.0","bytestring-0.11.5.3","filepath-1.4.200.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-5d2c6ad08b793179f378b41b7c3332c86db23c73cb9f1d5e353d709e3b54d19c","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.18.2.0","deepseq-1.4.8.1","hashable-1.4.4.0-1dff40411edb66beb7338a0e84cda4cdf1c26765631699d7c202d2fe3c2a872d","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-632f5f15f6967b028c1e12cfc28bda20e1d3aa616b9ddbfc64531aa0eb3bec1d","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.2.0","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_6_5.json b/hadrian/bootstrap/plan-9_6_5.json
new file mode 100644
index 0000000000000000000000000000000000000000..c5534ba14de3411c5bd9a5f8e92c2162065971bd
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_6_5.json
@@ -0,0 +1 @@
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.6.5","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.3.0","pkg-name":"Cabal","pkg-version":"3.10.3.0","depends":["Cabal-syntax-3.10.3.0","array-0.5.6.0","base-4.18.2.1","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.4","filepath-1.4.300.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.19.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.3.0","pkg-name":"Cabal-syntax","pkg-version":"3.10.3.0","depends":["array-0.5.6.0","base-4.18.2.1","binary-0.8.9.1","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.4","filepath-1.4.300.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"]},{"type":"configured","id":"QuickCheck-2.14.3-b932e9faf1edd84bb23a1ca04212d04d6eaeb209e697196ceaa906f383adaefe","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.18.2.1","containers-0.6.7","deepseq-1.4.8.1","random-1.2.1.2-d845edbd30b14412725cfbad29ee9f10927d5bc29ee701e317e4b6f883cb5e02","splitmix-0.1.0.5-126dc22c8ac90de6d18ee09d989dd4c75f3823df86a0e8b1bca9733562717b15","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.1"]},{"type":"pre-existing","id":"base-4.18.2.1","pkg-name":"base","pkg-version":"4.18.2.1","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-4426637f8aa4b70fddbf72f94236f8a58b8af646266ea1bb63c0b169c6c8781c","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.18.2.1","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.6.0","base-4.18.2.1","bytestring-0.11.5.3","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.5.3","pkg-name":"bytestring","pkg-version":"0.11.5.3","depends":["base-4.18.2.1","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.4-3f050e8d2c5f9be96c6a99d627d3e81f404f3c7cfdfb25c7320cd2d6363c586e","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.18.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.1","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-58a6e099384a42c956d29375b4a018fd1292e801c20958015eb15147b2a0eeb5","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.18.2.1","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.1","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.4","pkg-name":"directory","pkg-version":"1.3.8.4","depends":["base-4.18.2.1","filepath-1.4.300.1","time-1.12.2","unix-2.8.4.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.2.1","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.14-780cac097df94dbd9a11128102aa7ad7d6373ee3eaee7601a49b6daef3c1e964","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.18.2.1","clock-0.8.4-3f050e8d2c5f9be96c6a99d627d3e81f404f3c7cfdfb25c7320cd2d6363c586e","directory-1.3.8.4","filepath-1.4.300.1","process-1.6.19.0","time-1.12.2","unix-2.8.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.300.1","pkg-name":"filepath","pkg-version":"1.4.300.1","depends":["base-4.18.2.1","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-934ef6f36cac65432943b094a3ab98a60dd45f02be8c9449c1cd7aee75311bcd","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.2.1","directory-1.3.8.4","extra-1.7.14-780cac097df94dbd9a11128102aa7ad7d6373ee3eaee7601a49b6daef3c1e964","filepath-1.4.300.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.5","pkg-name":"ghc-boot-th","pkg-version":"9.6.5","depends":["base-4.18.2.1"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.5/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.5/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.3.0","QuickCheck-2.14.3-b932e9faf1edd84bb23a1ca04212d04d6eaeb209e697196ceaa906f383adaefe","base-4.18.2.1","base16-bytestring-1.0.2.0-4426637f8aa4b70fddbf72f94236f8a58b8af646266ea1bb63c0b169c6c8781c","bytestring-0.11.5.3","containers-0.6.7","cryptohash-sha256-0.11.102.1-58a6e099384a42c956d29375b4a018fd1292e801c20958015eb15147b2a0eeb5","directory-1.3.8.4","extra-1.7.14-780cac097df94dbd9a11128102aa7ad7d6373ee3eaee7601a49b6daef3c1e964","filepath-1.4.300.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.8-1a806b00dddd5df2a4aefc089f705fe9c832c677f6c95df96212c4c8e823197d","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.20-95b12345d92db26183a6c7d5ce316c2f8e3948474f71067078df8971cd22767c"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-95bd7df95cb32916bd1322d3fb232415af5f698eaa767639d2757c7b5111ad8e","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.18.2.1","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.300.1","ghc-bignum-1.3","ghc-prim-0.10.0","os-string-2.0.2.1-1904abfd9cdd2ad15e62bb4bae27435c921a3f51dea2a61f8eed6b8b52d1f330","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-22d518cac35316e6ca0e8ce61e312abdc5cb410f3ada1deabb2a120934edfc6d","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-a7a086d4561234dedac45c09af6abef289db1f91ed40f42a3f93ce8b3daa43a9","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-2b8f0d4539b12ee9de95aafe373adcb837324df2f82068b404b008ebdab121e8","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-2913d200c853191a3cb4917844f18fd09859008ecfff022a52aebfda451eba34","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.2.1","transformers-0.6.1.0"]},{"type":"configured","id":"os-string-2.0.2.1-1904abfd9cdd2ad15e62bb4bae27435c921a3f51dea2a61f8eed6b8b52d1f330","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.18.2.1","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.2.1","bytestring-0.11.5.3","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.1","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.9.0.0-cbc273db782b08453b326f4895c2fa30c4b7418b366e685582a8e83c6b4e01f0","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.18.2.1","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.19.0","pkg-name":"process","pkg-version":"1.6.19.0","depends":["base-4.18.2.1","deepseq-1.4.8.1","directory-1.3.8.4","filepath-1.4.300.1","unix-2.8.4.0"]},{"type":"configured","id":"random-1.2.1.2-d845edbd30b14412725cfbad29ee9f10927d5bc29ee701e317e4b6f883cb5e02","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.18.2.1","bytestring-0.11.5.3","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.5-126dc22c8ac90de6d18ee09d989dd4c75f3823df86a0e8b1bca9733562717b15"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-1a806b00dddd5df2a4aefc089f705fe9c832c677f6c95df96212c4c8e823197d","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.2.1","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.4","extra-1.7.14-780cac097df94dbd9a11128102aa7ad7d6373ee3eaee7601a49b6daef3c1e964","filepath-1.4.300.1","filepattern-0.1.3-934ef6f36cac65432943b094a3ab98a60dd45f02be8c9449c1cd7aee75311bcd","hashable-1.4.4.0-95bd7df95cb32916bd1322d3fb232415af5f698eaa767639d2757c7b5111ad8e","heaps-0.4-22d518cac35316e6ca0e8ce61e312abdc5cb410f3ada1deabb2a120934edfc6d","js-dgtable-0.5.2-a7a086d4561234dedac45c09af6abef289db1f91ed40f42a3f93ce8b3daa43a9","js-flot-0.8.3-2b8f0d4539b12ee9de95aafe373adcb837324df2f82068b404b008ebdab121e8","js-jquery-3.3.1-2913d200c853191a3cb4917844f18fd09859008ecfff022a52aebfda451eba34","primitive-0.9.0.0-cbc273db782b08453b326f4895c2fa30c4b7418b366e685582a8e83c6b4e01f0","process-1.6.19.0","random-1.2.1.2-d845edbd30b14412725cfbad29ee9f10927d5bc29ee701e317e4b6f883cb5e02","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.20-95b12345d92db26183a6c7d5ce316c2f8e3948474f71067078df8971cd22767c","utf8-string-1.0.2-d41f28448cf3953aa58c2f61873a9408dc4e2f9026d2d2fc6e063430a91cad45"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.8-e-shake-9f6a45229b4fb92261768966f4a4ca47a5d6a5e1da366482abc6eb36ed62754f","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.18.2.1","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.4","extra-1.7.14-780cac097df94dbd9a11128102aa7ad7d6373ee3eaee7601a49b6daef3c1e964","filepath-1.4.300.1","filepattern-0.1.3-934ef6f36cac65432943b094a3ab98a60dd45f02be8c9449c1cd7aee75311bcd","hashable-1.4.4.0-95bd7df95cb32916bd1322d3fb232415af5f698eaa767639d2757c7b5111ad8e","heaps-0.4-22d518cac35316e6ca0e8ce61e312abdc5cb410f3ada1deabb2a120934edfc6d","js-dgtable-0.5.2-a7a086d4561234dedac45c09af6abef289db1f91ed40f42a3f93ce8b3daa43a9","js-flot-0.8.3-2b8f0d4539b12ee9de95aafe373adcb837324df2f82068b404b008ebdab121e8","js-jquery-3.3.1-2913d200c853191a3cb4917844f18fd09859008ecfff022a52aebfda451eba34","primitive-0.9.0.0-cbc273db782b08453b326f4895c2fa30c4b7418b366e685582a8e83c6b4e01f0","process-1.6.19.0","random-1.2.1.2-d845edbd30b14412725cfbad29ee9f10927d5bc29ee701e317e4b6f883cb5e02","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.20-95b12345d92db26183a6c7d5ce316c2f8e3948474f71067078df8971cd22767c","utf8-string-1.0.2-d41f28448cf3953aa58c2f61873a9408dc4e2f9026d2d2fc6e063430a91cad45"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.6.5/shake-0.19.8-e-shake-9f6a45229b4fb92261768966f4a4ca47a5d6a5e1da366482abc6eb36ed62754f/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.5-126dc22c8ac90de6d18ee09d989dd4c75f3823df86a0e8b1bca9733562717b15","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.18.2.1","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.6.0","base-4.18.2.1"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.1","ghc-boot-th-9.6.5","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.6.0","base-4.18.2.1","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.2.1","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.2.1"]},{"type":"pre-existing","id":"unix-2.8.4.0","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.18.2.1","bytestring-0.11.5.3","filepath-1.4.300.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.20-95b12345d92db26183a6c7d5ce316c2f8e3948474f71067078df8971cd22767c","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.18.2.1","deepseq-1.4.8.1","hashable-1.4.4.0-95bd7df95cb32916bd1322d3fb232415af5f698eaa767639d2757c7b5111ad8e","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-d41f28448cf3953aa58c2f61873a9408dc4e2f9026d2d2fc6e063430a91cad45","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.2.1","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_8_1.json b/hadrian/bootstrap/plan-9_8_1.json
new file mode 100644
index 0000000000000000000000000000000000000000..b2c3d5b8c18dd7598f7284ffa1e5e8c41dcbb75d
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_8_1.json
@@ -0,0 +1 @@
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.8.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.2.0-d9f9","pkg-name":"Cabal","pkg-version":"3.10.2.0","depends":["Cabal-syntax-3.10.2.0-2ddf","array-0.5.6.0-71f5","base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","containers-0.6.8-5582","deepseq-1.5.0.0-c95f","directory-1.3.8.1-bdce","filepath-1.4.100.4-6d5c","mtl-2.3.1-4a2f","parsec-3.1.17.0-53fa","pretty-1.1.3.6-da5d","process-1.6.18.0-a855","text-2.1-6316","time-1.12.2-6806","transformers-0.6.1.0-ca30","unix-2.8.3.0-688a"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.2.0-2ddf","pkg-name":"Cabal-syntax","pkg-version":"3.10.2.0","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941","binary-0.8.9.1-dc44","bytestring-0.12.0.2-bcd5","containers-0.6.8-5582","deepseq-1.5.0.0-c95f","directory-1.3.8.1-bdce","filepath-1.4.100.4-6d5c","mtl-2.3.1-4a2f","parsec-3.1.17.0-53fa","pretty-1.1.3.6-da5d","text-2.1-6316","time-1.12.2-6806","transformers-0.6.1.0-ca30","unix-2.8.3.0-688a"]},{"type":"configured","id":"QuickCheck-2.14.3-7f7989023c043fa38dd51f8932691313a2a868ef2fd60729207ec854856a638b","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.19.0.0-6941","containers-0.6.8-5582","deepseq-1.5.0.0-c95f","random-1.2.1.2-49549899284a493b064230683a3793b39d91161b7c55eddbcf4c250370e0c9de","splitmix-0.1.0.5-e2c554b21d2bee8ceb2a9674a2a139e583617903bea85de3df97fa23d45cb6a6","template-haskell-2.21.0.0-183a","transformers-0.6.1.0-ca30"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.6.0-71f5","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.19.0.0-6941"]},{"type":"pre-existing","id":"base-4.19.0.0-6941","pkg-name":"base","pkg-version":"4.19.0.0","depends":["ghc-bignum-1.3-7e69","ghc-prim-0.11.0-59e0","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-f6f338f30ffcaaf609b4d94c3bc7c96031ebcb86cb6ae7a235b0b2215ce4f075","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1-dc44","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","containers-0.6.8-5582"]},{"type":"pre-existing","id":"bytestring-0.12.0.2-bcd5","pkg-name":"bytestring","pkg-version":"0.12.0.2","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","ghc-prim-0.11.0-59e0","template-haskell-2.21.0.0-183a"]},{"type":"configured","id":"clock-0.8.4-7fc53c58718796ac27673f16883fabd7e751a3fda0f8567c730d9153f3676e41","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.19.0.0-6941"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.8-5582","pkg-name":"containers","pkg-version":"0.6.8","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","template-haskell-2.21.0.0-183a"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-28e4385b75b881cc43f356dfd5d7a0c245850750f3f6e7aee39555a9f2df667c","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.5.0.0-c95f","pkg-name":"deepseq","pkg-version":"1.5.0.0","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941","ghc-prim-0.11.0-59e0"]},{"type":"pre-existing","id":"directory-1.3.8.1-bdce","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.19.0.0-6941","filepath-1.4.100.4-6d5c","time-1.12.2-6806","unix-2.8.3.0-688a"]},{"type":"pre-existing","id":"exceptions-0.10.7-af9c","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.19.0.0-6941","mtl-2.3.1-4a2f","stm-2.5.2.1-a112","template-haskell-2.21.0.0-183a","transformers-0.6.1.0-ca30"]},{"type":"configured","id":"extra-1.7.14-6ad1ba6104fbb8e0994c0881efba68898c6ce6cc8f34433b445ddebd4dc3059b","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.19.0.0-6941","clock-0.8.4-7fc53c58718796ac27673f16883fabd7e751a3fda0f8567c730d9153f3676e41","directory-1.3.8.1-bdce","filepath-1.4.100.4-6d5c","process-1.6.18.0-a855","time-1.12.2-6806","unix-2.8.3.0-688a"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.4-6d5c","pkg-name":"filepath","pkg-version":"1.4.100.4","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","exceptions-0.10.7-af9c","template-haskell-2.21.0.0-183a"]},{"type":"configured","id":"filepattern-0.1.3-8f59d15515fe4c9c00dd3a5f6945dac524b3b702a44f37a3024496f14cc8c56f","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.19.0.0-6941","directory-1.3.8.1-bdce","extra-1.7.14-6ad1ba6104fbb8e0994c0881efba68898c6ce6cc8f34433b445ddebd4dc3059b","filepath-1.4.100.4-6d5c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3-7e69","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.11.0-59e0"]},{"type":"pre-existing","id":"ghc-boot-th-9.8.1-1aaa","pkg-name":"ghc-boot-th","pkg-version":"9.8.1","depends":["base-4.19.0.0-6941"]},{"type":"pre-existing","id":"ghc-prim-0.11.0-59e0","pkg-name":"ghc-prim","pkg-version":"0.11.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.1/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.1/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.2.0-d9f9","QuickCheck-2.14.3-7f7989023c043fa38dd51f8932691313a2a868ef2fd60729207ec854856a638b","base-4.19.0.0-6941","base16-bytestring-1.0.2.0-f6f338f30ffcaaf609b4d94c3bc7c96031ebcb86cb6ae7a235b0b2215ce4f075","bytestring-0.12.0.2-bcd5","containers-0.6.8-5582","cryptohash-sha256-0.11.102.1-28e4385b75b881cc43f356dfd5d7a0c245850750f3f6e7aee39555a9f2df667c","directory-1.3.8.1-bdce","extra-1.7.14-6ad1ba6104fbb8e0994c0881efba68898c6ce6cc8f34433b445ddebd4dc3059b","filepath-1.4.100.4-6d5c","mtl-2.3.1-4a2f","parsec-3.1.17.0-53fa","shake-0.19.8-f07cd65931713ab2ea32fd345345ade1854a633eaf887f5f5d667f04cac75e96","text-2.1-6316","time-1.12.2-6806","transformers-0.6.1.0-ca30","unordered-containers-0.2.20-52b086f2fdb6dd5081ef28fdbf1ffc3f25e62c756e9bc24279b89abba83f4ea6"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-e416fa56c26ebe5cda90c6ab2c43944201c44a1bd284370e459d8df1ba7cabf3","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","containers-0.6.8-5582","deepseq-1.5.0.0-c95f","filepath-1.4.100.4-6d5c","ghc-bignum-1.3-7e69","ghc-prim-0.11.0-59e0","os-string-2.0.2.1-3768863b9d15ba721f6b45c89a1f834868b27e58339cbd60d3fb923228c1302f","text-2.1-6316"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-97017a9d9bbeba61aac6911474a6f41b861647a1f4775c33e658383473e80236","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.19.0.0-6941"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-c16febbbc72aec1e225ebb9c3a9e309f0b863c8c1daf526ed25eb973d00988b7","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.19.0.0-6941"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-9bc6b525659d774c752b8f03bd181b5685083bbd721e0aae2453680b967f190a","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.19.0.0-6941"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-0d3af46c4e96248ff224e166b7eeac00fb5c640031160c65aee2fbb62eae3a10","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.19.0.0-6941"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1-4a2f","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.19.0.0-6941","transformers-0.6.1.0-ca30"]},{"type":"configured","id":"os-string-2.0.2.1-3768863b9d15ba721f6b45c89a1f834868b27e58339cbd60d3fb923228c1302f","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","exceptions-0.10.7-af9c","template-haskell-2.21.0.0-183a"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.17.0-53fa","pkg-name":"parsec","pkg-version":"3.1.17.0","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","mtl-2.3.1-4a2f","text-2.1-6316"]},{"type":"pre-existing","id":"pretty-1.1.3.6-da5d","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","ghc-prim-0.11.0-59e0"]},{"type":"configured","id":"primitive-0.9.0.0-7eaa2043d01d682aa8d36ebff20fec6151ca77111a09ae6ec97e3900e07857ea","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","template-haskell-2.21.0.0-183a","transformers-0.6.1.0-ca30"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.18.0-a855","pkg-name":"process","pkg-version":"1.6.18.0","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","directory-1.3.8.1-bdce","filepath-1.4.100.4-6d5c","unix-2.8.3.0-688a"]},{"type":"configured","id":"random-1.2.1.2-49549899284a493b064230683a3793b39d91161b7c55eddbcf4c250370e0c9de","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","mtl-2.3.1-4a2f","splitmix-0.1.0.5-e2c554b21d2bee8ceb2a9674a2a139e583617903bea85de3df97fa23d45cb6a6"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-e-shake-c31a88f48f785ba4b6167cf72f91889a8050a3a99d45f8b0be41a47d05b6f102","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.19.0.0-6941","binary-0.8.9.1-dc44","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","directory-1.3.8.1-bdce","extra-1.7.14-6ad1ba6104fbb8e0994c0881efba68898c6ce6cc8f34433b445ddebd4dc3059b","filepath-1.4.100.4-6d5c","filepattern-0.1.3-8f59d15515fe4c9c00dd3a5f6945dac524b3b702a44f37a3024496f14cc8c56f","hashable-1.4.4.0-e416fa56c26ebe5cda90c6ab2c43944201c44a1bd284370e459d8df1ba7cabf3","heaps-0.4-97017a9d9bbeba61aac6911474a6f41b861647a1f4775c33e658383473e80236","js-dgtable-0.5.2-c16febbbc72aec1e225ebb9c3a9e309f0b863c8c1daf526ed25eb973d00988b7","js-flot-0.8.3-9bc6b525659d774c752b8f03bd181b5685083bbd721e0aae2453680b967f190a","js-jquery-3.3.1-0d3af46c4e96248ff224e166b7eeac00fb5c640031160c65aee2fbb62eae3a10","primitive-0.9.0.0-7eaa2043d01d682aa8d36ebff20fec6151ca77111a09ae6ec97e3900e07857ea","process-1.6.18.0-a855","random-1.2.1.2-49549899284a493b064230683a3793b39d91161b7c55eddbcf4c250370e0c9de","time-1.12.2-6806","transformers-0.6.1.0-ca30","unix-2.8.3.0-688a","unordered-containers-0.2.20-52b086f2fdb6dd5081ef28fdbf1ffc3f25e62c756e9bc24279b89abba83f4ea6","utf8-string-1.0.2-2891cafc8564970b634c456aecd9e3a030926f0f43ace5c2f28d603525787523"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.8.1/shake-0.19.8-e-shake-c31a88f48f785ba4b6167cf72f91889a8050a3a99d45f8b0be41a47d05b6f102/bin/shake"},{"type":"configured","id":"shake-0.19.8-f07cd65931713ab2ea32fd345345ade1854a633eaf887f5f5d667f04cac75e96","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.19.0.0-6941","binary-0.8.9.1-dc44","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","directory-1.3.8.1-bdce","extra-1.7.14-6ad1ba6104fbb8e0994c0881efba68898c6ce6cc8f34433b445ddebd4dc3059b","filepath-1.4.100.4-6d5c","filepattern-0.1.3-8f59d15515fe4c9c00dd3a5f6945dac524b3b702a44f37a3024496f14cc8c56f","hashable-1.4.4.0-e416fa56c26ebe5cda90c6ab2c43944201c44a1bd284370e459d8df1ba7cabf3","heaps-0.4-97017a9d9bbeba61aac6911474a6f41b861647a1f4775c33e658383473e80236","js-dgtable-0.5.2-c16febbbc72aec1e225ebb9c3a9e309f0b863c8c1daf526ed25eb973d00988b7","js-flot-0.8.3-9bc6b525659d774c752b8f03bd181b5685083bbd721e0aae2453680b967f190a","js-jquery-3.3.1-0d3af46c4e96248ff224e166b7eeac00fb5c640031160c65aee2fbb62eae3a10","primitive-0.9.0.0-7eaa2043d01d682aa8d36ebff20fec6151ca77111a09ae6ec97e3900e07857ea","process-1.6.18.0-a855","random-1.2.1.2-49549899284a493b064230683a3793b39d91161b7c55eddbcf4c250370e0c9de","time-1.12.2-6806","transformers-0.6.1.0-ca30","unix-2.8.3.0-688a","unordered-containers-0.2.20-52b086f2fdb6dd5081ef28fdbf1ffc3f25e62c756e9bc24279b89abba83f4ea6","utf8-string-1.0.2-2891cafc8564970b634c456aecd9e3a030926f0f43ace5c2f28d603525787523"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.5-e2c554b21d2bee8ceb2a9674a2a139e583617903bea85de3df97fa23d45cb6a6","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.2.1-a112","pkg-name":"stm","pkg-version":"2.5.2.1","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941"]},{"type":"pre-existing","id":"template-haskell-2.21.0.0-183a","pkg-name":"template-haskell","pkg-version":"2.21.0.0","depends":["base-4.19.0.0-6941","ghc-boot-th-9.8.1-1aaa","ghc-prim-0.11.0-59e0","pretty-1.1.3.6-da5d"]},{"type":"pre-existing","id":"text-2.1-6316","pkg-name":"text","pkg-version":"2.1","depends":["array-0.5.6.0-71f5","base-4.19.0.0-6941","binary-0.8.9.1-dc44","bytestring-0.12.0.2-bcd5","deepseq-1.5.0.0-c95f","ghc-prim-0.11.0-59e0","template-haskell-2.21.0.0-183a"]},{"type":"pre-existing","id":"time-1.12.2-6806","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f"]},{"type":"pre-existing","id":"transformers-0.6.1.0-ca30","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.19.0.0-6941"]},{"type":"pre-existing","id":"unix-2.8.3.0-688a","pkg-name":"unix","pkg-version":"2.8.3.0","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5","filepath-1.4.100.4-6d5c","time-1.12.2-6806"]},{"type":"configured","id":"unordered-containers-0.2.20-52b086f2fdb6dd5081ef28fdbf1ffc3f25e62c756e9bc24279b89abba83f4ea6","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.19.0.0-6941","deepseq-1.5.0.0-c95f","hashable-1.4.4.0-e416fa56c26ebe5cda90c6ab2c43944201c44a1bd284370e459d8df1ba7cabf3","template-haskell-2.21.0.0-183a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-2891cafc8564970b634c456aecd9e3a030926f0f43ace5c2f28d603525787523","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.19.0.0-6941","bytestring-0.12.0.2-bcd5"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_8_2.json b/hadrian/bootstrap/plan-9_8_2.json
new file mode 100644
index 0000000000000000000000000000000000000000..79fa2fd10f696faf81f961b338d97a594b4af736
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_8_2.json
@@ -0,0 +1 @@
+{"cabal-version":"3.10.2.1","cabal-lib-version":"3.10.1.0","compiler-id":"ghc-9.8.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.10.2.0-3365","pkg-name":"Cabal","pkg-version":"3.10.2.0","depends":["Cabal-syntax-3.10.2.0-0131","array-0.5.6.0-90bb","base-4.19.1.0-862d","bytestring-0.12.1.0-1789","containers-0.6.8-2b53","deepseq-1.5.0.0-d873","directory-1.3.8.1-f829","filepath-1.4.200.1-cb3f","mtl-2.3.1-3d66","parsec-3.1.17.0-cd16","pretty-1.1.3.6-b1b7","process-1.6.18.0-cc3a","text-2.1.1-50de","time-1.12.2-cc0e","transformers-0.6.1.0-2d4d","unix-2.8.4.0-f196"]},{"type":"pre-existing","id":"Cabal-syntax-3.10.2.0-0131","pkg-name":"Cabal-syntax","pkg-version":"3.10.2.0","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d","binary-0.8.9.1-36c9","bytestring-0.12.1.0-1789","containers-0.6.8-2b53","deepseq-1.5.0.0-d873","directory-1.3.8.1-f829","filepath-1.4.200.1-cb3f","mtl-2.3.1-3d66","parsec-3.1.17.0-cd16","pretty-1.1.3.6-b1b7","text-2.1.1-50de","time-1.12.2-cc0e","transformers-0.6.1.0-2d4d","unix-2.8.4.0-f196"]},{"type":"configured","id":"QuickCheck-2.14.3-c54995ae0b5c3d795baf5809c9efd4f1c4e012ce44b060a7eb2379991d44d58b","pkg-name":"QuickCheck","pkg-version":"2.14.3","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4","pkg-src-sha256":"5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501","depends":["base-4.19.1.0-862d","containers-0.6.8-2b53","deepseq-1.5.0.0-d873","random-1.2.1.2-ba9313e35663fd89a1e79076bfc407cdd4059d0de33e69609bab47e10d1bd68f","splitmix-0.1.0.5-b32d131f2beda024a71dda9915a2e3ac5cabe2374c49d7803ca28478f723dace","template-haskell-2.21.0.0-b192","transformers-0.6.1.0-2d4d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.6.0-90bb","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.19.1.0-862d"]},{"type":"pre-existing","id":"base-4.19.1.0-862d","pkg-name":"base","pkg-version":"4.19.1.0","depends":["ghc-bignum-1.3-9fc4","ghc-prim-0.11.0-b1e3","rts-1.0.2"]},{"type":"configured","id":"base16-bytestring-1.0.2.0-4f1a5c6fe8c25469038a6b3044fad43b7a2819e72a2da08355d9cfdcdfde8c12","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.9.1-36c9","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d","bytestring-0.12.1.0-1789","containers-0.6.8-2b53"]},{"type":"pre-existing","id":"bytestring-0.12.1.0-1789","pkg-name":"bytestring","pkg-version":"0.12.1.0","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873","ghc-prim-0.11.0-b1e3","template-haskell-2.21.0.0-b192"]},{"type":"configured","id":"clock-0.8.4-10b60a6cab6a1ec710e88674cb0fa4454a9ad7b691ac693d073169384fab921a","pkg-name":"clock","pkg-version":"0.8.4","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115","pkg-src-sha256":"6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e","depends":["base-4.19.1.0-862d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.8-2b53","pkg-name":"containers","pkg-version":"0.6.8","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d","deepseq-1.5.0.0-d873","template-haskell-2.21.0.0-b192"]},{"type":"configured","id":"cryptohash-sha256-0.11.102.1-b4ec36a5204345ff3c91a3ba59814d692ca5b5e6748b1e7b9ebedfbdd84d4808","pkg-name":"cryptohash-sha256","pkg-version":"0.11.102.1","flags":{"exe":false,"use-cbits":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"200d756a7b3bab7ca2bac6eb50ed8252f26de77ac8def490a3ad743f2933acbd","pkg-src-sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.5.0.0-d873","pkg-name":"deepseq","pkg-version":"1.5.0.0","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d","ghc-prim-0.11.0-b1e3"]},{"type":"pre-existing","id":"directory-1.3.8.1-f829","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.19.1.0-862d","filepath-1.4.200.1-cb3f","time-1.12.2-cc0e","unix-2.8.4.0-f196"]},{"type":"pre-existing","id":"exceptions-0.10.7-e08a","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.19.1.0-862d","mtl-2.3.1-3d66","stm-2.5.2.1-391a","template-haskell-2.21.0.0-b192","transformers-0.6.1.0-2d4d"]},{"type":"configured","id":"extra-1.7.14-03f036ee5d403f63eb9b6759b35e9fc64151af30d852fe7ae4bff080398ade18","pkg-name":"extra","pkg-version":"1.7.14","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb","pkg-src-sha256":"b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567","depends":["base-4.19.1.0-862d","clock-0.8.4-10b60a6cab6a1ec710e88674cb0fa4454a9ad7b691ac693d073169384fab921a","directory-1.3.8.1-f829","filepath-1.4.200.1-cb3f","process-1.6.18.0-cc3a","time-1.12.2-cc0e","unix-2.8.4.0-f196"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.200.1-cb3f","pkg-name":"filepath","pkg-version":"1.4.200.1","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","exceptions-0.10.7-e08a","template-haskell-2.21.0.0-b192"]},{"type":"configured","id":"filepattern-0.1.3-9036618857303fa160f5684dd0a81423a8df5019eee3196b11df11bf2e90915b","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.19.1.0-862d","directory-1.3.8.1-f829","extra-1.7.14-03f036ee5d403f63eb9b6759b35e9fc64151af30d852fe7ae4bff080398ade18","filepath-1.4.200.1-cb3f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3-9fc4","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.11.0-b1e3"]},{"type":"pre-existing","id":"ghc-boot-th-9.8.2-bff4","pkg-name":"ghc-boot-th","pkg-version":"9.8.2","depends":["base-4.19.1.0-862d"]},{"type":"pre-existing","id":"ghc-prim-0.11.0-b1e3","pkg-name":"ghc-prim","pkg-version":"0.11.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/mnt/data/exp/ghc/ghc-9.8/hadrian/."},"dist-dir":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.2/hadrian-0.1.0.0/x/hadrian","build-info":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.2/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.10.2.0-3365","QuickCheck-2.14.3-c54995ae0b5c3d795baf5809c9efd4f1c4e012ce44b060a7eb2379991d44d58b","base-4.19.1.0-862d","base16-bytestring-1.0.2.0-4f1a5c6fe8c25469038a6b3044fad43b7a2819e72a2da08355d9cfdcdfde8c12","bytestring-0.12.1.0-1789","containers-0.6.8-2b53","cryptohash-sha256-0.11.102.1-b4ec36a5204345ff3c91a3ba59814d692ca5b5e6748b1e7b9ebedfbdd84d4808","directory-1.3.8.1-f829","extra-1.7.14-03f036ee5d403f63eb9b6759b35e9fc64151af30d852fe7ae4bff080398ade18","filepath-1.4.200.1-cb3f","mtl-2.3.1-3d66","parsec-3.1.17.0-cd16","shake-0.19.8-f09bdc18fc6ce3ccc98d3a6999ce789b5bc6e29ce74fef667dd3418455280141","text-2.1.1-50de","time-1.12.2-cc0e","transformers-0.6.1.0-2d4d","unordered-containers-0.2.20-546312fc458ceba528fbeb0e0c201e1374bbb5f14ce72ee56fd5dfcfa91e4ac9"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/mnt/data/exp/ghc/ghc-9.8/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.8.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.4.0-20f40084a39f26401c04bbe13ba77c0e15c0645369e982fcd56a531b8151d16e","pkg-name":"hashable","pkg-version":"1.4.4.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db","pkg-src-sha256":"1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","containers-0.6.8-2b53","deepseq-1.5.0.0-d873","filepath-1.4.200.1-cb3f","ghc-bignum-1.3-9fc4","ghc-prim-0.11.0-b1e3","os-string-2.0.2.1-e0efab044e9bcd83e53b93001f49cf7c7463e153f2fb4535cde37fd0920dc4bc","text-2.1.1-50de"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-57f38faed0379d4b879fc89371250df434a889180c19939350b75804c7e227c5","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.19.1.0-862d"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-caeac9a40681890f7ad9665f722ca9aba5b1b018590928f470799766c48054b6","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.19.1.0-862d"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-989f35eb0f18e34624b72b109096d27f9c429ab2b28657df7ce8bf6212c6d2e0","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.19.1.0-862d"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-1e0320b053717d3e4eb4b7bc86a662321a938f28e1320c7a54408f041a023da4","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.19.1.0-862d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1-3d66","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.19.1.0-862d","transformers-0.6.1.0-2d4d"]},{"type":"configured","id":"os-string-2.0.2.1-e0efab044e9bcd83e53b93001f49cf7c7463e153f2fb4535cde37fd0920dc4bc","pkg-name":"os-string","pkg-version":"2.0.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef","pkg-src-sha256":"7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","exceptions-0.10.7-e08a","template-haskell-2.21.0.0-b192"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"parsec-3.1.17.0-cd16","pkg-name":"parsec","pkg-version":"3.1.17.0","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","mtl-2.3.1-3d66","text-2.1.1-50de"]},{"type":"pre-existing","id":"pretty-1.1.3.6-b1b7","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873","ghc-prim-0.11.0-b1e3"]},{"type":"configured","id":"primitive-0.9.0.0-e67cc8174e1d1758a3fa78cb4a195607b3628bac4f1ab936820deeee55d44c90","pkg-name":"primitive","pkg-version":"0.9.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c","pkg-src-sha256":"696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873","template-haskell-2.21.0.0-b192","transformers-0.6.1.0-2d4d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.18.0-cc3a","pkg-name":"process","pkg-version":"1.6.18.0","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873","directory-1.3.8.1-f829","filepath-1.4.200.1-cb3f","unix-2.8.4.0-f196"]},{"type":"configured","id":"random-1.2.1.2-ba9313e35663fd89a1e79076bfc407cdd4059d0de33e69609bab47e10d1bd68f","pkg-name":"random","pkg-version":"1.2.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867","pkg-src-sha256":"790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","mtl-2.3.1-3d66","splitmix-0.1.0.5-b32d131f2beda024a71dda9915a2e3ac5cabe2374c49d7803ca28478f723dace"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.8-e-shake-015f252aa0fe5441ce3c36bc62d7ab05e7d9429c31a8004ed6d87a6d3c08b58d","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.19.1.0-862d","binary-0.8.9.1-36c9","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","directory-1.3.8.1-f829","extra-1.7.14-03f036ee5d403f63eb9b6759b35e9fc64151af30d852fe7ae4bff080398ade18","filepath-1.4.200.1-cb3f","filepattern-0.1.3-9036618857303fa160f5684dd0a81423a8df5019eee3196b11df11bf2e90915b","hashable-1.4.4.0-20f40084a39f26401c04bbe13ba77c0e15c0645369e982fcd56a531b8151d16e","heaps-0.4-57f38faed0379d4b879fc89371250df434a889180c19939350b75804c7e227c5","js-dgtable-0.5.2-caeac9a40681890f7ad9665f722ca9aba5b1b018590928f470799766c48054b6","js-flot-0.8.3-989f35eb0f18e34624b72b109096d27f9c429ab2b28657df7ce8bf6212c6d2e0","js-jquery-3.3.1-1e0320b053717d3e4eb4b7bc86a662321a938f28e1320c7a54408f041a023da4","primitive-0.9.0.0-e67cc8174e1d1758a3fa78cb4a195607b3628bac4f1ab936820deeee55d44c90","process-1.6.18.0-cc3a","random-1.2.1.2-ba9313e35663fd89a1e79076bfc407cdd4059d0de33e69609bab47e10d1bd68f","time-1.12.2-cc0e","transformers-0.6.1.0-2d4d","unix-2.8.4.0-f196","unordered-containers-0.2.20-546312fc458ceba528fbeb0e0c201e1374bbb5f14ce72ee56fd5dfcfa91e4ac9","utf8-string-1.0.2-2c319b13f676bd9444a7f639a7f5979c51266185d4f48e8a2f833c011fcf8c0e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/ben/.cabal/store/ghc-9.8.2/shake-0.19.8-e-shake-015f252aa0fe5441ce3c36bc62d7ab05e7d9429c31a8004ed6d87a6d3c08b58d/bin/shake"},{"type":"configured","id":"shake-0.19.8-f09bdc18fc6ce3ccc98d3a6999ce789b5bc6e29ce74fef667dd3418455280141","pkg-name":"shake","pkg-version":"0.19.8","flags":{"cloud":false,"embed-files":false,"portable":false,"threaded":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382","pkg-src-sha256":"6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535","depends":["base-4.19.1.0-862d","binary-0.8.9.1-36c9","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","directory-1.3.8.1-f829","extra-1.7.14-03f036ee5d403f63eb9b6759b35e9fc64151af30d852fe7ae4bff080398ade18","filepath-1.4.200.1-cb3f","filepattern-0.1.3-9036618857303fa160f5684dd0a81423a8df5019eee3196b11df11bf2e90915b","hashable-1.4.4.0-20f40084a39f26401c04bbe13ba77c0e15c0645369e982fcd56a531b8151d16e","heaps-0.4-57f38faed0379d4b879fc89371250df434a889180c19939350b75804c7e227c5","js-dgtable-0.5.2-caeac9a40681890f7ad9665f722ca9aba5b1b018590928f470799766c48054b6","js-flot-0.8.3-989f35eb0f18e34624b72b109096d27f9c429ab2b28657df7ce8bf6212c6d2e0","js-jquery-3.3.1-1e0320b053717d3e4eb4b7bc86a662321a938f28e1320c7a54408f041a023da4","primitive-0.9.0.0-e67cc8174e1d1758a3fa78cb4a195607b3628bac4f1ab936820deeee55d44c90","process-1.6.18.0-cc3a","random-1.2.1.2-ba9313e35663fd89a1e79076bfc407cdd4059d0de33e69609bab47e10d1bd68f","time-1.12.2-cc0e","transformers-0.6.1.0-2d4d","unix-2.8.4.0-f196","unordered-containers-0.2.20-546312fc458ceba528fbeb0e0c201e1374bbb5f14ce72ee56fd5dfcfa91e4ac9","utf8-string-1.0.2-2c319b13f676bd9444a7f639a7f5979c51266185d4f48e8a2f833c011fcf8c0e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.5-b32d131f2beda024a71dda9915a2e3ac5cabe2374c49d7803ca28478f723dace","pkg-name":"splitmix","pkg-version":"0.1.0.5","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b","pkg-src-sha256":"9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.2.1-391a","pkg-name":"stm","pkg-version":"2.5.2.1","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d"]},{"type":"pre-existing","id":"template-haskell-2.21.0.0-b192","pkg-name":"template-haskell","pkg-version":"2.21.0.0","depends":["base-4.19.1.0-862d","ghc-boot-th-9.8.2-bff4","ghc-prim-0.11.0-b1e3","pretty-1.1.3.6-b1b7"]},{"type":"pre-existing","id":"text-2.1.1-50de","pkg-name":"text","pkg-version":"2.1.1","depends":["array-0.5.6.0-90bb","base-4.19.1.0-862d","binary-0.8.9.1-36c9","bytestring-0.12.1.0-1789","deepseq-1.5.0.0-d873","ghc-prim-0.11.0-b1e3","template-haskell-2.21.0.0-b192"]},{"type":"pre-existing","id":"time-1.12.2-cc0e","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873"]},{"type":"pre-existing","id":"transformers-0.6.1.0-2d4d","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.19.1.0-862d"]},{"type":"pre-existing","id":"unix-2.8.4.0-f196","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789","filepath-1.4.200.1-cb3f","time-1.12.2-cc0e"]},{"type":"configured","id":"unordered-containers-0.2.20-546312fc458ceba528fbeb0e0c201e1374bbb5f14ce72ee56fd5dfcfa91e4ac9","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"746c32b23f93cb13e52309e54e82d69e4315105f9815b1fcac25a57071505cff","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.19.1.0-862d","deepseq-1.5.0.0-d873","hashable-1.4.4.0-20f40084a39f26401c04bbe13ba77c0e15c0645369e982fcd56a531b8151d16e","template-haskell-2.21.0.0-b192"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-2c319b13f676bd9444a7f639a7f5979c51266185d4f48e8a2f833c011fcf8c0e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.19.1.0-862d","bytestring-0.12.1.0-1789"],"exe-depends":[],"component-name":"lib"}]}
\ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_1.json b/hadrian/bootstrap/plan-bootstrap-9_4_1.json
index 34cbc95a5e341e473c5b848461efe02ecb8f0fd6..3c36596f0881c212a2620ffbad5559dbfc605100 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_4_1.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_1.json
@@ -91,31 +91,39 @@
     {
       "package": "Cabal",
       "version": "3.8.1.0"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.5"
     }
   ],
   "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -123,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -177,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -185,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -225,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -254,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_2.json b/hadrian/bootstrap/plan-bootstrap-9_4_2.json
index 6ce98ec15749905c232d7c14f4978493c63b433f..34b216007837811ad18fd6a07e12202473685e28 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_4_2.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_2.json
@@ -91,31 +91,39 @@
     {
       "package": "Cabal",
       "version": "3.8.1.0"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.5"
     }
   ],
   "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -123,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -177,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -185,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -225,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -254,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_3.json b/hadrian/bootstrap/plan-bootstrap-9_4_3.json
index 017c37b1eb5c20253a3c17cc950cc9698703aa9e..79475845e02359ea159a3472f708e892b2372250 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_4_3.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_3.json
@@ -91,31 +91,39 @@
     {
       "package": "Cabal",
       "version": "3.8.1.0"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.5"
     }
   ],
   "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -123,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -177,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -185,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -225,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -254,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_4.json b/hadrian/bootstrap/plan-bootstrap-9_4_4.json
index ed9ddbef9c485379a4a4d510c53c79d45de43d7b..ae27f46d4e0c5d61214dcc1942bdf8b53e809da5 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_4_4.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_4.json
@@ -91,31 +91,39 @@
     {
       "package": "Cabal",
       "version": "3.8.1.0"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.5"
     }
   ],
   "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -123,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -177,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -185,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -225,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -254,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_6_1.json b/hadrian/bootstrap/plan-bootstrap-9_6_1.json
index 5dedb0dced9ca4c13ad69359b7b601c2a7fff27a..14884ce25ef66da70a40682b2bf0c06b271575a9 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_6_1.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_6_1.json
@@ -88,52 +88,42 @@
       "package": "parsec",
       "version": "3.1.16.1"
     },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.1.0"
+    },
     {
       "package": "process",
       "version": "1.6.17.0"
-    }
-  ],
-  "dependencies": [
-    {
-      "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
-      "flags": [],
-      "package": "Cabal-syntax",
-      "revision": 3,
-      "source": "hackage",
-      "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "version": "3.8.1.0"
     },
     {
-      "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
-      "flags": [],
       "package": "Cabal",
-      "revision": 2,
-      "source": "hackage",
-      "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "version": "3.8.1.0"
-    },
+      "version": "3.10.1.0"
+    }
+  ],
+  "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -141,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -195,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -203,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -243,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -272,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_6_2.json b/hadrian/bootstrap/plan-bootstrap-9_6_2.json
index e01a806b2fa7297057d74f731e3feeabc4ee2999..fd39ffa8354ebe2c1b7f1bebca49d45aa43e18a2 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_6_2.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_6_2.json
@@ -88,52 +88,42 @@
       "package": "parsec",
       "version": "3.1.16.1"
     },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.1.0"
+    },
     {
       "package": "process",
       "version": "1.6.17.0"
-    }
-  ],
-  "dependencies": [
-    {
-      "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
-      "flags": [],
-      "package": "Cabal-syntax",
-      "revision": 3,
-      "source": "hackage",
-      "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "version": "3.8.1.0"
     },
     {
-      "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
-      "flags": [],
       "package": "Cabal",
-      "revision": 2,
-      "source": "hackage",
-      "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "version": "3.8.1.0"
-    },
+      "version": "3.10.1.0"
+    }
+  ],
+  "dependencies": [
     {
-      "cabal_sha256": "db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e",
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
       "flags": [
         "-optimised-mixer"
       ],
       "package": "splitmix",
-      "revision": 2,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa",
-      "version": "0.1.0.4"
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
     },
     {
-      "cabal_sha256": "dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9",
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
       "flags": [],
       "package": "random",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76",
-      "version": "1.2.1.1"
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
     },
     {
-      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
       "flags": [
         "-old-random",
         "+templatehaskell"
@@ -141,49 +131,49 @@
       "package": "QuickCheck",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
-      "version": "2.14.2"
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
     },
     {
-      "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
       "flags": [],
       "package": "base16-bytestring",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
       "version": "1.0.2.0"
     },
     {
-      "cabal_sha256": "a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c",
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
       "flags": [
         "-llvm"
       ],
       "package": "clock",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1",
-      "version": "0.8.3"
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
     },
     {
-      "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
       "flags": [
         "-exe",
         "+use-cbits"
       ],
       "package": "cryptohash-sha256",
-      "revision": 2,
+      "revision": 5,
       "source": "hackage",
       "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
       "version": "0.11.102.1"
     },
     {
-      "cabal_sha256": "3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f",
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
       "flags": [],
       "package": "extra",
       "revision": 0,
       "source": "hackage",
-      "src_sha256": "e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c",
-      "version": "1.7.12"
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
     },
     {
       "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
@@ -195,7 +185,16 @@
       "version": "0.1.3"
     },
     {
-      "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
       "flags": [
         "+integer-gmp",
         "-random-initial-seed"
@@ -203,8 +202,8 @@
       "package": "hashable",
       "revision": 1,
       "source": "hackage",
-      "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
-      "version": "1.4.2.0"
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
     },
     {
       "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
@@ -243,24 +242,24 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
-      "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
-      "version": "0.8.0.0"
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
     },
     {
-      "cabal_sha256": "9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00",
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
       "flags": [
         "-debug"
       ],
       "package": "unordered-containers",
-      "revision": 2,
+      "revision": 3,
       "source": "hackage",
-      "src_sha256": "1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2",
-      "version": "0.2.19.1"
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
     },
     {
       "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
@@ -272,17 +271,18 @@
       "version": "1.0.2"
     },
     {
-      "cabal_sha256": "3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3",
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
       "flags": [
         "-cloud",
         "-embed-files",
-        "-portable"
+        "-portable",
+        "+threaded"
       ],
       "package": "shake",
-      "revision": 1,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1",
-      "version": "0.19.7"
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
     },
     {
       "cabal_sha256": null,
diff --git a/hadrian/bootstrap/plan-bootstrap-9_6_3.json b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
new file mode 100644
index 0000000000000000000000000000000000000000..496a33e2ba833fe0ffa8a5e1bd57509661869fc0
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
@@ -0,0 +1,300 @@
+{
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.2"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.10.0"
+    },
+    {
+      "package": "ghc-bignum",
+      "version": "1.3"
+    },
+    {
+      "package": "base",
+      "version": "4.18.1.0"
+    },
+    {
+      "package": "array",
+      "version": "0.5.5.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.4.8.1"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "9.6.3"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.20.0.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.11.5.2"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.7"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.9.1"
+    },
+    {
+      "package": "transformers",
+      "version": "0.6.1.0"
+    },
+    {
+      "package": "mtl",
+      "version": "2.3.1"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.7"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.100.4"
+    },
+    {
+      "package": "time",
+      "version": "1.12.2"
+    },
+    {
+      "package": "unix",
+      "version": "2.8.1.0"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.8.1"
+    },
+    {
+      "package": "text",
+      "version": "2.0.2"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.16.1"
+    },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.1.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.17.0"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.10.1.0"
+    }
+  ],
+  "dependencies": [
+    {
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
+    },
+    {
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
+      "flags": [],
+      "package": "random",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
+    },
+    {
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
+    },
+    {
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
+      "flags": [],
+      "package": "base16-bytestring",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
+      "version": "1.0.2.0"
+    },
+    {
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
+    },
+    {
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
+      "flags": [
+        "-exe",
+        "+use-cbits"
+      ],
+      "package": "cryptohash-sha256",
+      "revision": 5,
+      "source": "hackage",
+      "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
+      "version": "0.11.102.1"
+    },
+    {
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
+      "flags": [],
+      "package": "extra",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
+    },
+    {
+      "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
+      "flags": [],
+      "package": "filepattern",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636",
+      "version": "0.1.3"
+    },
+    {
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
+      "flags": [
+        "+integer-gmp",
+        "-random-initial-seed"
+      ],
+      "package": "hashable",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
+    },
+    {
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "flags": [],
+      "package": "heaps",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "version": "0.4"
+    },
+    {
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "flags": [],
+      "package": "js-dgtable",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "version": "0.5.2"
+    },
+    {
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "flags": [],
+      "package": "js-flot",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "version": "0.8.3"
+    },
+    {
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "flags": [],
+      "package": "js-jquery",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "version": "3.3.1"
+    },
+    {
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
+      "flags": [],
+      "package": "primitive",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
+    },
+    {
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "revision": 3,
+      "source": "hackage",
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
+    },
+    {
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "flags": [],
+      "package": "utf8-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "version": "1.0.2"
+    },
+    {
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable",
+        "+threaded"
+      ],
+      "package": "shake",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
+    },
+    {
+      "cabal_sha256": null,
+      "flags": [
+        "+selftest",
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "revision": null,
+      "source": "local",
+      "src_sha256": null,
+      "version": "0.1.0.0"
+    }
+  ]
+}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_6_4.json b/hadrian/bootstrap/plan-bootstrap-9_6_4.json
new file mode 100644
index 0000000000000000000000000000000000000000..87d5902eb89b9d41db8c9402b52783b150554e0e
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_6_4.json
@@ -0,0 +1,300 @@
+{
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.2"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.10.0"
+    },
+    {
+      "package": "ghc-bignum",
+      "version": "1.3"
+    },
+    {
+      "package": "base",
+      "version": "4.18.2.0"
+    },
+    {
+      "package": "array",
+      "version": "0.5.6.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.4.8.1"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "9.6.4"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.20.0.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.11.5.3"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.7"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.9.1"
+    },
+    {
+      "package": "transformers",
+      "version": "0.6.1.0"
+    },
+    {
+      "package": "mtl",
+      "version": "2.3.1"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.7"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.200.1"
+    },
+    {
+      "package": "time",
+      "version": "1.12.2"
+    },
+    {
+      "package": "unix",
+      "version": "2.8.4.0"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.8.1"
+    },
+    {
+      "package": "text",
+      "version": "2.0.2"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.16.1"
+    },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.1.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.17.0"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.10.1.0"
+    }
+  ],
+  "dependencies": [
+    {
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
+    },
+    {
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
+      "flags": [],
+      "package": "random",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
+    },
+    {
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
+    },
+    {
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
+      "flags": [],
+      "package": "base16-bytestring",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
+      "version": "1.0.2.0"
+    },
+    {
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
+    },
+    {
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
+      "flags": [
+        "-exe",
+        "+use-cbits"
+      ],
+      "package": "cryptohash-sha256",
+      "revision": 5,
+      "source": "hackage",
+      "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
+      "version": "0.11.102.1"
+    },
+    {
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
+      "flags": [],
+      "package": "extra",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
+    },
+    {
+      "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
+      "flags": [],
+      "package": "filepattern",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636",
+      "version": "0.1.3"
+    },
+    {
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
+      "flags": [
+        "+integer-gmp",
+        "-random-initial-seed"
+      ],
+      "package": "hashable",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
+    },
+    {
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "flags": [],
+      "package": "heaps",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "version": "0.4"
+    },
+    {
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "flags": [],
+      "package": "js-dgtable",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "version": "0.5.2"
+    },
+    {
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "flags": [],
+      "package": "js-flot",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "version": "0.8.3"
+    },
+    {
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "flags": [],
+      "package": "js-jquery",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "version": "3.3.1"
+    },
+    {
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
+      "flags": [],
+      "package": "primitive",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
+    },
+    {
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "revision": 3,
+      "source": "hackage",
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
+    },
+    {
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "flags": [],
+      "package": "utf8-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "version": "1.0.2"
+    },
+    {
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable",
+        "+threaded"
+      ],
+      "package": "shake",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
+    },
+    {
+      "cabal_sha256": null,
+      "flags": [
+        "+selftest",
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "revision": null,
+      "source": "local",
+      "src_sha256": null,
+      "version": "0.1.0.0"
+    }
+  ]
+}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_6_5.json b/hadrian/bootstrap/plan-bootstrap-9_6_5.json
new file mode 100644
index 0000000000000000000000000000000000000000..90b0c8d5a50496e422dbf463b3450b9d625260d1
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_6_5.json
@@ -0,0 +1,300 @@
+{
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.2"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.10.0"
+    },
+    {
+      "package": "ghc-bignum",
+      "version": "1.3"
+    },
+    {
+      "package": "base",
+      "version": "4.18.2.1"
+    },
+    {
+      "package": "array",
+      "version": "0.5.6.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.4.8.1"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "9.6.5"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.20.0.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.11.5.3"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.7"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.9.1"
+    },
+    {
+      "package": "transformers",
+      "version": "0.6.1.0"
+    },
+    {
+      "package": "mtl",
+      "version": "2.3.1"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.1.0"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.7"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.300.1"
+    },
+    {
+      "package": "time",
+      "version": "1.12.2"
+    },
+    {
+      "package": "unix",
+      "version": "2.8.4.0"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.8.4"
+    },
+    {
+      "package": "text",
+      "version": "2.0.2"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.16.1"
+    },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.3.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.19.0"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.10.3.0"
+    }
+  ],
+  "dependencies": [
+    {
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
+    },
+    {
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
+      "flags": [],
+      "package": "random",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
+    },
+    {
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
+    },
+    {
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
+      "flags": [],
+      "package": "base16-bytestring",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
+      "version": "1.0.2.0"
+    },
+    {
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
+    },
+    {
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
+      "flags": [
+        "-exe",
+        "+use-cbits"
+      ],
+      "package": "cryptohash-sha256",
+      "revision": 5,
+      "source": "hackage",
+      "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
+      "version": "0.11.102.1"
+    },
+    {
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
+      "flags": [],
+      "package": "extra",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
+    },
+    {
+      "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
+      "flags": [],
+      "package": "filepattern",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636",
+      "version": "0.1.3"
+    },
+    {
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
+      "flags": [
+        "+integer-gmp",
+        "-random-initial-seed"
+      ],
+      "package": "hashable",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
+    },
+    {
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "flags": [],
+      "package": "heaps",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "version": "0.4"
+    },
+    {
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "flags": [],
+      "package": "js-dgtable",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "version": "0.5.2"
+    },
+    {
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "flags": [],
+      "package": "js-flot",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "version": "0.8.3"
+    },
+    {
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "flags": [],
+      "package": "js-jquery",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "version": "3.3.1"
+    },
+    {
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
+      "flags": [],
+      "package": "primitive",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
+    },
+    {
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "revision": 3,
+      "source": "hackage",
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
+    },
+    {
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "flags": [],
+      "package": "utf8-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "version": "1.0.2"
+    },
+    {
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable",
+        "+threaded"
+      ],
+      "package": "shake",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
+    },
+    {
+      "cabal_sha256": null,
+      "flags": [
+        "+selftest",
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "revision": null,
+      "source": "local",
+      "src_sha256": null,
+      "version": "0.1.0.0"
+    }
+  ]
+}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_8_1.json b/hadrian/bootstrap/plan-bootstrap-9_8_1.json
new file mode 100644
index 0000000000000000000000000000000000000000..3d517b88123562cc422f55119a197782eb1711d9
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_8_1.json
@@ -0,0 +1,300 @@
+{
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.2"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.11.0"
+    },
+    {
+      "package": "ghc-bignum",
+      "version": "1.3"
+    },
+    {
+      "package": "base",
+      "version": "4.19.0.0"
+    },
+    {
+      "package": "array",
+      "version": "0.5.6.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.5.0.0"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "9.8.1"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.21.0.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.12.0.2"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.8"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.9.1"
+    },
+    {
+      "package": "transformers",
+      "version": "0.6.1.0"
+    },
+    {
+      "package": "mtl",
+      "version": "2.3.1"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.2.1"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.7"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.100.4"
+    },
+    {
+      "package": "time",
+      "version": "1.12.2"
+    },
+    {
+      "package": "unix",
+      "version": "2.8.3.0"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.8.1"
+    },
+    {
+      "package": "text",
+      "version": "2.1"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.17.0"
+    },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.2.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.18.0"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.10.2.0"
+    }
+  ],
+  "dependencies": [
+    {
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
+    },
+    {
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
+      "flags": [],
+      "package": "random",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
+    },
+    {
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
+    },
+    {
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
+      "flags": [],
+      "package": "base16-bytestring",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
+      "version": "1.0.2.0"
+    },
+    {
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
+    },
+    {
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
+      "flags": [
+        "-exe",
+        "+use-cbits"
+      ],
+      "package": "cryptohash-sha256",
+      "revision": 5,
+      "source": "hackage",
+      "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
+      "version": "0.11.102.1"
+    },
+    {
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
+      "flags": [],
+      "package": "extra",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
+    },
+    {
+      "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
+      "flags": [],
+      "package": "filepattern",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636",
+      "version": "0.1.3"
+    },
+    {
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
+      "flags": [
+        "+integer-gmp",
+        "-random-initial-seed"
+      ],
+      "package": "hashable",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
+    },
+    {
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "flags": [],
+      "package": "heaps",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "version": "0.4"
+    },
+    {
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "flags": [],
+      "package": "js-dgtable",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "version": "0.5.2"
+    },
+    {
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "flags": [],
+      "package": "js-flot",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "version": "0.8.3"
+    },
+    {
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "flags": [],
+      "package": "js-jquery",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "version": "3.3.1"
+    },
+    {
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
+      "flags": [],
+      "package": "primitive",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
+    },
+    {
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "revision": 3,
+      "source": "hackage",
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
+    },
+    {
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "flags": [],
+      "package": "utf8-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "version": "1.0.2"
+    },
+    {
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable",
+        "+threaded"
+      ],
+      "package": "shake",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
+    },
+    {
+      "cabal_sha256": null,
+      "flags": [
+        "+selftest",
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "revision": null,
+      "source": "local",
+      "src_sha256": null,
+      "version": "0.1.0.0"
+    }
+  ]
+}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_8_2.json b/hadrian/bootstrap/plan-bootstrap-9_8_2.json
new file mode 100644
index 0000000000000000000000000000000000000000..bffb9b488cfb06788fcd99cc8e2855250b3176ac
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_8_2.json
@@ -0,0 +1,300 @@
+{
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.2"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.11.0"
+    },
+    {
+      "package": "ghc-bignum",
+      "version": "1.3"
+    },
+    {
+      "package": "base",
+      "version": "4.19.1.0"
+    },
+    {
+      "package": "array",
+      "version": "0.5.6.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.5.0.0"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "9.8.2"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.21.0.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.12.1.0"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.8"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.9.1"
+    },
+    {
+      "package": "transformers",
+      "version": "0.6.1.0"
+    },
+    {
+      "package": "mtl",
+      "version": "2.3.1"
+    },
+    {
+      "package": "stm",
+      "version": "2.5.2.1"
+    },
+    {
+      "package": "exceptions",
+      "version": "0.10.7"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.200.1"
+    },
+    {
+      "package": "time",
+      "version": "1.12.2"
+    },
+    {
+      "package": "unix",
+      "version": "2.8.4.0"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.8.1"
+    },
+    {
+      "package": "text",
+      "version": "2.1.1"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.17.0"
+    },
+    {
+      "package": "Cabal-syntax",
+      "version": "3.10.2.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.18.0"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.10.2.0"
+    }
+  ],
+  "dependencies": [
+    {
+      "cabal_sha256": "caa9b4a92abf1496c7f6a3c0f4e357426a54880077cb9f04e260a8bfa034b77b",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002",
+      "version": "0.1.0.5"
+    },
+    {
+      "cabal_sha256": "32397de181e20ccaacf806ec70de9308cf044f089a2be37c936f3f8967bde867",
+      "flags": [],
+      "package": "random",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "790f4dc2d2327c453ff6aac7bf15399fd123d55e927935f68f84b5df42d9a4b4",
+      "version": "1.2.1.2"
+    },
+    {
+      "cabal_sha256": "f03d2f404d5ba465453d0fbc1944832789a759fe7c4f9bf8616bc1378a02fde4",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "5c0f22b36b28a1a8fa110b3819818d3f29494a3b0dedbae299f064123ca70501",
+      "version": "2.14.3"
+    },
+    {
+      "cabal_sha256": "a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd",
+      "flags": [],
+      "package": "base16-bytestring",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784",
+      "version": "1.0.2.0"
+    },
+    {
+      "cabal_sha256": "b938655b00cf204ce69abfff946021bed111d2609a9f7a9c22e28a1a202e9115",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6ae9898afe788a5e334cd5fad5d18a3c2e8e59fa09aaf7b957dbb38a4767df2e",
+      "version": "0.8.4"
+    },
+    {
+      "cabal_sha256": "acb64f2af52d81b0bb92c266f11d43def726a7a7b74a2c23d219e160b54edec7",
+      "flags": [
+        "-exe",
+        "+use-cbits"
+      ],
+      "package": "cryptohash-sha256",
+      "revision": 5,
+      "source": "hackage",
+      "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
+      "version": "0.11.102.1"
+    },
+    {
+      "cabal_sha256": "e3d3ce1dc7746b1132930e48c59fb5e8c51a09e92e0c031316be031067a273fb",
+      "flags": [],
+      "package": "extra",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "b6a909f8f0e4b8076a1653b4d34815a782f0a8c1e83d5267f4d00496471ef567",
+      "version": "1.7.14"
+    },
+    {
+      "cabal_sha256": "372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2",
+      "flags": [],
+      "package": "filepattern",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636",
+      "version": "0.1.3"
+    },
+    {
+      "cabal_sha256": "0bf4ff8f387d7fd05a43c18fa677dd02259c99d63c2d02c5823f152736513bef",
+      "flags": [],
+      "package": "os-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "7dd2b7d574fcb96b66df943e06caf439d3547cf7b8098b82bb21a98c2d04ffde",
+      "version": "2.0.2.1"
+    },
+    {
+      "cabal_sha256": "ae22238274c572aa91e90c6c353e7206386708912ac5e6dc40ac61d1dcc553db",
+      "flags": [
+        "+integer-gmp",
+        "-random-initial-seed"
+      ],
+      "package": "hashable",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "1fa3d64548440942b2b38b99c76d8dcaa94fa2ea3912cd7a6354ea4ec4af4758",
+      "version": "1.4.4.0"
+    },
+    {
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "flags": [],
+      "package": "heaps",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "version": "0.4"
+    },
+    {
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "flags": [],
+      "package": "js-dgtable",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "version": "0.5.2"
+    },
+    {
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "flags": [],
+      "package": "js-flot",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "version": "0.8.3"
+    },
+    {
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "flags": [],
+      "package": "js-jquery",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "version": "3.3.1"
+    },
+    {
+      "cabal_sha256": "2e08c5409e3559c7f1669ef50e9a0d9a397e68ecf51110d5e2cedf05cdd7d93c",
+      "flags": [],
+      "package": "primitive",
+      "revision": 1,
+      "source": "hackage",
+      "src_sha256": "696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7",
+      "version": "0.9.0.0"
+    },
+    {
+      "cabal_sha256": "c7fe9cba405ed9905e12d89c7add3b3eb9868dfba7975e70ba0cdd64b7b11abc",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "revision": 3,
+      "source": "hackage",
+      "src_sha256": "d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d",
+      "version": "0.2.20"
+    },
+    {
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "flags": [],
+      "package": "utf8-string",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "version": "1.0.2"
+    },
+    {
+      "cabal_sha256": "03c8f06de478e07ad6fde95984c9206920106d0d8432ecb7ab825ef108d45382",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable",
+        "+threaded"
+      ],
+      "package": "shake",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "6384e33a26a2590bf33719e88881076b899ac4b5340c1c9271e4caa37e9d6535",
+      "version": "0.19.8"
+    },
+    {
+      "cabal_sha256": null,
+      "flags": [
+        "+selftest",
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "revision": null,
+      "source": "local",
+      "src_sha256": null,
+      "version": "0.1.0.0"
+    }
+  ]
+}